From b1e30b83ff6054838daaed4d747d984a93410940 Mon Sep 17 00:00:00 2001
From: rawcoder <werner.randelshofer@fibermail.ch>
Date: Sun, 9 Jan 2011 17:27:11 +0000
Subject: [PATCH] Tags JHotDraw 7.6.

---
 jhotdraw7/.classpath => .classpath            |    0
 jhotdraw7/.project => .project                |    0
 JHotDraw/JavaDrawApplet.html                  |   69 -
 JHotDraw/JavaDrawViewer.html                  |   63 -
 JHotDraw/NothingApplet.html                   |   63 -
 JHotDraw/PertApplet.html                      |   66 -
 JHotDraw/README.html                          |   88 --
 JHotDraw/build/build.properties               |    1 -
 JHotDraw/build/build.xml                      |  370 -----
 JHotDraw/build/jhotdraw.mf                    |   65 -
 JHotDraw/compile.bat                          |   15 -
 JHotDraw/compile.sh                           |   10 -
 JHotDraw/compile_ant.bat                      |    5 -
 JHotDraw/doc/Architecture Overview.ppt        |  Bin 70144 -> 0 bytes
 JHotDraw/doc/Changes.html                     |  203 ---
 JHotDraw/doc/ClassDiagram.html                |   10 -
 JHotDraw/doc/ReleaseNotes.html                |  275 ----
 JHotDraw/doc/buildProcess.html                |   45 -
 JHotDraw/doc/change_log.txt                   |   18 -
 JHotDraw/doc/classdiagram.jpg                 |  Bin 17784 -> 0 bytes
 JHotDraw/doc/documentation.html               |   24 -
 JHotDraw/doc/drawBackground.html              |   28 -
 JHotDraw/doc/packages.html                    |   60 -
 JHotDraw/doc/pattlets.jar                     |  Bin 376878 -> 0 bytes
 JHotDraw/doc/samples.html                     |   96 --
 JHotDraw/drawings/demo.draw                   |   82 --
 JHotDraw/drawings/demo.ser                    |  Bin 9048 -> 0 bytes
 JHotDraw/drawings/net.draw                    |   65 -
 JHotDraw/drawings/net.ser                     |  Bin 6331 -> 0 bytes
 JHotDraw/drawings/nothing.draw                |   10 -
 JHotDraw/drawings/nothing.ser                 |  Bin 3067 -> 0 bytes
 JHotDraw/drawings/pert.draw                   |   64 -
 JHotDraw/drawings/pert.ser                    |  Bin 10154 -> 0 bytes
 JHotDraw/lgpl-license.html                    |  533 -------
 JHotDraw/run_javadraw.bat                     |    3 -
 JHotDraw/setenv.bat                           |    2 -
 .../src/CH/ifa/draw/applet/DrawApplet.java    |  573 --------
 .../ifa/draw/application/DrawApplication.java | 1174 ----------------
 JHotDraw/src/CH/ifa/draw/contrib.jdo          |   31 -
 .../CH/ifa/draw/contrib/AutoscrollHelper.java |   85 --
 .../CH/ifa/draw/contrib/CTXCommandMenu.java   |  198 ---
 .../CH/ifa/draw/contrib/CTXWindowMenu.java    |  202 ---
 .../draw/contrib/ChopDiamondConnector.java    |   93 --
 .../draw/contrib/ChopPolygonConnector.java    |   43 -
 .../draw/contrib/ClippingUpdateStrategy.java  |   66 -
 .../draw/contrib/CommandCheckBoxMenuItem.java |   93 --
 .../CH/ifa/draw/contrib/CommandHolder.java    |   39 -
 .../CH/ifa/draw/contrib/CommandMenuItem.java  |   87 --
 .../CH/ifa/draw/contrib/ComponentFigure.java  |  125 --
 .../contrib/CompositeFigureCreationTool.java  |   79 --
 .../ifa/draw/contrib/CustomSelectionTool.java |  191 ---
 .../CH/ifa/draw/contrib/CustomToolBar.java    |  130 --
 JHotDraw/src/CH/ifa/draw/contrib/Desktop.java |   39 -
 .../src/CH/ifa/draw/contrib/DesktopEvent.java |   55 -
 .../ifa/draw/contrib/DesktopEventService.java |  181 ---
 .../CH/ifa/draw/contrib/DesktopListener.java  |   22 -
 .../CH/ifa/draw/contrib/DiamondFigure.java    |   71 -
 .../CH/ifa/draw/contrib/FloatingTextArea.java |  130 --
 .../contrib/GraphicalCompositeFigure.java     |  355 -----
 JHotDraw/src/CH/ifa/draw/contrib/Helper.java  |   51 -
 .../CH/ifa/draw/contrib/JPanelDesktop.java    |  112 --
 .../ifa/draw/contrib/JScrollPaneDesktop.java  |   91 --
 .../src/CH/ifa/draw/contrib/Layoutable.java   |   43 -
 .../src/CH/ifa/draw/contrib/Layouter.java     |   74 -
 .../CH/ifa/draw/contrib/MDIDesktopPane.java   |  636 ---------
 .../ifa/draw/contrib/MDI_DrawApplication.java |  146 --
 .../src/CH/ifa/draw/contrib/MiniMapView.java  |  249 ----
 .../ifa/draw/contrib/NestedCreationTool.java  |   82 --
 .../CH/ifa/draw/contrib/PolygonFigure.java    |  462 ------
 .../CH/ifa/draw/contrib/PolygonHandle.java    |   98 --
 .../ifa/draw/contrib/PolygonScaleHandle.java  |  186 ---
 .../src/CH/ifa/draw/contrib/PolygonTool.java  |  142 --
 .../contrib/PopupMenuFigureSelection.java     |   38 -
 .../src/CH/ifa/draw/contrib/SVGDrawApp.java   |   49 -
 .../CH/ifa/draw/contrib/SVGStorageFormat.java |  112 --
 .../CH/ifa/draw/contrib/SimpleLayouter.java   |  130 --
 .../ifa/draw/contrib/SplitConnectionTool.java |  107 --
 .../CH/ifa/draw/contrib/SplitPaneDesktop.java |  151 --
 .../contrib/SplitPaneDrawApplication.java     |   42 -
 .../CH/ifa/draw/contrib/StandardLayouter.java |  132 --
 .../CH/ifa/draw/contrib/TextAreaFigure.java   |  929 -------------
 .../src/CH/ifa/draw/contrib/TextAreaTool.java |  445 ------
 .../CH/ifa/draw/contrib/TriangleFigure.java   |  185 ---
 .../draw/contrib/TriangleRotationHandle.java  |  165 ---
 .../src/CH/ifa/draw/contrib/WindowMenu.java   |  119 --
 .../CH/ifa/draw/contrib/dnd/DNDFigures.java   |   46 -
 .../contrib/dnd/DNDFiguresTransferable.java   |   43 -
 .../CH/ifa/draw/contrib/dnd/DNDHelper.java    |  273 ----
 .../CH/ifa/draw/contrib/dnd/DNDInterface.java |   39 -
 .../ifa/draw/contrib/dnd/DragNDropTool.java   |  345 -----
 .../contrib/dnd/JHDDragSourceListener.java    |  203 ---
 .../contrib/dnd/JHDDropTargetListener.java    |  307 ----
 .../contrib/html/AbstractContentProducer.java |   51 -
 .../html/AttributeContentProducerContext.java |   30 -
 .../html/AttributeFigureContentProducer.java  |   70 -
 .../contrib/html/ColorContentProducer.java    |  111 --
 .../draw/contrib/html/ContentProducer.java    |   77 -
 .../contrib/html/ContentProducerContext.java  |   24 -
 .../contrib/html/ContentProducerRegistry.java |  307 ----
 .../html/DiamondFigureGeometricAdapter.java   |   53 -
 .../html/DisposableResourceHolder.java        |  121 --
 .../html/DisposableResourceManager.java       |   72 -
 .../DisposableResourceManagerFactory.java     |   98 --
 .../contrib/html/ETSLADisposalStrategy.java   |  257 ----
 .../html/EllipseFigureGeometricAdapter.java   |   57 -
 .../html/FigureContentProducerContext.java    |   40 -
 .../html/FigureDataContentProducer.java       |   83 --
 .../draw/contrib/html/GeometricFigure.java    |   33 -
 .../html/HTMLColorContentProducer.java        |   54 -
 .../contrib/html/HTMLContentProducer.java     |   86 --
 .../html/HTMLContentProducerContext.java      |   22 -
 .../ifa/draw/contrib/html/HTMLLayouter.java   |  133 --
 .../draw/contrib/html/HTMLTextAreaFigure.java | 1143 ---------------
 .../draw/contrib/html/HTMLTextAreaTool.java   |   51 -
 .../html/PolygonFigureGeometricAdapter.java   |   62 -
 .../contrib/html/ResourceContentProducer.java |  107 --
 .../html/ResourceDisposabilityStrategy.java   |   57 -
 .../html/ResourceManagerNotSetException.java  |   25 -
 .../html/RoundRectangleGeometricAdapter.java  |   60 -
 .../StandardDisposableResourceHolder.java     |  162 ---
 .../StandardDisposableResourceManager.java    |  120 --
 .../html/TextHolderContentProducer.java       |   96 --
 .../html/TriangleFigureGeometricAdapter.java  |   52 -
 .../draw/contrib/html/URLContentProducer.java |  117 --
 .../CH/ifa/draw/contrib/zoom/AreaTracker.java |   76 -
 .../draw/contrib/zoom/DoubleBufferImage.java  |   77 -
 .../contrib/zoom/MiniMapZoomableView.java     |   47 -
 .../draw/contrib/zoom/ScalingGraphics.java    |  430 ------
 .../draw/contrib/zoom/ZoomAreaTracker.java    |   39 -
 .../CH/ifa/draw/contrib/zoom/ZoomCommand.java |   93 --
 .../draw/contrib/zoom/ZoomDrawingView.java    |  476 -------
 .../CH/ifa/draw/contrib/zoom/ZoomTool.java    |   76 -
 .../draw/contrib/zoom/ZoomUpdateStrategy.java |   74 -
 JHotDraw/src/CH/ifa/draw/figures.jdo          |   60 -
 .../draw/figures/AbstractLineDecoration.java  |  147 --
 .../src/CH/ifa/draw/figures/ArrowTip.java     |  143 --
 .../CH/ifa/draw/figures/AttributeFigure.java  |  250 ----
 .../CH/ifa/draw/figures/BorderDecorator.java  |  106 --
 .../src/CH/ifa/draw/figures/BorderTool.java   |  134 --
 .../draw/figures/ChopEllipseConnector.java    |   46 -
 .../ifa/draw/figures/ConnectedTextTool.java   |  213 ---
 .../CH/ifa/draw/figures/ElbowConnection.java  |  104 --
 .../src/CH/ifa/draw/figures/ElbowHandle.java  |  138 --
 .../CH/ifa/draw/figures/EllipseFigure.java    |  110 --
 .../CH/ifa/draw/figures/FigureAttributes.java |  208 ---
 .../CH/ifa/draw/figures/FontSizeHandle.java   |  132 --
 .../src/CH/ifa/draw/figures/GroupCommand.java |  122 --
 .../src/CH/ifa/draw/figures/GroupFigure.java  |   98 --
 .../src/CH/ifa/draw/figures/GroupHandle.java  |   41 -
 .../src/CH/ifa/draw/figures/ImageFigure.java  |  153 --
 .../ifa/draw/figures/InsertImageCommand.java  |  119 --
 .../CH/ifa/draw/figures/LineConnection.java   |  374 -----
 .../CH/ifa/draw/figures/LineDecoration.java   |   38 -
 .../src/CH/ifa/draw/figures/LineFigure.java   |   77 -
 .../CH/ifa/draw/figures/NullConnector.java    |   27 -
 .../src/CH/ifa/draw/figures/NullFigure.java   |  186 ---
 .../CH/ifa/draw/figures/NumberTextFigure.java |   70 -
 .../ifa/draw/figures/PolyLineConnector.java   |   91 --
 .../CH/ifa/draw/figures/PolyLineFigure.java   |  416 ------
 .../CH/ifa/draw/figures/PolyLineHandle.java   |  126 --
 .../CH/ifa/draw/figures/PolyLineLocator.java  |   41 -
 .../src/CH/ifa/draw/figures/RadiusHandle.java |  131 --
 .../CH/ifa/draw/figures/RectangleFigure.java  |   97 --
 .../draw/figures/RoundRectangleFigure.java    |  140 --
 .../src/CH/ifa/draw/figures/ScribbleTool.java |  119 --
 .../figures/ShortestDistanceConnector.java    |  158 ---
 .../src/CH/ifa/draw/figures/TextFigure.java   |  509 -------
 .../src/CH/ifa/draw/figures/TextTool.java     |  303 ----
 .../CH/ifa/draw/figures/UngroupCommand.java   |  118 --
 JHotDraw/src/CH/ifa/draw/framework.jdo        |   11 -
 .../ifa/draw/framework/ConnectionFigure.java  |  152 --
 .../src/CH/ifa/draw/framework/Connector.java  |   81 --
 .../src/CH/ifa/draw/framework/Cursor.java     |   29 -
 .../src/CH/ifa/draw/framework/Drawing.java    |  317 -----
 .../draw/framework/DrawingChangeEvent.java    |   47 -
 .../draw/framework/DrawingChangeListener.java |   34 -
 .../CH/ifa/draw/framework/DrawingEditor.java  |   72 -
 .../CH/ifa/draw/framework/DrawingView.java    |  315 -----
 .../src/CH/ifa/draw/framework/Figure.java     |  340 -----
 .../framework/FigureAttributeConstant.java    |  178 ---
 .../ifa/draw/framework/FigureChangeEvent.java |   65 -
 .../draw/framework/FigureChangeListener.java  |   48 -
 .../ifa/draw/framework/FigureEnumeration.java |   37 -
 .../ifa/draw/framework/FigureSelection.java   |   39 -
 .../framework/FigureSelectionListener.java    |   25 -
 .../CH/ifa/draw/framework/FigureVisitor.java  |   22 -
 .../src/CH/ifa/draw/framework/Handle.java     |  133 --
 .../ifa/draw/framework/HandleEnumeration.java |   51 -
 .../ifa/draw/framework/JHotDrawException.java |   40 -
 .../framework/JHotDrawRuntimeException.java   |   40 -
 .../src/CH/ifa/draw/framework/Locator.java    |   37 -
 .../src/CH/ifa/draw/framework/Painter.java    |   40 -
 .../ifa/draw/framework/PointConstrainer.java  |   46 -
 JHotDraw/src/CH/ifa/draw/framework/Tool.java  |  128 --
 .../CH/ifa/draw/framework/ToolListener.java   |   27 -
 .../draw/framework/ViewChangeListener.java    |   36 -
 JHotDraw/src/CH/ifa/draw/images/ATEXT1.gif    |  Bin 195 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ATEXT2.gif    |  Bin 185 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ATEXT3.gif    |  Bin 191 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/BORDDEC1.gif  |  Bin 173 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/BORDDEC2.gif  |  Bin 170 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/BORDDEC3.gif  |  Bin 186 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/CONN1.gif     |  Bin 171 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/CONN2.gif     |  Bin 161 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/CONN3.gif     |  Bin 170 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/DIAMOND1.gif  |  Bin 192 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/DIAMOND2.gif  |  Bin 180 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/DIAMOND3.gif  |  Bin 187 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ELLIPSE1.gif  |  Bin 199 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ELLIPSE2.gif  |  Bin 193 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ELLIPSE3.gif  |  Bin 202 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ERASER1.gif   |  Bin 183 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ERASER2.gif   |  Bin 173 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ERASER3.gif   |  Bin 179 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/HTMLAREA1.gif |  Bin 194 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/HTMLAREA2.gif |  Bin 190 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/HTMLAREA3.gif |  Bin 203 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/LINE1.gif     |  Bin 165 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/LINE2.gif     |  Bin 158 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/LINE3.gif     |  Bin 164 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/OCONN1.gif    |  Bin 172 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/OCONN2.gif    |  Bin 161 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/OCONN3.gif    |  Bin 170 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/POLYGON1.gif  |  Bin 193 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/POLYGON2.gif  |  Bin 179 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/POLYGON3.gif  |  Bin 189 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RECT1.gif     |  Bin 190 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RECT2.gif     |  Bin 178 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RECT3.gif     |  Bin 190 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RRECT1.gif    |  Bin 191 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RRECT2.gif    |  Bin 182 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/RRECT3.gif    |  Bin 190 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SCRIBBL1.gif  |  Bin 178 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SCRIBBL2.gif  |  Bin 169 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SCRIBBL3.gif  |  Bin 181 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SEL1.gif      |  Bin 186 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SEL2.gif      |  Bin 182 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/SEL3.gif      |  Bin 192 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEMPLATE.gif  |  Bin 152 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEMPLAT_.gif  |  Bin 151 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXT1.gif     |  Bin 193 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXT2.gif     |  Bin 181 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXT3.gif     |  Bin 186 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXTAREA1.gif |  Bin 159 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXTAREA2.gif |  Bin 152 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TEXTAREA3.gif |  Bin 160 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOBACK1.gif   |  Bin 193 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOBACK2.gif   |  Bin 184 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOBACK3.gif   |  Bin 195 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOFRONT1.gif  |  Bin 196 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOFRONT2.gif  |  Bin 185 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TOFRONT3.gif  |  Bin 197 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TRIANGLE1.gif |  Bin 192 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TRIANGLE2.gif |  Bin 181 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/TRIANGLE3.gif |  Bin 191 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/URL1.gif      |  Bin 222 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/URL2.gif      |  Bin 216 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/URL3.gif      |  Bin 230 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ZOOM1.gif     |  Bin 149 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ZOOM2.gif     |  Bin 130 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/ZOOM3.gif     |  Bin 949 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/images/pspbrwse.jbf  |  Bin 21230 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo |   10 -
 .../samples/javadraw/AnimationDecorator.java  |   99 --
 .../ifa/draw/samples/javadraw/Animator.java   |   62 -
 .../samples/javadraw/BouncingDrawing.java     |   67 -
 .../draw/samples/javadraw/FollowURLTool.java  |   70 -
 .../draw/samples/javadraw/JavaDrawApp.java    |  267 ----
 .../draw/samples/javadraw/JavaDrawApplet.java |  132 --
 .../samples/javadraw/JavaDrawAppletHelp.html  |   69 -
 .../draw/samples/javadraw/JavaDrawViewer.java |  123 --
 .../samples/javadraw/MySelectionTool.java     |   47 -
 .../draw/samples/javadraw/PatternPainter.java |   57 -
 .../CH/ifa/draw/samples/javadraw/URLTool.java |  108 --
 .../samples/javadraw/sampleimages/DUKE.gif    |  Bin 2012 -> 0 bytes
 .../javadraw/sampleimages/Juggler0.gif        |  Bin 3090 -> 0 bytes
 .../javadraw/sampleimages/backgrnd.gif        |  Bin 2443 -> 0 bytes
 .../samples/javadraw/sampleimages/beans.gif   |  Bin 7012 -> 0 bytes
 .../samples/javadraw/sampleimages/bg1.gif     |  Bin 2164 -> 0 bytes
 .../javadraw/sampleimages/javacentral.gif     |  Bin 37239 -> 0 bytes
 .../sampleimages/joe.surf.yellow.small.gif    |  Bin 5009 -> 0 bytes
 .../samples/javadraw/sampleimages/rain.gif    |  Bin 7664 -> 0 bytes
 .../samples/javadraw/sampleimages/view.gif    |  Bin 121144 -> 0 bytes
 .../samples/minimap/MiniMapApplication.java   |   30 -
 .../draw/samples/minimap/MiniMapDesktop.java  |   54 -
 JHotDraw/src/CH/ifa/draw/samples/net.jdo      |    8 -
 .../src/CH/ifa/draw/samples/net/NetApp.java   |   48 -
 .../CH/ifa/draw/samples/net/NodeFigure.java   |  155 ---
 .../ifa/draw/samples/nothing/NothingApp.java  |   71 -
 .../draw/samples/nothing/NothingApplet.java   |   55 -
 .../CH/ifa/draw/samples/pert/PertApplet.java  |   42 -
 .../ifa/draw/samples/pert/PertAppletHelp.html |   67 -
 .../draw/samples/pert/PertApplication.java    |   57 -
 .../ifa/draw/samples/pert/PertDependency.java |   73 -
 .../CH/ifa/draw/samples/pert/PertFigure.java  |  313 -----
 .../samples/pert/PertFigureCreationTool.java  |   35 -
 .../CH/ifa/draw/samples/pert/images/PERT1.gif |  Bin 186 -> 0 bytes
 .../CH/ifa/draw/samples/pert/images/PERT2.gif |  Bin 178 -> 0 bytes
 .../CH/ifa/draw/samples/pert/images/PERT3.gif |  Bin 188 -> 0 bytes
 JHotDraw/src/CH/ifa/draw/standard.jdo         |   31 -
 .../src/CH/ifa/draw/standard/AWTCursor.java   |   46 -
 .../CH/ifa/draw/standard/AbstractCommand.java |  253 ----
 .../ifa/draw/standard/AbstractConnector.java  |  126 --
 .../CH/ifa/draw/standard/AbstractFigure.java  |  482 -------
 .../CH/ifa/draw/standard/AbstractHandle.java  |  176 ---
 .../CH/ifa/draw/standard/AbstractLocator.java |   61 -
 .../CH/ifa/draw/standard/AbstractTool.java    |  395 ------
 .../src/CH/ifa/draw/standard/ActionTool.java  |   51 -
 .../CH/ifa/draw/standard/AlignCommand.java    |  224 ---
 .../CH/ifa/draw/standard/BoxHandleKit.java    |  273 ----
 .../draw/standard/BringToFrontCommand.java    |   63 -
 .../draw/standard/BufferedUpdateStrategy.java |   60 -
 .../draw/standard/ChangeAttributeCommand.java |  154 --
 .../standard/ChangeConnectionEndHandle.java   |   90 --
 .../draw/standard/ChangeConnectionHandle.java |  276 ----
 .../standard/ChangeConnectionStartHandle.java |   90 --
 .../ifa/draw/standard/ChopBoxConnector.java   |   76 -
 .../CH/ifa/draw/standard/CompositeFigure.java |  734 ----------
 .../ifa/draw/standard/ConnectionHandle.java   |  210 ---
 .../CH/ifa/draw/standard/ConnectionTool.java  |  448 ------
 .../src/CH/ifa/draw/standard/CopyCommand.java |   42 -
 .../CH/ifa/draw/standard/CreationTool.java    |  229 ---
 .../src/CH/ifa/draw/standard/CutCommand.java  |  181 ---
 .../CH/ifa/draw/standard/DecoratorFigure.java |  337 -----
 .../CH/ifa/draw/standard/DeleteCommand.java   |  126 --
 .../standard/DeleteFromDrawingVisitor.java    |   58 -
 .../src/CH/ifa/draw/standard/DragTracker.java |  189 ---
 .../ifa/draw/standard/DuplicateCommand.java   |   58 -
 .../standard/FastBufferedUpdateStrategy.java  |  121 --
 .../draw/standard/FigureAndEnumerator.java    |   57 -
 .../draw/standard/FigureChangeAdapter.java    |   49 -
 .../FigureChangeEventMulticaster.java         |  105 --
 .../ifa/draw/standard/FigureEnumerator.java   |   82 --
 .../draw/standard/FigureTransferCommand.java  |   67 -
 .../CH/ifa/draw/standard/GridConstrainer.java |   58 -
 .../draw/standard/HandleAndEnumerator.java    |   59 -
 .../ifa/draw/standard/HandleEnumerator.java   |   87 --
 .../CH/ifa/draw/standard/HandleTracker.java   |   52 -
 .../standard/InsertIntoDrawingVisitor.java    |   57 -
 .../ifa/draw/standard/LocatorConnector.java   |  108 --
 .../CH/ifa/draw/standard/LocatorHandle.java   |   90 --
 .../CH/ifa/draw/standard/NullDrawingView.java |  430 ------
 .../src/CH/ifa/draw/standard/NullHandle.java  |   50 -
 .../src/CH/ifa/draw/standard/NullPainter.java |   39 -
 .../src/CH/ifa/draw/standard/NullTool.java    |   41 -
 .../CH/ifa/draw/standard/OffsetLocator.java   |   80 --
 .../draw/standard/OrderedFigureElement.java   |   59 -
 .../CH/ifa/draw/standard/PasteCommand.java    |  117 --
 .../ifa/draw/standard/PeripheralLocator.java  |   78 --
 .../src/CH/ifa/draw/standard/QuadTree.java    |  260 ----
 .../CH/ifa/draw/standard/RelativeLocator.java |  136 --
 .../standard/ReverseFigureEnumerator.java     |   60 -
 .../ifa/draw/standard/SelectAllCommand.java   |   91 --
 .../ifa/draw/standard/SelectAreaTracker.java  |  103 --
 .../CH/ifa/draw/standard/SelectionTool.java   |  144 --
 .../ifa/draw/standard/SendToBackCommand.java  |  117 --
 .../draw/standard/SimpleUpdateStrategy.java   |   40 -
 .../draw/standard/SingleFigureEnumerator.java |   61 -
 .../CH/ifa/draw/standard/StandardDrawing.java |  227 ---
 .../draw/standard/StandardDrawingView.java    | 1183 ----------------
 .../standard/StandardFigureSelection.java     |   95 --
 .../src/CH/ifa/draw/standard/TextHolder.java  |   73 -
 .../ifa/draw/standard/ToggleGridCommand.java  |   49 -
 .../src/CH/ifa/draw/standard/ToolButton.java  |  165 ---
 JHotDraw/src/CH/ifa/draw/test/AllTests.java   |   47 -
 .../src/CH/ifa/draw/test/JHDTestCase.java     |   44 -
 .../CH/ifa/draw/test/contrib/AllTests.java    |   76 -
 .../draw/test/contrib/CTXCommandMenuTest.java |  198 ---
 .../draw/test/contrib/CTXWindowMenuTest.java  |  102 --
 .../contrib/ChopDiamondConnectorTest.java     |  100 --
 .../contrib/ChopPolygonConnectorTest.java     |   99 --
 .../contrib/ClippingUpdateStrategyTest.java   |  110 --
 .../contrib/CommandCheckBoxMenuItemTest.java  |  122 --
 .../test/contrib/CommandMenuItemTest.java     |  131 --
 .../test/contrib/ComponentFigureTest.java     |  156 ---
 .../CompositeFigureCreationToolTest.java      |  144 --
 .../test/contrib/CustomSelectionToolTest.java |  132 --
 .../draw/test/contrib/CustomToolBarTest.java  |  154 --
 .../test/contrib/DesktopEventServiceTest.java |  184 ---
 .../draw/test/contrib/DiamondFigureTest.java  |  154 --
 .../test/contrib/FloatingTextAreaTest.java    |  154 --
 .../contrib/GraphicalCompositeFigureTest.java |  275 ----
 .../CH/ifa/draw/test/contrib/HelperTest.java  |  110 --
 .../draw/test/contrib/JPanelDesktopTest.java  |  177 ---
 .../test/contrib/JScrollPaneDesktopTest.java  |  177 ---
 .../draw/test/contrib/MDIDesktopPaneTest.java |  254 ----
 .../test/contrib/MDI_DrawApplicationTest.java |  155 ---
 .../draw/test/contrib/MiniMapViewTest.java    |  163 ---
 .../test/contrib/NestedCreationToolTest.java  |  147 --
 .../draw/test/contrib/PolygonFigureTest.java  |  419 ------
 .../draw/test/contrib/PolygonHandleTest.java  |  148 --
 .../draw/test/contrib/PolygonToolTest.java    |  166 ---
 .../ifa/draw/test/contrib/SVGDrawAppTest.java |  122 --
 .../test/contrib/SVGStorageFormatTest.java    |  133 --
 .../draw/test/contrib/SimpleLayouterTest.java |  201 ---
 .../test/contrib/SplitConnectionToolTest.java |  158 ---
 .../test/contrib/StandardLayouterTest.java    |  133 --
 .../draw/test/contrib/TextAreaFigureTest.java |  508 -------
 .../draw/test/contrib/TextAreaToolTest.java   |  169 ---
 .../draw/test/contrib/TriangleFigureTest.java |  232 ----
 .../ifa/draw/test/contrib/WindowMenuTest.java |  103 --
 .../CH/ifa/draw/test/figures/AllTests.java    |   61 -
 .../ifa/draw/test/figures/ArrowTipTest.java   |  137 --
 .../test/figures/BorderDecoratorTest.java     |  181 ---
 .../ifa/draw/test/figures/BorderToolTest.java |  133 --
 .../figures/ChopEllipseConnectorTest.java     |  100 --
 .../test/figures/ConnectedTextToolTest.java   |  136 --
 .../test/figures/ElbowConnectionTest.java     |  144 --
 .../draw/test/figures/ElbowHandleTest.java    |  148 --
 .../draw/test/figures/EllipseFigureTest.java  |  199 ---
 .../test/figures/FigureAttributesTest.java    |  188 ---
 .../ifa/draw/test/figures/FiguresSuite.java   |   88 --
 .../draw/test/figures/FontSizeHandleTest.java |  148 --
 .../draw/test/figures/GroupCommandTest.java   |  126 --
 .../draw/test/figures/GroupFigureTest.java    |  170 ---
 .../draw/test/figures/ImageFigureTest.java    |  188 ---
 .../test/figures/InsertImageCommandTest.java  |  112 --
 .../draw/test/figures/LineConnectionTest.java |  397 ------
 .../ifa/draw/test/figures/LineFigureTest.java |  144 --
 .../draw/test/figures/NullConnectorTest.java  |  103 --
 .../ifa/draw/test/figures/NullFigureTest.java |  254 ----
 .../test/figures/NumberTextFigureTest.java    |  142 --
 .../test/figures/PolyLineConnectorTest.java   |  100 --
 .../draw/test/figures/PolyLineFigureTest.java |  383 -----
 .../draw/test/figures/PolyLineHandleTest.java |  137 --
 .../test/figures/RectangleFigureTest.java     |  177 ---
 .../figures/RoundRectangleFigureTest.java     |  221 ---
 .../draw/test/figures/ScribbleToolTest.java   |  155 ---
 .../ShortestDistanceConnectorTest.java        |  122 --
 .../ifa/draw/test/figures/TextFigureTest.java |  473 -------
 .../ifa/draw/test/figures/TextToolTest.java   |  173 ---
 .../draw/test/figures/UngroupCommandTest.java |  122 --
 .../CH/ifa/draw/test/framework/AllTests.java  |   35 -
 .../framework/DrawingChangeEventTest.java     |  125 --
 .../FigureAttributeConstantTest.java          |  155 ---
 .../test/framework/FigureChangeEventTest.java |  137 --
 .../draw/test/framework/FrameworkSuite.java   |   62 -
 .../draw/test/samples/javadraw/AllTests.java  |   41 -
 .../javadraw/AnimationDecoratorTest.java      |  177 ---
 .../test/samples/javadraw/AnimatorTest.java   |  141 --
 .../samples/javadraw/BouncingDrawingTest.java |  144 --
 .../samples/javadraw/JavaDrawAppTest.java     |  144 --
 .../samples/javadraw/JavaDrawAppletTest.java  |  144 --
 .../samples/javadraw/JavaDrawViewerTest.java  |  221 ---
 .../test/samples/javadraw/JavadrawSuite.java  |   68 -
 .../samples/javadraw/MySelectionToolTest.java |  111 --
 .../samples/javadraw/PatternPainterTest.java  |  116 --
 .../test/samples/javadraw/URLToolTest.java    |  133 --
 .../draw/test/samples/minimap/AllTests.java   |   34 -
 .../minimap/MiniMapApplicationTest.java       |  111 --
 .../samples/minimap/MiniMapDesktopTest.java   |  100 --
 .../test/samples/minimap/MinimapSuite.java    |   61 -
 .../ifa/draw/test/samples/net/AllTests.java   |   34 -
 .../ifa/draw/test/samples/net/NetAppTest.java |  111 --
 .../ifa/draw/test/samples/net/NetSuite.java   |   61 -
 .../draw/test/samples/net/NodeFigureTest.java |  177 ---
 .../draw/test/samples/nothing/AllTests.java   |   34 -
 .../test/samples/nothing/NothingAppTest.java  |  111 --
 .../samples/nothing/NothingAppletTest.java    |  100 --
 .../test/samples/nothing/NothingSuite.java    |   61 -
 .../ifa/draw/test/samples/pert/AllTests.java  |   37 -
 .../test/samples/pert/PertAppletTest.java     |  100 --
 .../samples/pert/PertApplicationTest.java     |  111 --
 .../test/samples/pert/PertDependencyTest.java |  144 --
 .../pert/PertFigureCreationToolTest.java      |  100 --
 .../test/samples/pert/PertFigureTest.java     |  357 -----
 .../ifa/draw/test/samples/pert/PertSuite.java |   64 -
 .../draw/test/standard/AlignCommandTest.java  |  122 --
 .../CH/ifa/draw/test/standard/AllTests.java   |   80 --
 .../draw/test/standard/BoxHandleKitTest.java  |  210 ---
 .../standard/BringToFrontCommandTest.java     |  122 --
 .../standard/BufferedUpdateStrategyTest.java  |  111 --
 .../standard/ChangeAttributeCommandTest.java  |  126 --
 .../ChangeConnectionEndHandleTest.java        |  112 --
 .../ChangeConnectionStartHandleTest.java      |  112 --
 .../test/standard/ChopBoxConnectorTest.java   |  122 --
 .../test/standard/ConnectionHandleTest.java   |  149 --
 .../test/standard/ConnectionToolTest.java     |  159 ---
 .../draw/test/standard/CopyCommandTest.java   |  111 --
 .../draw/test/standard/CreationToolTest.java  |  147 --
 .../draw/test/standard/CutCommandTest.java    |  122 --
 .../draw/test/standard/DeleteCommandTest.java |  111 --
 .../DeleteFromDrawingVisitorTest.java         |  145 --
 .../draw/test/standard/DragTrackerTest.java   |  147 --
 .../test/standard/DuplicateCommandTest.java   |  111 --
 .../FastBufferedUpdateStrategyTest.java       |  111 --
 .../standard/FigureAndEnumeratorTest.java     |  149 --
 .../standard/FigureChangeAdapterTest.java     |  155 ---
 .../FigureChangeEventMulticasterTest.java     |  184 ---
 .../test/standard/FigureEnumeratorTest.java   |  154 --
 .../test/standard/GridConstrainerTest.java    |  133 --
 .../standard/HandleAndEnumeratorTest.java     |  164 ---
 .../test/standard/HandleEnumeratorTest.java   |  167 ---
 .../draw/test/standard/HandleTrackerTest.java |  151 --
 .../InsertIntoDrawingVisitorTest.java         |  145 --
 .../test/standard/LocatorConnectorTest.java   |  166 ---
 .../draw/test/standard/LocatorHandleTest.java |  126 --
 .../test/standard/NullDrawingViewTest.java    |  650 ---------
 .../draw/test/standard/NullHandleTest.java    |  116 --
 .../ifa/draw/test/standard/NullToolTest.java  |  122 --
 .../draw/test/standard/OffsetLocatorTest.java |  144 --
 .../draw/test/standard/PasteCommandTest.java  |  122 --
 .../test/standard/PeripheralLocatorTest.java  |  111 --
 .../test/standard/RelativeLocatorTest.java    |  243 ----
 .../standard/ReverseFigureEnumeratorTest.java |  143 --
 .../test/standard/SelectAllCommandTest.java   |  122 --
 .../test/standard/SelectAreaTrackerTest.java  |  133 --
 .../draw/test/standard/SelectionToolTest.java |  144 --
 .../test/standard/SendToBackCommandTest.java  |  111 --
 .../standard/SimpleUpdateStrategyTest.java    |  111 --
 .../standard/SingleFigureEnumeratorTest.java  |  137 --
 .../test/standard/StandardDrawingTest.java    |  263 ----
 .../standard/StandardDrawingViewTest.java     |  728 ----------
 .../standard/StandardFigureSelectionTest.java |  146 --
 .../ifa/draw/test/standard/StandardSuite.java |  107 --
 .../test/standard/ToggleGridCommandTest.java  |  113 --
 .../draw/test/standard/ToolButtonTest.java    |  258 ----
 .../src/CH/ifa/draw/test/util/AllTests.java   |   61 -
 .../src/CH/ifa/draw/test/util/BoundsTest.java |  484 -------
 .../CH/ifa/draw/test/util/ClipboardTest.java  |  131 --
 .../CH/ifa/draw/test/util/ColorMapTest.java   |  155 ---
 .../ifa/draw/test/util/CommandButtonTest.java |  112 --
 .../ifa/draw/test/util/CommandChoiceTest.java |  122 --
 .../ifa/draw/test/util/CommandMenuTest.java   |  199 ---
 .../src/CH/ifa/draw/test/util/FillerTest.java |  133 --
 .../draw/test/util/FloatingTextFieldTest.java |  177 ---
 .../src/CH/ifa/draw/test/util/GeomTest.java   |  343 -----
 .../ifa/draw/test/util/GraphLayoutTest.java   |  155 ---
 .../CH/ifa/draw/test/util/IconkitTest.java    |  177 ---
 .../draw/test/util/JDOStorageFormatTest.java  |  143 --
 .../ifa/draw/test/util/PaletteIconTest.java   |  181 ---
 .../ifa/draw/test/util/PaletteLayoutTest.java |  158 ---
 .../ifa/draw/test/util/RedoCommandTest.java   |  122 --
 .../test/util/ReverseListEnumeratorTest.java  |  140 --
 .../util/SerializationStorageFormatTest.java  |  133 --
 .../test/util/StandardStorageFormatTest.java  |  204 ---
 .../StandardVersionControlStrategyTest.java   |  110 --
 .../ifa/draw/test/util/StorableInputTest.java |  184 ---
 .../draw/test/util/StorableOutputTest.java    |  195 ---
 .../test/util/StorageFormatManagerTest.java   |  177 ---
 .../ifa/draw/test/util/UndoCommandTest.java   |  122 --
 .../ifa/draw/test/util/UndoManagerTest.java   |  210 ---
 .../draw/test/util/UndoRedoActivityTest.java  |  269 ----
 .../draw/test/util/UndoableAdapterTest.java   |  244 ----
 .../draw/test/util/UndoableCommandTest.java   |  248 ----
 .../draw/test/util/UndoableHandleTest.java    |  218 ---
 .../ifa/draw/test/util/UndoableToolTest.java  |  374 -----
 .../src/CH/ifa/draw/test/util/UtilSuite.java  |   88 --
 .../draw/test/util/VersionManagementTest.java |  165 ---
 .../test/util/collections/jdk11/AllTests.java |   37 -
 .../jdk11/CollectionsFactoryJDK11Test.java    |  133 --
 .../jdk11/IteratorWrapperTest.java            |  141 --
 .../util/collections/jdk11/Jdk11Suite.java    |   64 -
 .../collections/jdk11/ListWrapperTest.java    |  298 ----
 .../collections/jdk11/MapWrapperTest.java     |  232 ----
 .../collections/jdk11/SetWrapperTest.java     |  232 ----
 .../test/util/collections/jdk12/AllTests.java |   33 -
 .../jdk12/CollectionsFactoryJDK12Test.java    |  133 --
 .../util/collections/jdk12/Jdk12Suite.java    |   55 -
 JHotDraw/src/CH/ifa/draw/util/Animatable.java |   24 -
 JHotDraw/src/CH/ifa/draw/util/Bounds.java     |  496 -------
 JHotDraw/src/CH/ifa/draw/util/Clipboard.java  |   49 -
 .../CH/ifa/draw/util/CollectionsFactory.java  |   83 --
 JHotDraw/src/CH/ifa/draw/util/ColorMap.java   |   97 --
 JHotDraw/src/CH/ifa/draw/util/Command.java    |   59 -
 .../src/CH/ifa/draw/util/CommandButton.java   |   53 -
 .../src/CH/ifa/draw/util/CommandChoice.java   |   56 -
 .../src/CH/ifa/draw/util/CommandListener.java |   24 -
 .../src/CH/ifa/draw/util/CommandMenu.java     |  134 --
 JHotDraw/src/CH/ifa/draw/util/Filler.java     |   55 -
 .../CH/ifa/draw/util/FloatingTextField.java   |  111 --
 JHotDraw/src/CH/ifa/draw/util/Geom.java       |  394 ------
 .../src/CH/ifa/draw/util/GraphLayout.java     |  227 ---
 JHotDraw/src/CH/ifa/draw/util/Iconkit.java    |  171 ---
 .../CH/ifa/draw/util/JDOStorageFormat.java    |  326 -----
 .../src/CH/ifa/draw/util/PaletteButton.java   |  148 --
 .../src/CH/ifa/draw/util/PaletteIcon.java     |   44 -
 .../src/CH/ifa/draw/util/PaletteLayout.java   |  112 --
 .../src/CH/ifa/draw/util/PaletteListener.java |   32 -
 .../src/CH/ifa/draw/util/RedoCommand.java     |   66 -
 .../ifa/draw/util/ReverseListEnumerator.java  |   48 -
 .../draw/util/SerializationStorageFormat.java |   87 --
 .../ifa/draw/util/StandardStorageFormat.java  |  244 ----
 .../util/StandardVersionControlStrategy.java  |   92 --
 JHotDraw/src/CH/ifa/draw/util/Storable.java   |   37 -
 .../src/CH/ifa/draw/util/StorableInput.java   |  183 ---
 .../src/CH/ifa/draw/util/StorableOutput.java  |  176 ---
 .../src/CH/ifa/draw/util/StorageFormat.java   |   73 -
 .../ifa/draw/util/StorageFormatManager.java   |  193 ---
 .../src/CH/ifa/draw/util/UndoCommand.java     |   74 -
 .../src/CH/ifa/draw/util/UndoManager.java     |  218 ---
 .../CH/ifa/draw/util/UndoRedoActivity.java    |  120 --
 JHotDraw/src/CH/ifa/draw/util/Undoable.java   |   54 -
 .../src/CH/ifa/draw/util/UndoableAdapter.java |  135 --
 .../src/CH/ifa/draw/util/UndoableCommand.java |  134 --
 .../src/CH/ifa/draw/util/UndoableHandle.java  |  213 ---
 .../src/CH/ifa/draw/util/UndoableTool.java    |  192 ---
 .../ifa/draw/util/VersionControlStrategy.java |   24 -
 .../CH/ifa/draw/util/VersionManagement.java   |  200 ---
 .../CH/ifa/draw/util/VersionRequester.java    |   28 -
 .../jdk11/CollectionsFactoryJDK11.java        |   53 -
 .../collections/jdk11/IteratorWrapper.java    |   39 -
 .../util/collections/jdk11/ListWrapper.java   |  126 --
 .../util/collections/jdk11/MapWrapper.java    |   78 --
 .../util/collections/jdk11/SetWrapper.java    |   85 --
 .../jdk12/CollectionsFactoryJDK12.java        |   53 -
 .../documentation-page.dwt                    |    0
 .../documentation-toc.dwt                     |    0
 .../guide-template.dwt                        |    0
 .../Templates => Templates}/toc-template.dwt  |    0
 jhotdraw7/applet.policy => applet.policy      |    0
 jhotdraw7/build-all.xml => build-all.xml      |    0
 ...-profiler.xml => build-before-profiler.xml |    0
 ...ild-bezierdemo.xml => build-bezierdemo.xml |    0
 jhotdraw7/build-draw.xml => build-draw.xml    |    0
 .../build-jhotdraw.xml => build-jhotdraw.xml  |    0
 jhotdraw7/build-net.xml => build-net.xml      |    0
 jhotdraw7/build-odg.xml => build-odg.xml      |    0
 jhotdraw7/build-pert.xml => build-pert.xml    |    0
 jhotdraw7/build-svg.xml => build-svg.xml      |    0
 jhotdraw7/build-teddy.xml => build-teddy.xml  |    0
 jhotdraw7/build.xml => build.xml              |    0
 jhotdraw6/.classpath                          |   10 -
 jhotdraw6/.project                            |   23 -
 jhotdraw6/JavaDrawApplet.html                 |   69 -
 jhotdraw6/JavaDrawViewer.html                 |   63 -
 jhotdraw6/NothingApplet.html                  |   63 -
 jhotdraw6/PertApplet.html                     |   66 -
 jhotdraw6/README.html                         |   88 --
 jhotdraw6/build.xml                           |   69 -
 jhotdraw6/build/build.properties              |    1 -
 jhotdraw6/build/build.xml                     |  361 -----
 jhotdraw6/build/jhotdraw.mf                   |   65 -
 jhotdraw6/compile.bat                         |   15 -
 jhotdraw6/compile.sh                          |   10 -
 jhotdraw6/compile_ant.bat                     |    5 -
 jhotdraw6/doc/Architecture Overview.ppt       |  Bin 70144 -> 0 bytes
 jhotdraw6/doc/Changes.html                    |  203 ---
 jhotdraw6/doc/ClassDiagram.html               |   10 -
 jhotdraw6/doc/ReleaseNotes.html               |  275 ----
 jhotdraw6/doc/buildProcess.html               |   45 -
 jhotdraw6/doc/change_log.txt                  |   18 -
 jhotdraw6/doc/classdiagram.jpg                |  Bin 17784 -> 0 bytes
 jhotdraw6/doc/documentation.html              |   24 -
 jhotdraw6/doc/drawBackground.html             |   28 -
 jhotdraw6/doc/packages.html                   |   60 -
 jhotdraw6/doc/pattlets.jar                    |  Bin 376878 -> 0 bytes
 jhotdraw6/doc/samples.html                    |   96 --
 jhotdraw6/drawings/demo.draw                  |   82 --
 jhotdraw6/drawings/demo.ser                   |  Bin 9077 -> 0 bytes
 jhotdraw6/drawings/net.draw                   |   65 -
 jhotdraw6/drawings/net.ser                    |  Bin 6346 -> 0 bytes
 jhotdraw6/drawings/nothing.draw               |   10 -
 jhotdraw6/drawings/nothing.ser                |  Bin 3077 -> 0 bytes
 jhotdraw6/drawings/offsetConnectors.draw      |   70 -
 jhotdraw6/drawings/pert.draw                  |   64 -
 jhotdraw6/drawings/pert.ser                   |  Bin 10170 -> 0 bytes
 jhotdraw6/lgpl-license.html                   |  533 -------
 jhotdraw6/lib/batik-awt-util.jar              |  Bin 369001 -> 0 bytes
 jhotdraw6/lib/batik-dom.jar                   |  Bin 87407 -> 0 bytes
 jhotdraw6/lib/batik-svggen.jar                |  Bin 164659 -> 0 bytes
 jhotdraw6/nbproject/build-impl.xml            |  547 --------
 jhotdraw6/nbproject/genfiles.properties       |    8 -
 jhotdraw6/nbproject/project.properties        |   64 -
 jhotdraw6/nbproject/project.xml               |   17 -
 jhotdraw6/run_javadraw.bat                    |    3 -
 jhotdraw6/setenv.bat                          |    2 -
 .../org/jhotdraw/util/JDOStorageFormat.java   |  326 -----
 .../java/org/jhotdraw/applet/DrawApplet.java  |  573 --------
 .../jhotdraw/application/DrawApplication.java | 1176 ----------------
 .../jhotdraw/contrib/AutoscrollHelper.java    |   85 --
 .../org/jhotdraw/contrib/CTXCommandMenu.java  |  198 ---
 .../org/jhotdraw/contrib/CTXWindowMenu.java   |  202 ---
 .../contrib/ChopDiamondConnector.java         |   93 --
 .../contrib/ChopPolygonConnector.java         |   43 -
 .../contrib/ClippingUpdateStrategy.java       |   70 -
 .../contrib/CommandCheckBoxMenuItem.java      |   93 --
 .../org/jhotdraw/contrib/CommandHolder.java   |   39 -
 .../org/jhotdraw/contrib/CommandMenuItem.java |   87 --
 .../org/jhotdraw/contrib/ComponentFigure.java |  125 --
 .../contrib/CompositeFigureCreationTool.java  |   79 --
 .../jhotdraw/contrib/CustomSelectionTool.java |  194 ---
 .../org/jhotdraw/contrib/CustomToolBar.java   |  130 --
 .../java/org/jhotdraw/contrib/Desktop.java    |   39 -
 .../org/jhotdraw/contrib/DesktopEvent.java    |   55 -
 .../jhotdraw/contrib/DesktopEventService.java |  181 ---
 .../org/jhotdraw/contrib/DesktopListener.java |   22 -
 .../org/jhotdraw/contrib/DiamondFigure.java   |   71 -
 .../jhotdraw/contrib/FloatingTextArea.java    |  130 --
 .../contrib/GraphicalCompositeFigure.java     |  355 -----
 .../org/jhotdraw/contrib/GridPainter.java     |   95 --
 .../java/org/jhotdraw/contrib/Helper.java     |   51 -
 .../org/jhotdraw/contrib/JPanelDesktop.java   |  112 --
 .../jhotdraw/contrib/JScrollPaneDesktop.java  |   91 --
 .../java/org/jhotdraw/contrib/Layoutable.java |   43 -
 .../java/org/jhotdraw/contrib/Layouter.java   |   74 -
 .../org/jhotdraw/contrib/MDIDesktopPane.java  |  636 ---------
 .../jhotdraw/contrib/MDI_DrawApplication.java |  146 --
 .../org/jhotdraw/contrib/MiniMapView.java     |  268 ----
 .../jhotdraw/contrib/NestedCreationTool.java  |   82 --
 .../org/jhotdraw/contrib/PolygonFigure.java   |  462 ------
 .../org/jhotdraw/contrib/PolygonHandle.java   |   98 --
 .../jhotdraw/contrib/PolygonScaleHandle.java  |  186 ---
 .../org/jhotdraw/contrib/PolygonTool.java     |  142 --
 .../contrib/PopupMenuFigureSelection.java     |   38 -
 .../java/org/jhotdraw/contrib/SVGDrawApp.java |   49 -
 .../jhotdraw/contrib/SVGStorageFormat.java    |  112 --
 .../org/jhotdraw/contrib/SimpleLayouter.java  |  130 --
 .../jhotdraw/contrib/SplitConnectionTool.java |  107 --
 .../jhotdraw/contrib/SplitPaneDesktop.java    |  151 --
 .../contrib/SplitPaneDrawApplication.java     |   42 -
 .../jhotdraw/contrib/StandardLayouter.java    |  132 --
 .../org/jhotdraw/contrib/TextAreaFigure.java  |  936 -------------
 .../org/jhotdraw/contrib/TextAreaTool.java    |  445 ------
 .../org/jhotdraw/contrib/TriangleFigure.java  |  185 ---
 .../contrib/TriangleRotationHandle.java       |  165 ---
 .../java/org/jhotdraw/contrib/WindowMenu.java |  119 --
 .../org/jhotdraw/contrib/dnd/DNDFigures.java  |   46 -
 .../contrib/dnd/DNDFiguresTransferable.java   |   43 -
 .../org/jhotdraw/contrib/dnd/DNDHelper.java   |  273 ----
 .../jhotdraw/contrib/dnd/DNDInterface.java    |   39 -
 .../jhotdraw/contrib/dnd/DragNDropTool.java   |  345 -----
 .../contrib/dnd/JHDDragSourceListener.java    |  203 ---
 .../contrib/dnd/JHDDropTargetListener.java    |  307 ----
 .../contrib/html/AbstractContentProducer.java |   51 -
 .../html/AttributeContentProducerContext.java |   30 -
 .../html/AttributeFigureContentProducer.java  |   70 -
 .../contrib/html/ColorContentProducer.java    |  111 --
 .../contrib/html/ContentProducer.java         |   77 -
 .../contrib/html/ContentProducerContext.java  |   24 -
 .../contrib/html/ContentProducerRegistry.java |  307 ----
 .../html/DiamondFigureGeometricAdapter.java   |   53 -
 .../html/DisposableResourceHolder.java        |  121 --
 .../html/DisposableResourceManager.java       |   72 -
 .../DisposableResourceManagerFactory.java     |   98 --
 .../contrib/html/ETSLADisposalStrategy.java   |  257 ----
 .../html/EllipseFigureGeometricAdapter.java   |   57 -
 .../html/FigureContentProducerContext.java    |   40 -
 .../html/FigureDataContentProducer.java       |   83 --
 .../contrib/html/GeometricFigure.java         |   33 -
 .../html/HTMLColorContentProducer.java        |   54 -
 .../contrib/html/HTMLContentProducer.java     |   86 --
 .../html/HTMLContentProducerContext.java      |   22 -
 .../jhotdraw/contrib/html/HTMLLayouter.java   |  133 --
 .../contrib/html/HTMLTextAreaFigure.java      | 1143 ---------------
 .../contrib/html/HTMLTextAreaTool.java        |   51 -
 .../html/PolygonFigureGeometricAdapter.java   |   62 -
 .../contrib/html/ResourceContentProducer.java |  107 --
 .../html/ResourceDisposabilityStrategy.java   |   57 -
 .../html/ResourceManagerNotSetException.java  |   25 -
 .../html/RoundRectangleGeometricAdapter.java  |   60 -
 .../StandardDisposableResourceHolder.java     |  162 ---
 .../StandardDisposableResourceManager.java    |  120 --
 .../html/TextHolderContentProducer.java       |   96 --
 .../html/TriangleFigureGeometricAdapter.java  |   52 -
 .../contrib/html/URLContentProducer.java      |  117 --
 .../jhotdraw/contrib/zoom/AreaTracker.java    |   76 -
 .../contrib/zoom/DoubleBufferImage.java       |   77 -
 .../contrib/zoom/MiniMapZoomableView.java     |   47 -
 .../contrib/zoom/ScalingGraphics.java         |  430 ------
 .../contrib/zoom/ZoomAreaTracker.java         |   39 -
 .../jhotdraw/contrib/zoom/ZoomCommand.java    |   93 --
 .../contrib/zoom/ZoomDrawingView.java         |  477 -------
 .../org/jhotdraw/contrib/zoom/ZoomTool.java   |   76 -
 .../contrib/zoom/ZoomUpdateStrategy.java      |   74 -
 .../figures/AbstractLineDecoration.java       |  147 --
 .../java/org/jhotdraw/figures/ArrowTip.java   |  143 --
 .../org/jhotdraw/figures/AttributeFigure.java |  250 ----
 .../org/jhotdraw/figures/BorderDecorator.java |  106 --
 .../java/org/jhotdraw/figures/BorderTool.java |  134 --
 .../figures/ChopEllipseConnector.java         |   46 -
 .../jhotdraw/figures/ConnectedTextTool.java   |  213 ---
 .../org/jhotdraw/figures/ElbowConnection.java |  104 --
 .../org/jhotdraw/figures/ElbowHandle.java     |  138 --
 .../org/jhotdraw/figures/EllipseFigure.java   |  110 --
 .../jhotdraw/figures/FigureAttributes.java    |  208 ---
 .../org/jhotdraw/figures/FontSizeHandle.java  |  132 --
 .../org/jhotdraw/figures/GroupCommand.java    |  122 --
 .../org/jhotdraw/figures/GroupFigure.java     |   98 --
 .../org/jhotdraw/figures/GroupHandle.java     |   41 -
 .../org/jhotdraw/figures/ImageFigure.java     |  153 --
 .../jhotdraw/figures/InsertImageCommand.java  |  117 --
 .../org/jhotdraw/figures/LineConnection.java  |  463 ------
 .../org/jhotdraw/figures/LineDecoration.java  |   38 -
 .../java/org/jhotdraw/figures/LineFigure.java |   77 -
 .../org/jhotdraw/figures/NullConnector.java   |   27 -
 .../java/org/jhotdraw/figures/NullFigure.java |  186 ---
 .../jhotdraw/figures/NumberTextFigure.java    |   70 -
 .../jhotdraw/figures/PolyLineConnector.java   |   91 --
 .../org/jhotdraw/figures/PolyLineFigure.java  |  416 ------
 .../org/jhotdraw/figures/PolyLineHandle.java  |  126 --
 .../org/jhotdraw/figures/PolyLineLocator.java |   41 -
 .../org/jhotdraw/figures/RadiusHandle.java    |  131 --
 .../org/jhotdraw/figures/RectangleFigure.java |   97 --
 .../figures/RoundRectangleFigure.java         |  140 --
 .../org/jhotdraw/figures/ScribbleTool.java    |  119 --
 .../figures/ShortestDistanceConnector.java    |  158 ---
 .../java/org/jhotdraw/figures/TextFigure.java |  509 -------
 .../java/org/jhotdraw/figures/TextTool.java   |  303 ----
 .../org/jhotdraw/figures/UngroupCommand.java  |  118 --
 .../jhotdraw/framework/ConnectionFigure.java  |  152 --
 .../org/jhotdraw/framework/Connector.java     |   96 --
 .../java/org/jhotdraw/framework/Cursor.java   |   29 -
 .../java/org/jhotdraw/framework/Drawing.java  |  317 -----
 .../framework/DrawingChangeEvent.java         |   47 -
 .../framework/DrawingChangeListener.java      |   34 -
 .../org/jhotdraw/framework/DrawingEditor.java |   72 -
 .../org/jhotdraw/framework/DrawingView.java   |  315 -----
 .../java/org/jhotdraw/framework/Figure.java   |  334 -----
 .../framework/FigureAttributeConstant.java    |  178 ---
 .../jhotdraw/framework/FigureChangeEvent.java |   65 -
 .../framework/FigureChangeListener.java       |   48 -
 .../jhotdraw/framework/FigureEnumeration.java |   37 -
 .../jhotdraw/framework/FigureSelection.java   |   39 -
 .../framework/FigureSelectionListener.java    |   25 -
 .../org/jhotdraw/framework/FigureVisitor.java |   22 -
 .../java/org/jhotdraw/framework/Handle.java   |  133 --
 .../jhotdraw/framework/HandleEnumeration.java |   51 -
 .../jhotdraw/framework/JHotDrawException.java |   40 -
 .../framework/JHotDrawRuntimeException.java   |   40 -
 .../java/org/jhotdraw/framework/Locator.java  |   37 -
 .../java/org/jhotdraw/framework/Painter.java  |   40 -
 .../jhotdraw/framework/PointConstrainer.java  |   46 -
 .../java/org/jhotdraw/framework/Tool.java     |  128 --
 .../org/jhotdraw/framework/ToolListener.java  |   27 -
 .../framework/ViewChangeListener.java         |   36 -
 .../main/java/org/jhotdraw/images/ATEXT1.gif  |  Bin 195 -> 0 bytes
 .../main/java/org/jhotdraw/images/ATEXT2.gif  |  Bin 185 -> 0 bytes
 .../main/java/org/jhotdraw/images/ATEXT3.gif  |  Bin 191 -> 0 bytes
 .../java/org/jhotdraw/images/BORDDEC1.gif     |  Bin 173 -> 0 bytes
 .../java/org/jhotdraw/images/BORDDEC2.gif     |  Bin 170 -> 0 bytes
 .../java/org/jhotdraw/images/BORDDEC3.gif     |  Bin 186 -> 0 bytes
 .../main/java/org/jhotdraw/images/CONN1.gif   |  Bin 171 -> 0 bytes
 .../main/java/org/jhotdraw/images/CONN2.gif   |  Bin 161 -> 0 bytes
 .../main/java/org/jhotdraw/images/CONN3.gif   |  Bin 170 -> 0 bytes
 .../java/org/jhotdraw/images/DIAMOND1.gif     |  Bin 192 -> 0 bytes
 .../java/org/jhotdraw/images/DIAMOND2.gif     |  Bin 180 -> 0 bytes
 .../java/org/jhotdraw/images/DIAMOND3.gif     |  Bin 187 -> 0 bytes
 .../java/org/jhotdraw/images/ELLIPSE1.gif     |  Bin 199 -> 0 bytes
 .../java/org/jhotdraw/images/ELLIPSE2.gif     |  Bin 193 -> 0 bytes
 .../java/org/jhotdraw/images/ELLIPSE3.gif     |  Bin 202 -> 0 bytes
 .../main/java/org/jhotdraw/images/ERASER1.gif |  Bin 183 -> 0 bytes
 .../main/java/org/jhotdraw/images/ERASER2.gif |  Bin 173 -> 0 bytes
 .../main/java/org/jhotdraw/images/ERASER3.gif |  Bin 179 -> 0 bytes
 .../java/org/jhotdraw/images/HTMLAREA1.gif    |  Bin 194 -> 0 bytes
 .../java/org/jhotdraw/images/HTMLAREA2.gif    |  Bin 190 -> 0 bytes
 .../java/org/jhotdraw/images/HTMLAREA3.gif    |  Bin 203 -> 0 bytes
 .../main/java/org/jhotdraw/images/LINE1.gif   |  Bin 165 -> 0 bytes
 .../main/java/org/jhotdraw/images/LINE2.gif   |  Bin 158 -> 0 bytes
 .../main/java/org/jhotdraw/images/LINE3.gif   |  Bin 164 -> 0 bytes
 .../main/java/org/jhotdraw/images/OCONN1.gif  |  Bin 172 -> 0 bytes
 .../main/java/org/jhotdraw/images/OCONN2.gif  |  Bin 161 -> 0 bytes
 .../main/java/org/jhotdraw/images/OCONN3.gif  |  Bin 170 -> 0 bytes
 .../main/java/org/jhotdraw/images/PERT1.gif   |  Bin 186 -> 0 bytes
 .../main/java/org/jhotdraw/images/PERT2.gif   |  Bin 178 -> 0 bytes
 .../main/java/org/jhotdraw/images/PERT3.gif   |  Bin 188 -> 0 bytes
 .../java/org/jhotdraw/images/POLYGON1.gif     |  Bin 193 -> 0 bytes
 .../java/org/jhotdraw/images/POLYGON2.gif     |  Bin 179 -> 0 bytes
 .../java/org/jhotdraw/images/POLYGON3.gif     |  Bin 189 -> 0 bytes
 .../main/java/org/jhotdraw/images/RECT1.gif   |  Bin 190 -> 0 bytes
 .../main/java/org/jhotdraw/images/RECT2.gif   |  Bin 178 -> 0 bytes
 .../main/java/org/jhotdraw/images/RECT3.gif   |  Bin 190 -> 0 bytes
 .../main/java/org/jhotdraw/images/RRECT1.gif  |  Bin 191 -> 0 bytes
 .../main/java/org/jhotdraw/images/RRECT2.gif  |  Bin 182 -> 0 bytes
 .../main/java/org/jhotdraw/images/RRECT3.gif  |  Bin 190 -> 0 bytes
 .../java/org/jhotdraw/images/SCRIBBL1.gif     |  Bin 178 -> 0 bytes
 .../java/org/jhotdraw/images/SCRIBBL2.gif     |  Bin 169 -> 0 bytes
 .../java/org/jhotdraw/images/SCRIBBL3.gif     |  Bin 181 -> 0 bytes
 .../main/java/org/jhotdraw/images/SEL1.gif    |  Bin 186 -> 0 bytes
 .../main/java/org/jhotdraw/images/SEL2.gif    |  Bin 182 -> 0 bytes
 .../main/java/org/jhotdraw/images/SEL3.gif    |  Bin 192 -> 0 bytes
 .../java/org/jhotdraw/images/TEMPLATE.gif     |  Bin 152 -> 0 bytes
 .../java/org/jhotdraw/images/TEMPLAT_.gif     |  Bin 151 -> 0 bytes
 .../main/java/org/jhotdraw/images/TEXT1.gif   |  Bin 193 -> 0 bytes
 .../main/java/org/jhotdraw/images/TEXT2.gif   |  Bin 181 -> 0 bytes
 .../main/java/org/jhotdraw/images/TEXT3.gif   |  Bin 186 -> 0 bytes
 .../java/org/jhotdraw/images/TEXTAREA1.gif    |  Bin 159 -> 0 bytes
 .../java/org/jhotdraw/images/TEXTAREA2.gif    |  Bin 152 -> 0 bytes
 .../java/org/jhotdraw/images/TEXTAREA3.gif    |  Bin 160 -> 0 bytes
 .../java/org/jhotdraw/samples/javadraw.jdo    |   10 -
 .../samples/javadraw/AnimationDecorator.java  |   99 --
 .../jhotdraw/samples/javadraw/Animator.java   |   62 -
 .../samples/javadraw/BouncingDrawing.java     |   67 -
 .../samples/javadraw/FollowURLTool.java       |   70 -
 .../samples/javadraw/JavaDrawApp.java         |  267 ----
 .../samples/javadraw/JavaDrawApplet.java      |  132 --
 .../samples/javadraw/JavaDrawAppletHelp.html  |   69 -
 .../samples/javadraw/JavaDrawViewer.java      |  123 --
 .../samples/javadraw/MySelectionTool.java     |   47 -
 .../samples/javadraw/PatternPainter.java      |   57 -
 .../jhotdraw/samples/javadraw/URLTool.java    |  108 --
 .../samples/javadraw/sampleimages/DUKE.gif    |  Bin 2012 -> 0 bytes
 .../javadraw/sampleimages/Juggler0.gif        |  Bin 3090 -> 0 bytes
 .../javadraw/sampleimages/backgrnd.gif        |  Bin 2443 -> 0 bytes
 .../samples/javadraw/sampleimages/beans.gif   |  Bin 7012 -> 0 bytes
 .../samples/javadraw/sampleimages/bg1.gif     |  Bin 2164 -> 0 bytes
 .../javadraw/sampleimages/javacentral.gif     |  Bin 37239 -> 0 bytes
 .../sampleimages/joe.surf.yellow.small.gif    |  Bin 5009 -> 0 bytes
 .../samples/javadraw/sampleimages/rain.gif    |  Bin 7664 -> 0 bytes
 .../samples/javadraw/sampleimages/view.gif    |  Bin 121144 -> 0 bytes
 .../samples/mini/ConnectingFiguresSample.java |   74 -
 .../org/jhotdraw/samples/mini/package.html    |   42 -
 .../samples/minimap/MiniMapApplication.java   |   30 -
 .../samples/minimap/MiniMapDesktop.java       |   53 -
 .../main/java/org/jhotdraw/samples/net.jdo    |    8 -
 .../java/org/jhotdraw/samples/net/NetApp.java |   48 -
 .../org/jhotdraw/samples/net/NodeFigure.java  |  155 ---
 .../jhotdraw/samples/nothing/NothingApp.java  |   71 -
 .../samples/nothing/NothingApplet.java        |   55 -
 .../offsetConnectors/ConnectorApp.java        |   52 -
 .../offsetConnectors/MyEllipseFigure.java     |   43 -
 .../samples/offsetConnectors/MyFigure.java    |   44 -
 .../samples/offsetConnectors/NodeFigure.java  |  155 ---
 .../offsetConnectors/offsetConnectors.draw    |   70 -
 .../org/jhotdraw/samples/pert/PertApplet.java |   42 -
 .../jhotdraw/samples/pert/PertAppletHelp.html |   67 -
 .../samples/pert/PertApplication.java         |   57 -
 .../jhotdraw/samples/pert/PertDependency.java |   73 -
 .../org/jhotdraw/samples/pert/PertFigure.java |  313 -----
 .../samples/pert/PertFigureCreationTool.java  |   35 -
 .../jhotdraw/samples/pert/images/PERT1.gif    |  Bin 186 -> 0 bytes
 .../jhotdraw/samples/pert/images/PERT2.gif    |  Bin 178 -> 0 bytes
 .../jhotdraw/samples/pert/images/PERT3.gif    |  Bin 188 -> 0 bytes
 .../java/org/jhotdraw/standard/AWTCursor.java |   46 -
 .../jhotdraw/standard/AbstractCommand.java    |  253 ----
 .../jhotdraw/standard/AbstractConnector.java  |  148 --
 .../org/jhotdraw/standard/AbstractFigure.java |  482 -------
 .../org/jhotdraw/standard/AbstractHandle.java |  176 ---
 .../jhotdraw/standard/AbstractLocator.java    |   61 -
 .../org/jhotdraw/standard/AbstractTool.java   |  395 ------
 .../org/jhotdraw/standard/ActionTool.java     |   51 -
 .../org/jhotdraw/standard/AlignCommand.java   |  224 ---
 .../org/jhotdraw/standard/BoxHandleKit.java   |  273 ----
 .../standard/BringToFrontCommand.java         |   63 -
 .../standard/BufferedUpdateStrategy.java      |   60 -
 .../standard/ChangeAttributeCommand.java      |  154 --
 .../standard/ChangeConnectionEndHandle.java   |  104 --
 .../standard/ChangeConnectionHandle.java      |  291 ----
 .../standard/ChangeConnectionStartHandle.java |   90 --
 .../jhotdraw/standard/ChopBoxConnector.java   |   76 -
 .../jhotdraw/standard/CompositeFigure.java    |  734 ----------
 .../jhotdraw/standard/ConnectionHandle.java   |  218 ---
 .../org/jhotdraw/standard/ConnectionTool.java |  455 ------
 .../org/jhotdraw/standard/CopyCommand.java    |   42 -
 .../org/jhotdraw/standard/CreationTool.java   |  229 ---
 .../org/jhotdraw/standard/CutCommand.java     |  181 ---
 .../jhotdraw/standard/DecoratorFigure.java    |  337 -----
 .../org/jhotdraw/standard/DeleteCommand.java  |  126 --
 .../standard/DeleteFromDrawingVisitor.java    |   58 -
 .../org/jhotdraw/standard/DragTracker.java    |  189 ---
 .../jhotdraw/standard/DuplicateCommand.java   |   58 -
 .../standard/FastBufferedUpdateStrategy.java  |  121 --
 .../standard/FigureAndEnumerator.java         |   57 -
 .../standard/FigureChangeAdapter.java         |   49 -
 .../FigureChangeEventMulticaster.java         |  105 --
 .../jhotdraw/standard/FigureEnumerator.java   |   82 --
 .../standard/FigureTransferCommand.java       |   67 -
 .../jhotdraw/standard/GridConstrainer.java    |   58 -
 .../standard/HandleAndEnumerator.java         |   59 -
 .../jhotdraw/standard/HandleEnumerator.java   |   87 --
 .../org/jhotdraw/standard/HandleTracker.java  |   52 -
 .../standard/InsertIntoDrawingVisitor.java    |   57 -
 .../jhotdraw/standard/LocatorConnector.java   |  108 --
 .../org/jhotdraw/standard/LocatorHandle.java  |   90 --
 .../jhotdraw/standard/NullDrawingView.java    |  430 ------
 .../org/jhotdraw/standard/NullHandle.java     |   54 -
 .../org/jhotdraw/standard/NullPainter.java    |   39 -
 .../java/org/jhotdraw/standard/NullTool.java  |   41 -
 .../jhotdraw/standard/OffsetConnector.java    |  375 -----
 .../org/jhotdraw/standard/OffsetLocator.java  |   81 --
 .../standard/OrderedFigureElement.java        |   59 -
 .../org/jhotdraw/standard/PasteCommand.java   |  117 --
 .../jhotdraw/standard/PeripheralLocator.java  |   78 --
 .../java/org/jhotdraw/standard/QuadTree.java  |  267 ----
 .../jhotdraw/standard/RelativeLocator.java    |  136 --
 .../standard/ReverseFigureEnumerator.java     |   60 -
 .../jhotdraw/standard/SelectAllCommand.java   |   91 --
 .../jhotdraw/standard/SelectAreaTracker.java  |  103 --
 .../org/jhotdraw/standard/SelectionTool.java  |  144 --
 .../jhotdraw/standard/SendToBackCommand.java  |  117 --
 .../standard/SimpleUpdateStrategy.java        |   40 -
 .../standard/SingleFigureEnumerator.java      |   61 -
 .../jhotdraw/standard/StandardDrawing.java    |  227 ---
 .../standard/StandardDrawingView.java         | 1235 -----------------
 .../standard/StandardFigureSelection.java     |   95 --
 .../org/jhotdraw/standard/TextHolder.java     |   73 -
 .../jhotdraw/standard/ToggleGridCommand.java  |   49 -
 .../org/jhotdraw/standard/ToolButton.java     |  165 ---
 .../java/org/jhotdraw/util/Animatable.java    |   24 -
 .../main/java/org/jhotdraw/util/Bounds.java   |  496 -------
 .../java/org/jhotdraw/util/Clipboard.java     |   49 -
 .../org/jhotdraw/util/CollectionsFactory.java |   83 --
 .../main/java/org/jhotdraw/util/ColorMap.java |   97 --
 .../main/java/org/jhotdraw/util/Command.java  |   59 -
 .../java/org/jhotdraw/util/CommandButton.java |   53 -
 .../java/org/jhotdraw/util/CommandChoice.java |   56 -
 .../org/jhotdraw/util/CommandListener.java    |   24 -
 .../java/org/jhotdraw/util/CommandMenu.java   |  134 --
 .../main/java/org/jhotdraw/util/Filler.java   |   55 -
 .../org/jhotdraw/util/FloatingTextField.java  |  111 --
 .../src/main/java/org/jhotdraw/util/Geom.java |  423 ------
 .../java/org/jhotdraw/util/GraphLayout.java   |  227 ---
 .../main/java/org/jhotdraw/util/Iconkit.java  |  248 ----
 .../java/org/jhotdraw/util/PaletteButton.java |  148 --
 .../java/org/jhotdraw/util/PaletteIcon.java   |   44 -
 .../java/org/jhotdraw/util/PaletteLayout.java |  112 --
 .../org/jhotdraw/util/PaletteListener.java    |   32 -
 .../java/org/jhotdraw/util/RedoCommand.java   |   66 -
 .../jhotdraw/util/ReverseListEnumerator.java  |   48 -
 .../util/SerializationStorageFormat.java      |   87 --
 .../jhotdraw/util/StandardStorageFormat.java  |  244 ----
 .../util/StandardVersionControlStrategy.java  |   92 --
 .../main/java/org/jhotdraw/util/Storable.java |   37 -
 .../java/org/jhotdraw/util/StorableInput.java |  183 ---
 .../org/jhotdraw/util/StorableOutput.java     |  176 ---
 .../java/org/jhotdraw/util/StorageFormat.java |   73 -
 .../jhotdraw/util/StorageFormatManager.java   |  193 ---
 .../java/org/jhotdraw/util/UndoCommand.java   |   74 -
 .../java/org/jhotdraw/util/UndoManager.java   |  218 ---
 .../org/jhotdraw/util/UndoRedoActivity.java   |  120 --
 .../main/java/org/jhotdraw/util/Undoable.java |   54 -
 .../org/jhotdraw/util/UndoableAdapter.java    |  135 --
 .../org/jhotdraw/util/UndoableCommand.java    |  134 --
 .../org/jhotdraw/util/UndoableHandle.java     |  213 ---
 .../java/org/jhotdraw/util/UndoableTool.java  |  192 ---
 .../jhotdraw/util/VersionControlStrategy.java |   24 -
 .../org/jhotdraw/util/VersionManagement.java  |  200 ---
 .../org/jhotdraw/util/VersionRequester.java   |   28 -
 .../jdk11/CollectionsFactoryJDK11.java        |   53 -
 .../collections/jdk11/IteratorWrapper.java    |   39 -
 .../util/collections/jdk11/ListWrapper.java   |  126 --
 .../util/collections/jdk11/MapWrapper.java    |   78 --
 .../util/collections/jdk11/SetWrapper.java    |   85 --
 .../jdk12/CollectionsFactoryJDK12.java        |   53 -
 .../main/resources/org/jhotdraw/contrib.jdo   |   31 -
 .../main/resources/org/jhotdraw/figures.jdo   |   60 -
 .../main/resources/org/jhotdraw/framework.jdo |   11 -
 .../resources/org/jhotdraw/images/TOBACK1.gif |  Bin 193 -> 0 bytes
 .../resources/org/jhotdraw/images/TOBACK2.gif |  Bin 184 -> 0 bytes
 .../resources/org/jhotdraw/images/TOBACK3.gif |  Bin 195 -> 0 bytes
 .../org/jhotdraw/images/TOFRONT1.gif          |  Bin 196 -> 0 bytes
 .../org/jhotdraw/images/TOFRONT2.gif          |  Bin 185 -> 0 bytes
 .../org/jhotdraw/images/TOFRONT3.gif          |  Bin 197 -> 0 bytes
 .../org/jhotdraw/images/TRIANGLE1.gif         |  Bin 192 -> 0 bytes
 .../org/jhotdraw/images/TRIANGLE2.gif         |  Bin 181 -> 0 bytes
 .../org/jhotdraw/images/TRIANGLE3.gif         |  Bin 191 -> 0 bytes
 .../resources/org/jhotdraw/images/URL1.gif    |  Bin 222 -> 0 bytes
 .../resources/org/jhotdraw/images/URL2.gif    |  Bin 216 -> 0 bytes
 .../resources/org/jhotdraw/images/URL3.gif    |  Bin 230 -> 0 bytes
 .../resources/org/jhotdraw/images/ZOOM1.gif   |  Bin 149 -> 0 bytes
 .../resources/org/jhotdraw/images/ZOOM2.gif   |  Bin 130 -> 0 bytes
 .../resources/org/jhotdraw/images/ZOOM3.gif   |  Bin 949 -> 0 bytes
 .../org/jhotdraw/images/pspbrwse.jbf          |  Bin 21230 -> 0 bytes
 .../main/resources/org/jhotdraw/standard.jdo  |   31 -
 .../test/java/org/jhotdraw/test/AllTests.java |   47 -
 .../java/org/jhotdraw/test/JHDTestCase.java   |   44 -
 .../org/jhotdraw/test/contrib/AllTests.java   |   76 -
 .../test/contrib/CTXCommandMenuTest.java      |  198 ---
 .../test/contrib/CTXWindowMenuTest.java       |  102 --
 .../contrib/ChopDiamondConnectorTest.java     |  100 --
 .../contrib/ChopPolygonConnectorTest.java     |   99 --
 .../contrib/ClippingUpdateStrategyTest.java   |  110 --
 .../contrib/CommandCheckBoxMenuItemTest.java  |  122 --
 .../test/contrib/CommandMenuItemTest.java     |  131 --
 .../test/contrib/ComponentFigureTest.java     |  156 ---
 .../CompositeFigureCreationToolTest.java      |  144 --
 .../test/contrib/CustomSelectionToolTest.java |  132 --
 .../test/contrib/CustomToolBarTest.java       |  154 --
 .../test/contrib/DesktopEventServiceTest.java |  182 ---
 .../test/contrib/DiamondFigureTest.java       |  154 --
 .../test/contrib/FloatingTextAreaTest.java    |  154 --
 .../contrib/GraphicalCompositeFigureTest.java |  275 ----
 .../org/jhotdraw/test/contrib/HelperTest.java |  110 --
 .../test/contrib/JPanelDesktopTest.java       |  177 ---
 .../test/contrib/JScrollPaneDesktopTest.java  |  177 ---
 .../test/contrib/MDIDesktopPaneTest.java      |  254 ----
 .../test/contrib/MDI_DrawApplicationTest.java |  155 ---
 .../test/contrib/MiniMapViewTest.java         |  163 ---
 .../test/contrib/NestedCreationToolTest.java  |  147 --
 .../test/contrib/PolygonFigureTest.java       |  419 ------
 .../test/contrib/PolygonHandleTest.java       |  148 --
 .../test/contrib/PolygonToolTest.java         |  166 ---
 .../jhotdraw/test/contrib/SVGDrawAppTest.java |  122 --
 .../test/contrib/SVGStorageFormatTest.java    |  133 --
 .../test/contrib/SimpleLayouterTest.java      |  201 ---
 .../test/contrib/SplitConnectionToolTest.java |  158 ---
 .../test/contrib/StandardLayouterTest.java    |  133 --
 .../test/contrib/TextAreaFigureTest.java      |  508 -------
 .../test/contrib/TextAreaToolTest.java        |  169 ---
 .../test/contrib/TriangleFigureTest.java      |  232 ----
 .../jhotdraw/test/contrib/WindowMenuTest.java |  103 --
 .../org/jhotdraw/test/figures/AllTests.java   |   61 -
 .../jhotdraw/test/figures/ArrowTipTest.java   |  137 --
 .../test/figures/BorderDecoratorTest.java     |  181 ---
 .../jhotdraw/test/figures/BorderToolTest.java |  133 --
 .../figures/ChopEllipseConnectorTest.java     |  100 --
 .../test/figures/ConnectedTextToolTest.java   |  136 --
 .../test/figures/ElbowConnectionTest.java     |  144 --
 .../test/figures/ElbowHandleTest.java         |  148 --
 .../test/figures/EllipseFigureTest.java       |  199 ---
 .../test/figures/FigureAttributesTest.java    |  188 ---
 .../jhotdraw/test/figures/FiguresSuite.java   |   88 --
 .../test/figures/FontSizeHandleTest.java      |  148 --
 .../test/figures/GroupCommandTest.java        |  126 --
 .../test/figures/GroupFigureTest.java         |  170 ---
 .../test/figures/ImageFigureTest.java         |  188 ---
 .../test/figures/InsertImageCommandTest.java  |  112 --
 .../test/figures/LineConnectionTest.java      |  397 ------
 .../jhotdraw/test/figures/LineFigureTest.java |  144 --
 .../test/figures/NullConnectorTest.java       |  103 --
 .../jhotdraw/test/figures/NullFigureTest.java |  254 ----
 .../test/figures/NumberTextFigureTest.java    |  142 --
 .../test/figures/PolyLineConnectorTest.java   |  100 --
 .../test/figures/PolyLineFigureTest.java      |  383 -----
 .../test/figures/PolyLineHandleTest.java      |  137 --
 .../test/figures/RectangleFigureTest.java     |  177 ---
 .../figures/RoundRectangleFigureTest.java     |  221 ---
 .../test/figures/ScribbleToolTest.java        |  155 ---
 .../ShortestDistanceConnectorTest.java        |  122 --
 .../jhotdraw/test/figures/TextFigureTest.java |  473 -------
 .../jhotdraw/test/figures/TextToolTest.java   |  173 ---
 .../test/figures/UngroupCommandTest.java      |  122 --
 .../org/jhotdraw/test/framework/AllTests.java |   35 -
 .../framework/DrawingChangeEventTest.java     |  125 --
 .../FigureAttributeConstantTest.java          |  155 ---
 .../test/framework/FigureChangeEventTest.java |  137 --
 .../test/framework/FrameworkSuite.java        |   62 -
 .../test/samples/javadraw/AllTests.java       |   41 -
 .../javadraw/AnimationDecoratorTest.java      |  177 ---
 .../test/samples/javadraw/AnimatorTest.java   |  141 --
 .../samples/javadraw/BouncingDrawingTest.java |  144 --
 .../samples/javadraw/JavaDrawAppTest.java     |  144 --
 .../samples/javadraw/JavaDrawAppletTest.java  |  144 --
 .../samples/javadraw/JavaDrawViewerTest.java  |  221 ---
 .../test/samples/javadraw/JavadrawSuite.java  |   68 -
 .../samples/javadraw/MySelectionToolTest.java |  111 --
 .../samples/javadraw/PatternPainterTest.java  |  116 --
 .../test/samples/javadraw/URLToolTest.java    |  133 --
 .../test/samples/minimap/AllTests.java        |   34 -
 .../minimap/MiniMapApplicationTest.java       |  111 --
 .../samples/minimap/MiniMapDesktopTest.java   |  100 --
 .../test/samples/minimap/MinimapSuite.java    |   61 -
 .../jhotdraw/test/samples/net/AllTests.java   |   34 -
 .../jhotdraw/test/samples/net/NetAppTest.java |  111 --
 .../jhotdraw/test/samples/net/NetSuite.java   |   61 -
 .../test/samples/net/NodeFigureTest.java      |  177 ---
 .../test/samples/nothing/AllTests.java        |   34 -
 .../test/samples/nothing/NothingAppTest.java  |  111 --
 .../samples/nothing/NothingAppletTest.java    |  100 --
 .../test/samples/nothing/NothingSuite.java    |   61 -
 .../jhotdraw/test/samples/pert/AllTests.java  |   37 -
 .../test/samples/pert/PertAppletTest.java     |  100 --
 .../samples/pert/PertApplicationTest.java     |  111 --
 .../test/samples/pert/PertDependencyTest.java |  144 --
 .../pert/PertFigureCreationToolTest.java      |  100 --
 .../test/samples/pert/PertFigureTest.java     |  357 -----
 .../jhotdraw/test/samples/pert/PertSuite.java |   64 -
 .../test/standard/AlignCommandTest.java       |  122 --
 .../org/jhotdraw/test/standard/AllTests.java  |   80 --
 .../test/standard/BoxHandleKitTest.java       |  210 ---
 .../standard/BringToFrontCommandTest.java     |  122 --
 .../standard/BufferedUpdateStrategyTest.java  |  111 --
 .../standard/ChangeAttributeCommandTest.java  |  126 --
 .../ChangeConnectionEndHandleTest.java        |  112 --
 .../ChangeConnectionStartHandleTest.java      |  112 --
 .../test/standard/ChopBoxConnectorTest.java   |  122 --
 .../test/standard/ConnectionHandleTest.java   |  149 --
 .../test/standard/ConnectionToolTest.java     |  159 ---
 .../test/standard/CopyCommandTest.java        |  111 --
 .../test/standard/CreationToolTest.java       |  147 --
 .../test/standard/CutCommandTest.java         |  122 --
 .../test/standard/DeleteCommandTest.java      |  111 --
 .../DeleteFromDrawingVisitorTest.java         |  145 --
 .../test/standard/DragTrackerTest.java        |  147 --
 .../test/standard/DuplicateCommandTest.java   |  111 --
 .../FastBufferedUpdateStrategyTest.java       |  111 --
 .../standard/FigureAndEnumeratorTest.java     |  149 --
 .../standard/FigureChangeAdapterTest.java     |  155 ---
 .../FigureChangeEventMulticasterTest.java     |  184 ---
 .../test/standard/FigureEnumeratorTest.java   |  154 --
 .../test/standard/GridConstrainerTest.java    |  133 --
 .../standard/HandleAndEnumeratorTest.java     |  164 ---
 .../test/standard/HandleEnumeratorTest.java   |  167 ---
 .../test/standard/HandleTrackerTest.java      |  151 --
 .../InsertIntoDrawingVisitorTest.java         |  145 --
 .../test/standard/LocatorConnectorTest.java   |  166 ---
 .../test/standard/LocatorHandleTest.java      |  126 --
 .../test/standard/NullDrawingViewTest.java    |  650 ---------
 .../test/standard/NullHandleTest.java         |  116 --
 .../jhotdraw/test/standard/NullToolTest.java  |  122 --
 .../test/standard/OffsetLocatorTest.java      |  144 --
 .../test/standard/PasteCommandTest.java       |  122 --
 .../test/standard/PeripheralLocatorTest.java  |  111 --
 .../test/standard/RelativeLocatorTest.java    |  243 ----
 .../standard/ReverseFigureEnumeratorTest.java |  143 --
 .../test/standard/SelectAllCommandTest.java   |  122 --
 .../test/standard/SelectAreaTrackerTest.java  |  133 --
 .../test/standard/SelectionToolTest.java      |  144 --
 .../test/standard/SendToBackCommandTest.java  |  111 --
 .../standard/SimpleUpdateStrategyTest.java    |  111 --
 .../standard/SingleFigureEnumeratorTest.java  |  137 --
 .../test/standard/StandardDrawingTest.java    |  263 ----
 .../standard/StandardDrawingViewTest.java     |  728 ----------
 .../standard/StandardFigureSelectionTest.java |  146 --
 .../jhotdraw/test/standard/StandardSuite.java |  107 --
 .../test/standard/ToggleGridCommandTest.java  |  113 --
 .../test/standard/ToolButtonTest.java         |  258 ----
 .../java/org/jhotdraw/test/util/AllTests.java |   61 -
 .../org/jhotdraw/test/util/BoundsTest.java    |  484 -------
 .../org/jhotdraw/test/util/ClipboardTest.java |  131 --
 .../org/jhotdraw/test/util/ColorMapTest.java  |  155 ---
 .../jhotdraw/test/util/CommandButtonTest.java |  112 --
 .../jhotdraw/test/util/CommandChoiceTest.java |  122 --
 .../jhotdraw/test/util/CommandMenuTest.java   |  199 ---
 .../org/jhotdraw/test/util/FillerTest.java    |  133 --
 .../test/util/FloatingTextFieldTest.java      |  177 ---
 .../java/org/jhotdraw/test/util/GeomTest.java |  343 -----
 .../jhotdraw/test/util/GraphLayoutTest.java   |  155 ---
 .../org/jhotdraw/test/util/IconkitTest.java   |  177 ---
 .../test/util/JDOStorageFormatTest.java       |  143 --
 .../jhotdraw/test/util/PaletteIconTest.java   |  181 ---
 .../jhotdraw/test/util/PaletteLayoutTest.java |  158 ---
 .../jhotdraw/test/util/RedoCommandTest.java   |  122 --
 .../test/util/ReverseListEnumeratorTest.java  |  140 --
 .../util/SerializationStorageFormatTest.java  |  133 --
 .../test/util/StandardStorageFormatTest.java  |  204 ---
 .../StandardVersionControlStrategyTest.java   |  110 --
 .../jhotdraw/test/util/StorableInputTest.java |  184 ---
 .../test/util/StorableOutputTest.java         |  195 ---
 .../test/util/StorageFormatManagerTest.java   |  177 ---
 .../jhotdraw/test/util/UndoCommandTest.java   |  122 --
 .../jhotdraw/test/util/UndoManagerTest.java   |  210 ---
 .../test/util/UndoRedoActivityTest.java       |  269 ----
 .../test/util/UndoableAdapterTest.java        |  244 ----
 .../test/util/UndoableCommandTest.java        |  248 ----
 .../test/util/UndoableHandleTest.java         |  218 ---
 .../jhotdraw/test/util/UndoableToolTest.java  |  374 -----
 .../org/jhotdraw/test/util/UtilSuite.java     |   88 --
 .../test/util/VersionManagementTest.java      |  165 ---
 .../test/util/collections/jdk11/AllTests.java |   37 -
 .../jdk11/CollectionsFactoryJDK11Test.java    |  133 --
 .../jdk11/IteratorWrapperTest.java            |  141 --
 .../util/collections/jdk11/Jdk11Suite.java    |   64 -
 .../collections/jdk11/ListWrapperTest.java    |  298 ----
 .../collections/jdk11/MapWrapperTest.java     |  232 ----
 .../collections/jdk11/SetWrapperTest.java     |  232 ----
 .../test/util/collections/jdk12/AllTests.java |   33 -
 .../jdk12/CollectionsFactoryJDK12Test.java    |  133 --
 .../util/collections/jdk12/Jdk12Suite.java    |   55 -
 jhotdraw7/manifest.mf                         |    3 -
 jhotdraw7/pom.xml                             |  104 --
 .../jhotdraw/samples/pert/images/PERT1.gif    |  Bin 186 -> 0 bytes
 .../jhotdraw/samples/pert/images/PERT2.gif    |  Bin 178 -> 0 bytes
 .../jhotdraw/samples/pert/images/PERT3.gif    |  Bin 188 -> 0 bytes
 jmodeller/.classpath                          |    8 -
 jmodeller/DifferenceReporter.java             |   10 -
 jmodeller/compile.bat                         |    1 -
 jmodeller/compile_g.bat                       |    1 -
 jmodeller/run.bat                             |    1 -
 jmodeller/src/AggregationDecoration.java      |  138 --
 jmodeller/src/AssociationLineConnection.java  |  229 ---
 jmodeller/src/ClassFigure.java                |  438 ------
 jmodeller/src/DelegationSelectionTool.java    |   82 --
 jmodeller/src/DependencyLineConnection.java   |  103 --
 jmodeller/src/InheritanceLineConnection.java  |   78 --
 jmodeller/src/JModellerApplication.java       |  174 ---
 jmodeller/src/JModellerClass.java             |  345 -----
 jmodeller/src/SeparatorFigure.java            |   35 -
 jmodeller/src/images/CLASS1.gif               |  Bin 185 -> 0 bytes
 jmodeller/src/images/CLASS2.gif               |  Bin 175 -> 0 bytes
 jmodeller/src/images/CLASS3.gif               |  Bin 187 -> 0 bytes
 jmodeller/src/images/DEPENDENCY1.gif          |  Bin 170 -> 0 bytes
 jmodeller/src/images/DEPENDENCY2.gif          |  Bin 163 -> 0 bytes
 jmodeller/src/images/DEPENDENCY3.gif          |  Bin 172 -> 0 bytes
 jmodeller/src/images/INHERITANCE1.gif         |  Bin 168 -> 0 bytes
 jmodeller/src/images/INHERITANCE2.gif         |  Bin 158 -> 0 bytes
 jmodeller/src/images/INHERITANCE3.gif         |  Bin 173 -> 0 bytes
 {jhotdraw7/lib => lib}/annotations.jar        |  Bin
 {jhotdraw7/lib => lib}/java_30.zip            |  Bin
 {jhotdraw7/lib => lib}/jsr305.jar             |  Bin
 {jhotdraw7/lib => lib}/libquaqua.jnilib       |  Bin
 {jhotdraw7/lib => lib}/libquaqua64.jnilib     |  Bin
 {jhotdraw7/lib => lib}/quaqua.jar             |  Bin
 jhotdraw6/manifest.mf => manifest.mf          |    0
 .../nbproject => nbproject}/build-impl.xml    |    0
 .../genfiles.properties                       |    0
 .../private/private.properties                |    0
 .../private/private.xml                       |    0
 .../profiler-build-impl.xml                   |    0
 .../project.properties                        |    0
 .../nbproject => nbproject}/project.xml       |    0
 jhotdraw6/pom.xml => pom.xml                  |    0
 .../src => src}/documentation/changes.html    |    0
 .../documentation/getting_started.html        |    0
 .../documentation/images/draw_mdi.png         |  Bin
 .../documentation/images/draw_mdi_small.png   |  Bin
 .../documentation/images/draw_osx.png         |  Bin
 .../documentation/images/draw_osx_small.png   |  Bin
 .../documentation/images/jhotdraw-duked.xml   |    0
 .../documentation/images/jhotdraw-seven.xml   |    0
 .../src => src}/documentation/images/lion.svg |    0
 .../documentation/images/lion.svgz            |    0
 .../src => src}/documentation/images/net.xml  |    0
 .../documentation/images/net_osx.png          |  Bin
 .../documentation/images/net_osx_small.png    |  Bin
 .../src => src}/documentation/images/pert.xml |    0
 .../documentation/images/pert_osx.png         |  Bin
 .../documentation/images/pert_osx_small.png   |  Bin
 .../documentation/images/svg_osx.png          |  Bin
 .../documentation/images/svg_osx_small.png    |  Bin
 .../documentation/images/webstart.small.gif   |  Bin
 .../src => src}/documentation/index.html      |    0
 .../src => src}/documentation/jws/draw.jnlp   |    0
 .../src => src}/documentation/jws/net.jnlp    |    0
 .../src => src}/documentation/jws/pert.jnlp   |    0
 .../src => src}/documentation/jws/svg.jnlp    |    0
 .../src => src}/documentation/jws/teddy.jnlp  |    0
 .../src => src}/documentation/license.html    |    0
 .../documentation/license_terms_ccby.html     |    0
 .../documentation/license_terms_lgpl.html     |    0
 .../documentation/release_notes.html          |    0
 .../documentation/sample_draw_applet.html     |    0
 .../sample_draw_application.html              |    0
 .../documentation/sample_net_applet.html      |    0
 .../documentation/sample_net_application.html |    0
 .../documentation/sample_pert_applet.html     |    0
 .../sample_pert_application.html              |    0
 .../documentation/sample_svg_applet.html      |    0
 .../documentation/sample_svg_application.html |    0
 .../sample_teddy_application.html             |    0
 .../src => src}/documentation/stylesheet.css  |    0
 {jhotdraw7/src => src}/documentation/toc.html |    0
 .../documentation/tutorial/index.html         |    0
 .../documentation/tutorial/purpose.html       |    0
 .../documentation/tutorial/stylesheet.css     |    0
 .../documentation/tutorial/toc.html           |    0
 .../main/java/net/n3/nanoxml/CDATAReader.java |    0
 .../java/net/n3/nanoxml/ContentReader.java    |    0
 .../main/java/net/n3/nanoxml/IXMLBuilder.java |    0
 .../main/java/net/n3/nanoxml/IXMLElement.java |    0
 .../net/n3/nanoxml/IXMLEntityResolver.java    |    0
 .../main/java/net/n3/nanoxml/IXMLParser.java  |    0
 .../main/java/net/n3/nanoxml/IXMLReader.java  |    0
 .../java/net/n3/nanoxml/IXMLValidator.java    |    0
 .../java/net/n3/nanoxml/NonValidator.java     |    0
 .../main/java/net/n3/nanoxml/PIReader.java    |    0
 .../java/net/n3/nanoxml/StdXMLBuilder.java    |    0
 .../java/net/n3/nanoxml/StdXMLParser.java     |    0
 .../java/net/n3/nanoxml/StdXMLReader.java     |    0
 .../java/net/n3/nanoxml/ValidatorPlugin.java  |    0
 .../java/net/n3/nanoxml/XMLAttribute.java     |    0
 .../main/java/net/n3/nanoxml/XMLElement.java  |    0
 .../net/n3/nanoxml/XMLEntityResolver.java     |    0
 .../java/net/n3/nanoxml/XMLException.java     |    0
 .../net/n3/nanoxml/XMLParseException.java     |    0
 .../java/net/n3/nanoxml/XMLParserFactory.java |    0
 .../main/java/net/n3/nanoxml/XMLUtil.java     |    0
 .../n3/nanoxml/XMLValidationException.java    |    0
 .../main/java/net/n3/nanoxml/XMLWriter.java   |    0
 .../java/net/n3/nanoxml/package-info.java     |    0
 .../org/jhotdraw/app/AbstractApplication.java |    0
 .../app/AbstractApplicationModel.java         |    0
 .../java/org/jhotdraw/app/AbstractView.form   |    0
 .../java/org/jhotdraw/app/AbstractView.java   |    0
 .../org/jhotdraw/app/AppletApplication.java   |    0
 .../java/org/jhotdraw/app/Application.java    |    0
 .../org/jhotdraw/app/ApplicationModel.java    |    0
 .../jhotdraw/app/DefaultApplicationModel.java |    0
 .../org/jhotdraw/app/DefaultMenuBuilder.java  |    0
 .../java/org/jhotdraw/app/Disposable.java     |    0
 .../jhotdraw/app/EmptyApplicationModel.java   |    0
 .../org/jhotdraw/app/EmptyMenuBuilder.java    |    0
 .../java/org/jhotdraw/app/Labels.properties   |    0
 .../org/jhotdraw/app/Labels_de.properties     |    0
 .../org/jhotdraw/app/Labels_fr.properties     |    0
 .../java/org/jhotdraw/app/MDIApplication.java |    0
 .../java/org/jhotdraw/app/MenuBuilder.java    |    0
 .../java/org/jhotdraw/app/OSXApplication.java |    0
 .../java/org/jhotdraw/app/PrintableView.java  |    0
 .../java/org/jhotdraw/app/SDIApplication.java |    0
 .../main/java/org/jhotdraw/app/View.java      |    0
 .../app/action/AbstractApplicationAction.java |    0
 .../AbstractSaveUnsavedChangesAction.java     |    0
 .../app/action/AbstractViewAction.java        |    0
 .../org/jhotdraw/app/action/ActionUtil.java   |    0
 .../jhotdraw/app/action/app/AboutAction.java  |    0
 .../action/app/AbstractPreferencesAction.java |    0
 .../jhotdraw/app/action/app/ExitAction.java   |    0
 .../app/action/app/OpenApplicationAction.java |    0
 .../action/app/OpenApplicationFileAction.java |    0
 .../app/PrintApplicationFileAction.java       |    0
 .../action/app/ReOpenApplicationAction.java   |    0
 .../jhotdraw/app/action/app/package-info.java |    0
 .../app/action/edit/AbstractFindAction.java   |    0
 .../action/edit/AbstractSelectionAction.java  |    0
 .../app/action/edit/ClearSelectionAction.java |    0
 .../jhotdraw/app/action/edit/CopyAction.java  |    0
 .../jhotdraw/app/action/edit/CutAction.java   |    0
 .../app/action/edit/DeleteAction.java         |    0
 .../app/action/edit/DuplicateAction.java      |    0
 .../jhotdraw/app/action/edit/PasteAction.java |    0
 .../jhotdraw/app/action/edit/RedoAction.java  |    0
 .../app/action/edit/SelectAllAction.java      |    0
 .../jhotdraw/app/action/edit/UndoAction.java  |    0
 .../app/action/edit/package-info.java         |    0
 .../app/action/file/ClearFileAction.java      |    0
 .../file/ClearRecentFilesMenuAction.java      |    0
 .../app/action/file/CloseFileAction.java      |    0
 .../app/action/file/ExportFileAction.java     |    0
 .../app/action/file/LoadDirectoryAction.java  |    0
 .../app/action/file/LoadFileAction.java       |    0
 .../app/action/file/LoadRecentFileAction.java |    0
 .../app/action/file/NewFileAction.java        |    0
 .../app/action/file/NewWindowAction.java      |    0
 .../app/action/file/OpenDirectoryAction.java  |    0
 .../app/action/file/OpenFileAction.java       |    0
 .../app/action/file/OpenRecentFileAction.java |    0
 .../app/action/file/PrintFileAction.java      |    0
 .../app/action/file/SaveFileAction.java       |    0
 .../app/action/file/SaveFileAsAction.java     |    0
 .../app/action/file/package-info.java         |    0
 .../jhotdraw/app/action/images/editCopy.png   |  Bin
 .../jhotdraw/app/action/images/editCut.png    |  Bin
 .../jhotdraw/app/action/images/editPaste.png  |  Bin
 .../jhotdraw/app/action/images/editRedo.png   |  Bin
 .../jhotdraw/app/action/images/editUndo.png   |  Bin
 .../jhotdraw/app/action/images/fileNew.png    |  Bin
 .../jhotdraw/app/action/images/fileOpen.png   |  Bin
 .../jhotdraw/app/action/images/filePrint.png  |  Bin
 .../jhotdraw/app/action/images/fileSave.png   |  Bin
 .../jhotdraw/app/action/images/spacerIcon.png |  Bin
 .../org/jhotdraw/app/action/package-info.java |    0
 .../action/view/ToggleViewPropertyAction.java |    0
 .../app/action/view/ViewPropertyAction.java   |    0
 .../app/action/view/package-info.java         |    0
 .../action/window/ArrangeWindowsAction.java   |    0
 .../app/action/window/FocusWindowAction.java  |    0
 .../action/window/MaximizeWindowAction.java   |    0
 .../action/window/MinimizeWindowAction.java   |    0
 .../action/window/TogglePaletteAction.java    |    0
 .../action/window/ToggleToolBarAction.java    |    0
 .../action/window/ToggleVisibleAction.java    |    0
 .../app/action/window/package-info.java       |    0
 .../java/org/jhotdraw/app/osx/OSXAdapter.java |    0
 .../jhotdraw/app/osx/OSXPaletteHandler.java   |    0
 .../org/jhotdraw/app/osx/package-info.java    |    0
 .../java/org/jhotdraw/app/package-info.java   |    0
 .../org/jhotdraw/app/resources/editCopy.png   |  Bin
 .../org/jhotdraw/app/resources/editCut.png    |  Bin
 .../org/jhotdraw/app/resources/editPaste.png  |  Bin
 .../org/jhotdraw/app/resources/editRedo.png   |  Bin
 .../org/jhotdraw/app/resources/editUndo.png   |  Bin
 .../org/jhotdraw/app/resources/fileNew.png    |  Bin
 .../org/jhotdraw/app/resources/fileOpen.png   |  Bin
 .../org/jhotdraw/app/resources/filePrint.png  |  Bin
 .../org/jhotdraw/app/resources/fileSave.png   |  Bin
 .../org/jhotdraw/app/resources/spacerIcon.png |  Bin
 .../java/org/jhotdraw/beans/AbstractBean.java |    0
 .../jhotdraw/beans/PropertyChangeEdit.java    |    0
 .../beans/WeakPropertyChangeListener.java     |    0
 .../java/org/jhotdraw/beans/package-info.java |    0
 .../color/AbstractColorSlidersModel.java      |    0
 .../AbstractColorWheelImageProducer.java      |    0
 .../jhotdraw/color/AbstractHarmonicRule.java  |    0
 .../org/jhotdraw/color/CIELABColorSpace.java  |    0
 .../jhotdraw/color/CIELCHabColorSpace.java    |    0
 ...CIEXYChromaticityDiagramImageProducer.java |    0
 .../jhotdraw/color/CMYKGenericColorSpace.java |    0
 .../jhotdraw/color/CMYKNominalColorSpace.java |    0
 .../jhotdraw/color/ColorListCellRenderer.java |    0
 .../org/jhotdraw/color/ColorSliderModel.java  |    0
 .../org/jhotdraw/color/ColorSliderUI.java     |    0
 .../color/ColorSquareImageProducer.java       |    0
 .../color/ColorTrackImageProducer.java        |    0
 .../java/org/jhotdraw/color/ColorUtil.java    |    0
 .../org/jhotdraw/color/ColorWheelChooser.form |    0
 .../org/jhotdraw/color/ColorWheelChooser.java |    0
 .../color/ComplexColorWheelImageProducer.java |    0
 .../org/jhotdraw/color/CompositeColor.java    |    0
 .../color/DefaultColorSliderModel.java        |    0
 .../color/DefaultHarmonicColorModel.java      |    0
 .../jhotdraw/color/Generic CMYK Profile.icc   |  Bin
 .../org/jhotdraw/color/HSBColorSpace.java     |    0
 .../org/jhotdraw/color/HSLColorSpace.java     |    0
 .../HSLHarmonicColorWheelImageProducer.java   |    0
 .../color/HSLPhysiologicColorSpace.java       |    0
 .../org/jhotdraw/color/HSVColorSpace.java     |    0
 .../HSVHarmonicColorWheelImageProducer.java   |    0
 .../color/HSVPhysiologicColorSpace.java       |    0
 .../jhotdraw/color/HarmonicColorModel.java    |    0
 .../java/org/jhotdraw/color/HarmonicRule.java |    0
 .../java/org/jhotdraw/color/JColorWheel.form  |    0
 .../java/org/jhotdraw/color/JColorWheel.java  |    0
 .../jhotdraw/color/JHarmonicColorWheel.form   |    0
 .../jhotdraw/color/JHarmonicColorWheel.java   |    0
 .../org/jhotdraw/color/NamedColorSpace.java   |    0
 .../color/PolarColorWheelImageProducer.java   |    0
 .../QuantizingColorWheelImageProducer.java    |    0
 .../jhotdraw/color/SimpleHarmonicRule.java    |    0
 .../color/images/Slider.northThumbs.small.png |  Bin
 .../color/images/Slider.westThumbs.small.png  |  Bin
 .../java/org/jhotdraw/color/package-info.java |    0
 .../AbstractAttributedCompositeFigure.java    |    0
 .../AbstractAttributedDecoratedFigure.java    |    0
 .../draw/AbstractAttributedFigure.java        |    0
 .../draw/AbstractCompositeFigure.java         |    0
 .../jhotdraw/draw/AbstractConstrainer.java    |    0
 .../org/jhotdraw/draw/AbstractDrawing.java    |    0
 .../org/jhotdraw/draw/AbstractFigure.java     |    0
 .../java/org/jhotdraw/draw/AttributeKey.java  |    0
 .../java/org/jhotdraw/draw/AttributeKeys.java |    0
 .../java/org/jhotdraw/draw/BezierFigure.java  |    0
 .../org/jhotdraw/draw/CompositeFigure.java    |    0
 .../org/jhotdraw/draw/ConnectionFigure.java   |    0
 .../java/org/jhotdraw/draw/Constrainer.java   |    0
 .../org/jhotdraw/draw/DecoratedFigure.java    |    0
 .../org/jhotdraw/draw/DefaultDrawing.java     |    0
 .../jhotdraw/draw/DefaultDrawingEditor.java   |    0
 .../org/jhotdraw/draw/DefaultDrawingView.form |    0
 .../org/jhotdraw/draw/DefaultDrawingView.java |    0
 .../draw/DefaultDrawingViewBeanInfo.java      |    0
 .../DefaultDrawingViewTransferHandler.java    |    0
 .../java/org/jhotdraw/draw/DiamondFigure.java |    0
 .../main/java/org/jhotdraw/draw/Drawing.java  |    0
 .../java/org/jhotdraw/draw/DrawingEditor.java |    0
 .../org/jhotdraw/draw/DrawingEditorProxy.java |    0
 .../java/org/jhotdraw/draw/DrawingView.java   |    0
 .../java/org/jhotdraw/draw/EllipseFigure.java |    0
 .../main/java/org/jhotdraw/draw/Figure.java   |    0
 .../jhotdraw/draw/FigureLayerComparator.java  |    0
 .../draw/GraphicalCompositeFigure.java        |    0
 .../org/jhotdraw/draw/GridConstrainer.java    |    0
 .../java/org/jhotdraw/draw/GroupFigure.java   |    0
 .../java/org/jhotdraw/draw/ImageFigure.java   |    0
 .../org/jhotdraw/draw/ImageHolderFigure.java  |    0
 .../java/org/jhotdraw/draw/LabelFigure.java   |    0
 .../draw/LabeledLineConnectionFigure.java     |    0
 .../java/org/jhotdraw/draw/Labels.properties  |    0
 .../org/jhotdraw/draw/Labels_de.properties    |    0
 .../jhotdraw/draw/LineConnectionFigure.java   |    0
 .../java/org/jhotdraw/draw/LineFigure.java    |    0
 .../java/org/jhotdraw/draw/ListFigure.java    |    0
 .../draw/QuadTreeCompositeFigure.java         |    0
 .../org/jhotdraw/draw/QuadTreeDrawing.java    |    0
 .../org/jhotdraw/draw/RectangleFigure.java    |    0
 .../org/jhotdraw/draw/RotationDirection.java  |    0
 .../jhotdraw/draw/RoundRectangleFigure.java   |    0
 .../org/jhotdraw/draw/TextAreaFigure.java     |    0
 .../java/org/jhotdraw/draw/TextFigure.java    |    0
 .../org/jhotdraw/draw/TextHolderFigure.java   |    0
 .../jhotdraw/draw/TranslationDirection.java   |    0
 .../org/jhotdraw/draw/TriangleFigure.java     |    0
 .../action/AbstractDrawingEditorAction.java   |    0
 .../action/AbstractDrawingViewAction.java     |    0
 .../draw/action/AbstractSelectedAction.java   |    0
 .../org/jhotdraw/draw/action/AlignAction.java |    0
 .../draw/action/ApplyAttributesAction.java    |    0
 .../jhotdraw/draw/action/AttributeAction.java |    0
 .../draw/action/AttributeToggler.java         |    0
 .../draw/action/BringToFrontAction.java       |    0
 .../jhotdraw/draw/action/ButtonFactory.java   |    0
 .../org/jhotdraw/draw/action/ColorIcon.java   |    0
 .../draw/action/DefaultAttributeAction.java   |    0
 .../draw/action/DrawingAttributeAction.java   |    0
 .../action/DrawingColorChooserAction.java     |    0
 .../action/DrawingColorChooserHandler.java    |    0
 .../draw/action/DrawingColorIcon.java         |    0
 .../draw/action/EditCanvasAction.java         |    0
 .../jhotdraw/draw/action/EditCanvasPanel.form |    0
 .../jhotdraw/draw/action/EditCanvasPanel.java |    0
 .../jhotdraw/draw/action/EditGridAction.java  |    0
 .../jhotdraw/draw/action/EditGridPanel.form   |    0
 .../jhotdraw/draw/action/EditGridPanel.java   |    0
 .../draw/action/EditorColorChooserAction.java |    0
 .../jhotdraw/draw/action/EditorColorIcon.java |    0
 .../draw/action/FontChooserHandler.java       |    0
 .../org/jhotdraw/draw/action/GroupAction.java |    0
 .../draw/action/ImageBevelBorder.java         |    0
 .../IncreaseHandleDetailLevelAction.java      |    0
 .../draw/action/LineDecorationIcon.java       |    0
 .../org/jhotdraw/draw/action/MoveAction.java  |    0
 .../draw/action/MoveConstrainedAction.java    |    0
 .../draw/action/PickAttributesAction.java     |    0
 .../draw/action/SelectSameAction.java         |    0
 .../action/SelectionColorChooserAction.java   |    0
 .../action/SelectionColorChooserHandler.java  |    0
 .../draw/action/SelectionColorIcon.java       |    0
 .../draw/action/SendToBackAction.java         |    0
 .../org/jhotdraw/draw/action/StrokeIcon.java  |    0
 .../draw/action/ToggleGridAction.java         |    0
 .../jhotdraw/draw/action/UngroupAction.java   |    0
 .../org/jhotdraw/draw/action/ZoomAction.java  |    0
 .../draw/action/ZoomEditorAction.java         |    0
 .../jhotdraw/draw/action/images/actions.png   |  Bin
 .../jhotdraw/draw/action/images/alignEast.png |  Bin
 .../jhotdraw/draw/action/images/alignGrid.png |  Bin
 .../draw/action/images/alignGridSmall.png     |  Bin
 .../draw/action/images/alignHorizontal.png    |  Bin
 .../draw/action/images/alignNorth.png         |  Bin
 .../draw/action/images/alignSouth.png         |  Bin
 .../draw/action/images/alignVertical.png      |  Bin
 .../jhotdraw/draw/action/images/alignWest.png |  Bin
 .../images/attribute.color.colorChooser.png   |  Bin
 .../action/images/attribute.color.noColor.png |  Bin
 .../draw/action/images/attributeFillColor.png |  Bin
 .../draw/action/images/attributeFont.png      |  Bin
 .../draw/action/images/attributeFontBold.png  |  Bin
 .../action/images/attributeFontBold_de.png    |  Bin
 .../action/images/attributeFontItalic.png     |  Bin
 .../action/images/attributeFontItalic_de.png  |  Bin
 .../action/images/attributeFontUnderline.png  |  Bin
 .../images/attributeFontUnderline_de.png      |  Bin
 .../draw/action/images/attributeOpacity.png   |  Bin
 .../draw/action/images/attributeStrokeCap.png |  Bin
 .../action/images/attributeStrokeColor.png    |  Bin
 .../action/images/attributeStrokeDashes.png   |  Bin
 .../images/attributeStrokeDecoration.png      |  Bin
 .../action/images/attributeStrokeJoin.png     |  Bin
 .../images/attributeStrokePlacement.png       |  Bin
 .../action/images/attributeStrokeType.png     |  Bin
 .../action/images/attributeStrokeWidth.png    |  Bin
 .../draw/action/images/attributeTextColor.png |  Bin
 .../draw/action/images/attributesApply.png    |  Bin
 .../draw/action/images/attributesPick.png     |  Bin
 .../draw/action/images/createArrow.png        |  Bin
 .../action/images/createCurvedConnection.png  |  Bin
 .../draw/action/images/createDiamond.png      |  Bin
 .../action/images/createElbowConnection.png   |  Bin
 .../draw/action/images/createEllipse.png      |  Bin
 .../draw/action/images/createImage.png        |  Bin
 .../draw/action/images/createLine.png         |  Bin
 .../action/images/createLineConnection.png    |  Bin
 .../draw/action/images/createPolygon.png      |  Bin
 .../draw/action/images/createRectangle.png    |  Bin
 .../action/images/createRoundRectangle.png    |  Bin
 .../draw/action/images/createScribble.png     |  Bin
 .../draw/action/images/createText.png         |  Bin
 .../draw/action/images/createTextArea.png     |  Bin
 .../draw/action/images/createTriangle.png     |  Bin
 .../jhotdraw/draw/action/images/editCopy.png  |  Bin
 .../jhotdraw/draw/action/images/editCut.png   |  Bin
 .../jhotdraw/draw/action/images/editPaste.png |  Bin
 .../jhotdraw/draw/action/images/editRedo.png  |  Bin
 .../jhotdraw/draw/action/images/editUndo.png  |  Bin
 .../jhotdraw/draw/action/images/fileNew.png   |  Bin
 .../jhotdraw/draw/action/images/fileOpen.png  |  Bin
 .../jhotdraw/draw/action/images/filePrint.png |  Bin
 .../jhotdraw/draw/action/images/fileSave.png  |  Bin
 .../jhotdraw/draw/action/images/moveDown.png  |  Bin
 .../jhotdraw/draw/action/images/moveEast.png  |  Bin
 .../jhotdraw/draw/action/images/moveNorth.png |  Bin
 .../jhotdraw/draw/action/images/moveSouth.png |  Bin
 .../draw/action/images/moveToBack.png         |  Bin
 .../draw/action/images/moveToFront.png        |  Bin
 .../jhotdraw/draw/action/images/moveUp.png    |  Bin
 .../jhotdraw/draw/action/images/moveWest.png  |  Bin
 .../jhotdraw/draw/action/images/popupIcon.png |  Bin
 .../draw/action/images/selectionGroup.png     |  Bin
 .../draw/action/images/selectionTool.png      |  Bin
 .../draw/action/images/selectionUngroup.png   |  Bin
 .../draw/action/images/spacerIcon.png         |  Bin
 .../jhotdraw/draw/action/package-info.java    |    0
 .../draw/connector/AbstractConnector.java     |    0
 .../draw/connector/ChopBezierConnector.java   |    0
 .../draw/connector/ChopDiamondConnector.java  |    0
 .../draw/connector/ChopEllipseConnector.java  |    0
 .../connector/ChopRectangleConnector.java     |    0
 .../ChopRoundRectangleConnector.java          |    0
 .../draw/connector/ChopTriangleConnector.java |    0
 .../jhotdraw/draw/connector/Connector.java    |    0
 .../draw/connector/LocatorConnector.java      |    0
 .../connector/StickyRectangleConnector.java   |    0
 .../jhotdraw/draw/connector/package-info.java |    0
 .../decoration/AbstractLineDecoration.java    |    0
 .../jhotdraw/draw/decoration/ArrowTip.java    |    0
 .../decoration/CompositeLineDecoration.java   |    0
 .../draw/decoration/GeneralPathTip.java       |    0
 .../draw/decoration/LineDecoration.java       |    0
 .../draw/decoration/PerpendicularBar.java     |    0
 .../draw/decoration/package-info.java         |    0
 .../event/AbstractAttributeEditorHandler.java |    0
 .../draw/event/AttributeChangeEdit.java       |    0
 .../jhotdraw/draw/event/BezierNodeEdit.java   |    0
 .../draw/event/CompositeFigureEdit.java       |    0
 .../draw/event/CompositeFigureEvent.java      |    0
 .../draw/event/CompositeFigureListener.java   |    0
 .../event/DrawingAttributeEditorHandler.java  |    0
 .../draw/event/DrawingComponentRepainter.java |    0
 .../jhotdraw/draw/event/FigureAdapter.java    |    0
 .../event/FigureAttributeEditorHandler.java   |    0
 .../org/jhotdraw/draw/event/FigureEvent.java  |    0
 .../jhotdraw/draw/event/FigureListener.java   |    0
 .../draw/event/FigureSelectionEvent.java      |    0
 .../draw/event/FigureSelectionListener.java   |    0
 .../org/jhotdraw/draw/event/HandleEvent.java  |    0
 .../jhotdraw/draw/event/HandleListener.java   |    0
 .../draw/event/HandleMulticaster.java         |    0
 .../event/SelectionComponentDisplayer.java    |    0
 .../event/SelectionComponentRepainter.java    |    0
 .../jhotdraw/draw/event/SetBoundsEdit.java    |    0
 .../org/jhotdraw/draw/event/ToolAdapter.java  |    0
 .../org/jhotdraw/draw/event/ToolEvent.java    |    0
 .../org/jhotdraw/draw/event/ToolListener.java |    0
 .../jhotdraw/draw/event/TransformEdit.java    |    0
 .../draw/event/TransformRestoreEdit.java      |    0
 .../org/jhotdraw/draw/event/package-info.java |    0
 .../jhotdraw/draw/gui/JAttributeSlider.form   |    0
 .../jhotdraw/draw/gui/JAttributeSlider.java   |    0
 .../draw/gui/JAttributeSliderBeanInfo.java    |    0
 .../jhotdraw/draw/gui/JAttributeTextArea.form |    0
 .../jhotdraw/draw/gui/JAttributeTextArea.java |    0
 .../draw/gui/JAttributeTextAreaBeanInfo.java  |    0
 .../draw/gui/JAttributeTextField.form         |    0
 .../draw/gui/JAttributeTextField.java         |    0
 .../draw/gui/JAttributeTextFieldBeanInfo.java |    0
 .../org/jhotdraw/draw/gui/package-info.java   |    0
 .../draw/handle/AbstractConnectionHandle.java |    0
 .../jhotdraw/draw/handle/AbstractHandle.java  |    0
 .../draw/handle/AbstractRotateHandle.java     |    0
 .../draw/handle/BezierControlPointHandle.java |    0
 .../draw/handle/BezierNodeHandle.java         |    0
 .../draw/handle/BezierOutlineHandle.java      |    0
 .../draw/handle/BezierScaleHandle.java        |    0
 .../draw/handle/BoundsOutlineHandle.java      |    0
 .../org/jhotdraw/draw/handle/CloseHandle.java |    0
 .../draw/handle/ConnectionEndHandle.java      |    0
 .../draw/handle/ConnectionStartHandle.java    |    0
 .../jhotdraw/draw/handle/ConnectorHandle.java |    0
 .../org/jhotdraw/draw/handle/DragHandle.java  |    0
 .../jhotdraw/draw/handle/FontSizeHandle.java  |    0
 .../java/org/jhotdraw/draw/handle/Handle.java |    0
 .../draw/handle/HandleAttributeKeys.java      |    0
 .../jhotdraw/draw/handle/LocatorHandle.java   |    0
 .../org/jhotdraw/draw/handle/MoveHandle.java  |    0
 .../org/jhotdraw/draw/handle/NullHandle.java  |    0
 .../draw/handle/OrientationHandle.java        |    0
 .../jhotdraw/draw/handle/ResizeHandleKit.java |    0
 .../jhotdraw/draw/handle/RotateHandle.java    |    0
 .../handle/RoundRectangleRadiusHandle.java    |    0
 .../draw/handle/TextOverflowHandle.java       |    0
 .../draw/handle/TransformHandleKit.java       |    0
 .../jhotdraw/draw/handle/package-info.java    |    0
 .../draw/io/DOMStorableInputOutputFormat.java |    0
 .../jhotdraw/draw/io/ImageInputFormat.java    |    0
 .../jhotdraw/draw/io/ImageOutputFormat.java   |    0
 .../org/jhotdraw/draw/io/InputFormat.java     |    0
 .../org/jhotdraw/draw/io/OutputFormat.java    |    0
 .../io/SerializationInputOutputFormat.java    |    0
 .../org/jhotdraw/draw/io/TextInputFormat.java |    0
 .../org/jhotdraw/draw/io/package-info.java    |    0
 .../draw/layouter/AbstractLayouter.java       |    0
 .../draw/layouter/HorizontalLayouter.java     |    0
 .../org/jhotdraw/draw/layouter/Layouter.java  |    0
 .../draw/layouter/LocatorLayouter.java        |    0
 .../draw/layouter/VerticalLayouter.java       |    0
 .../jhotdraw/draw/layouter/package-info.java  |    0
 .../org/jhotdraw/draw/liner/CurvedLiner.java  |    0
 .../org/jhotdraw/draw/liner/ElbowLiner.java   |    0
 .../java/org/jhotdraw/draw/liner/Liner.java   |    0
 .../org/jhotdraw/draw/liner/SlantedLiner.java |    0
 .../org/jhotdraw/draw/liner/package-info.java |    0
 .../draw/locator/AbstractLocator.java         |    0
 .../draw/locator/BezierLabelLocator.java      |    0
 .../draw/locator/BezierPointLocator.java      |    0
 .../draw/locator/FontSizeLocator.java         |    0
 .../org/jhotdraw/draw/locator/Locator.java    |    0
 .../locator/RelativeDecoratorLocator.java     |    0
 .../draw/locator/RelativeLocator.java         |    0
 .../jhotdraw/draw/locator/package-info.java   |    0
 .../java/org/jhotdraw/draw/package-info.java  |    0
 .../jhotdraw/draw/print/DrawingPageable.java  |    0
 .../org/jhotdraw/draw/print/package-info.java |    0
 .../jhotdraw/draw/text/FloatingTextArea.java  |    0
 .../jhotdraw/draw/text/FloatingTextField.java |    0
 .../org/jhotdraw/draw/text/package-info.java  |    0
 .../org/jhotdraw/draw/tool/AbstractTool.java  |    0
 .../org/jhotdraw/draw/tool/BezierTool.java    |    0
 .../jhotdraw/draw/tool/ConnectionTool.java    |    0
 .../org/jhotdraw/draw/tool/CreationTool.java  |    0
 .../draw/tool/DefaultDragTracker.java         |    0
 .../draw/tool/DefaultHandleTracker.java       |    0
 .../draw/tool/DefaultSelectAreaTracker.java   |    0
 .../draw/tool/DelegationSelectionTool.java    |    0
 .../org/jhotdraw/draw/tool/DnDTracker.java    |    0
 .../org/jhotdraw/draw/tool/DragTracker.java   |    0
 .../org/jhotdraw/draw/tool/HandleTracker.java |    0
 .../org/jhotdraw/draw/tool/ImageTool.java     |    0
 .../jhotdraw/draw/tool/SelectAreaTracker.java |    0
 .../org/jhotdraw/draw/tool/SelectionTool.java |    0
 .../draw/tool/TextAreaCreationTool.java       |    0
 .../draw/tool/TextAreaEditingTool.java        |    0
 .../jhotdraw/draw/tool/TextCreationTool.java  |    0
 .../jhotdraw/draw/tool/TextEditingTool.java   |    0
 .../java/org/jhotdraw/draw/tool/Tool.java     |    0
 .../org/jhotdraw/draw/tool/package-info.java  |    0
 .../main/java/org/jhotdraw/geom/Bezier.java   |    0
 .../java/org/jhotdraw/geom/BezierPath.java    |    0
 .../org/jhotdraw/geom/BezierPathIterator.java |    0
 .../java/org/jhotdraw/geom/ConvexHull.java    |    0
 .../org/jhotdraw/geom/Dimension2DDouble.java  |    0
 .../java/org/jhotdraw/geom/DoubleStroke.java  |    0
 .../main/java/org/jhotdraw/geom/Geom.java     |    0
 .../java/org/jhotdraw/geom/GrowStroke.java    |    0
 .../main/java/org/jhotdraw/geom/Insets2D.java |    0
 .../java/org/jhotdraw/geom/Polygon2D.java     |    0
 .../main/java/org/jhotdraw/geom/QuadTree.java |    0
 .../main/java/org/jhotdraw/geom/Shapes.java   |    0
 .../java/org/jhotdraw/geom/package-info.java  |    0
 .../java/org/jhotdraw/gui/Arrangeable.java    |    0
 .../org/jhotdraw/gui/AttributeEditor.java     |    0
 .../java/org/jhotdraw/gui/DisclosureIcon.java |    0
 .../org/jhotdraw/gui/EditableComponent.java   |    0
 .../main/java/org/jhotdraw/gui/EmptyIcon.java |    0
 .../org/jhotdraw/gui/JComponentPopup.java     |    0
 .../org/jhotdraw/gui/JDisclosureToolBar.form  |    0
 .../org/jhotdraw/gui/JDisclosureToolBar.java  |    0
 .../gui/JDisclosureToolBarBeanInfo.java       |    0
 .../org/jhotdraw/gui/JFileURIChooser.java     |    0
 .../java/org/jhotdraw/gui/JFontChooser.form   |    0
 .../java/org/jhotdraw/gui/JFontChooser.java   |    0
 .../gui/JLifeFormattedTexAreaBeanInfo.java    |    0
 .../jhotdraw/gui/JLifeFormattedTextArea.form  |    0
 .../jhotdraw/gui/JLifeFormattedTextArea.java  |    0
 .../jhotdraw/gui/JLifeFormattedTextField.form |    0
 .../jhotdraw/gui/JLifeFormattedTextField.java |    0
 .../gui/JLifeFormattedTextFieldBeanInfo.java  |    0
 .../org/jhotdraw/gui/JMDIDesktopPane.java     |    0
 .../java/org/jhotdraw/gui/JPopupButton.form   |    0
 .../java/org/jhotdraw/gui/JPopupButton.java   |    0
 .../jhotdraw/gui/JPopupButtonBeanInfo.java    |    0
 .../main/java/org/jhotdraw/gui/JSheet.java    |    0
 .../java/org/jhotdraw/gui/Labels.properties   |    0
 .../org/jhotdraw/gui/Labels_de.properties     |    0
 .../jhotdraw/gui/PlacardScrollPaneLayout.java |    0
 .../java/org/jhotdraw/gui/ToolBarLayout.java  |    0
 .../java/org/jhotdraw/gui/URIChooser.java     |    0
 .../org/jhotdraw/gui/VerticalGridLayout.java  |    0
 .../main/java/org/jhotdraw/gui/Worker.java    |    0
 .../gui/datatransfer/AWTClipboard.java        |    0
 .../gui/datatransfer/AbstractClipboard.java   |    0
 .../datatransfer/AbstractTransferable.java    |    0
 .../gui/datatransfer/ClipboardUtil.java       |    0
 .../datatransfer/CompositeTransferable.java   |    0
 .../gui/datatransfer/ImageTransferable.java   |    0
 .../datatransfer/InputStreamTransferable.java |    0
 .../gui/datatransfer/JNLPClipboard.java       |    0
 .../gui/datatransfer/OSXClipboard.java        |    0
 .../gui/datatransfer/package-info.java        |    0
 .../jhotdraw/gui/event/GenericListener.java   |    0
 .../org/jhotdraw/gui/event/SheetEvent.java    |    0
 .../org/jhotdraw/gui/event/SheetListener.java |    0
 .../org/jhotdraw/gui/event/package-info.java  |    0
 .../gui/filechooser/ExtensionFileFilter.java  |    0
 .../gui/filechooser/package-info.java         |    0
 .../fontchooser/AbstractFontChooserModel.java |    0
 .../fontchooser/DefaultFontChooserModel.java  |    0
 .../gui/fontchooser/FontChooserModel.java     |    0
 .../gui/fontchooser/FontCollectionNode.java   |    0
 .../gui/fontchooser/FontFaceNode.java         |    0
 .../gui/fontchooser/FontFamilyNode.java       |    0
 .../gui/fontchooser/package-info.java         |    0
 .../java/org/jhotdraw/gui/package-info.java   |    0
 .../org/jhotdraw/gui/plaf/FontChooserUI.java  |    0
 .../org/jhotdraw/gui/plaf/package-info.java   |    0
 .../gui/plaf/palette/BackdropBorder.java      |    0
 .../jhotdraw/gui/plaf/palette/MultiIcon.java  |    0
 .../gui/plaf/palette/PaletteBorders.java      |    0
 .../gui/plaf/palette/PaletteButtonBorder.java |    0
 .../gui/plaf/palette/PaletteButtonUI.java     |    0
 .../plaf/palette/PaletteColorChooserUI.java   |    0
 .../plaf/palette/PaletteColorSliderUI.java    |    0
 .../PaletteFontChooserPreviewPanel.form       |    0
 .../PaletteFontChooserPreviewPanel.java       |    0
 .../PaletteFontChooserSelectionPanel.form     |    0
 .../PaletteFontChooserSelectionPanel.java     |    0
 .../plaf/palette/PaletteFontChooserUI.java    |    0
 .../palette/PaletteFormattedTextFieldUI.java  |    0
 .../gui/plaf/palette/PaletteLabelUI.java      |    0
 .../plaf/palette/PaletteLazyActionMap.java    |    0
 .../plaf/palette/PaletteListCellRenderer.java |    0
 .../gui/plaf/palette/PaletteListUI.java       |    0
 .../gui/plaf/palette/PaletteLookAndFeel.java  |    0
 .../gui/plaf/palette/PaletteMenuItemUI.java   |    0
 .../gui/plaf/palette/PalettePanelUI.java      |    0
 .../gui/plaf/palette/PaletteRootPaneUI.java   |    0
 .../plaf/palette/PaletteSliderThumbIcon.java  |    0
 .../gui/plaf/palette/PaletteSliderUI.java     |    0
 .../gui/plaf/palette/PaletteTabbedPaneUI.java |    0
 .../palette/PaletteTextComponentBorder.java   |    0
 .../gui/plaf/palette/PaletteTextFieldUI.java  |    0
 .../plaf/palette/PaletteToolBarBorder.java    |    0
 .../gui/plaf/palette/PaletteToolBarUI.java    |    0
 .../gui/plaf/palette/PaletteUtilities.java    |    0
 .../plaf/palette/colorchooser/ColorIcon.java  |    0
 .../ColorSliderTextFieldHandler.java          |    0
 .../colorchooser/PaletteCMYKChooser.form      |    0
 .../colorchooser/PaletteCMYKChooser.java      |    0
 .../PaletteColorChooserMainPanel.form         |    0
 .../PaletteColorChooserMainPanel.java         |    0
 .../PaletteColorChooserPreviewPanel.form      |    0
 .../PaletteColorChooserPreviewPanel.java      |    0
 .../colorchooser/PaletteColorSliderModel.java |    0
 .../PaletteColorSlidersChooser.form           |    0
 .../PaletteColorSlidersChooser.java           |    0
 .../PaletteColorWheelChooser.form             |    0
 .../PaletteColorWheelChooser.java             |    0
 .../colorchooser/PaletteHSBChooser.form       |    0
 .../colorchooser/PaletteHSBChooser.java       |    0
 .../colorchooser/PaletteRGBChooser.form       |    0
 .../colorchooser/PaletteRGBChooser.java       |    0
 .../colorchooser/PaletteSwatchesChooser.form  |    0
 .../colorchooser/PaletteSwatchesChooser.java  |    0
 .../palette/colorchooser/package-info.java    |    0
 .../images/Slider.northThumbs.small.png       |  Bin
 .../images/Slider.westThumbs.small.png        |  Bin
 .../gui/plaf/palette/package-info.java        |    0
 .../main/java/org/jhotdraw/io/Base64.java     |    0
 .../jhotdraw/io/BoundedRangeInputStream.java  |    0
 .../org/jhotdraw/io/StreamPosTokenizer.java   |    0
 .../java/org/jhotdraw/io/package-info.java    |    0
 .../org/jhotdraw/net/ClientHttpRequest.java   |    0
 .../main/java/org/jhotdraw/net/URIUtil.java   |    0
 .../java/org/jhotdraw/net/package-info.java   |    0
 .../main/java/org/jhotdraw/overview.html      |    0
 .../color/CIEXYChromaticityDiagram.form       |    0
 .../color/CIEXYChromaticityDiagram.java       |    0
 .../org/jhotdraw/samples/color/JMixer.form    |    0
 .../org/jhotdraw/samples/color/JMixer.java    |    0
 .../samples/color/WheelsAndSlidersMain.form   |    0
 .../samples/color/WheelsAndSlidersMain.java   |    0
 .../jhotdraw/samples/color/package-info.java  |    0
 .../org/jhotdraw/samples/draw/DrawApplet.form |    0
 .../org/jhotdraw/samples/draw/DrawApplet.html |    0
 .../org/jhotdraw/samples/draw/DrawApplet.java |    0
 .../samples/draw/DrawApplicationModel.java    |    0
 .../samples/draw/DrawFigureFactory.java       |    0
 .../samples/draw/DrawLiveConnectApplet.form   |    0
 .../samples/draw/DrawLiveConnectApplet.html   |    0
 .../samples/draw/DrawLiveConnectApplet.java   |    0
 .../org/jhotdraw/samples/draw/DrawView.form   |    0
 .../org/jhotdraw/samples/draw/DrawView.java   |    0
 .../jhotdraw/samples/draw/DrawingPanel.form   |    0
 .../jhotdraw/samples/draw/DrawingPanel.java   |    0
 .../samples/draw/DrawingPanelBeanInfo.java    |    0
 .../java/org/jhotdraw/samples/draw/Main.java  |    0
 .../jhotdraw/samples/draw/package-info.java   |    0
 .../org/jhotdraw/samples/draw/plasmadraw.xml  |    0
 .../samples/font/FontChooserMain.form         |    0
 .../samples/font/FontChooserMain.java         |    0
 .../jhotdraw/samples/font/package-info.java   |    0
 .../samples/mini/AnimationSample.form         |    0
 .../samples/mini/AnimationSample.java         |    0
 .../org/jhotdraw/samples/mini/BezierDemo.form |    0
 .../org/jhotdraw/samples/mini/BezierDemo.java |    0
 .../samples/mini/BorderRectangleFigure.java   |    0
 .../samples/mini/ConnectingFiguresSample.java |    0
 .../samples/mini/CreationToolSample.java      |    0
 .../mini/DefaultDOMStorableSample.java        |    0
 .../samples/mini/DnDMultiEditorSample.java    |    0
 .../jhotdraw/samples/mini/EditorSample.java   |    0
 .../samples/mini/FileIconsSample.java         |    0
 .../LabeledLineConnectionFigureSample.java    |    0
 .../jhotdraw/samples/mini/LayouterSample.java |    0
 .../mini/MovableChildFiguresSample.java       |    0
 .../samples/mini/MultiEditorSample.java       |    0
 .../samples/mini/SVGDrawingPanelSample.form   |    0
 .../samples/mini/SVGDrawingPanelSample.java   |    0
 .../samples/mini/SelectionToolSample.java     |    0
 .../mini/SmartConnectionFigureSample.java     |    0
 .../samples/mini/StraightLineFigure.java      |    0
 .../jhotdraw/samples/mini/package-info.java   |    0
 .../jhotdraw/samples/net/Labels.properties    |    0
 .../jhotdraw/samples/net/Labels_de.properties |    0
 .../java/org/jhotdraw/samples/net/Main.java   |    0
 .../org/jhotdraw/samples/net/NetApplet.form   |    0
 .../org/jhotdraw/samples/net/NetApplet.java   |    0
 .../samples/net/NetApplicationModel.java      |    0
 .../org/jhotdraw/samples/net/NetFactory.java  |    0
 .../org/jhotdraw/samples/net/NetPanel.form    |    0
 .../org/jhotdraw/samples/net/NetPanel.java    |    0
 .../org/jhotdraw/samples/net/NetView.form     |    0
 .../org/jhotdraw/samples/net/NetView.java     |    0
 .../samples/net/figures/NodeFigure.java       |    0
 .../samples/net/figures/package-info.java     |    0
 .../samples/net/images/createLink.png         |  Bin
 .../samples/net/images/createNode.png         |  Bin
 .../jhotdraw/samples/net/package-info.java    |    0
 .../org/jhotdraw/samples/odg/Gradient.java    |    0
 .../jhotdraw/samples/odg/Labels.properties    |    0
 .../java/org/jhotdraw/samples/odg/Main.java   |    0
 .../samples/odg/ODGApplicationModel.java      |    0
 .../samples/odg/ODGAttributeKeys.java         |    0
 .../jhotdraw/samples/odg/ODGConstants.java    |    0
 .../org/jhotdraw/samples/odg/ODGDrawing.java  |    0
 .../jhotdraw/samples/odg/ODGDrawingPanel.form |    0
 .../jhotdraw/samples/odg/ODGDrawingPanel.java |    0
 .../samples/odg/ODGDrawingPanelBeanInfo.java  |    0
 .../samples/odg/ODGPropertiesPanel.form       |    0
 .../samples/odg/ODGPropertiesPanel.java       |    0
 .../odg/ODGPropertiesPanelBeanInfo.java       |    0
 .../org/jhotdraw/samples/odg/ODGView.form     |    0
 .../org/jhotdraw/samples/odg/ODGView.java     |    0
 .../org/jhotdraw/samples/odg/PathTool.java    |    0
 .../samples/odg/action/CombineAction.java     |    0
 .../samples/odg/action/SplitAction.java       |    0
 .../action/TogglePropertiesPanelAction.java   |    0
 .../samples/odg/action/package-info.java      |    0
 .../odg/figures/ODGAttributedFigure.java      |    0
 .../samples/odg/figures/ODGBezierFigure.java  |    0
 .../samples/odg/figures/ODGEllipseFigure.java |    0
 .../samples/odg/figures/ODGFigure.java        |    0
 .../samples/odg/figures/ODGGroupFigure.java   |    0
 .../samples/odg/figures/ODGPathFigure.java    |    0
 .../odg/figures/ODGPathOutlineHandle.java     |    0
 .../samples/odg/figures/ODGRectFigure.java    |    0
 .../odg/figures/ODGRectRadiusHandle.java      |    0
 .../samples/odg/figures/package-info.java     |    0
 .../samples/odg/geom/EnhancedPath.java        |    0
 .../samples/odg/geom/package-info.java        |    0
 .../odg/io/DefaultODGFigureFactory.java       |    0
 .../samples/odg/io/ODGFigureFactory.java      |    0
 .../samples/odg/io/ODGInputFormat.java        |    0
 .../samples/odg/io/ODGStylesReader.java       |    0
 .../jhotdraw/samples/odg/io/package-info.java |    0
 .../jhotdraw/samples/odg/package-info.java    |    0
 .../jhotdraw/samples/pert/Labels.properties   |    0
 .../samples/pert/Labels_de.properties         |    0
 .../java/org/jhotdraw/samples/pert/Main.java  |    0
 .../org/jhotdraw/samples/pert/PertApplet.form |    0
 .../org/jhotdraw/samples/pert/PertApplet.java |    0
 .../samples/pert/PertApplicationModel.java    |    0
 .../jhotdraw/samples/pert/PertFactory.java    |    0
 .../org/jhotdraw/samples/pert/PertPanel.form  |    0
 .../org/jhotdraw/samples/pert/PertPanel.java  |    0
 .../org/jhotdraw/samples/pert/PertView.form   |    0
 .../org/jhotdraw/samples/pert/PertView.java   |    0
 .../pert/figures/DependencyFigure.java        |    0
 .../pert/figures/SeparatorLineFigure.java     |    0
 .../samples/pert/figures/TaskFigure.java      |    0
 .../samples/pert/figures/package-info.java    |    0
 .../jhotdraw/samples/pert}/images/PERT1.gif   |  Bin
 .../jhotdraw/samples/pert}/images/PERT2.gif   |  Bin
 .../jhotdraw/samples/pert}/images/PERT3.gif   |  Bin
 .../samples/pert/images/createDependency.png  |  Bin
 .../samples/pert/images/createTask.png        |  Bin
 .../jhotdraw/samples/pert/package-info.java   |    0
 .../org/jhotdraw/samples/svg/Gradient.java    |    0
 .../jhotdraw/samples/svg/Labels.properties    |    0
 .../jhotdraw/samples/svg/Labels_de.properties |    0
 .../jhotdraw/samples/svg/LinearGradient.java  |    0
 .../java/org/jhotdraw/samples/svg/Main.java   |    0
 .../org/jhotdraw/samples/svg/PathTool.java    |    0
 .../jhotdraw/samples/svg/RadialGradient.java  |    0
 .../org/jhotdraw/samples/svg/SVGApplet.form   |    0
 .../org/jhotdraw/samples/svg/SVGApplet.java   |    0
 .../samples/svg/SVGApplicationModel.java      |    0
 .../samples/svg/SVGAttributeKeys.java         |    0
 .../jhotdraw/samples/svg/SVGConstants.java    |    0
 .../samples/svg/SVGCreateFromFileTool.java    |    0
 .../jhotdraw/samples/svg/SVGDrawingPanel.form |    0
 .../jhotdraw/samples/svg/SVGDrawingPanel.java |    0
 .../samples/svg/SVGDrawingPanelBeanInfo.java  |    0
 .../org/jhotdraw/samples/svg/SVGView.form     |    0
 .../org/jhotdraw/samples/svg/SVGView.java     |    0
 .../samples/svg/action/CombineAction.java     |    0
 .../samples/svg/action/SplitAction.java       |    0
 .../samples/svg/action/ViewSourceAction.java  |    0
 .../samples/svg/action/images/actions.png     |  Bin
 .../samples/svg/action/images/alignEast.png   |  Bin
 .../samples/svg/action/images/alignGrid.png   |  Bin
 .../svg/action/images/alignHorizontal.png     |  Bin
 .../samples/svg/action/images/alignNorth.png  |  Bin
 .../samples/svg/action/images/alignSouth.png  |  Bin
 .../svg/action/images/alignVertical.png       |  Bin
 .../samples/svg/action/images/alignWest.png   |  Bin
 .../images/attribute.color.colorChooser.png   |  Bin
 .../action/images/attribute.color.noColor.png |  Bin
 .../svg/action/images/attributeFillColor.png  |  Bin
 .../svg/action/images/attributeFont.png       |  Bin
 .../svg/action/images/attributeFontBold.png   |  Bin
 .../svg/action/images/attributeFontItalic.png |  Bin
 .../svg/action/images/attributeFontSize.png   |  Bin
 .../action/images/attributeFontUnderline.png  |  Bin
 .../svg/action/images/attributeOpacity.png    |  Bin
 .../svg/action/images/attributeStrokeCap.png  |  Bin
 .../action/images/attributeStrokeColor.png    |  Bin
 .../action/images/attributeStrokeDashes.png   |  Bin
 .../images/attributeStrokeDecoration.png      |  Bin
 .../svg/action/images/attributeStrokeJoin.png |  Bin
 .../action/images/attributeStrokeWidth.png    |  Bin
 .../svg/action/images/attributesApply.png     |  Bin
 .../svg/action/images/attributesPick.png      |  Bin
 .../samples/svg/action/images/createArrow.png |  Bin
 .../svg/action/images/createEllipse.png       |  Bin
 .../samples/svg/action/images/createImage.png |  Bin
 .../samples/svg/action/images/createLine.png  |  Bin
 .../svg/action/images/createPolygon.png       |  Bin
 .../svg/action/images/createRectangle.png     |  Bin
 .../svg/action/images/createScribble.png      |  Bin
 .../samples/svg/action/images/createText.png  |  Bin
 .../svg/action/images/createTextArea.png      |  Bin
 .../samples/svg/action/images/editRedo.png    |  Bin
 .../samples/svg/action/images/editUndo.png    |  Bin
 .../samples/svg/action/images/moveDown.png    |  Bin
 .../samples/svg/action/images/moveToBack.png  |  Bin
 .../samples/svg/action/images/moveToFront.png |  Bin
 .../samples/svg/action/images/moveUp.png      |  Bin
 .../svg/action/images/selectionTool.png       |  Bin
 .../samples/svg/action/package-info.java      |    0
 .../svg/figures/ConvexHullOutlineHandle.java  |    0
 .../samples/svg/figures/LinkHandle.java       |    0
 .../svg/figures/SVGAttributedFigure.java      |    0
 .../samples/svg/figures/SVGBezierFigure.java  |    0
 .../samples/svg/figures/SVGEllipseFigure.java |    0
 .../samples/svg/figures/SVGFigure.java        |    0
 .../samples/svg/figures/SVGGroupFigure.java   |    0
 .../samples/svg/figures/SVGImageFigure.java   |    0
 .../samples/svg/figures/SVGPathFigure.java    |    0
 .../svg/figures/SVGPathOutlineHandle.java     |    0
 .../samples/svg/figures/SVGRectFigure.java    |    0
 .../svg/figures/SVGRectRadiusHandle.java      |    0
 .../svg/figures/SVGTextAreaFigure.java        |    0
 .../samples/svg/figures/SVGTextFigure.java    |    0
 .../samples/svg/figures/package-info.java     |    0
 .../samples/svg/gui/AbstractToolBar.form      |    0
 .../samples/svg/gui/AbstractToolBar.java      |    0
 .../svg/gui/AbstractToolBarBeanInfo.java      |    0
 .../samples/svg/gui/ActionsToolBar.form       |    0
 .../samples/svg/gui/ActionsToolBar.java       |    0
 .../svg/gui/ActionsToolBarBeanInfo.java       |    0
 .../samples/svg/gui/AlignToolBar.form         |    0
 .../samples/svg/gui/AlignToolBar.java         |    0
 .../samples/svg/gui/AlignToolBarBeanInfo.java |    0
 .../samples/svg/gui/ArrangeToolBar.form       |    0
 .../samples/svg/gui/ArrangeToolBar.java       |    0
 .../svg/gui/ArrangeToolBarBeanInfo.java       |    0
 .../samples/svg/gui/CanvasToolBar.form        |    0
 .../samples/svg/gui/CanvasToolBar.java        |    0
 .../svg/gui/CanvasToolBarBeanInfo.java        |    0
 .../samples/svg/gui/DrawingComponent.java     |    0
 .../samples/svg/gui/DrawingOpacityIcon.java   |    0
 .../samples/svg/gui/FigureToolBar.form        |    0
 .../samples/svg/gui/FigureToolBar.java        |    0
 .../svg/gui/FigureToolBarBeanInfo.java        |    0
 .../jhotdraw/samples/svg/gui/FillToolBar.form |    0
 .../jhotdraw/samples/svg/gui/FillToolBar.java |    0
 .../samples/svg/gui/FillToolBarBeanInfo.java  |    0
 .../jhotdraw/samples/svg/gui/FontToolBar.form |    0
 .../jhotdraw/samples/svg/gui/FontToolBar.java |    0
 .../samples/svg/gui/FontToolBarBeanInfo.java  |    0
 .../jhotdraw/samples/svg/gui/LinkToolBar.form |    0
 .../jhotdraw/samples/svg/gui/LinkToolBar.java |    0
 .../samples/svg/gui/LinkToolBarBeanInfo.java  |    0
 .../samples/svg/gui/MessagePanel.form         |    0
 .../samples/svg/gui/MessagePanel.java         |    0
 .../samples/svg/gui/ProgressIndicator.form    |    0
 .../samples/svg/gui/ProgressIndicator.java    |    0
 .../samples/svg/gui/SelectionOpacityIcon.java |    0
 .../gui/ServerAuthenticationException.java    |    0
 .../samples/svg/gui/StrokeToolBar.form        |    0
 .../samples/svg/gui/StrokeToolBar.java        |    0
 .../svg/gui/StrokeToolBarBeanInfo.java        |    0
 .../samples/svg/gui/SummaryToolBar.form       |    0
 .../samples/svg/gui/SummaryToolBar.java       |    0
 .../svg/gui/SummaryToolBarBeanInfo.java       |    0
 .../samples/svg/gui/ToolsToolBar.form         |    0
 .../samples/svg/gui/ToolsToolBar.java         |    0
 .../samples/svg/gui/ToolsToolBarBeanInfo.java |    0
 .../jhotdraw/samples/svg/gui/ViewToolBar.form |    0
 .../jhotdraw/samples/svg/gui/ViewToolBar.java |    0
 .../samples/svg/gui/ViewToolBarBeanInfo.java  |    0
 .../samples/svg/gui/package-info.java         |    0
 .../svg/io/DefaultSVGFigureFactory.java       |    0
 .../samples/svg/io/ImageMapOutputFormat.java  |    0
 .../samples/svg/io/SVGElementFactory.java     |    0
 .../samples/svg/io/SVGFigureFactory.java      |    0
 .../samples/svg/io/SVGInputFormat.java        |    0
 .../samples/svg/io/SVGOutputFormat.java       |    0
 .../samples/svg/io/SVGZInputFormat.java       |    0
 .../samples/svg/io/SVGZOutputFormat.java      |    0
 .../jhotdraw/samples/svg/io/package-info.java |    0
 .../jhotdraw/samples/svg/package-info.java    |    0
 .../samples/teddy/CharacterSetAccessory.form  |    0
 .../samples/teddy/CharacterSetAccessory.java  |    0
 .../jhotdraw/samples/teddy/FindDialog.form    |    0
 .../jhotdraw/samples/teddy/FindDialog.java    |    0
 .../jhotdraw/samples/teddy/JEditorArea.form   |    0
 .../jhotdraw/samples/teddy/JEditorArea.java   |    0
 .../jhotdraw/samples/teddy/Labels.properties  |    0
 .../samples/teddy/Labels_de.properties        |    0
 .../java/org/jhotdraw/samples/teddy/Main.java |    0
 .../samples/teddy/TeddyApplicationModel.java  |    0
 .../org/jhotdraw/samples/teddy/TeddyView.form |    0
 .../org/jhotdraw/samples/teddy/TeddyView.java |    0
 .../samples/teddy/action/FindAction.java      |    0
 .../teddy/action/ToggleLineNumbersAction.java |    0
 .../teddy/action/ToggleLineWrapAction.java    |    0
 .../teddy/action/ToggleStatusBarAction.java   |    0
 .../samples/teddy/action/package-info.java    |    0
 .../jhotdraw/samples/teddy/io/LFWriter.java   |    0
 .../samples/teddy/io/package-info.java        |    0
 .../jhotdraw/samples/teddy/package-info.java  |    0
 .../samples/teddy/regex/MatchType.java        |    0
 .../jhotdraw/samples/teddy/regex/Matcher.java |    0
 .../samples/teddy/regex/package-info.java     |    0
 .../samples/teddy/text/NumberedEditorKit.java |    0
 .../teddy/text/NumberedParagraphView.java     |    0
 .../teddy/text/NumberedViewFactory.java       |    0
 .../samples/teddy/text/package-info.java      |    0
 .../org/jhotdraw/text/ColorFormatter.java     |    0
 .../text/ColorToolTipTextFormatter.java       |    0
 .../java/org/jhotdraw/text/FontFormatter.java |    0
 .../jhotdraw/text/JavaNumberFormatter.java    |    0
 .../java/org/jhotdraw/text/package-info.java  |    0
 .../java/org/jhotdraw/undo/CompositeEdit.java |    0
 .../java/org/jhotdraw/undo/Labels.properties  |    0
 .../org/jhotdraw/undo/Labels_de.properties    |    0
 .../org/jhotdraw/undo/NonUndoableEdit.java    |    0
 .../org/jhotdraw/undo/UndoRedoManager.java    |    0
 .../org/jhotdraw/undo/images/editRedo.png     |  Bin
 .../org/jhotdraw/undo/images/editUndo.png     |  Bin
 .../java/org/jhotdraw/undo/package-info.java  |    0
 .../main/java/org/jhotdraw/util/Images.java   |    0
 .../java/org/jhotdraw/util/LocaleUtil.java    |    0
 .../main/java/org/jhotdraw/util/Methods.java  |    0
 .../org/jhotdraw/util/ResourceBundleUtil.java |    0
 .../java/org/jhotdraw/util/ReversedList.java  |    0
 .../java/org/jhotdraw/util/package-info.java  |    0
 .../jhotdraw/util/prefs/PreferencesUtil.java  |    0
 .../util/prefs/ToolBarPrefsHandler.java       |    0
 .../org/jhotdraw/util/prefs/package-info.java |    0
 .../java/org/jhotdraw/xml/DOMFactory.java     |    0
 .../main/java/org/jhotdraw/xml/DOMInput.java  |    0
 .../main/java/org/jhotdraw/xml/DOMOutput.java |    0
 .../java/org/jhotdraw/xml/DOMStorable.java    |    0
 .../org/jhotdraw/xml/DefaultDOMFactory.java   |    0
 .../xml/JavaPrimitivesDOMFactory.java         |    0
 .../java/org/jhotdraw/xml/JavaxDOMInput.java  |    0
 .../java/org/jhotdraw/xml/JavaxDOMOutput.java |    0
 .../org/jhotdraw/xml/NanoXMLDOMInput.java     |    0
 .../org/jhotdraw/xml/NanoXMLDOMOutput.java    |    0
 .../org/jhotdraw/xml/XMLTransferable.java     |    0
 .../java/org/jhotdraw/xml/css/CSSParser.java  |    0
 .../java/org/jhotdraw/xml/css/CSSRule.java    |    0
 .../org/jhotdraw/xml/css/StyleManager.java    |    0
 .../org/jhotdraw/xml/css/package-info.java    |    0
 .../java/org/jhotdraw/xml/package-info.java   |    0
 .../main/resources/JHotDrawIcons.png          |  Bin
 .../src => src}/main/resources/sRGBmatrix.m   |    0
 .../main/resources/xyToRGBmatrix.m            |    0
 .../org/jhotdraw/geom/BezierPathTest.java     |    0
 2251 files changed, 152604 deletions(-)
 rename jhotdraw7/.classpath => .classpath (100%)
 rename jhotdraw7/.project => .project (100%)
 delete mode 100644 JHotDraw/JavaDrawApplet.html
 delete mode 100644 JHotDraw/JavaDrawViewer.html
 delete mode 100644 JHotDraw/NothingApplet.html
 delete mode 100644 JHotDraw/PertApplet.html
 delete mode 100644 JHotDraw/README.html
 delete mode 100644 JHotDraw/build/build.properties
 delete mode 100644 JHotDraw/build/build.xml
 delete mode 100644 JHotDraw/build/jhotdraw.mf
 delete mode 100644 JHotDraw/compile.bat
 delete mode 100644 JHotDraw/compile.sh
 delete mode 100644 JHotDraw/compile_ant.bat
 delete mode 100644 JHotDraw/doc/Architecture Overview.ppt
 delete mode 100644 JHotDraw/doc/Changes.html
 delete mode 100644 JHotDraw/doc/ClassDiagram.html
 delete mode 100644 JHotDraw/doc/ReleaseNotes.html
 delete mode 100644 JHotDraw/doc/buildProcess.html
 delete mode 100644 JHotDraw/doc/change_log.txt
 delete mode 100644 JHotDraw/doc/classdiagram.jpg
 delete mode 100644 JHotDraw/doc/documentation.html
 delete mode 100644 JHotDraw/doc/drawBackground.html
 delete mode 100644 JHotDraw/doc/packages.html
 delete mode 100644 JHotDraw/doc/pattlets.jar
 delete mode 100644 JHotDraw/doc/samples.html
 delete mode 100644 JHotDraw/drawings/demo.draw
 delete mode 100644 JHotDraw/drawings/demo.ser
 delete mode 100644 JHotDraw/drawings/net.draw
 delete mode 100644 JHotDraw/drawings/net.ser
 delete mode 100644 JHotDraw/drawings/nothing.draw
 delete mode 100644 JHotDraw/drawings/nothing.ser
 delete mode 100644 JHotDraw/drawings/pert.draw
 delete mode 100644 JHotDraw/drawings/pert.ser
 delete mode 100644 JHotDraw/lgpl-license.html
 delete mode 100644 JHotDraw/run_javadraw.bat
 delete mode 100644 JHotDraw/setenv.bat
 delete mode 100644 JHotDraw/src/CH/ifa/draw/applet/DrawApplet.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/application/DrawApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/AutoscrollHelper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CTXCommandMenu.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CTXWindowMenu.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/ChopDiamondConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/ChopPolygonConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/ClippingUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CommandCheckBoxMenuItem.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CommandHolder.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CommandMenuItem.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/ComponentFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CompositeFigureCreationTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CustomSelectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/CustomToolBar.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/Desktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/DesktopEvent.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/DesktopEventService.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/DesktopListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/DiamondFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/FloatingTextArea.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/GraphicalCompositeFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/Helper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/JPanelDesktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/JScrollPaneDesktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/Layoutable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/Layouter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/MDIDesktopPane.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/MDI_DrawApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/MiniMapView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/NestedCreationTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PolygonFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PolygonHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PolygonScaleHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PolygonTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/PopupMenuFigureSelection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SVGDrawApp.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SVGStorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SimpleLayouter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SplitConnectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDesktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDrawApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/StandardLayouter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/TextAreaFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/TextAreaTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/TriangleFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/TriangleRotationHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/WindowMenu.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFigures.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFiguresTransferable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDHelper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDInterface.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/DragNDropTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDragSourceListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDropTargetListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/AbstractContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/AttributeContentProducerContext.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/AttributeFigureContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ColorContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerContext.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerRegistry.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/DiamondFigureGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceHolder.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManager.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManagerFactory.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ETSLADisposalStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/EllipseFigureGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/FigureContentProducerContext.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/FigureDataContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/GeometricFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLColorContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducerContext.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLLayouter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/PolygonFigureGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ResourceContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ResourceDisposabilityStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/ResourceManagerNotSetException.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/RoundRectangleGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceHolder.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceManager.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/TextHolderContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/TriangleFigureGeometricAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/html/URLContentProducer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/AreaTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/DoubleBufferImage.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/MiniMapZoomableView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ScalingGraphics.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomAreaTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomDrawingView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/AbstractLineDecoration.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ArrowTip.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/AttributeFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/BorderDecorator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/BorderTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ChopEllipseConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ConnectedTextTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ElbowConnection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ElbowHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/EllipseFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/FigureAttributes.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/FontSizeHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/GroupCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/GroupFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/GroupHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ImageFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/InsertImageCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/LineDecoration.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/LineFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/NullConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/NullFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/NumberTextFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/PolyLineConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/PolyLineFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/PolyLineHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/PolyLineLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/RadiusHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/RectangleFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/RoundRectangleFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ScribbleTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/ShortestDistanceConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/TextFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/TextTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/figures/UngroupCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/ConnectionFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Connector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Cursor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Drawing.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/DrawingChangeEvent.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/DrawingChangeListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/DrawingEditor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/DrawingView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Figure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureAttributeConstant.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureChangeEvent.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureChangeListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureEnumeration.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureSelection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureSelectionListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/FigureVisitor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Handle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/HandleEnumeration.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/JHotDrawException.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/JHotDrawRuntimeException.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Locator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Painter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/PointConstrainer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/Tool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/ToolListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/framework/ViewChangeListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ATEXT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ATEXT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ATEXT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/BORDDEC1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/BORDDEC2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/BORDDEC3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/CONN1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/CONN2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/CONN3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/DIAMOND1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/DIAMOND2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/DIAMOND3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ELLIPSE1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ELLIPSE2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ELLIPSE3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ERASER1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ERASER2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ERASER3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/HTMLAREA1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/HTMLAREA2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/HTMLAREA3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/LINE1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/LINE2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/LINE3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/OCONN1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/OCONN2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/OCONN3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/POLYGON1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/POLYGON2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/POLYGON3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RECT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RECT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RECT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RRECT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RRECT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/RRECT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SCRIBBL1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SCRIBBL2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SCRIBBL3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SEL1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SEL2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/SEL3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEMPLATE.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEMPLAT_.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXTAREA1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXTAREA2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TEXTAREA3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOBACK1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOBACK2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOBACK3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOFRONT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOFRONT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TOFRONT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TRIANGLE1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TRIANGLE2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/TRIANGLE3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/URL1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/URL2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/URL3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ZOOM1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ZOOM2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/ZOOM3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/images/pspbrwse.jbf
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/AnimationDecorator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/Animator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/BouncingDrawing.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/FollowURLTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApp.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApplet.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawViewer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/MySelectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/PatternPainter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/URLTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/DUKE.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/Juggler0.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/backgrnd.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/beans.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/bg1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/javacentral.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/rain.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/view.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapDesktop.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/net.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/net/NetApp.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/net/NodeFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApp.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApplet.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertApplet.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertAppletHelp.html
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertApplication.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertDependency.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/PertFigureCreationTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT1.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT2.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT3.gif
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard.jdo
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AWTCursor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AbstractTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ActionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/AlignCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/BoxHandleKit.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/BringToFrontCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/BufferedUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChangeAttributeCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionEndHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionStartHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ChopBoxConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/CompositeFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ConnectionHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ConnectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/CopyCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/CreationTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/CutCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DecoratorFigure.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DeleteCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DeleteFromDrawingVisitor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DragTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/DuplicateCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FastBufferedUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureAndEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureChangeAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureChangeEventMulticaster.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/FigureTransferCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/GridConstrainer.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/HandleAndEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/HandleEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/HandleTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/InsertIntoDrawingVisitor.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/LocatorConnector.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/LocatorHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/NullDrawingView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/NullHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/NullPainter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/NullTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/OffsetLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/OrderedFigureElement.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/PasteCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/PeripheralLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/QuadTree.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/RelativeLocator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ReverseFigureEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SelectAllCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SelectAreaTracker.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SelectionTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SendToBackCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SimpleUpdateStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/SingleFigureEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/StandardDrawing.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/StandardDrawingView.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/StandardFigureSelection.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/TextHolder.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ToggleGridCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/standard/ToolButton.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/JHDTestCase.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CTXCommandMenuTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CTXWindowMenuTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/ChopDiamondConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/ChopPolygonConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/ClippingUpdateStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CommandCheckBoxMenuItemTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CommandMenuItemTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/ComponentFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CompositeFigureCreationToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CustomSelectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/CustomToolBarTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/DesktopEventServiceTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/DiamondFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/FloatingTextAreaTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/GraphicalCompositeFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/HelperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/JPanelDesktopTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/JScrollPaneDesktopTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/MDIDesktopPaneTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/MDI_DrawApplicationTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/MiniMapViewTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/NestedCreationToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/PolygonFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/PolygonHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/PolygonToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/SVGDrawAppTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/SVGStorageFormatTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/SimpleLayouterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/SplitConnectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/StandardLayouterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/TriangleFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/contrib/WindowMenuTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ArrowTipTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/BorderDecoratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/BorderToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ChopEllipseConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ConnectedTextToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ElbowConnectionTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ElbowHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/EllipseFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/FigureAttributesTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/FiguresSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/FontSizeHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/GroupCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/GroupFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ImageFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/InsertImageCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/LineConnectionTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/LineFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/NullConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/NullFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/NumberTextFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/PolyLineConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/PolyLineFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/PolyLineHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/RectangleFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/RoundRectangleFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ScribbleToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/ShortestDistanceConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/TextFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/TextToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/figures/UngroupCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/DrawingChangeEventTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/FigureAttributeConstantTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/FigureChangeEventTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/framework/FrameworkSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimationDecoratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimatorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/BouncingDrawingTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppletTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawViewerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavadrawSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/MySelectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/PatternPainterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/javadraw/URLToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/minimap/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapApplicationTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapDesktopTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/minimap/MinimapSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/net/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/net/NetAppTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/net/NetSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/net/NodeFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/nothing/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppletTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertAppletTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertApplicationTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertDependencyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureCreationToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/samples/pert/PertSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/AlignCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/BoxHandleKitTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/BringToFrontCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/BufferedUpdateStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ChangeAttributeCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionEndHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionStartHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ChopBoxConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ConnectionHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ConnectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/CopyCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/CreationToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/CutCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/DeleteCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/DeleteFromDrawingVisitorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/DragTrackerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/DuplicateCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FastBufferedUpdateStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FigureAndEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeAdapterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeEventMulticasterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/FigureEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/GridConstrainerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/HandleAndEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/HandleEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/HandleTrackerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/InsertIntoDrawingVisitorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/LocatorConnectorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/LocatorHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/NullDrawingViewTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/NullHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/NullToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/OffsetLocatorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/PasteCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/PeripheralLocatorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/RelativeLocatorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ReverseFigureEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SelectAllCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SelectAreaTrackerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SelectionToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SendToBackCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SimpleUpdateStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/SingleFigureEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingViewTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/StandardFigureSelectionTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/StandardSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ToggleGridCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/standard/ToolButtonTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/BoundsTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/ClipboardTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/ColorMapTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/CommandButtonTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/CommandChoiceTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/CommandMenuTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/FillerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/FloatingTextFieldTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/GeomTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/GraphLayoutTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/IconkitTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/JDOStorageFormatTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/PaletteIconTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/PaletteLayoutTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/RedoCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/ReverseListEnumeratorTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/SerializationStorageFormatTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StandardStorageFormatTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StandardVersionControlStrategyTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StorableInputTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StorableOutputTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/StorageFormatManagerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoManagerTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoRedoActivityTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoableAdapterTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoableCommandTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoableHandleTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UndoableToolTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/UtilSuite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/VersionManagementTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/IteratorWrapperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/Jdk11Suite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/ListWrapperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/MapWrapperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/SetWrapperTest.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/AllTests.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/Jdk12Suite.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Animatable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Bounds.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Clipboard.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CollectionsFactory.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/ColorMap.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Command.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CommandButton.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CommandChoice.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CommandListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/CommandMenu.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Filler.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/FloatingTextField.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Geom.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/GraphLayout.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Iconkit.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/JDOStorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/PaletteButton.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/PaletteIcon.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/PaletteLayout.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/PaletteListener.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/RedoCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/ReverseListEnumerator.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/SerializationStorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StandardStorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StandardVersionControlStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Storable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StorableInput.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StorableOutput.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StorageFormat.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/StorageFormatManager.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoManager.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoRedoActivity.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/Undoable.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoableAdapter.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoableCommand.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoableHandle.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/UndoableTool.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/VersionControlStrategy.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/VersionManagement.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/VersionRequester.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/CollectionsFactoryJDK11.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/IteratorWrapper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/ListWrapper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/MapWrapper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk11/SetWrapper.java
 delete mode 100644 JHotDraw/src/CH/ifa/draw/util/collections/jdk12/CollectionsFactoryJDK12.java
 rename {jhotdraw7/Templates => Templates}/documentation-page.dwt (100%)
 rename {jhotdraw7/Templates => Templates}/documentation-toc.dwt (100%)
 rename {jhotdraw7/Templates => Templates}/guide-template.dwt (100%)
 rename {jhotdraw7/Templates => Templates}/toc-template.dwt (100%)
 rename jhotdraw7/applet.policy => applet.policy (100%)
 rename jhotdraw7/build-all.xml => build-all.xml (100%)
 rename jhotdraw7/build-before-profiler.xml => build-before-profiler.xml (100%)
 rename jhotdraw7/build-bezierdemo.xml => build-bezierdemo.xml (100%)
 rename jhotdraw7/build-draw.xml => build-draw.xml (100%)
 rename jhotdraw7/build-jhotdraw.xml => build-jhotdraw.xml (100%)
 rename jhotdraw7/build-net.xml => build-net.xml (100%)
 rename jhotdraw7/build-odg.xml => build-odg.xml (100%)
 rename jhotdraw7/build-pert.xml => build-pert.xml (100%)
 rename jhotdraw7/build-svg.xml => build-svg.xml (100%)
 rename jhotdraw7/build-teddy.xml => build-teddy.xml (100%)
 rename jhotdraw7/build.xml => build.xml (100%)
 delete mode 100644 jhotdraw6/.classpath
 delete mode 100644 jhotdraw6/.project
 delete mode 100644 jhotdraw6/JavaDrawApplet.html
 delete mode 100644 jhotdraw6/JavaDrawViewer.html
 delete mode 100644 jhotdraw6/NothingApplet.html
 delete mode 100644 jhotdraw6/PertApplet.html
 delete mode 100644 jhotdraw6/README.html
 delete mode 100644 jhotdraw6/build.xml
 delete mode 100644 jhotdraw6/build/build.properties
 delete mode 100644 jhotdraw6/build/build.xml
 delete mode 100644 jhotdraw6/build/jhotdraw.mf
 delete mode 100644 jhotdraw6/compile.bat
 delete mode 100644 jhotdraw6/compile.sh
 delete mode 100644 jhotdraw6/compile_ant.bat
 delete mode 100644 jhotdraw6/doc/Architecture Overview.ppt
 delete mode 100644 jhotdraw6/doc/Changes.html
 delete mode 100644 jhotdraw6/doc/ClassDiagram.html
 delete mode 100644 jhotdraw6/doc/ReleaseNotes.html
 delete mode 100644 jhotdraw6/doc/buildProcess.html
 delete mode 100644 jhotdraw6/doc/change_log.txt
 delete mode 100644 jhotdraw6/doc/classdiagram.jpg
 delete mode 100644 jhotdraw6/doc/documentation.html
 delete mode 100644 jhotdraw6/doc/drawBackground.html
 delete mode 100644 jhotdraw6/doc/packages.html
 delete mode 100644 jhotdraw6/doc/pattlets.jar
 delete mode 100644 jhotdraw6/doc/samples.html
 delete mode 100644 jhotdraw6/drawings/demo.draw
 delete mode 100644 jhotdraw6/drawings/demo.ser
 delete mode 100644 jhotdraw6/drawings/net.draw
 delete mode 100644 jhotdraw6/drawings/net.ser
 delete mode 100644 jhotdraw6/drawings/nothing.draw
 delete mode 100644 jhotdraw6/drawings/nothing.ser
 delete mode 100644 jhotdraw6/drawings/offsetConnectors.draw
 delete mode 100644 jhotdraw6/drawings/pert.draw
 delete mode 100644 jhotdraw6/drawings/pert.ser
 delete mode 100644 jhotdraw6/lgpl-license.html
 delete mode 100755 jhotdraw6/lib/batik-awt-util.jar
 delete mode 100755 jhotdraw6/lib/batik-dom.jar
 delete mode 100755 jhotdraw6/lib/batik-svggen.jar
 delete mode 100644 jhotdraw6/nbproject/build-impl.xml
 delete mode 100644 jhotdraw6/nbproject/genfiles.properties
 delete mode 100644 jhotdraw6/nbproject/project.properties
 delete mode 100644 jhotdraw6/nbproject/project.xml
 delete mode 100644 jhotdraw6/run_javadraw.bat
 delete mode 100644 jhotdraw6/setenv.bat
 delete mode 100644 jhotdraw6/src/main/J2EE/org/jhotdraw/util/JDOStorageFormat.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/applet/DrawApplet.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/application/DrawApplication.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/AutoscrollHelper.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/CTXCommandMenu.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/CTXWindowMenu.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/ChopDiamondConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/ChopPolygonConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/ClippingUpdateStrategy.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandCheckBoxMenuItem.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandHolder.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandMenuItem.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/ComponentFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/CompositeFigureCreationTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/CustomSelectionTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/CustomToolBar.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/Desktop.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopEvent.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopEventService.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/DiamondFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/FloatingTextArea.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/GraphicalCompositeFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/GridPainter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/Helper.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/JPanelDesktop.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/JScrollPaneDesktop.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/Layoutable.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/Layouter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/MDIDesktopPane.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/MDI_DrawApplication.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/MiniMapView.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/NestedCreationTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonScaleHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/PopupMenuFigureSelection.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/SVGDrawApp.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/SVGStorageFormat.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/SimpleLayouter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitConnectionTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitPaneDesktop.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitPaneDrawApplication.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/StandardLayouter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/TextAreaFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/TextAreaTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/TriangleFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/TriangleRotationHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/WindowMenu.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDFigures.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDFiguresTransferable.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDHelper.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDInterface.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DragNDropTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/JHDDragSourceListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/JHDDropTargetListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AbstractContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AttributeContentProducerContext.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AttributeFigureContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ColorContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducerContext.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducerRegistry.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DiamondFigureGeometricAdapter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceHolder.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceManager.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceManagerFactory.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ETSLADisposalStrategy.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/EllipseFigureGeometricAdapter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/FigureContentProducerContext.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/FigureDataContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/GeometricFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLColorContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLContentProducerContext.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLLayouter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLTextAreaFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLTextAreaTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/PolygonFigureGeometricAdapter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceDisposabilityStrategy.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceManagerNotSetException.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/RoundRectangleGeometricAdapter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/StandardDisposableResourceHolder.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/StandardDisposableResourceManager.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/TextHolderContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/TriangleFigureGeometricAdapter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/html/URLContentProducer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/AreaTracker.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/DoubleBufferImage.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/MiniMapZoomableView.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ScalingGraphics.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomAreaTracker.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomDrawingView.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomUpdateStrategy.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/AbstractLineDecoration.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/ArrowTip.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/AttributeFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/BorderDecorator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/BorderTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/ChopEllipseConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/ConnectedTextTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/ElbowConnection.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/ElbowHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/EllipseFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/FigureAttributes.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/FontSizeHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/GroupCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/GroupFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/GroupHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/ImageFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/InsertImageCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/LineConnection.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/LineDecoration.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/LineFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/NullConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/NullFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/NumberTextFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineLocator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/RadiusHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/RectangleFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/RoundRectangleFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/ScribbleTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/ShortestDistanceConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/TextFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/TextTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/figures/UngroupCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/ConnectionFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/Connector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/Cursor.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/Drawing.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingChangeEvent.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingChangeListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingEditor.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingView.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/Figure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/FigureAttributeConstant.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/FigureChangeEvent.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/FigureChangeListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/FigureEnumeration.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/FigureSelection.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/FigureSelectionListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/FigureVisitor.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/Handle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/HandleEnumeration.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/JHotDrawException.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/JHotDrawRuntimeException.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/Locator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/Painter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/PointConstrainer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/Tool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/ToolListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/framework/ViewChangeListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/ATEXT1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/ATEXT2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/ATEXT3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/BORDDEC1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/BORDDEC2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/BORDDEC3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/CONN1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/CONN2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/CONN3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/DIAMOND1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/DIAMOND2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/DIAMOND3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/ELLIPSE1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/ELLIPSE2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/ELLIPSE3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/ERASER1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/ERASER2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/ERASER3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/HTMLAREA1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/HTMLAREA2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/HTMLAREA3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/LINE1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/LINE2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/LINE3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/OCONN1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/OCONN2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/OCONN3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/PERT1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/PERT2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/PERT3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/POLYGON1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/POLYGON2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/POLYGON3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/RECT1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/RECT2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/RECT3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/RRECT1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/RRECT2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/RRECT3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/SCRIBBL1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/SCRIBBL2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/SCRIBBL3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/SEL1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/SEL2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/SEL3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/TEMPLATE.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/TEMPLAT_.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/TEXT1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/TEXT2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/TEXT3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/TEXTAREA1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/TEXTAREA2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/images/TEXTAREA3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw.jdo
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/AnimationDecorator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/Animator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/BouncingDrawing.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/FollowURLTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawApp.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawApplet.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawAppletHelp.html
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawViewer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/MySelectionTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/PatternPainter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/URLTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/DUKE.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/Juggler0.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/backgrnd.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/beans.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/bg1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/javacentral.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/rain.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/view.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/mini/ConnectingFiguresSample.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/mini/package.html
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/minimap/MiniMapApplication.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/minimap/MiniMapDesktop.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/net.jdo
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/net/NetApp.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/net/NodeFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/nothing/NothingApp.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/nothing/NothingApplet.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/ConnectorApp.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/MyEllipseFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/MyFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/NodeFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/offsetConnectors.draw
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertApplet.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertAppletHelp.html
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertApplication.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertDependency.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertFigureCreationTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/pert/images/PERT1.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/pert/images/PERT2.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/samples/pert/images/PERT3.gif
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/AWTCursor.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractLocator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ActionTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/AlignCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/BoxHandleKit.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/BringToFrontCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/BufferedUpdateStrategy.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeAttributeCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionEndHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionStartHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ChopBoxConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/CompositeFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ConnectionHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ConnectionTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/CopyCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/CreationTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/CutCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/DecoratorFigure.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/DeleteCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/DeleteFromDrawingVisitor.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/DragTracker.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/DuplicateCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/FastBufferedUpdateStrategy.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/FigureAndEnumerator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/FigureChangeAdapter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/FigureChangeEventMulticaster.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/FigureEnumerator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/FigureTransferCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/GridConstrainer.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/HandleAndEnumerator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/HandleEnumerator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/HandleTracker.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/InsertIntoDrawingVisitor.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/LocatorConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/LocatorHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/NullDrawingView.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/NullHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/NullPainter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/NullTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/OffsetConnector.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/OffsetLocator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/OrderedFigureElement.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/PasteCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/PeripheralLocator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/QuadTree.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/RelativeLocator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ReverseFigureEnumerator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/SelectAllCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/SelectAreaTracker.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/SelectionTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/SendToBackCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/SimpleUpdateStrategy.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/SingleFigureEnumerator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/StandardDrawing.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/StandardDrawingView.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/StandardFigureSelection.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/TextHolder.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ToggleGridCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/standard/ToolButton.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/Animatable.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/Bounds.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/Clipboard.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/CollectionsFactory.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/ColorMap.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/Command.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/CommandButton.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/CommandChoice.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/CommandListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/CommandMenu.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/Filler.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/FloatingTextField.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/Geom.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/GraphLayout.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/Iconkit.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/PaletteButton.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/PaletteIcon.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/PaletteLayout.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/PaletteListener.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/RedoCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/ReverseListEnumerator.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/SerializationStorageFormat.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/StandardStorageFormat.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/StandardVersionControlStrategy.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/Storable.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/StorableInput.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/StorableOutput.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/StorageFormat.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/StorageFormatManager.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/UndoCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/UndoManager.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/UndoRedoActivity.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/Undoable.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/UndoableAdapter.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/UndoableCommand.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/UndoableHandle.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/UndoableTool.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/VersionControlStrategy.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/VersionManagement.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/VersionRequester.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/CollectionsFactoryJDK11.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/IteratorWrapper.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/ListWrapper.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/MapWrapper.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/SetWrapper.java
 delete mode 100644 jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk12/CollectionsFactoryJDK12.java
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/contrib.jdo
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/figures.jdo
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/framework.jdo
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/TOBACK1.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/TOBACK2.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/TOBACK3.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/TOFRONT1.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/TOFRONT2.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/TOFRONT3.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/TRIANGLE1.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/TRIANGLE2.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/TRIANGLE3.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/URL1.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/URL2.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/URL3.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/ZOOM1.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/ZOOM2.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/ZOOM3.gif
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/images/pspbrwse.jbf
 delete mode 100644 jhotdraw6/src/main/resources/org/jhotdraw/standard.jdo
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/JHDTestCase.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CTXCommandMenuTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CTXWindowMenuTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ChopDiamondConnectorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ChopPolygonConnectorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ClippingUpdateStrategyTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CommandCheckBoxMenuItemTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CommandMenuItemTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ComponentFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CompositeFigureCreationToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CustomSelectionToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CustomToolBarTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/DesktopEventServiceTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/DiamondFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/FloatingTextAreaTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/GraphicalCompositeFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/HelperTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/JPanelDesktopTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/JScrollPaneDesktopTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MDIDesktopPaneTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MDI_DrawApplicationTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MiniMapViewTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/NestedCreationToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SVGDrawAppTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SVGStorageFormatTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SimpleLayouterTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SplitConnectionToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/StandardLayouterTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TextAreaFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TextAreaToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TriangleFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/contrib/WindowMenuTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/ArrowTipTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/BorderDecoratorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/BorderToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/ChopEllipseConnectorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/ConnectedTextToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/ElbowConnectionTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/ElbowHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/EllipseFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/FigureAttributesTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/FiguresSuite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/FontSizeHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/GroupCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/GroupFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/ImageFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/InsertImageCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/LineConnectionTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/LineFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/NullConnectorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/NullFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/NumberTextFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineConnectorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/RectangleFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/RoundRectangleFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/ScribbleToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/ShortestDistanceConnectorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/TextFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/TextToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/figures/UngroupCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/framework/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/framework/DrawingChangeEventTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/framework/FigureAttributeConstantTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/framework/FigureChangeEventTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/framework/FrameworkSuite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AnimationDecoratorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AnimatorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/BouncingDrawingTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawAppTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawAppletTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawViewerTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavadrawSuite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/MySelectionToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/PatternPainterTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/URLToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MiniMapApplicationTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MiniMapDesktopTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MinimapSuite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NetAppTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NetSuite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NodeFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingAppTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingAppletTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingSuite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertAppletTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertApplicationTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertDependencyTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertFigureCreationToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertFigureTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertSuite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/AlignCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/BoxHandleKitTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/BringToFrontCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/BufferedUpdateStrategyTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeAttributeCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeConnectionEndHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeConnectionStartHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChopBoxConnectorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/ConnectionHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/ConnectionToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/CopyCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/CreationToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/CutCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/DeleteCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/DeleteFromDrawingVisitorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/DragTrackerTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/DuplicateCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/FastBufferedUpdateStrategyTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureAndEnumeratorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureChangeAdapterTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureChangeEventMulticasterTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureEnumeratorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/GridConstrainerTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleAndEnumeratorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleEnumeratorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleTrackerTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/InsertIntoDrawingVisitorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/LocatorConnectorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/LocatorHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullDrawingViewTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/OffsetLocatorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/PasteCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/PeripheralLocatorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/RelativeLocatorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/ReverseFigureEnumeratorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectAllCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectAreaTrackerTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectionToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/SendToBackCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/SimpleUpdateStrategyTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/SingleFigureEnumeratorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardDrawingTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardDrawingViewTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardFigureSelectionTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardSuite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/ToggleGridCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/standard/ToolButtonTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/BoundsTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/ClipboardTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/ColorMapTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandButtonTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandChoiceTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandMenuTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/FillerTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/FloatingTextFieldTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/GeomTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/GraphLayoutTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/IconkitTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/JDOStorageFormatTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/PaletteIconTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/PaletteLayoutTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/RedoCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/ReverseListEnumeratorTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/SerializationStorageFormatTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/StandardStorageFormatTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/StandardVersionControlStrategyTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/StorableInputTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/StorableOutputTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/StorageFormatManagerTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoManagerTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoRedoActivityTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableAdapterTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableCommandTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableHandleTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableToolTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/UtilSuite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/VersionManagementTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/IteratorWrapperTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/Jdk11Suite.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/ListWrapperTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/MapWrapperTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/SetWrapperTest.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/AllTests.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java
 delete mode 100644 jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/Jdk12Suite.java
 delete mode 100644 jhotdraw7/manifest.mf
 delete mode 100644 jhotdraw7/pom.xml
 delete mode 100644 jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/PERT1.gif
 delete mode 100644 jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/PERT2.gif
 delete mode 100644 jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/PERT3.gif
 delete mode 100644 jmodeller/.classpath
 delete mode 100644 jmodeller/DifferenceReporter.java
 delete mode 100644 jmodeller/compile.bat
 delete mode 100644 jmodeller/compile_g.bat
 delete mode 100644 jmodeller/run.bat
 delete mode 100644 jmodeller/src/AggregationDecoration.java
 delete mode 100644 jmodeller/src/AssociationLineConnection.java
 delete mode 100644 jmodeller/src/ClassFigure.java
 delete mode 100644 jmodeller/src/DelegationSelectionTool.java
 delete mode 100644 jmodeller/src/DependencyLineConnection.java
 delete mode 100644 jmodeller/src/InheritanceLineConnection.java
 delete mode 100644 jmodeller/src/JModellerApplication.java
 delete mode 100644 jmodeller/src/JModellerClass.java
 delete mode 100644 jmodeller/src/SeparatorFigure.java
 delete mode 100644 jmodeller/src/images/CLASS1.gif
 delete mode 100644 jmodeller/src/images/CLASS2.gif
 delete mode 100644 jmodeller/src/images/CLASS3.gif
 delete mode 100644 jmodeller/src/images/DEPENDENCY1.gif
 delete mode 100644 jmodeller/src/images/DEPENDENCY2.gif
 delete mode 100644 jmodeller/src/images/DEPENDENCY3.gif
 delete mode 100644 jmodeller/src/images/INHERITANCE1.gif
 delete mode 100644 jmodeller/src/images/INHERITANCE2.gif
 delete mode 100644 jmodeller/src/images/INHERITANCE3.gif
 rename {jhotdraw7/lib => lib}/annotations.jar (100%)
 rename {jhotdraw7/lib => lib}/java_30.zip (100%)
 rename {jhotdraw7/lib => lib}/jsr305.jar (100%)
 rename {jhotdraw7/lib => lib}/libquaqua.jnilib (100%)
 rename {jhotdraw7/lib => lib}/libquaqua64.jnilib (100%)
 rename {jhotdraw7/lib => lib}/quaqua.jar (100%)
 rename jhotdraw6/manifest.mf => manifest.mf (100%)
 rename {jhotdraw7/nbproject => nbproject}/build-impl.xml (100%)
 rename {jhotdraw7/nbproject => nbproject}/genfiles.properties (100%)
 rename {jhotdraw7/nbproject => nbproject}/private/private.properties (100%)
 rename {jhotdraw7/nbproject => nbproject}/private/private.xml (100%)
 rename {jhotdraw7/nbproject => nbproject}/profiler-build-impl.xml (100%)
 rename {jhotdraw7/nbproject => nbproject}/project.properties (100%)
 rename {jhotdraw7/nbproject => nbproject}/project.xml (100%)
 rename jhotdraw6/pom.xml => pom.xml (100%)
 rename {jhotdraw7/src => src}/documentation/changes.html (100%)
 rename {jhotdraw7/src => src}/documentation/getting_started.html (100%)
 rename {jhotdraw7/src => src}/documentation/images/draw_mdi.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/draw_mdi_small.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/draw_osx.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/draw_osx_small.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/jhotdraw-duked.xml (100%)
 rename {jhotdraw7/src => src}/documentation/images/jhotdraw-seven.xml (100%)
 rename {jhotdraw7/src => src}/documentation/images/lion.svg (100%)
 rename {jhotdraw7/src => src}/documentation/images/lion.svgz (100%)
 rename {jhotdraw7/src => src}/documentation/images/net.xml (100%)
 rename {jhotdraw7/src => src}/documentation/images/net_osx.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/net_osx_small.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/pert.xml (100%)
 rename {jhotdraw7/src => src}/documentation/images/pert_osx.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/pert_osx_small.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/svg_osx.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/svg_osx_small.png (100%)
 rename {jhotdraw7/src => src}/documentation/images/webstart.small.gif (100%)
 rename {jhotdraw7/src => src}/documentation/index.html (100%)
 rename {jhotdraw7/src => src}/documentation/jws/draw.jnlp (100%)
 rename {jhotdraw7/src => src}/documentation/jws/net.jnlp (100%)
 rename {jhotdraw7/src => src}/documentation/jws/pert.jnlp (100%)
 rename {jhotdraw7/src => src}/documentation/jws/svg.jnlp (100%)
 rename {jhotdraw7/src => src}/documentation/jws/teddy.jnlp (100%)
 rename {jhotdraw7/src => src}/documentation/license.html (100%)
 rename {jhotdraw7/src => src}/documentation/license_terms_ccby.html (100%)
 rename {jhotdraw7/src => src}/documentation/license_terms_lgpl.html (100%)
 rename {jhotdraw7/src => src}/documentation/release_notes.html (100%)
 rename {jhotdraw7/src => src}/documentation/sample_draw_applet.html (100%)
 rename {jhotdraw7/src => src}/documentation/sample_draw_application.html (100%)
 rename {jhotdraw7/src => src}/documentation/sample_net_applet.html (100%)
 rename {jhotdraw7/src => src}/documentation/sample_net_application.html (100%)
 rename {jhotdraw7/src => src}/documentation/sample_pert_applet.html (100%)
 rename {jhotdraw7/src => src}/documentation/sample_pert_application.html (100%)
 rename {jhotdraw7/src => src}/documentation/sample_svg_applet.html (100%)
 rename {jhotdraw7/src => src}/documentation/sample_svg_application.html (100%)
 rename {jhotdraw7/src => src}/documentation/sample_teddy_application.html (100%)
 rename {jhotdraw7/src => src}/documentation/stylesheet.css (100%)
 rename {jhotdraw7/src => src}/documentation/toc.html (100%)
 rename {jhotdraw7/src => src}/documentation/tutorial/index.html (100%)
 rename {jhotdraw7/src => src}/documentation/tutorial/purpose.html (100%)
 rename {jhotdraw7/src => src}/documentation/tutorial/stylesheet.css (100%)
 rename {jhotdraw7/src => src}/documentation/tutorial/toc.html (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/CDATAReader.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/ContentReader.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/IXMLBuilder.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/IXMLElement.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/IXMLEntityResolver.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/IXMLParser.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/IXMLReader.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/IXMLValidator.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/NonValidator.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/PIReader.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/StdXMLBuilder.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/StdXMLParser.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/StdXMLReader.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/ValidatorPlugin.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/XMLAttribute.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/XMLElement.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/XMLEntityResolver.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/XMLException.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/XMLParseException.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/XMLParserFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/XMLUtil.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/XMLValidationException.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/XMLWriter.java (100%)
 rename {jhotdraw7/src => src}/main/java/net/n3/nanoxml/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/AbstractApplication.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/AbstractApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/AbstractView.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/AbstractView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/AppletApplication.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/Application.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/ApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/DefaultApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/DefaultMenuBuilder.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/Disposable.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/EmptyApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/EmptyMenuBuilder.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/Labels.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/Labels_de.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/Labels_fr.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/MDIApplication.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/MenuBuilder.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/OSXApplication.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/PrintableView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/SDIApplication.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/View.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/AbstractApplicationAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/AbstractSaveUnsavedChangesAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/AbstractViewAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/ActionUtil.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/app/AboutAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/app/AbstractPreferencesAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/app/ExitAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/app/OpenApplicationAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/app/OpenApplicationFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/app/PrintApplicationFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/app/ReOpenApplicationAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/app/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/AbstractFindAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/AbstractSelectionAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/ClearSelectionAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/CopyAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/CutAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/DeleteAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/DuplicateAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/PasteAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/RedoAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/SelectAllAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/UndoAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/edit/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/ClearFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/ClearRecentFilesMenuAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/CloseFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/ExportFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/LoadDirectoryAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/LoadFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/LoadRecentFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/NewFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/NewWindowAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/OpenDirectoryAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/OpenFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/OpenRecentFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/PrintFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/SaveFileAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/SaveFileAsAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/file/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/editCopy.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/editCut.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/editPaste.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/editRedo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/editUndo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/fileNew.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/fileOpen.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/filePrint.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/fileSave.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/images/spacerIcon.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/view/ToggleViewPropertyAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/view/ViewPropertyAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/view/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/window/ArrangeWindowsAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/window/FocusWindowAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/window/MaximizeWindowAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/window/MinimizeWindowAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/window/TogglePaletteAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/window/ToggleToolBarAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/window/ToggleVisibleAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/action/window/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/osx/OSXAdapter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/osx/OSXPaletteHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/osx/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/editCopy.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/editCut.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/editPaste.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/editRedo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/editUndo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/fileNew.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/fileOpen.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/filePrint.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/fileSave.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/app/resources/spacerIcon.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/beans/AbstractBean.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/beans/PropertyChangeEdit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/beans/WeakPropertyChangeListener.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/beans/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/AbstractColorSlidersModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/AbstractColorWheelImageProducer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/AbstractHarmonicRule.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/CIELABColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/CIELCHabColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/CIEXYChromaticityDiagramImageProducer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/CMYKGenericColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/CMYKNominalColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/ColorListCellRenderer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/ColorSliderModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/ColorSliderUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/ColorSquareImageProducer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/ColorTrackImageProducer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/ColorUtil.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/ColorWheelChooser.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/ColorWheelChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/ComplexColorWheelImageProducer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/CompositeColor.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/DefaultColorSliderModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/DefaultHarmonicColorModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/Generic CMYK Profile.icc (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/HSBColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/HSLColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/HSLHarmonicColorWheelImageProducer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/HSLPhysiologicColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/HSVColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/HSVHarmonicColorWheelImageProducer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/HSVPhysiologicColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/HarmonicColorModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/HarmonicRule.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/JColorWheel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/JColorWheel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/JHarmonicColorWheel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/JHarmonicColorWheel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/NamedColorSpace.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/PolarColorWheelImageProducer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/QuantizingColorWheelImageProducer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/SimpleHarmonicRule.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/images/Slider.northThumbs.small.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/images/Slider.westThumbs.small.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/color/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/AbstractAttributedCompositeFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/AbstractAttributedDecoratedFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/AbstractAttributedFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/AbstractCompositeFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/AbstractConstrainer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/AbstractDrawing.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/AbstractFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/AttributeKey.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/AttributeKeys.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/BezierFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/CompositeFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/ConnectionFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/Constrainer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DecoratedFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DefaultDrawing.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DefaultDrawingEditor.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DefaultDrawingView.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DefaultDrawingView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DefaultDrawingViewBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DefaultDrawingViewTransferHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DiamondFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/Drawing.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DrawingEditor.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DrawingEditorProxy.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/DrawingView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/EllipseFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/Figure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/FigureLayerComparator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/GraphicalCompositeFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/GridConstrainer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/GroupFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/ImageFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/ImageHolderFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/LabelFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/LabeledLineConnectionFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/Labels.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/Labels_de.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/LineConnectionFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/LineFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/ListFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/QuadTreeCompositeFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/QuadTreeDrawing.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/RectangleFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/RotationDirection.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/RoundRectangleFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/TextAreaFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/TextFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/TextHolderFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/TranslationDirection.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/TriangleFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/AbstractDrawingEditorAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/AbstractDrawingViewAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/AbstractSelectedAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/AlignAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/ApplyAttributesAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/AttributeAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/AttributeToggler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/BringToFrontAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/ButtonFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/ColorIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/DefaultAttributeAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/DrawingAttributeAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/DrawingColorChooserAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/DrawingColorChooserHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/DrawingColorIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/EditCanvasAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/EditCanvasPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/EditCanvasPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/EditGridAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/EditGridPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/EditGridPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/EditorColorChooserAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/EditorColorIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/FontChooserHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/GroupAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/ImageBevelBorder.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/IncreaseHandleDetailLevelAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/LineDecorationIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/MoveAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/MoveConstrainedAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/PickAttributesAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/SelectSameAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/SelectionColorChooserAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/SelectionColorChooserHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/SelectionColorIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/SendToBackAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/StrokeIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/ToggleGridAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/UngroupAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/ZoomAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/ZoomEditorAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/actions.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/alignEast.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/alignGrid.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/alignGridSmall.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/alignHorizontal.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/alignNorth.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/alignSouth.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/alignVertical.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/alignWest.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attribute.color.colorChooser.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attribute.color.noColor.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeFillColor.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeFont.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeFontBold.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeFontBold_de.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeFontItalic.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeFontItalic_de.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline_de.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeOpacity.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeStrokeCap.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeStrokeColor.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeStrokeDashes.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeStrokeDecoration.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeStrokeJoin.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeStrokePlacement.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeStrokeType.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeStrokeWidth.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributeTextColor.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributesApply.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/attributesPick.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createArrow.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createCurvedConnection.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createDiamond.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createElbowConnection.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createEllipse.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createImage.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createLine.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createLineConnection.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createPolygon.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createRectangle.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createRoundRectangle.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createScribble.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createText.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createTextArea.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/createTriangle.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/editCopy.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/editCut.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/editPaste.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/editRedo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/editUndo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/fileNew.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/fileOpen.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/filePrint.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/fileSave.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/moveDown.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/moveEast.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/moveNorth.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/moveSouth.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/moveToBack.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/moveToFront.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/moveUp.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/moveWest.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/popupIcon.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/selectionGroup.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/selectionTool.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/selectionUngroup.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/images/spacerIcon.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/action/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/AbstractConnector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/ChopBezierConnector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/ChopDiamondConnector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/ChopEllipseConnector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/ChopRectangleConnector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/ChopRoundRectangleConnector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/ChopTriangleConnector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/Connector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/LocatorConnector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/StickyRectangleConnector.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/connector/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/decoration/AbstractLineDecoration.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/decoration/ArrowTip.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/decoration/CompositeLineDecoration.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/decoration/GeneralPathTip.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/decoration/LineDecoration.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/decoration/PerpendicularBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/decoration/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/AbstractAttributeEditorHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/AttributeChangeEdit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/BezierNodeEdit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/CompositeFigureEdit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/CompositeFigureEvent.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/CompositeFigureListener.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/DrawingAttributeEditorHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/DrawingComponentRepainter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/FigureAdapter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/FigureAttributeEditorHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/FigureEvent.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/FigureListener.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/FigureSelectionEvent.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/FigureSelectionListener.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/HandleEvent.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/HandleListener.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/HandleMulticaster.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/SelectionComponentDisplayer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/SelectionComponentRepainter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/SetBoundsEdit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/ToolAdapter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/ToolEvent.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/ToolListener.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/TransformEdit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/TransformRestoreEdit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/event/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/JAttributeSlider.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/JAttributeSlider.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/JAttributeSliderBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/JAttributeTextAreaBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/JAttributeTextField.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/JAttributeTextField.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/JAttributeTextFieldBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/gui/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/AbstractConnectionHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/AbstractHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/AbstractRotateHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/BezierControlPointHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/BezierNodeHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/BezierOutlineHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/BezierScaleHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/BoundsOutlineHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/CloseHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/ConnectionEndHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/ConnectionStartHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/ConnectorHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/DragHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/FontSizeHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/Handle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/HandleAttributeKeys.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/LocatorHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/MoveHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/NullHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/OrientationHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/ResizeHandleKit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/RotateHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/RoundRectangleRadiusHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/TextOverflowHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/TransformHandleKit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/handle/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/io/DOMStorableInputOutputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/io/ImageInputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/io/ImageOutputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/io/InputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/io/OutputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/io/SerializationInputOutputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/io/TextInputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/io/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/layouter/AbstractLayouter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/layouter/HorizontalLayouter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/layouter/Layouter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/layouter/LocatorLayouter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/layouter/VerticalLayouter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/layouter/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/liner/CurvedLiner.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/liner/ElbowLiner.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/liner/Liner.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/liner/SlantedLiner.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/liner/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/locator/AbstractLocator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/locator/BezierLabelLocator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/locator/BezierPointLocator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/locator/FontSizeLocator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/locator/Locator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/locator/RelativeDecoratorLocator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/locator/RelativeLocator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/locator/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/print/DrawingPageable.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/print/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/text/FloatingTextArea.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/text/FloatingTextField.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/text/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/AbstractTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/BezierTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/ConnectionTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/CreationTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/DefaultDragTracker.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/DefaultHandleTracker.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/DefaultSelectAreaTracker.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/DelegationSelectionTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/DnDTracker.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/DragTracker.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/HandleTracker.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/ImageTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/SelectAreaTracker.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/SelectionTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/TextAreaCreationTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/TextAreaEditingTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/TextCreationTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/TextEditingTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/Tool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/draw/tool/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/Bezier.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/BezierPath.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/BezierPathIterator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/ConvexHull.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/Dimension2DDouble.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/DoubleStroke.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/Geom.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/GrowStroke.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/Insets2D.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/Polygon2D.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/QuadTree.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/Shapes.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/geom/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/Arrangeable.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/AttributeEditor.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/DisclosureIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/EditableComponent.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/EmptyIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JComponentPopup.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JDisclosureToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JDisclosureToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JDisclosureToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JFileURIChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JFontChooser.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JFontChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JLifeFormattedTexAreaBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JLifeFormattedTextField.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JLifeFormattedTextField.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JLifeFormattedTextFieldBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JMDIDesktopPane.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JPopupButton.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JPopupButton.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JPopupButtonBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/JSheet.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/Labels.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/Labels_de.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/PlacardScrollPaneLayout.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/ToolBarLayout.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/URIChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/VerticalGridLayout.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/Worker.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/AWTClipboard.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/AbstractClipboard.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/AbstractTransferable.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/ClipboardUtil.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/CompositeTransferable.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/ImageTransferable.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/InputStreamTransferable.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/JNLPClipboard.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/OSXClipboard.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/datatransfer/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/event/GenericListener.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/event/SheetEvent.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/event/SheetListener.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/event/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/filechooser/ExtensionFileFilter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/filechooser/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/fontchooser/AbstractFontChooserModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/fontchooser/DefaultFontChooserModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/fontchooser/FontChooserModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/fontchooser/FontCollectionNode.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/fontchooser/FontFaceNode.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/fontchooser/FontFamilyNode.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/fontchooser/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/FontChooserUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/BackdropBorder.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/MultiIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteBorders.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonBorder.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorChooserUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorSliderUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteFormattedTextFieldUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteLabelUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteLazyActionMap.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteListCellRenderer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteListUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteLookAndFeel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteMenuItemUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PalettePanelUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteRootPaneUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderThumbIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteTabbedPaneUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextComponentBorder.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextFieldUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarBorder.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarUI.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/PaletteUtilities.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorSliderTextFieldHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSliderModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.northThumbs.small.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.westThumbs.small.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/gui/plaf/palette/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/io/Base64.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/io/BoundedRangeInputStream.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/io/StreamPosTokenizer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/io/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/net/ClientHttpRequest.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/net/URIUtil.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/net/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/overview.html (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/color/JMixer.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/color/JMixer.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/color/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawApplet.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawApplet.html (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawApplet.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawFigureFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.html (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawView.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawingPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawingPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/DrawingPanelBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/Main.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/draw/plasmadraw.xml (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/font/FontChooserMain.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/font/FontChooserMain.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/font/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/AnimationSample.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/AnimationSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/BezierDemo.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/BezierDemo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/BorderRectangleFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/ConnectingFiguresSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/CreationToolSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/DefaultDOMStorableSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/DnDMultiEditorSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/EditorSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/FileIconsSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/LabeledLineConnectionFigureSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/LayouterSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/MovableChildFiguresSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/MultiEditorSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/SelectionToolSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/SmartConnectionFigureSample.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/StraightLineFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/mini/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/Labels.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/Labels_de.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/Main.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/NetApplet.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/NetApplet.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/NetApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/NetFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/NetPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/NetPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/NetView.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/NetView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/figures/NodeFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/figures/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/images/createLink.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/images/createNode.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/net/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/Gradient.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/Labels.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/Main.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGAttributeKeys.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGConstants.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGDrawing.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGDrawingPanelBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanelBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGView.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/ODGView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/PathTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/action/CombineAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/action/SplitAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/action/TogglePropertiesPanelAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/action/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/ODGAttributedFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/ODGBezierFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/ODGEllipseFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/ODGFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/ODGGroupFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/ODGPathFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/ODGPathOutlineHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/ODGRectFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/ODGRectRadiusHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/figures/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/geom/EnhancedPath.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/geom/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/io/DefaultODGFigureFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/io/ODGFigureFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/io/ODGInputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/io/ODGStylesReader.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/io/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/odg/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/Labels.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/Labels_de.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/Main.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/PertApplet.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/PertApplet.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/PertApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/PertFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/PertPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/PertPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/PertView.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/PertView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/figures/DependencyFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/figures/SeparatorLineFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/figures/TaskFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/figures/package-info.java (100%)
 rename {JHotDraw/src/CH/ifa/draw => src/main/java/org/jhotdraw/samples/pert}/images/PERT1.gif (100%)
 rename {JHotDraw/src/CH/ifa/draw => src/main/java/org/jhotdraw/samples/pert}/images/PERT2.gif (100%)
 rename {JHotDraw/src/CH/ifa/draw => src/main/java/org/jhotdraw/samples/pert}/images/PERT3.gif (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/images/createDependency.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/images/createTask.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/pert/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/Gradient.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/Labels.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/Labels_de.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/LinearGradient.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/Main.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/PathTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/RadialGradient.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGApplet.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGApplet.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGAttributeKeys.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGConstants.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGCreateFromFileTool.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGDrawingPanelBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGView.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/SVGView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/CombineAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/SplitAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/ViewSourceAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/actions.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/alignEast.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/alignGrid.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/alignHorizontal.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/alignNorth.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/alignSouth.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/alignVertical.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/alignWest.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.colorChooser.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.noColor.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeFillColor.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeFont.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeFontBold.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeFontItalic.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeFontSize.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeFontUnderline.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeOpacity.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeCap.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeColor.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDashes.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDecoration.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeJoin.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeWidth.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributesApply.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/attributesPick.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/createArrow.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/createEllipse.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/createImage.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/createLine.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/createPolygon.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/createRectangle.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/createScribble.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/createText.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/createTextArea.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/editRedo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/editUndo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/moveDown.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/moveToBack.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/moveToFront.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/moveUp.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/images/selectionTool.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/action/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/ConvexHullOutlineHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/LinkHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGAttributedFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGBezierFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGEllipseFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGGroupFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGImageFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGPathFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGPathOutlineHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGRectFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGRectRadiusHandle.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGTextAreaFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/SVGTextFigure.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/figures/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/AlignToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/DrawingComponent.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/DrawingOpacityIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/FigureToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/FillToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/FontToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/LinkToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/SelectionOpacityIcon.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ServerAuthenticationException.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/ViewToolBarBeanInfo.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/gui/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/io/DefaultSVGFigureFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/io/ImageMapOutputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/io/SVGElementFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/io/SVGFigureFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/io/SVGInputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/io/SVGOutputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/io/SVGZInputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/io/SVGZOutputFormat.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/io/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/svg/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/FindDialog.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/FindDialog.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/JEditorArea.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/JEditorArea.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/Labels.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/Labels_de.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/Main.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/TeddyApplicationModel.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/TeddyView.form (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/TeddyView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/action/FindAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/action/ToggleLineNumbersAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/action/ToggleLineWrapAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/action/ToggleStatusBarAction.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/action/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/io/LFWriter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/io/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/regex/MatchType.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/regex/Matcher.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/regex/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/text/NumberedEditorKit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/text/NumberedParagraphView.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/text/NumberedViewFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/samples/teddy/text/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/text/ColorFormatter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/text/ColorToolTipTextFormatter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/text/FontFormatter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/text/JavaNumberFormatter.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/text/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/undo/CompositeEdit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/undo/Labels.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/undo/Labels_de.properties (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/undo/NonUndoableEdit.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/undo/UndoRedoManager.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/undo/images/editRedo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/undo/images/editUndo.png (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/undo/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/util/Images.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/util/LocaleUtil.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/util/Methods.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/util/ResourceBundleUtil.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/util/ReversedList.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/util/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/util/prefs/PreferencesUtil.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/util/prefs/ToolBarPrefsHandler.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/util/prefs/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/DOMFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/DOMInput.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/DOMOutput.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/DOMStorable.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/DefaultDOMFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/JavaPrimitivesDOMFactory.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/JavaxDOMInput.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/JavaxDOMOutput.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/NanoXMLDOMInput.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/NanoXMLDOMOutput.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/XMLTransferable.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/css/CSSParser.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/css/CSSRule.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/css/StyleManager.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/css/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/java/org/jhotdraw/xml/package-info.java (100%)
 rename {jhotdraw7/src => src}/main/resources/JHotDrawIcons.png (100%)
 rename {jhotdraw7/src => src}/main/resources/sRGBmatrix.m (100%)
 rename {jhotdraw7/src => src}/main/resources/xyToRGBmatrix.m (100%)
 rename {jhotdraw7/src => src}/test/java/org/jhotdraw/geom/BezierPathTest.java (100%)

diff --git a/jhotdraw7/.classpath b/.classpath
similarity index 100%
rename from jhotdraw7/.classpath
rename to .classpath
diff --git a/jhotdraw7/.project b/.project
similarity index 100%
rename from jhotdraw7/.project
rename to .project
diff --git a/JHotDraw/JavaDrawApplet.html b/JHotDraw/JavaDrawApplet.html
deleted file mode 100644
index 64fbbd431..000000000
--- a/JHotDraw/JavaDrawApplet.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-
-<head>
-  <title>JHotDraw Applet</title>
-</head>
-<body>
-<h1>JavaDraw Applet</h1>
-<b><a href="CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html">Description</a></b>
-<hr>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 560 HEIGHT = 370  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "CH.ifa.draw.samples.javadraw.JavaDrawApplet.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 560
-            HEIGHT = 370 
-            DRAWINGS ="Demo Pert"
-            Demo ="drawings/demo.draw"
-            Pert ="drawings/pert.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "CH.ifa.draw.samples.javadraw.JavaDrawApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370></XMP>
-    <PARAM NAME = CODE VALUE = "CH.ifa.draw.samples.javadraw.JavaDrawApplet.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = DRAWINGS VALUE ="Demo Pert">
-    <PARAM NAME = Demo VALUE ="drawings/demo.draw">
-    <PARAM NAME = Pert VALUE ="drawings/pert.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "CH.ifa.draw.samples.javadraw.JavaDrawApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370>
-<PARAM NAME = DRAWINGS VALUE ="Demo Pert">
-<PARAM NAME = Demo VALUE ="drawings/demo.draw">
-<PARAM NAME = Pert VALUE ="drawings/pert.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/JHotDraw/JavaDrawViewer.html b/JHotDraw/JavaDrawViewer.html
deleted file mode 100644
index 8b08ff902..000000000
--- a/JHotDraw/JavaDrawViewer.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-
-<head>
-  <title>JavaDraw Viewer</title>
-</head>
-<h1>JavaDraw Viewer</h1>
-<hr>
-
-<body>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 460 HEIGHT = 350  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "CH.ifa.draw.samples.javadraw.JavaDrawViewer.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 460
-            HEIGHT = 350 
-            Drawing ="drawings/demo.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "CH.ifa.draw.samples.javadraw.JavaDrawViewer.class" ARCHIVE = "jhotdraw.jar" WIDTH = 460 HEIGHT = 350></XMP>
-    <PARAM NAME = CODE VALUE = "CH.ifa.draw.samples.javadraw.JavaDrawViewer.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = Drawing VALUE ="drawings/demo.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "CH.ifa.draw.samples.javadraw.JavaDrawViewer.class" ARCHIVE = "jhotdraw.jar" WIDTH = 460 HEIGHT = 350>
-<PARAM NAME = Drawing VALUE ="drawings/demo.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/JHotDraw/NothingApplet.html b/JHotDraw/NothingApplet.html
deleted file mode 100644
index ce946c936..000000000
--- a/JHotDraw/NothingApplet.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-
-<head>
-  <title>Nothing Applet</title>
-</head>
-<body>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 560 HEIGHT = 370  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "CH.ifa.draw.samples.nothing.NothingApplet.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 560
-            HEIGHT = 370 
-            DRAWINGS ="Nothing"
-            Nothing ="drawings/nothing.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "CH.ifa.draw.samples.nothing.NothingApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370></XMP>
-    <PARAM NAME = CODE VALUE = "CH.ifa.draw.samples.nothing.NothingApplet.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = DRAWINGS VALUE ="Nothing">
-    <PARAM NAME = Nothing VALUE ="drawings/nothing.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "CH.ifa.draw.samples.nothing.NothingApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370>
-<PARAM NAME = DRAWINGS VALUE ="Nothing">
-<PARAM NAME = Nothing VALUE ="drawings/nothing.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/JHotDraw/PertApplet.html b/JHotDraw/PertApplet.html
deleted file mode 100644
index bb988927f..000000000
--- a/JHotDraw/PertApplet.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-
-<head>
-  <title>Draw Applet</title>
-</head>
-<h1>PERT Applet</h1>
-<b><a href="CH/ifa/draw/samples/pert/PertAppletHelp.html">Description</a></b>
-<hr>
-<body>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 550 HEIGHT = 340  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "CH.ifa.draw.samples.pert.PertApplet.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 550
-            HEIGHT = 340 
-            DRAWINGS ="SAMPLE"
-            SAMPLE ="drawings/pert.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "CH.ifa.draw.samples.pert.PertApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 550 HEIGHT = 340></XMP>
-    <PARAM NAME = CODE VALUE = "CH.ifa.draw.samples.pert.PertApplet.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = DRAWINGS VALUE ="SAMPLE">
-    <PARAM NAME = SAMPLE VALUE ="drawings/pert.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "CH.ifa.draw.samples.pert.PertApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 550 HEIGHT = 340>
-<PARAM NAME = DRAWINGS VALUE ="SAMPLE">
-<PARAM NAME = SAMPLE VALUE ="drawings/pert.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/JHotDraw/README.html b/JHotDraw/README.html
deleted file mode 100644
index 7f6e1c9b5..000000000
--- a/JHotDraw/README.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <title>JHotDraw 5.4</title>
-</head>
-<body>
-
-<h1>JHotDraw 5.4</h1>
-
-<hr><p>   
-<b>Preface: This is a beta release [JHotDraw5.4b1]<p>
-This beta release contains the latest CVS snapshot and should be considered as progress
-in work. It has not been extensively tested but is aimed to give developers access to a
-more recent version of JHotDraw that 5.3.<p>
-The release includes numereous new features among them: undo/redo support, enhanced MDI support,
-many new figures (TextArea and figures with HTML support), zooming, minimap preview,
-bug fixes,...<p>
-Moreover, it contains a skeleton test suite which has been generated using JUnitDoclet.
-The tests are compilable but not functional. Anyway, the excuse for not writing tests
-because there weren't any is now not valid anymore ;-) Anyone contributing tests and filling the
-test suite with life is welcome!<p>
-Finally, developers who require a more stable release or are not willing to bear with some
-bugs and exceptions should not use this beta release. Anyone else gets a preview of
-the new functionality and compatibility. Any comments are welcome but (timely) response
-cannot be guaranteed.
-</b>
-<p>
-
-<hr>This document gives an overview of the JHotDraw distribution, describes
- how to install it, and offers links for getting started. Please refer to
-the <a href="doc/ReleaseNotes.html"> release notes</a> for more information
-about the 5.4 release.  
-<h3>Contents</h3>
-<pre>JHotDraw<br>
-    drawings                    sample drawings<br>
-    documentation               documentation for JHotDraw<br>
-    javadoc                     javadoc generated documentation<br>
-    pattlets                    pattern summary slides. They are referred<br>
-                                to from the javadoc documentation.<br><br>
-    CH                          the JHotDraw class files<br>
-        ifa<br>
-            draw<br>
-                images          image resources<br>
-                util            common utilities that are independent of<br>
-                                JHotDraw<br>
-                framework       JHotDraw framework<br>
-                standard        standard implementations of the JHotDraw<br>
-                                framework abstractions<br>
-                figures         a set of figures and their support classes<br>
-                applet          standard UI for JHotDraw applets<br>
-                application     standard UI for JHotDraw applications<br>
-                contrib         a package with contributions to JHotDraw<br>
-                samples<br>
-                    nothing     Nothing sample<br>
-                    javadraw    JHotDraw sample<br>
-                    pert        PERT sample<br>
-                    net         A simple node and connections editor<br><br>
-    sources                     the java source files mirror the<br>
-                                hierarchy of the class files<br><br></pre>
-<h3>Installation</h3>
-The distribution includes no development environment specificconfiguration
-or makefiles.
-<p>To run the applets doesn't require any further installation steps.Refer
- to the <a href="doc/samples.html">samples</a> to view the sample applets.</p>
-   
-<p>To run the sample applications you should include the JHotDraw directory
-in your CLASSPATH. <b>Note</b> using a relative path to refer to JHotDraw
-can result in class loading errors. You run into this problem when the application's
-working directory is changed with a file dialog.</p>
-   
-<h3>Getting Started</h3>
- To get started check out the <a href="doc/samples.html">samples</a>  and the 
-<a href="doc/documentation.html">documentation</a> delivered with JHotDraw.
- 
-<h3>Legal</h3>
- These release is distributed under <a href="lgpl-license.html">LGPL</a>.<br>
- <br>
- The original version of JHotDraw is copyright 1996, 1997 by IFA Informatik 
-and <a href="mailto:erich_gamma@acm.org">Erich Gamma</a>.  
-<p>It is hereby granted that this software can be used, copied, modified,
-anddistributed without fee provided that this copyright noticeappears in
-all copies.</p>
-   
-<hr><br>
- <br>
-      
-</body>
-</html>
diff --git a/JHotDraw/build/build.properties b/JHotDraw/build/build.properties
deleted file mode 100644
index 234fe2cb5..000000000
--- a/JHotDraw/build/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-dest.dir=..
\ No newline at end of file
diff --git a/JHotDraw/build/build.xml b/JHotDraw/build/build.xml
deleted file mode 100644
index ebee28b61..000000000
--- a/JHotDraw/build/build.xml
+++ /dev/null
@@ -1,370 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JHotDraw" default="main" basedir=".">
-
-  <!-- Give user a chance to override without editing this file
-       (and without typing -D each time it compiles it -->
-  <property file="${user.home}/.ant.properties"/>
-  <property file="build.properties"/>
-  <!-- user-dependent properties can include (for copy and paste into mybuild.properties):
-    junit.class.path=
-    junitdoclet.class.path=
-    versiondoclet.class.path=
-    checkstyle.class.path=
-    namingstrategy.class.path=
-    jdo.class.path = 
-    batik.class.path = <batik-dom.jar;batik-svggen.jar;batik-awt-util.jar>
-    Note: be sure to use forward slashes as path separators even on Windows systems
-  -->
-  <property file="mybuild.properties"/>
-  
-  <property name="build.classes" value="${dest.dir}"/>
-  <property name="build.jar.name" value="jhotdraw.jar"/>
-  <property name="build.jar" value="${dest.dir}/${build.jar.name}"/>
-  <property name="deploy.dir" value="${dest.dir}/deploy"/>
-  <property name="zip.file" value="${deploy.dir}/jhotdraw.zip"/>
-
-  <property name="src.dir" value="${dest.dir}/src"/>
-  <property name="images.dir" value="CH/ifa/draw/images"/>
-  <property name="javadraw.images.dir" value="CH/ifa/draw/samples/javadraw/sampleimages"/>
-  <property name="pert.images.dir" value="CH/ifa/draw/samples/pert/images"/>
-
-  <property name="javadoc.dir" value="${dest.dir}/javadoc"/>
-  <property name="mk.dir" value="${dest.dir}/build"/>
-  <property name="testsuite.package.name" value="CH.ifa.draw.test"/>
-  <property name="testsuite" value="${testsuite.package.name}.AllTests"/>
-  
-  <property name="javac.deprecation" value="off"/>
-  <property name="javac.includes" value="**/*.java"/>
-
-  <property name="manifest.name" value="jhotdraw.mf"/>
-
-  <!-- Dependencies on optional packages                                   -->  
-  <!--<property name="needs.batik.src" value="CH/ifa/draw/contrib/SVG*.java"/>
-  <property name="needs.jdo.src" value="CH/ifa/draw/util/JDOStorageFormat.java"/>
-  -->
-  <property name="needs.batik.src" value="**/SVG*.java"/>
-  <property name="needs.jdo.src" value="**/JDOStorageFormat.java"/>
-  <property name="needs.junit.src" value="CH/ifa/draw/test/**"/>
-
-  <property name="needs.batik.class" value="CH.ifa.draw.contrib.SVG*"/>
-  <property name="needs.jdo.class" value="CH.ifa.draw.util.JDOStorageFormat"/>
-  <property name="needs.junit.class" value="CH.ifa.draw.test.*"/>
-  
-  <property name="test.packages" value="CH.ifa.draw.test.*"/>
-
-  <property environment="env"/>
-
-  <!-- =================================================================== -->
-  <!-- Set timestamp and check for optional packages                       -->
-  <!-- =================================================================== -->
-  <target name="init">
-  	<tstamp/>
-  </target>
-
-  <target name="check_for_optional_packages">
-	<available property="batik.available" file="${batik.class.path}"/>
-	<available property="jdo.available" file="{jdo.class.path}"/>
-    <available property="versiondoclet.available" file="${versiondoclet.class.path}"/>
-    <available property="junit.available" file="${junit.class.path}"/>
-	<available property="junitdoclet.available" file="${junitdoclet.class.path}"/>
-    <available property="namingstrategy.available" file="${namingstrategy.class.path}"/>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Builds a complete package with all files from scratch               -->
-  <!-- =================================================================== -->
-  <target name="all" depends="clean, main, javadoc, junit_test, deploy">
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Builds a package with all essential files                           -->
-  <!-- =================================================================== -->
-  <target name="main" depends="init, compile, copy_resources, jar">
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Compiles the source code                                            -->
-  <!-- =================================================================== -->
-  <target name="compile" 
-          depends="check_for_optional_packages, delete_dependants" 
-          description="Compiles the source code">
-     <javac srcdir="${src.dir}"
-           destdir="${build.classes}"
-           debug="${javac.debug}"
-           deprecation="${javac.deprecation}"
-           optimize="${javac.optimize}"
-           fork="${javac.fork}">
-      <include name="CH/ifa/draw/framework/**"/>
-    </javac>
-    <javac srcdir="${src.dir}"
-           destdir="${build.classes}"
-           debug="${javac.debug}"
-           deprecation="${javac.deprecation}"
-           optimize="${javac.optimize}"
-           fork="${javac.fork}">
-      <include name="${javac.includes}"/>
-      <exclude name="CH/ifa/draw/framework/**"/>
-      <exclude name="${needs.batik.src}" unless="batik.available"/>
-      <exclude name="${needs.jdo.src}" unless="jdo.available"/>
-      <exclude name="${needs.junit.src}"/>
-      <classpath>
-        <pathelement path="${java.class.path}"/>
-        <pathelement path="${jdo.class.path}"/>
-        <pathelement path="${batik.class.path}"/>
-      </classpath>
-    </javac>
-  </target>
-
-  <target name="delete_dependants" unless="javac.nodepend">
-    <depend srcdir="${src.dir}" destdir="${build.classes}"
-            cache="depcache" closure="yes">
-      <include name="${javac.includes}"/>
-      <exclude name="${needs.batik.src}" unless="batik.available"/>
-      <exclude name="${needs.jdo.src}"  unless="jdo.available"/>
-      <exclude name="${needs.junit.src}"/>
-    </depend>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Generates JavaDoc                                                   -->
-  <!-- =================================================================== -->
-  <target name="javadoc" depends="check_for_optional_packages">
-    <antcall target="standard_javadoc"/>
-    <antcall target="versiondoclet_javadoc"/>
-  </target>
-
-  <target name="standard_javadoc" unless="versiondoclet.available">
-    <echo>using standard doclet...</echo>
-    <mkdir dir="${javadoc.dir}"/>
-    <javadoc
-      destdir      = "${javadoc.dir}"
-      classpath    = "${dest.dir}"
-      author       = "false"
-      version      = "true">
-      <fileset dir="${src.dir}" >
-        <include name="${javac.includes}"/>
-        <exclude name="${needs.junit.src}"/>
-      </fileset>
-
-    </javadoc>
-  </target>
-
-  <target name="versiondoclet_javadoc" if="versiondoclet.available">
-    <echo>using version doclet...</echo>
-    <mkdir dir="${javadoc.dir}"/>
-    <javadoc
-      destdir      = "${javadoc.dir}"
-      classpath    = "${dest.dir}"
-      author       = "false"
-      version      = "true">
-      <fileset dir="${src.dir}" >
-        <include name="${javac.includes}"/>
-        <exclude name="${needs.junit.src}"/>
-      </fileset>
-      <doclet name="org.jhotdraw.tools.versiondoclet.VersionDoclet">
-        <param name="-versionfile" value="${mk.dir}/${manifest.name}"/>
-        <param name="-version" value=""/>
-        <path>
-          <pathelement path="${versiondoclet.class.path}"/>
-        </path>
-
-      </doclet>
-    </javadoc>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Generates JUnit tests using JUnitDoclet                             -->
-  <!-- =================================================================== -->
-  <path id="tools_path">
-    <pathelement path="${java.home}/lib/tools.jar"/>
-  </path>
-
-  <path id="junit_test_path">
-    <pathelement path = "${dest.dir}"/>
-    <pathelement path = "${junit.class.path}"/>
-    <pathelement path = "${junitdoclet.class.path}"/>
-    <pathelement path = "${namingstrategy.class.path}"/>
-    <pathelement path = "${jdo.class.path}"/>
-    <pathelement path = "${batik.class.path}"/>
-    <pathelement path = "${java.class.path}"/>
-  </path>
-  
-  <target name="junit_doclet" depends="jar">
-    <javadoc
-      classpath           = "${dest.dir}"
-      sourcepath          = "${src.dir}"
-      defaultexcludes     = "yes">
-      <package name="CH.ifa.draw.util.*"/>
-      <excludepackage name="${needs.batik.class}"/>
-      <excludepackage name="${needs.jdo.class}"/>
-      <excludepackage name="${test.packages}"/>
-      <doclet name="com.objectfab.tools.junitdoclet.JUnitDoclet">
-        <param name="-d" value="${src.dir}"/>
-        <param name="-properties" value="jhotdraw_junitdoclet.properties"/>
-        <!-- <param name="-buildall"/> -->
-        <param name="-testintest"/>
-        <param name="-naming" value="org.jhotdraw.tools.testnaming.JHDTestNamingStrategy"/>
-        <path>
-          <pathelement path = "${junitdoclet.class.path}"/>
-          <pathelement path = "${namingstrategy.class.path}"/>
-          <pathelement path = "${jdo.class.path}"/>
-          <pathelement path = "${batik.class.path}"/>
-        </path>
-      </doclet>
-    </javadoc>
-  </target>
-
-  <target name="junit_compile" depends="junit_doclet">
- 	<javac srcdir="${src.dir}"
-           destdir="${dest.dir}"
-           debug="${javac.debug}"
-           deprecation="${javac.deprecation}"
-           optimize="${javac.optimize}">
-      <!-- <include name="${needs.junit.src}"/> -->
-      <include name="CH/ifa/draw/test/**/*.java"/>
-      <exclude name="${needs.batik.src}" unless="batik.available"/>
-      <exclude name="${needs.jdo.src}" unless="jdo.available"/>
-      <classpath>
-        <path refid="junit_test_path"/>
-      </classpath>
-    </javac>
-  </target>
-
-  <target name="junit_test" depends="junit_compile">
-    <junit fork="yes" haltonfailure="no">
-      <formatter type="plain" usefile="no"/>
-      <classpath>
-        <path refid="junit_test_path"/>
-      </classpath>
-      <test name="${testsuite}"/>
-    </junit>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Style check                                                         -->
-  <!-- =================================================================== -->
-<!--
-  <taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask"/>
-  <target name="stylecheck">
-      <checkstyle allowtabs="yes"
-              allownoauthor="yes"
-              maxlinelen="100"
-              headerfile="headerfile.txt"
-              headerignoreline="2"
-              relaxjavadoc="yes"
-              parampattern="."
-              constpattern="."
-              staticpattern="."
-              memberpattern=".">
-          <fileset dir="${src.dir}" includes="**/*.java"/>
-      </checkstyle>
-  </target>
--->
-  <!-- =================================================================== -->
-  <!-- Copies the resources into the build target directory                -->
-  <!-- Resources are non-code that needs to be packed into some jar file   -->
-  <!-- in their package structure, such as .gif, .properties, .html, etc.  -->
-  <!-- =================================================================== -->
-  <target name="copy_resources">
-    <copy toDir="${dest.dir}">
-      <fileset dir="${src.dir}">
-         <include name ="**/*.gif" />
-         <include name ="**/*.html" />
-      </fileset>
-    </copy>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Cleans up generated stuff                                           -->
-  <!-- =================================================================== -->
-  <target name="clean" description="Cleans up generated stuff.">
-    <delete dir="${dest.dir}/CH"/>
-    <delete dir="${javadoc.dir}"/>
-    <delete file="${build.jar}"/>
-    <delete dir="${deploy.dir}"/>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- The next section defines the Jar file layout.                       -->
-  <!-- =================================================================== -->
-  <target name="jar" depends="compile, copy_resources">
-    <jar jarfile="${build.jar}"
-         manifest="${mk.dir}/${manifest.name}"
-        >
-      <fileset dir="${build.classes}">
-        <include name="CH/**"/>
-        <exclude name="CH/ifa/draw/test/**"/>
-      </fileset>
-	</jar>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Create a zip file with all deployable content                       -->
-  <!-- =================================================================== -->
-  <target name="deploy">
-    <delete dir="${deploy.dir}"/>
-    <mkdir dir="${deploy.dir}"/>
-    <zip zipfile="${zip.file}">
-      <fileset dir="${dest.dir}">
-        <include name="*/**"/>
-        <exclude name="**/CVS/**"/>
-        <exclude name="${deploy.dir}/**"/>
-        <exclude name=".project"/>
-        <exclude name=".classpath"/>
-        <exclude name="**/.cvsignore"/>
-        <exclude name="*/bin/**"/>
-        <exclude name="**/depcache/**"/>
-      </fileset>
-	</zip>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Run examples (and compile if necessary).                            -->
-  <!-- =================================================================== -->
-  <path id="example_path">
-    <pathelement path="${java.class.path}/"/>
-    <pathelement path="${build.jar}/"/>
-  </path>
-  
-  <target name="javadraw" depends="main">
-     <java classname="CH.ifa.draw.samples.javadraw.JavaDrawApp" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-       </classpath>
-     </java>
-  </target>
-
-  <target name="pert" depends="main">
-     <java classname="CH.ifa.draw.samples.pert.PertApplication" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-       </classpath>
-     </java>
-  </target>
-
-  <target name="net" depends="main">
-     <java classname="CH.ifa.draw.samples.net.NetApp" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-       </classpath>
-     </java>
-  </target>
-
-  <target name="nothing" depends="main">
-     <java classname="CH.ifa.draw.samples.nothing.NothingApp" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-       </classpath>
-     </java>
-  </target>
-
-  <target name="svgdraw" depends="main" if="batik.available">
-     <java classname="CH.ifa.draw.contrib.SVGDrawApp" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-         <pathelement path="${env.CLASSPATH}"/>
-       </classpath>
-     </java>
-  </target>
-</project>
diff --git a/JHotDraw/build/jhotdraw.mf b/JHotDraw/build/jhotdraw.mf
deleted file mode 100644
index c88d5613b..000000000
--- a/JHotDraw/build/jhotdraw.mf
+++ /dev/null
@@ -1,65 +0,0 @@
-Manifest-Version: 1.0
-Created-By: Ant 1.4
-
-Name: CH/ifa/draw/applet/
-Sealed: true
-Specification-Title: JHotDraw Default Applet
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.applet
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/application/
-Sealed: true
-Specification-Title: JHotDraw Default Application
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.application
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/contrib/
-Sealed: true
-Specification-Title: JHotDraw Contributions
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.contrib
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/figures/
-Sealed: true
-Specification-Title: JHotDraw Figures
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.figures
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/framework/
-Sealed: true
-Specification-Title: JHotDraw Core Framework
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.framework
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/standard/
-Sealed: true
-Specification-Title: JHotDraw Standard Implementation
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.standard
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: CH/ifa/draw/util/
-Sealed: true
-Specification-Title: JHotDraw Utilities
-Specification-Version: 5.4
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: CH.ifa.draw.util
-Implementation-Version: 5.4
-Implementation-Vendor: http://www.jhotdraw.org
diff --git a/JHotDraw/compile.bat b/JHotDraw/compile.bat
deleted file mode 100644
index abeea0bdb..000000000
--- a/JHotDraw/compile.bat
+++ /dev/null
@@ -1,15 +0,0 @@
-@echo off
-
-set JHD_DIR=D:\daten\wolfram\jhotdraw
-set JDK=C:\Programme\JDK1.2
-
-set OLD_CP=%CLASSPATH%
-set CLASSPATH=.
-set CLASSPATH=%CLASSPATH%;%JHD_DIR%
-
-javac -d %JHD_DIR% %JHD_DIR%\src\CH\ifa\draw\applet\*.java %JHD_DIR%\src\CH\ifa\draw\application\*.java %JHD_DIR%\src\CH\ifa\draw\contrib\*.java %JHD_DIR%\src\CH\ifa\draw\figures\*.java %JHD_DIR%\src\CH\ifa\draw\framework\*.java %JHD_DIR%\src\CH\ifa\draw\standard\*.java %JHD_DIR%\src\CH\ifa\draw\util\*.java
-
-set SAMPLES=%JHD_DIR%\src\CH\ifa\draw\samples
-javac -d %JHD_DIR% %SAMPLES%\javadraw\*.java %SAMPLES%\net\*.java %SAMPLES%\nothing\*.java %SAMPLES%\pert\*.java
-
-set CLASSPATH=%OLD_CP%
diff --git a/JHotDraw/compile.sh b/JHotDraw/compile.sh
deleted file mode 100644
index be489e760..000000000
--- a/JHotDraw/compile.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-# Set up JAVA_HOME and ANT_HOME as environment variables, 
-# or they will use these hard-coded defaults
-export JAVA_HOME=${JAVA_HOME:-/usr/j2sdk/}
-export ANT_HOME=${ANT_HOME:-/usr/apache-ant/}
-
-export PATH=$PATH:$ANT_HOME/bin
-
-ant -buildfile build/BUILD.XML "$@"
diff --git a/JHotDraw/compile_ant.bat b/JHotDraw/compile_ant.bat
deleted file mode 100644
index 223e0dc54..000000000
--- a/JHotDraw/compile_ant.bat
+++ /dev/null
@@ -1,5 +0,0 @@
-@echo off
-
-call setenv.bat
-
-%ANT_HOME%\bin\ant -buildfile build\build.xml %1 %2 %3
diff --git a/JHotDraw/doc/Architecture Overview.ppt b/JHotDraw/doc/Architecture Overview.ppt
deleted file mode 100644
index 4921b35ced36496ae5569e5dd9e73295ed239188..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 70144
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

diff --git a/JHotDraw/doc/Changes.html b/JHotDraw/doc/Changes.html
deleted file mode 100644
index c8790f929..000000000
--- a/JHotDraw/doc/Changes.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<title>Change Log</title>
-</head>
-<h1>Change Log</h1>
-<hr>
-<h2>Version 4.0</h1>
-<ul>
-<li>
-added pattlet slides that are referenced from javadoc.
-<li>
-restricted visibility of the classes provided by CH.ifa.draw.standard.
-<li>
-generalized the start and end points of PolyLineFigures to a LineDecoration.
-<b>Note:</b>this breaks the loading of pre 4.0 drawings.
-<li>
-LineFigures are now implemented based on PolyLineFigures
-<li>
-some UI tweaks related to the look of handles.
-</ul>
-<hr>
-<h2>Version 4.0a</h1>
-<ul>
-<li>
-javadoc documentation.
-<li>
-features
-<ul>
-<li>
-support for cursor keys to move figures
-<li>
-support for snap to grid: ToggleGridCommand, DrawingView.setGrid();
-<li>
-alignment commands to align (top, centers, bottoms, left, middle, rights)
-AlignmentCommand
-<li>
-resizable ImageFigures. The ImageFigures use the IconKit to share images.
-Images are currently stored by saving a reference to their
-image file. The file names are relative to the user.dir
-property.
-</ul>
-<li>
-CH.ifa.draw.util.Geom: geometrical utilities.
-<li>
-class RectLocators: useful locators for rectangle locations.<br>
-class RectTrackers: useful trackers to manipulate rectangle locations.
-<li>
-Major rewrite of Connections.
-<ul>
-<li>
-connectivity support is implemented based on an ObserverFigure
-interface.
-<li>
-ConnectionTool supports the creation and manipulation of
-connections (splitting/joining segments). ConnectionTool
-takes a prototype of the connection to be created.
-<li>
-eliminated AnchorFigure. Its only purpose was to add
-ConnectionHandles.
-<li>
-Connection support moved from the standard to the framework package
-<li>
-ConnectionTrackHandle changed to ChangeConnectionStartHandle and
-ChangeConnectionEndHandle. These two handles enable to change
-the start/end point of a connection.
-<li>
-ConnectionHandle takes the prototype of the connection to be
-created as parameter.
-<li>
-ConnectionFigure.canConnect(Figure source, Figure target)
-to constrain the connection between figures.
-See the PertDependency for an example for how to use this.
-<li>
-fixed naming inconsistencies in all signatures.
-<ul>
-<li>
-anchor was changed to start
-<li>
-target was changed to end
-</ul>
-<li>
-eliminated Figure.connectionStartPoint, connectionEndPoint
-the new connection infrastructure made them obsolete.
-</ul>
-<li>
-Figure is now an interface and no longer an abstract class.
-AbstractFigure provides default implementations for the
-Figure interface. If you defined your own figures you have to change the base class
-from Figure to AbstractFigure.
-<li>
-eliminated: CH.ifa.draw.applet.AppletIconKit and
-CH.ifa.draw.application.StandaloneIconKit
-The functionality of these subclasses is now part of
-the DrawingEditor interface
-<li>
-IconKit
-<ul>
-<li>
-simplified the addition of new custom icons for tool buttons
-<li>
-Applet and Applications load their icons
-by overriding registerPreLoadedImages (see PertApplet).
-<li>
-Icons are now identified by their file name without the
-.gif suffix.
-<li>
-Example:
-<pre>
-     kit.registerImages(tracker, kit.icon("TEXT"));
-</pre>
-<li>
-extended to support the deferred loading of images and to share images.
-</ul>
-<li>
-added FigureContainer.forceUpdate() such that a figure
-can force a repair of its image immediatly.
-<li>
-added transient variable modifier were appropriate
-<li>
-DrawingView: added support for additional background and
-foreground layers. A layer implements the Painter interface.
-<li>
-Replaced ScribbleFigure with a more general PolyLineFigure. A PolyLineFigure
-has an optional LineDecoration at its start and end.
-<li>
-packaging
-<ul>
-<li>
-moved Animatable from standard to util
-<li>
-moved BouncingDrawing, Animator, AnimationDecorator from standard to
-javadraw
-<li>
-changed Transformer to Tracker and Transformer.transform() to Tracker.track()
-</ul>
-</ul>
-<h2>Version 3.8</h1>
-<ul>
-<li>
-added Drawing.orphan() to fix grouping bugs related to connectivity
-<li>
-added Drawing.replace().
-<li>
-added FigureDeletedEvent, FigureChangedEvent. Deliver more
-specific update notifications.
-</ul>
-
-<h2>Version 3.6</h1>
-<ul>
-<li>
-add Figure.decompose(), Figure.isMoveable() (to fix connection and grouping bugs)
-<li>
-Figure subclasses now have to implement basicDisplayBox instead of
-  displayBox. DisplayBox is a template method that factors the
-  common displaybox logic.
-<li>
-applet package: provides base infrastructure for applets
-  Common applets now derive from JavaDrawApplet
-<li>
-application package: provides base infrastructure for applications
-  Common applications now derive from JavaDrawApplet
-</ul>
-
-<h2>Version 3.4</h1>
-<ul>
-<li>
-make reverse iterator package private
-<li>
-introduced an Animatable interface
-  remove animation methods out of basic Drawing
-<li>
-GroupFigure propagate setAttribute to figures
-<li>
-make locators, transformers sharable, don't have to override constructors
-<li>
-CommandMenu return false if not handled by a command
-<li>
-Merged DrawWindow & Draw
-<li>
-Figure.handles() is now an abstract method
-<li>
-nuked the HandleKit stuff
-<li>
-Name Changes
-<ul>
-<li>DrawApplet -> Draw
-<li>package framework -> fw
-<li>DrawingReader/DrawingWriter -> Reader/Writer
-<li>DrawWindow -> Draw
-<li>cloneFigure -> clone
-<li>readWith/writeWith -> read/write
-</ul>
-<li>
-New
-<ul>
-<li>PertFigure
-<li>Selectiontools support selections with a rubberband
-<li>DuplicateCommand
-<li>FigureAttributes class
-</ul>
-</ul>
-</body>
-</html>
diff --git a/JHotDraw/doc/ClassDiagram.html b/JHotDraw/doc/ClassDiagram.html
deleted file mode 100644
index a1e655379..000000000
--- a/JHotDraw/doc/ClassDiagram.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
-<title>Class Diagram</title>
-</head>
-<h1>Class Diagram</h1>
-<hr>
-<img src=classdiagram.jpg>
-</body>
-</html>
-
diff --git a/JHotDraw/doc/ReleaseNotes.html b/JHotDraw/doc/ReleaseNotes.html
deleted file mode 100644
index 90bb6b042..000000000
--- a/JHotDraw/doc/ReleaseNotes.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<html>
-<head>
-  <title>Release Notes Version 5.1</title>
-</head>
-<body>
-<h1>Release Notes Version 5.2</h1>
-<b>Note: </b>This version requires Swing/JFC 1.1
-<p>The purpose of this release is to:</p>
-<ul>
-    
-  <li>Use Swing/JFC GUI elements instead of AWT (where possible)</li>
-    
-  <li>Support for special Swing/FC features:</li>
-    
-  <ul>
-        
-    <li>Support for Multiple Document Interface (MDI) applications with several
-internal frames has been added. CH.ifa.draw.contrib.MDI_DrawApplicationis
-the base class which must be subclasses to takeadvantage of managing internal
-frames. All examples are now derived from this class.</li>
-        
-    <li>Support for applications with splitted editor windows by deriving
-the drawing application from CH.ifa.draw.contrib.SplitPaneDrawApplication<br>
-    </li>
-        
-    <li>Drawing windows have scrollbars</li>
-        
-    <li>Popup menus are available for additional functionality and control
-over graphical figures when using CH.ifa.draw.contrib.CustomSelectionTool</li>
-        
-    <li>Toolbars can have different tools depending on the context of the
-currently selected figure and tool</li>
-        
-    <li>A new composite figure is available which delegates its graphical
-representation and figure attributes to another figure. Moreover, it canbe
-configured with an external layout algorithm that contains the logic forhow
-to lay out the child elements of the composite figure. The new compositefigure
-is CH.ifa.draw.contrib.GraphicalCompositeFigure and can be configuredby a
-class implementing CH.ifa.draw.contrib.FigureLayoutStrategy such asCH.ifa.draw.contrib.StandardFigureLayoutStrategy.
-    </li>
-    
-  </ul>
-    
-  <li>New CH.ifa.draw.util.StorageFormats that allow to add new file formats
-for storing and restoring drawings (e.g. using XML)<br>
-  </li>
-  <li>Build configuration for <a href="http://jakarta.apache.org/ant/">Ant</a>
-, which can be used to compile all standard JHotDraw classes, to packagethem
-into a jar file and to generate javadoc information. Some instruction how
-to compile and build JHotDraw can be found <a href="buildProcess.html">here</a>
-.<br>
-  </li>
-    
-  <li>Some minor bug fixes<br>
-  </li>
-</ul>
-<br>
-<h1>Release Notes Version 5.1</h1>
-Changes for this release:
-<ul>
-    
-  <li>the delegation based event model is used to track figure changes.The
-FigureChangeListener interface supports to observe figure changes.A FigureChangeListener
-receives FigureChangeEvents.The old mechanism based on Observer/Observable
-and the notion of a containerwas eliminated. A figure now onlyhas listeners.
-There is a new support class FigureChangeEventMulticasterto manage the listeners.
-Using listeners is more consistent with the AWT/JFCevent handling style.CompositeFigure,
-Decorator, ConnectionFigure, and Drawingare now FigureChangeListeners.  </li>
-    
-  <li>StandardDrawing is a CompositeFigure. It is possible to inserta StandardDrawing
-as a figure into a drawing. This change does notimpact the framework package.
-The Drawing interface is independentof CompositeFigure.</li>
-    
-  <li>Tools no longer receive the DrawingView as an argument, but storeit
-in an instance variable. Existing Tools have to be adapted accordingly.</li>
-    
-  <li>SelectionTool is more open for customization. The trackers to be used
-for thedifferent selection modes can be overridden by the factory methods
-createHandleTracker, createDragTracker, createAreaTracker. The MouseTracker
-class was merged into AbstractTool and could be eliminated.<br>
-The selection tool to be used in an application can be customizedby overridding
-createSelectionTool in DrawApplication/DrawApplet.JavaDrawApp illustrates
-how to use a customized selection tool thatcan handle double clicks on figures.
-  </li>
-    
-  <li>DrawApplication supports keyboard short cuts for the common operations.
-  </li>
-</ul>
-<h1>Release Notes Version 5.0</h1>
-<b>Note:</b>This version requires JDK 1.1.
-<p>The purpose of this release is to:</p>
-<ul>
-    
-  <li>use JDK1.1 features: event model, access to resources, serialization,
-scrolling, printing, cursors etc.</li>
-    
-  <li>improve the packaging structure.</li>
-    
-  <li>improve the support for connectivity.</li>
-    
-  <li>implement several minor improvements.</li>
-</ul>
-<h2>JDK1.1 features</h2>
-<h3>Event Model</h3>
-All event handling related classes use the JDK1.1 event model.This required
-to change some method signatures to refer to morespecific events. Returning
-a boolean to indicate the consumptionof an event was removed.
-<h3>Serialization</h3>
-This version supports to use of serialization to make adrawing persistent.
-CH.ifa.draw.applet.DrawApplet andCH.ifa.draw.application.DrawApplicationsupport
-both the oldstorable and the serializable format. Support for thestorable
-formatwill be removed in the next version.
-<p>Serialization is used in the default implementation of Figure.clone().</p>
-<p>StandardDrawingView supports serialization.</p>
-<h3>Resource Access</h3>
-Thanks to 1.1 the access to resources could be drastically simplified.All
-the resources are now accessed relative to classes.The images directory with
-standard images is therefore part of thepackage hierarchy. 
-<p>IconKit could be decoupled from DrawingEditor and was moved fromCH.ifa.draw.standard
-to CH.ifa.draw.util.Refer to the sample applications for how toload and access
-resources like images.</p>
-<h3>Various UI Features</h3>
-<ul>
-    
-  <li>Tools support to use tool specific cursors.</li>
-    
-  <li>CH.ifa.draw.application shows the DrawingView by default in a ScrollPane.
-There is a new method createContents that can be overridden to customizethe
-default arrangement. The default size of the view can be customized byoverriding
-getDrawingViewSize().</li>
-    
-  <li>CH.ifa.draw.application supports to print a drawing.</li>
-</ul>
-<h2>Packaging</h2>
-The packaging was changed to separate the framework interfacesfrom default
-implementations.
-<p>The framework package defines the coreinterfaces and leaves default implementations
-to the standard package.All key abstractions of the framework are now defined
-as interfaces.Ward Cunningham has suggested this some time ago and it ended
-upto be natural and logic evolution.</p>
-<p>The implementation of the framework interfaces comes in two flavors.Abstract
-classes like AbstractFigure, provide default implementationbut still need
-to be subclassed. Standard classeslike StandardDrawing implement aframework
-interface and can be used as is.</p>
-<p>The framework package was renamed to "framework" the old "fw"was due to
-a temprorary bug in the used IDE:</p>
-<p>A figures package was forked of the standard package. This packageprovides
-a kit of standard figures and their related handle andtool classes.</p>
-<p>There is a new package contrib that contains classes contributedby others.
-</p>
-<h2>Connectivity</h2>
-Connectors were introduced to define connections between figures.A figure
-can have one or more connectors. A figure creates aconnector for a specific
-location connectorAt(int x, int y).A connector knows how to findthe connection
-point. A connection figure keeps track of aconnector for its start and end
-point.
-<p>Figure.chop() is no longer needed and was removed. Its functionalityis
-subsumed by Connectors.</p>
-<p>A set of standard connectors is provided in the standard and figurepackages.
-</p>
-<ul>
-    
-  <li>BoxChopConnector: finds a connection point by chopping the connection
-at the figure's bounding box.</li>
-    
-  <li>LocatorConnector: uses a locator to find the connection point.Thisenables
-to define connections at specific semantic points ona figure. Referto the
-NetApp sample for an example of using them.</li>
-    
-  <li>ShortestDistanceConnector: finds the connection points based on the
-shortest distancebetween figures.</li>
-    
-  <li>EllipseChopConnector: finds a connection point by chopping the connection
-at the ellipse defined by the figure's bounding box.</li>
-</ul>
-Connectors are optionally visible and Figure has a method connectorVisibility
-to turn their visibility on and off. This is used by the ConnectionToolto
-highlight connection points when the mouse moves over a figure.
-<p>TextFigures can be attached to other figures. The ConnectedTextToolsupports
-to create a connected TextFigure. Try it out in JavaDraw.The text figureis
-connected to the Figure that is clicked when thetool is active. To position
-a connected TextFigure figures can overridethe method connectedTextLocator
-to return a locator.</p>
-<h2>Various Changes</h2>
-<ul>
-    
-  <li>FigureEnumeration extends Enumeration to enable to iterate overfigures
-without having to do a down casted in client code. Itprovides an additional
-method nextFigure to get the next Figure.</li>
-    
-  <li>AbstractFigure was split. AbstractFigure no longer keeps track ofthe
-FigureAttributes dictionary. The dictionary is now maintainedin its derived
-class AttributeFigure. This change enables tocreate Figure subclasses without
-having to use theFigureAttributes implementation.</li>
-    
-  <li>Trackers are gone. Trackerfunctionality is implemented in the Handles
-themselves. In contrastto Locators they did not turn out to be reusable for
-different handles.The class BoxHandleKit hides the different Handle implementation
-classesfrom the API.</li>
-    
-  <li>BoxHandleKit provides factory methods to create Handles forcommon locations
-on a figure.</li>
-    
-  <li>DrawingView is now an interface with a standard implementation, i.e.,
-StandardDrawingView.</li>
-    
-  <li>Figure.clone() is implemented in a generic way in AbstractFigure.The
-figure is serialized and the clone is created by resurrectingthe serialized
-figure.</li>
-    
-  <li>Image handling was simplified and the preLoadRegisteredImagesis nolonger
-necessary.</li>
-    
-  <li>Commands know whether they are executable ornot. They provide an isExecutable
-operation to check their state.</li>
-    
-  <li>Name changes: ObserverFigure -&gt; ConnectionFigure, LineConnectionFigure
--&gt;LineConnection.</li>
-    
-  <li>There is support for transparent fill colors for AttributeFigures.</li>
-    
-  <li>AttributeFigre.draw() is a now a template method that callsdrawBackground()
-and drawFrame(). Subclasses should overridethese methods instead of draw().
-  </li>
-    
-  <li>The signature of Handle.invokeStep() and Handle.invokeEnd() was changed
-to:<pre>  public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {<br>  public void invokeEnd  (int x, int y, int anchorX, int anchorY, DrawingView view) {<br></pre>
-The passed arguments correspond to the current point and the anchor point
-of the interaction.<br>
-The old signature are still supported but deprecated.</li>
-    
-  <li>Doug Lea implemented a nice PolygonFigure with its corresponding Handles
-and Tools. Check it out in JavaDrawApp.</li>
-    
-  <li>ElbowHandles support to adjust elbow connections.</li>
-</ul>
-<h2>Samples</h2>
-<ul>
-    
-  <li>the samples are now located in subpackages of samples.</li>
-    
-  <li>there are two new samples:        
-    <ul>
-            
-      <li>Nothing implements a minimal application/appletthat can be used
-as the starting point for your own applications.</li>
-            
-      <li>NetApp is a simple editor with nodes and connections. Itillustrates
-LocatorConnectors.</li>
-        
-    </ul>
-  </li>
-</ul>
-<h2>Converting</h2>
-<ul>
-    
-  <li>If you derived classes from Handle, Tool, Locator you have to change
-them to inherit from their corresponding Abstract class.</li>
-    
-  <li>Change your tool classes to no longer return a boolean fromevent handling
-methods.</li>
-    
-  <li>Change the event handling method to use a specific event, typically
-a MouseEvent.</li>
-    
-  <li>Import the figures package if you use figures provided by this version.
-  </li>
-    
-  <li>Tools should call editor().toolDone() instead of editor().setDefaultTool.
-  </li>
-    
-  <li>Add the serival version stuff to your figure classes.</li>
-</ul>
-</body>
-</html>
diff --git a/JHotDraw/doc/buildProcess.html b/JHotDraw/doc/buildProcess.html
deleted file mode 100644
index 2a7c4a076..000000000
--- a/JHotDraw/doc/buildProcess.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-    
-  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-  <title>Building JHotDraw</title>
-</head>
-<body>
-<h1>Instructions for Building JHotDraw</h1>
-<hr><br>
-<br>
-A simple <a href="..\build\build.xml">build configuration file</a> for <a href="http://jakarta.apache.org/ant/">
-Ant</a> has been included, which can be used to compile all standard JHotDraw
-classes, to packagethem into a jar file and to generate javadoc information.
-The command tostart the build process could look like (when invoked in the
-<code>&lt;JHOTDRAW_DIR&gt;</code>\build directory)<br>
-<br>
-<code>java -classpath "%CLASSPATH%;&lt;ANT_DIR&gt;\lib\ant.jar;&lt;ANT_DIR&gt;\lib\jaxp.jar;&lt;ANT_DIR&gt;\lib\parser.jar"
--Djava.home="&lt;JAVA_DIR&gt;" -Dant.home="&lt;ANT_DIR&gt;" org.apache.tools.ant.Main
-all -Ddest.dir="&lt;JHOTDRAW_DIR&gt;" -buildfile build.xml</code><br>
-<br>
-where <code>&lt;JHOTDRAW_DIR&gt;</code> is the directory path to the JHotDraw
-package,<code>&lt;ANT_DIR&gt;</code> is the directory path to the Ant installation,
-<code>&lt;JAVA_DIR&gt;</code>is the directory path to the Java installation..
-Apart of calling <code>org.apache.tools.ant.Main</code> with the parameter
-<code>all</code> you can specify one of the following building targets:<br>
-<ul>
-  
-  <li><code>clean</code> - to delete all class files first</li>
-  
-  <li><code>main</code> - to compile, copy resources and build the jar file</li>
-  
-  <li><code>jar</code> - to build the jar file<br>
-  </li>
-  
-  <li><code>compile</code> - to compile only</li>
-  
-  <li><code>javadoc</code> - to generate javadoc</li>
-  
-  <li><code>all</code> - to clean, compile and javadoc</li>
-</ul>
-Furthermore, Ant can be generate debug code when the switch <code>-Djavac.debug=on</code>
- is provided.<br>
-</body>
-</html>
diff --git a/JHotDraw/doc/change_log.txt b/JHotDraw/doc/change_log.txt
deleted file mode 100644
index f37ef15f7..000000000
--- a/JHotDraw/doc/change_log.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Change log
-==========
-
-JHotDraw 5.2 changes (29.6.2001 by MrFloppy)
-- SelectionFigure is now an interface. The default implementation CH.ifa.draw.standard.StandardSelectionFigure
-- A FigureSelectionListener interface has been introduced in CH.ifa.draw.framework. An DrawingEditor
-  is now a FigureSelectionListener and the signature for all selectionChanged() methods has been
-  changed to figureSelectionChanged().
-- CH.ifa.draw.util.Command is now an interface. A AbstractCommand can be found in CH.ifa.draw.standard.
-- All commands used to have a fView field. This has been moved to CH.ifa.draw.standard.AbstactCommand
-- A CH.ifa.draw.standard.StandardDrawingView has now a paintComponents() method instead of a paint()
-  and update() method. This allows the CH.ifa.draw.util.FloatingTextField to be a javax.swing.JTextField
-  instead of a java.awt.TextField.
-- CH.ifa.draw.figures.AbstractLineDecorator has been missing
-- DrawApplet, DrawApplication and derived classes are now programmed towards the DrawingView interface
-  instead of using StandardDrawingView. That leads to occasional cast when some additional StandardDrawingView
-  functionality is required in some specialized cases. Applications that were derived from DrawApplication
-  and used to override the createContents() methods should now return a DrawingView as well
\ No newline at end of file
diff --git a/JHotDraw/doc/classdiagram.jpg b/JHotDraw/doc/classdiagram.jpg
deleted file mode 100644
index d73a1e497a0c831c0a48f556bb9c903f6ef5d9ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 17784
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
E02o%sV*mgE

diff --git a/JHotDraw/doc/documentation.html b/JHotDraw/doc/documentation.html
deleted file mode 100644
index 33b2a9a7f..000000000
--- a/JHotDraw/doc/documentation.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<html>
-<head>
-  <title>JHotDraw Documentation</title>
-</head>
-<body>
-<h1>Documentation Overview</h1>
-<hr>
-<ul>
-  <li>A description of the JHotDraw <a href="packages.html">package organization</a>
-.</li>
-  <li>The javadoc generated <a href="../javadoc/index.html">package index</a>
-.</li>
-  <li>An overview of the <a href="samples.html">samples</a> delivered with
-JHotDraw</li>
-  <li>A short instruction of how to <a href="buildProcess.html">compile</a>
- JHotDrawusing Ant with the build configuration provided<br>
-  </li>
-  <li>A <a href="classdiagram.html">class diagram</a> showing the mostimportant
-classes and their relationships.</li>
-  <li>The <a href="changes.html">the change log</a> of version 4.0.</li>
-  <li>Some <a href="drawBackground.html">background </a>about JHotDraw.</li>
-</ul>
-</body>
-</html>
diff --git a/JHotDraw/doc/drawBackground.html b/JHotDraw/doc/drawBackground.html
deleted file mode 100644
index 18104bd36..000000000
--- a/JHotDraw/doc/drawBackground.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<html>
-
-<head>
-  <title>JHotDraw Background</title>
-</head>
-
-<body>
-<H1>About JHotDraw</H1>
-<HR>
-The JHotDraw architecture was inspired by two sources:
-<UL>
-<LI>
-<a href="http://st-www.cs.uiuc.edu/users/brant/HotDraw/HotDraw.html">HotDraw</a><br>
-HotDraw is a drawing framework for Smalltalk. It was originally developed
-by Kent Beck and Ward Cunningham.
-<LI>
-<a href="ftp://ftp.ifa.ch/pub/ET++/">ET++</a><br>
-ET++ is a comprehensive and portable application framework and
-class library for C++. ET++ was developed by Andre Weinand and Erich Gamma.
-</UL>
-<p>
-JHotDraw was developed by Thomas Eggenschwiler and Erich Gamma.
-It was originally planned to be a trivial case study for an applied
-design patterns seminar. But then it was too much fun to just stop there...
-<p>
-<H2>Acknowledgements</H2>
-We have received valuable input from Uwe Steinmueller, Doug Lea, Kent Beck, and Ward Cunningham.
-</html>
diff --git a/JHotDraw/doc/packages.html b/JHotDraw/doc/packages.html
deleted file mode 100644
index 6929647bb..000000000
--- a/JHotDraw/doc/packages.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<title>Packages Overview</title>
-</head>
-<h1>Packages Overview</h1>
-<hr>
-JHotDraw is organized into the following packages.
-<h2><a href=../javadoc/Package-CH.ifa.draw.util.html>CH.ifa.draw.util</a></h2>
-This package provides generally useful utilities that can be used
-independent of JHotDraw.<p>
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.framework.html>CH.ifa.draw.framework</a></h2>
-The framework package includes the classes and interfaces that define the
-JHotDraw framework. It doesn't provide any concrete implementation classes.
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.standard.html>CH.ifa.draw.standard</a></h2>
-The standard package provides standard implementations of the classes
-defined in the framework package.
-<p>
-It provides abstract classes that implement a
-framework interface and provide default implementation. The convention is to
-prefix such classes with Abstract, e.g., AbstractFigure, AbstractHandle.
-<p>
-Classes that implement a framework interface and can be used as is
-start with Standard, e.g., StandardDrawing, StandardDrawingView.
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.figures.html>CH.ifa.draw.figures</a></h2>
-A kit of figures together with their associated support classes (tools,
-handles).
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.contrib.html>CH.ifa.draw.contrib</a></h2>
-Classes that where contributed by others.
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.applet.html>CH.ifa.draw.applet</a></h2>
-The applet package defines a default applet user interface for a JHotDraw
-applet. JHotDraw applets can be developed without using this
-package and they can have a different user interface.
-
-<h2><a href=../javadoc/Package-CH.ifa.draw.application.html>CH.ifa.draw.application</a></h2>
-The application package defines a default user interface for standalone
-JHotDraw applications. This is only a default
-presentation.
-
-<h2>CH.ifa.draw.samples.javadraw</h2>
-The package for the javadraw <a href=samples.html#JavaDrawApp>sample</a> applications.
-This includes the javadraw applet, application, and a viewer applet.
-
-<h2>CH.ifa.draw.samples.pert</h2>
-The package for the pert <a href=samples.html#PertApp>sample</a> applet
-and application.
-
-<h2>CH.ifa.draw.samples.nothing</h2>
-The package for the nothing <a href=samples.html#Nothing>sample</a> applet
-and application.
-
-<h2>CH.ifa.draw.samples.net</h2>
-The package for the net <a href=samples.html#Net>sample</a> application.
-
-</body>
-</html>
diff --git a/JHotDraw/doc/pattlets.jar b/JHotDraw/doc/pattlets.jar
deleted file mode 100644
index 93bbdc01834529c6b14dc214771df12fb91c057f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 376878
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
D@sCm=

diff --git a/JHotDraw/doc/samples.html b/JHotDraw/doc/samples.html
deleted file mode 100644
index 80a260e0a..000000000
--- a/JHotDraw/doc/samples.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<html>
-<head>
-<title>Samples</title>
-</head>
-<a name=top></a>
-<h1>JHotDraw Samples</h1>
-
-As part of the JHotDraw framework we include a number of sample applications
-and applets that
-demonstrate various aspects of JHotDraw.
-<ol>
-<li><a href=#JavaDrawApp>JavaDrawApp</a></li>
-<li><a href=#JavaDrawApplet>JavaDrawApplet</a></li>
-<li><a href=#JavaDrawViewer>JavaDrawViewer</a></li>
-<li><a href=#PertApp>PertApp/PertApplet</a></li>
-<li><a href=#Nothing>Nothing</a></li>
-<li><a href=#Net>Net</a></li>
-</ol>
-<b>Note:</b>To run the sample applets inside a browser requires a
-browser with JDK1.1 support.
-<hr>
-<ol>
-<li><h3><a name=JavaDrawApp>JavaDrawApp</a></h3></li>
-<p>
-This sample illustrates various standard tools and figures provided with JHotDraw.
-For a description of its features refer to the <a href="../CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html">help document</a>.
-<p>
-It uses a custom drawing subclass BouncingDrawing to implement a bouncing figures
-feature. The animation support is attached to a figure with a AnimationDecorator.
-<p>
-Support for attaching URLs to figures is implemented by URLTool.
-<p>
-You can start the application with:
-<pre>java CH.ifa.draw.samples.javadraw.JavaDrawApp</pre>
-The <i>drawings</i> directory includes some sample drawings. They can be
-loaded with the open command from the file menu. <b>Note</b> your CLASSPATH
-has to include the absolute path to the JHotDraw directory otherwise you will
-run into class loading problems.
-<p>
-<li><h3><a name=JavaDrawApplet>JavaDrawApplet</a></h3></li>
-<p>
-The <a href="../JavaDrawApplet.html">JavaDrawApplet</a> is the applet version of JavaDrawApp.
-Since it is an applet the drawing can't be saved.
-A sample drawing can be loaded from the load choices item.
-<p>
-<li><h3><a name=JavaDrawViewer>JavaDrawViewer</a></h3></li>
-<p>
-The <a href="../JavaDrawViewer.html">JavaDrawViewer</a> enables to view a JavaDraw drawing. If a figure has
-an attached URL you can follow it by selecting it with the mouse.
-<p>
-The sample illustrates how to create a minimal presentation without a tool palette and
-other user interface adornments.
-<p>
-<li><h3><a name=PertApp>PertApp/PertApplet</a></h3></li>
-<p>
-PertApp is simple drawing editor to support the PERT project management
-technique. With PertApp you can create tasks and define their dependencies.
-PertApp takes care of tracking the end time of each task.
-<p>
-For a description of its features refer to the <a href="../CH/ifa/draw/samples/pert/PertAppletHelp.html">help document</a>.
-<p>
-This sample illustrates how to create more complex figures and how to use
-connections. Connections can be created either with a ConnectionTool or
-ConnectionHandles.
-<p>
-You can start the application with:
-<pre>java CH.ifa.draw.samples.pert.PertApplication</pre>
-<li><h3><a name=PertApplet>PertApplet</a></h3></li>
-The <i>drawings</i> directory includes some sample drawings. They can be
-loaded with the open command from the file menu. <b>Note</b> your CLASSPATH
-has to include the absolute path to the JHotDraw directory otherwise you will
-run into class loading problems.
-<p>
-<a href="../PertApplet.html">PertApplet</a> is the applet version of PertApp.
-<p>
-<li><h3><a name=Nothing>Nothing</a></h3></li>
-<p>
-This is the <i>hello world</i> sample of JHotDraw. It can be used
-as the starting point for developing your own applications.
-The samples uses some standard tools to create a simple drawing editor.
-It is only about one page of <a href="../CH/ifa/draw/samples/nothing/NothingApp.java">code</a>.
-<p>
-<li><h3><a name=Net>NetApp</a></h3></li>
-<p>
-A simple network editor. It enables the creation of nodes. When selected
-a node display a set of handles that can be used to connect it with other nodes.
-Nodes are connected at specific semantic locations. The potential locations
-are highlighted once the mouse moves inside a node.
-This sample illustrates the use of LocatorConnectors.
-<p>
-You can start the application with:
-<pre>java CH.ifa.draw.samples.net.NetApp</pre>
-A sample net can be found in the <i>drawings</i> directory.
-
-</body>
-</html>
diff --git a/JHotDraw/drawings/demo.draw b/JHotDraw/drawings/demo.draw
deleted file mode 100644
index f7c5b2a38..000000000
--- a/JHotDraw/drawings/demo.draw
+++ /dev/null
@@ -1,82 +0,0 @@
-
-    CH.ifa.draw.samples.javadraw.BouncingDrawing 19 
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.ImageFigure "attributes" "attributes" 1 "URL" "String" "http://www.javasoft.com" 220 160 100 116 "/CH/ifa/draw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif"  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.EllipseFigure "no_attributes" 121 16 75 36  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.RoundRectangleFigure "no_attributes" 122 125 73 37 8 8  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.RoundRectangleFigure "attributes" "attributes" 1 "URL" "String" "" 266 73 77 37 36 20  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 2 "TextColor" "Color" 255 255 255 "FillColor" "Color" 255 199 158 143 135 "Text" "Helvetica" 1 14 0 REF 6 
-                CH.ifa.draw.standard.OffsetLocator 0 0 
-                    CH.ifa.draw.standard.RelativeLocator 0.5 0.5    4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.ElbowConnection 4 195 129 230 129 230 99 266 99 
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor
-                0 0 0 
-                CH.ifa.draw.figures.ShortestDistanceConnector REF 6  
-                CH.ifa.draw.figures.ShortestDistanceConnector REF 8   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.EllipseFigure "attributes" "attributes" 1 "FillColor" "Color" 35 142 104 272 18 64 32  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.LineConnection 2 195 34 273 34 
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor 
-                0 0 0 
-                CH.ifa.draw.figures.ChopEllipseConnector REF 4  
-                CH.ifa.draw.figures.ChopEllipseConnector REF 20   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 275 159 "Images" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 2 "URL" "String" "" "FillColor" "Color" 255 199 158 191 60 "Connections" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 214 "Connected Text" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 222 287 "URL Attachments" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.BorderDecorator 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 27 111 "Groups" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.EllipseFigure "attributes" "attributes" 1 "FillColor" "Color" 35 142 104 14 203 70 46  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.LineConnection 2 122 157 72 210 
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                0 0 0 
-                CH.ifa.draw.figures.ShortestDistanceConnector REF 6  
-                CH.ifa.draw.figures.ChopEllipseConnector REF 48   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 192 192 192 67 176 "Annotation" "Helvetica" 1 12 0 REF 50 
-                CH.ifa.draw.standard.OffsetLocator 0 0 
-                    CH.ifa.draw.standard.RelativeLocator 0.5 0.5    4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.GroupFigure 4 
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 255 255 255 24 25 47 44  4 4  
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 0 34 35 47 44  4 4  
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 255 255 255 44 45 47 44  4 4  
-                CH.ifa.draw.samples.javadraw.AnimationDecorator 
-                    CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 0 54 55 47 44  4 4   4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.contrib.PolygonFigure "no_attributes" 6 68 283 105 254 111 309 151 261 163 282 160 290  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.LineConnection 2 71 244 97 259 
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                0 0 0 
-                CH.ifa.draw.figures.ChopEllipseConnector REF 48  
-                CH.ifa.draw.contrib.ChopPolygonConnector REF 70   4 4   
\ No newline at end of file
diff --git a/JHotDraw/drawings/demo.ser b/JHotDraw/drawings/demo.ser
deleted file mode 100644
index f405068ff8ee0f201d2afc67493b6ce18b8e9aaa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9048
zcmZ4UmVvdnh(X8MLoYKeQ7@$^v0Se>F}ENmwOB7Ju`CfR;FMpQmz<fG?oyOko|%{4
zDOclUvLX8s69c0sgGv&rWN>OxW@1ieRceY$Vo73HYEf}!eqKcpg9?fbC5d?{iA5=T
z!B7U&<lB#ZdEcufIe|@<0ok3Imrk0A&iT0o`Nf$fscxC+rA4V}=Xrc~)OuwxF)(>D
zs3fCGVl~-^fg=r~x448s$OjY%`lThAIr?F#$tC$k))hqz%2@s4m{eR+l$cxs(ft2r
zuBgj2e>t#MloL_pu-aQuz`(%32*Slh3<4l)^+49@L9D$wy*9eRdOaf(1G6WCU~*zX
zVsd6lrDtApQEF~#UWq3IPihXB<(yxdR}#&@4dsF&p@cy=8sd+f#JqHU|D>$c<PvMJ
zeGCi?48o;FFa>%b1$s~g6V64<7bw=uVPaqas}(LTV$etNIeI#A%*)J8EXmBzb4g9k
zFG?)QFUswYyK|NAeJt47>WLWgSVO{-fh#Q{EHx(|>_rByv`82SXF7sg2nqa}v(x{b
zQ{u{i#Ci(MH4sUxcKR@IrGb-9UTR)R34@%Evxk0WTB1HE4eF;ACFZ7<=NDz`Lrk!)
zC}gN(U;)Jy2p1PI$RmeK8aU+@>v`rTrbCk<6YmWT+q>ND;BZjLL`dLp40oDKW^qAI
zVx?1lMG1olB=!=^OZ0<MlS>lw(sNR+eHb{?+%j`g{StFi;RzKKfBL~CMVWc&7zq{T
zEXR_PqRgaHSPp?DRAz7vNko;z={&e0#U%`CsDTCXJv68g>M#QhrAUCe4idr$Z42@a
zRC^b8KLJOjDnu1R7Ki&-(tHyON*F{T;Reb^`W}hJ86}BHIjN9@&sbc<AdJXla9QEq
z{HlsxPj)afFu5^s<>V)(xFv$Jy(a@_Nk&m>aYlYlN=1Ra11RG#aFlZ}Ffed~(m)9V
zb7+uH34?e>NlAf~zJ7UmIk@~R&QB}ROU}=&r~s)dE@BV@Tbfv2q6d%4!yB?#rA}p)
zFfp)rGO%T&W~OJ9crvh-XQq^7crq|ncrq|nf^%RA0|P?}0|Uby1_p)&B@8b5$cYqM
zYU_i{2d7$y0647`>u2Ss>J^t3rRi0s=H%p;>lNoF=H%$5XQqLi#lQeg%q+#AWDWKX
zNVK?!K@nTBcFoDjEGUL1>;*UP=gY}Yn+c8{rBq}o9C3r3v_bX>fHRX2$VLz@fCLms
zMuvfbL4|>V!JC1Bp^|}tK>#F=)2$lV+!~Z$nwJ6(Xh_=1-Pf4#B3xb+9Nb)Kjz!5H
z&>-goal#?Nu3Utol>*Oz(g+AMf`b?2DOCmr22TbChAIXIhFUzH0tEsn03fvjh$jkC
z4K_ytcN$~>CpHmi=%HHc%fP_M1+^YzET|B}jCVO~VHuKI0j=BYuijYX@pIcBCI*fu
z2JSS^;-J*T6#u-ON>2ukH2<Q^^vt{n1T)f;LB0g87e_#{rn%*V3SNFlmIW1cAOUMo
zZS0eu45~{?7*tRSnqp|%LEk?utvIy=s><4jfj`YZsW`Q$EHwoZ;h=!y^<iL51Ni{N
z5kyUL;PAv3vP>lmoFKi<`8oMT#YGH!pgg7r%EMq0#--xT0{zCNObl#p3~XtMIRzPs
zo(!yIi8-aIJ`7CB#U%{V2yZ2W4ABQ`3@%7aPPL9^;7lt@PXa41VPJ}Oi)LU;1M@&`
zweVr!D#=K7&d&pdVF`mc!lZ!2%)An)1f*1B`2YX^|AK;of)WN!x6GUzuq|NknSlzd
z|NoEA1IdEZ2SYyt14BDFJryzV!hHk^^`i?-pPjiER?N)6=E)$LmY-LGHP+l1I1BPK
z^Gbp<t5Q7~Sc<_EYjH_sPO1-sNLo;8VQFe{NooqBxCVJh%!h#`FEKY2#1;e>YmANw
zAlEVQfgJ-9m#|Mu1C>lH-~yHvl;?|!7^LBj1UX3$6eDn>vn%HI@V?-612tBP7{G;~
z9w@-{;3`s_GZI0~v(zHbl2mZxL<KI_C|9C()?GY?iGdN-btRzq%+1WHEMegENX;or
zEy+wy1P7=?2?JX>xZEf%V&Dh63{?5*x#i?1mfU)Ka?x#@4{w+l7~P-=p#s*Z1FP~Y
z%}q)zYFjf^mV3&BZjhr3KvfFNWN=u5Iqsma0ka%R7&uFc67!1F@{4kdix?EZc7hTi
zBs5@Ba8Kz?K4~y@<*z8Prx0387~~O2C_OblSKl!$Ei*4Q1ZIGBML}^9gDl*5kQzNS
zH9{2=MZK>6Phw_Zb75f4H822^hG5bNL>huc48bCXMimA2AHY$JlR%fR0B2E`isB*$
zCFH^gmg)6SGQFyyM5MvVyGOxAI!78r4pIbx%Z5l#2Bmy33tCEGP0yer!YQ#h6%<0q
zH7la|2h|N~TA?&v;I4x80iX(}^qqS@?{oZfa0Day9n|{3Za`3KPGU)BSt`^3l}ItR
zrJ{zfm>8H{7`W14vJuFfNKXcpB2;Zyy$24_F#87(cfe>+o&#k$)e;64P>ureLHP}Y
z!RZdUJ%G~jfwaYn^;~n3^2?p`^YT)YL2ZAzqOMP~w{MIGcYIV*Q6;fE3@wgf2K!{@
zfyzCox$*69^Ck#Qxd?7TE9aodVKvr=fhEl~FQtS*5vAHd#3t0u`9;<~3~Xt^C5c5P
zppb~Gz~P>N{G3XVn;^By#O3lq9E*QVW@2FVWKb?Zk;CC0K9GB$U6suIJoE|;>Ti9J
z9SBv{J`CJxZlE3rxHK<e5I|&Ku!yw}1AAHks2~Q%7qbt80K_v0GeF)-0LMS5z6aI&
zpcE*BoUx#m>p2z`<(G$K7M%ar`|{F^|5@NHC7TEp#p*E^2DUUuP@lwwfhWx~FE6zy
zC^03ov>3$oFD-#_D~cGju-XXi8>4z#^qFw-3lr(dObkpu3_NL0`9&$IMPUDeJd+6O
zufc0Lut-Hg0jviNN#STDIB+1<AOiyfs2T)|utAlvl!8p*1Sfms8Xg?5+m3V<nbe(7
z1GjRK8svu=7#JGC#$+-uFg(NHCBx*vZ7v8e8NV|@`LDQ$K^I#{1!v?Jm82GzxMYF~
zoMc$$$S-<OEb(|-!=Z<ua;Atu4OuTpC3vU>Ry4s={SJpho9~+9$HAUbgN;zYrLjge
zD5Ln7=cN{b0*e<?dxMx7V2|d591r4x8o1z81`19P21_GK5|A1NkYW%9%i(K&G2&>=
zDEDQ6q7mGhL9}u~<~lGiFoJpuuwDfy)uXp^L2ifz*$={CHxP&!uo~P6hzXv6n7}GQ
zDFT!}lwdqYK?Vi}2#<hGU>6lJVC~U3XXF<^dtmUWx*{CLWy8Yr4if#USfd}L&ndqG
zuIKgkM{73TJkkZy0}2Xo-T^U6!0v4ZxdFsg1TjES2*O|~L^Ps}gu#jsNM41OKKVrg
zyERG~Z+<F;R0v7nj0~5=n##Z>6%W*6NX#NE1vyF|MUI@bgWM8k6lP#xm=7`%>_1x&
z%MsKZV_*O~0xXK9NeXg_6LP~4B;X1nJVAsPSf4w{BoNmZ%=HJ8LFmmLXdwir(B&b`
zp-B~>mOUGIT&Wo3N>H3YF`?|%0aZ^~a5BNhIT&!{N#t;4*w4VgU<0xj?CHT9u8YCp
z$_>pMnfZAG6S%m_Ig~KXVPIgmHUz?S6F5xypkbPtqJZAG1o;7qaTU+hNwY)+>pcbr
zMtP8P26<9F2o6^M&>$ZL$C8r7<P6a0{~%7T(hLj?;AX)f57!IeaAk8Z$}cS-H8?>n
z4sh`c_9Hp95%!jh9s>h|8v_G)T;wz;Z9<FsfoREqhAQWR{Re8-crY+9TmtimX~}?U
zKX`lM8dw`RNr1#*Ek#^K0Od9PfddENtwaWA1_p)=pr8c1V(`{T?<>F#41qTY7#JWG
zcLc284x>Sy0R`mU5(X~EyuADp@B|!46h~^oF<Avp`H-G%ad<}L@0W$W;0BvQIw(s(
zBycy@n4lIy9Eq(@1#%;z5r?DYh&EEsG{JfQW$Ccj;2w%f5p3!Uk7Gc6WyH)G$WFBB
z1#qyElSQEet7x4K9R>ylP!g43U|^7hh5@dm{0Axz2_tgc0PVNpaDx&91A{Wu4%)c^
ze>i}`Lzm`mz#k5vE}A*A8=!1Z5sfWe(5AVP^YcLSqk5pxp7i`YNMZ{+^*8@QXY?j;
zN>l<3_Q0jEW(v?yBFF&v#4Kn+10;~1p9h%;g>_9Cp%Y%P;bG8#E>z*NNQcO{BgyN*
zLon=l;IZ~%9|ktiii;F*LKcW-V6T9PgJupqqZ!yMA>2ZSI!0M=|D3I$w1|Nz+S7Me
zf?C<DO-n%?K2T>5lu2C}7#Kk1IjA_E&cML17&Ng6>c@iHLTn5SjG+4a9|HrUDFXu|
zD+2?g6axbzD52pBOi-4ib+6i;fq~%**#986Co(WFGJ|=<)J15$YFK20ddJXEhqhSr
mi~e5SpkweuVHqgEK;CKrr6W+dN`q}f)My}aSYZogGXemX`OSR*

diff --git a/JHotDraw/drawings/net.draw b/JHotDraw/drawings/net.draw
deleted file mode 100644
index 166d80dc2..000000000
--- a/JHotDraw/drawings/net.draw
+++ /dev/null
@@ -1,65 +0,0 @@
-
-    CH.ifa.draw.standard.StandardDrawing 13 
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 135 46 "one" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 62 102 "two" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 211 102 "three" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 134 153 "four" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 135 219 "five" "Helvetica" 1 12 0 NULL NULL  
-        CH.ifa.draw.figures.LineConnection 2 145 67 72 96 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 1 
-                CH.ifa.draw.standard.RelativeLocator 0.5 1.0   
-            CH.ifa.draw.standard.LocatorConnector REF 2 
-                CH.ifa.draw.standard.RelativeLocator 0.5 0.0    
-        CH.ifa.draw.figures.LineConnection 2 145 67 226 96 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 REF 9 
-            CH.ifa.draw.standard.LocatorConnector REF 3 
-                CH.ifa.draw.standard.RelativeLocator 0.5 0.0    
-        CH.ifa.draw.figures.LineConnection 2 89 109 205 109 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 2 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5   
-            CH.ifa.draw.standard.LocatorConnector REF 3 
-                CH.ifa.draw.standard.RelativeLocator 0.0 0.5    
-        CH.ifa.draw.figures.LineConnection 2 72 123 128 160 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 2 
-                CH.ifa.draw.standard.RelativeLocator 0.5 1.0   
-            CH.ifa.draw.standard.LocatorConnector REF 4 
-                CH.ifa.draw.standard.RelativeLocator 0.0 0.5    
-        CH.ifa.draw.figures.LineConnection 2 226 123 163 160 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 3 
-                CH.ifa.draw.standard.RelativeLocator 0.5 1.0   
-            CH.ifa.draw.standard.LocatorConnector REF 4 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5    
-        CH.ifa.draw.figures.LineConnection 2 226 123 161 226 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 REF 35 
-            CH.ifa.draw.standard.LocatorConnector REF 5 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5    
-        CH.ifa.draw.figures.LineConnection 2 72 123 129 226 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 REF 28 
-            CH.ifa.draw.standard.LocatorConnector REF 5 
-                CH.ifa.draw.standard.RelativeLocator 0.0 0.5    
-        CH.ifa.draw.figures.LineConnection 4 247 109 280 109 280 53 162 53 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            CH.ifa.draw.standard.LocatorConnector REF 3 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5   
-            CH.ifa.draw.standard.LocatorConnector REF 1 
-                CH.ifa.draw.standard.RelativeLocator 1.0 0.5     
\ No newline at end of file
diff --git a/JHotDraw/drawings/net.ser b/JHotDraw/drawings/net.ser
deleted file mode 100644
index 0ffdc1a5ad444fa1bb2ec339dc674ddbf26bfb8d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6331
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

diff --git a/JHotDraw/drawings/nothing.draw b/JHotDraw/drawings/nothing.draw
deleted file mode 100644
index 38fbe4961..000000000
--- a/JHotDraw/drawings/nothing.draw
+++ /dev/null
@@ -1,10 +0,0 @@
-
-    CH.ifa.draw.samples.javadraw.BouncingDrawing 4 
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 255 255 255 80 77 196 89  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 255 75 72 196 89  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 2 "TextColor" "Color" 255 255 255 "FillColor" "Color" 255 199 158 119 92 "Nothing" "Helvetica" 0 36 0 NULL NULL  4 4  
-        CH.ifa.draw.samples.javadraw.AnimationDecorator 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 117 90 "Nothing" "Helvetica" 0 36 0 NULL NULL  4 4   
\ No newline at end of file
diff --git a/JHotDraw/drawings/nothing.ser b/JHotDraw/drawings/nothing.ser
deleted file mode 100644
index 4a45ec5b7c9d9488e1d30a282bd975ba2479d4ac..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3067
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
MOd!sX0XY<e0ZrkYU;qFB

diff --git a/JHotDraw/drawings/pert.draw b/JHotDraw/drawings/pert.draw
deleted file mode 100644
index 3728cc3a8..000000000
--- a/JHotDraw/drawings/pert.draw
+++ /dev/null
@@ -1,64 +0,0 @@
-
-    CH.ifa.draw.standard.StandardDrawing 14 
-        CH.ifa.draw.samples.pert.PertFigure 3 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 29 133 "Design" "Helvetica" 1 12 0 NULL NULL  
-            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 29 148 "5" "Helvetica" 1 12 0 NULL NULL  
-            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 29 163 "5" "Helvetica" 0 12 1 NULL NULL  26 130 45 51 0 1 
-            CH.ifa.draw.samples.pert.PertFigure 3 
-                CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 133 "Implement" "Helvetica" 1 12 0 NULL NULL  
-                CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 148 "6" "Helvetica" 1 12 0 NULL NULL  
-                CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 163 "11" "Helvetica" 0 12 1 NULL NULL  105 130 66 51 1 REF 1 3 
-                CH.ifa.draw.samples.pert.PertFigure 3 
-                    CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 215 133 "JavaDoc" "Helvetica" 1 12 0 NULL NULL  
-                    CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 215 148 "2" "Helvetica" 1 12 0 NULL NULL  
-                    CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 215 163 "13" "Helvetica" 0 12 1 NULL NULL  212 130 55 51 1 REF 5 1 
-                    CH.ifa.draw.samples.pert.PertFigure 3 
-                        CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 314 133 "Ship" "Helvetica" 1 12 0 NULL NULL  
-                        CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 314 148 "0" "Helvetica" 1 12 0 NULL NULL  
-                        CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 314 163 "19" "Helvetica" 0 12 1 NULL NULL  311 130 31 51 3 
-                        CH.ifa.draw.samples.pert.PertFigure 3 
-                            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 206 "S&P" "Helvetica" 1 12 0 NULL NULL  
-                            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 221 "4" "Helvetica" 1 12 0 NULL NULL  
-                            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 236 "15" "Helvetica" 0 12 1 NULL NULL  224 203 31 51 1 REF 5 1 REF 13  REF 9 
-                        CH.ifa.draw.samples.pert.PertFigure 3 
-                            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 46 "Test" "Helvetica" 1 12 0 NULL NULL  
-                            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 61 "8" "Helvetica" 1 12 0 NULL NULL  
-                            CH.ifa.draw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 76 "19" "Helvetica" 0 12 1 NULL NULL  224 43 31 51 1 REF 5 1 REF 13  0   REF 17 REF 21   REF 5 REF 21 REF 9 REF 13 REF 17 
-        CH.ifa.draw.samples.pert.PertDependency 2 71 155 105 155 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 1  
-            CH.ifa.draw.standard.ChopBoxConnector REF 5   
-        CH.ifa.draw.samples.pert.PertDependency 2 171 155 212 155 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 5  
-            CH.ifa.draw.standard.ChopBoxConnector REF 9   
-        CH.ifa.draw.samples.pert.PertDependency 3 151 130 184 68 224 68 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 5  
-            CH.ifa.draw.standard.ChopBoxConnector REF 21   
-        CH.ifa.draw.samples.pert.PertDependency 3 154 181 184 228 224 228 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 5  
-            CH.ifa.draw.standard.ChopBoxConnector REF 17   
-        CH.ifa.draw.samples.pert.PertDependency 3 255 228 285 228 312 181 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 17  
-            CH.ifa.draw.standard.ChopBoxConnector REF 13   
-        CH.ifa.draw.samples.pert.PertDependency 2 267 155 311 155 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 9  
-            CH.ifa.draw.standard.ChopBoxConnector REF 13   
-        CH.ifa.draw.samples.pert.PertDependency 3 255 68 284 68 314 130 NULL 
-            CH.ifa.draw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            CH.ifa.draw.standard.ChopBoxConnector REF 21  
-            CH.ifa.draw.standard.ChopBoxConnector REF 13   
-        CH.ifa.draw.figures.GroupFigure 2 
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 26 23 "HotJavaDraw" "Helvetica" 1 18 0 NULL NULL  
-            CH.ifa.draw.figures.TextFigure "attributes" "attributes" 2 "FillColor" "Color" 255 199 158 "TextColor" "Color" 255 255 255 24 21 "HotJavaDraw" "Helvetica" 1 18 0 NULL NULL    
\ No newline at end of file
diff --git a/JHotDraw/drawings/pert.ser b/JHotDraw/drawings/pert.ser
deleted file mode 100644
index 774bf8993c1079480d1673f5cfe43961d7e70f9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10154
zcmZ4UmVvdnh(X2KLoYKeQ7@$^v0SgXBrz`~u_#3^7|L)dN-WRJOTYctm-oF&k`ogH
zqbGw5NNHwXdT?q{W@1ieRceY$Vo73HYEf}!eqIGG6P@#O3-XIIOH$o3(@Tp|)6Vnw
z?5Oq1Vq#$OWKc;)mBebY4+BRUL~n5kgOE>FVp*boX-Q^|epqU9Nq&)aMG=ECR=+qV
z6_*qxCYL}o|G$|l>N3q=4(t`>L=-u!_Er=yFfcHJaB&fX0LWTBkhOXcYi~}kjc%}B
z&&b5U?8zXQoLG>UoLN%onU`FYnwy$e;>p01ngeDz=a=S{L^E(hxu75`VGxdn_#-DV
zFJ0e1DJwO(#2RcL0|NsCUuh9cfgVVK9#p}Ea}o0eiZyeX7#P56`HInfo|s#ZlUl4-
zkXlrt7m!*6_4%YVE%rI9q&G4#uy``agCrp#g4NeP4BTlhnZ*S;iIq<I6(tNJ5Qip~
zm*@wjCYL1UrRStt`!H~&1>_f(gd`Sc7Z)<rF);ZsaHa(mr6L3>K*HeA1BW1p#|rWs
z0|NtdDTv1bVigxL$RWpF8aRy<>xHCNKpk&?^~NHPpWFU0F>pjNaHn||2c;&a_~+$R
zdNOdN`4?rTXXZs9n30|g@+EM+I6TOj=9ZsVQo_KG@ES<K8kEp{@{<!w@{39sRD7I0
z^fS{E^+AbVAC^D#{nOHlQ%j(#tbG{x)BKZ)Q;W({Qy^hl!XSsDF|8;uH?=&!C|e&Q
zZ|%dtng;S6JSl@>SU<R=C^Ih|BPqjz!?C2KC^M-PmWN<TnHiji5>X{_c$zy6Zb)$n
zgBq$MA)yX+B0`-tI1-sb5eUNQg$B%Z5T7BmEyz1i?OoXY1f0cHA*v9vINZmQ=9^eh
z!XOHX6HrFe_ed<xC`nApNrhw$#^NFdVMI2B%L?!2S5@?SvV)m{$&G<4CqFU8EfG{O
zcrtL7WE7<qXXNLkR20}dfKwkwIVjz6gS=D1!0DEmljEG9lV4O^#J~qOI<dS&4=lpC
zRJ>WB-?)^Cfz6G9EiEypAS2O}fwe3#r!>`vfhoDTgh3kOR#4VR1{tCc))-unn4D@I
z&A^#fl%51uUc$f>?H0|zmImg5(!RV816N5#s&jrGD6y6>h$Bo2NX*PDfl5I9&G7&K
z@p%OW1qBrqATP)=Ffg=&++SS8zzcUXC;=Z`X!`8Ty|7|t1~yLy$+Y~u60BkE#=u#S
zpP5$@oLQCX$-q(!rdW$hDsxhO7(~*7QVUB{i%U{d5K#tlvV;!<OI~7bDu^u%E`Ast
zAwkLmb__^d%04YEje&uI1suqr?9NhL#2^iKB*;nNtPM9hyJBt+?+acxP?1)|pbu6F
z3KBiIiWKLJL{K4~TI5-hS_I0QDsZ_*xe~Rr?&2{_42-C*D*?q=Ze~tp2?M7`YED^d
zNoH~)xS&!kVPGpy%}mcIDK28*2iphAfO>8@`H3aB-kw}^+vdX?CI&_~XjE6gihi&v
zztY^K)S|XEQ)RiQJm>~Fx&RagFq6Sy3Fhd4!UoJzEn(m+DN4*MPRlRKEiPhE0NV*l
zW{}W;Nx?m(H~FN&)Rn)Yz@9>AEn$#HB$D*h{9Jv<w6x5;)DV~f))fWCMGUfV<3Vcl
z(9{T3OceFH`ag-8fz5@1IoH4dOd5hoBM@l_7BK{i7#dX+*na>eIoudsz5-lgXjT*y
zlrXTlq!wqU=iw?fAYlnA3L)jk@y#l%)0BHu!S%Ch9yp{CvRG3x*fM@l@&jRTaErrP
zQUr25D8YjA5|->W4Q_}Mhy{vE1_lPa=^SL5I&x|Q321=`JrJP}b{sfWfVf6rt_hel
zM-M~v&_<Vsgs~Gij2TTq4g{NH1!93Pm`71KfU0d!&@6`=haL_LU`sIbJ2S|47~w#D
z-}@o?9_+{>1|fLLhqqG>Z^&YmI+axdZuqcefU~_P18aF^N=b$%17n3J17jt)D6?c>
zV9;e?V31;9U}yq+4ODo6B7za#R$&B-bAfCFVK5J-3b{oC3IQso$sBl*4>BA*E+7uW
zj0+Z!VvM+;WtvO`#|oz>s1*uo1cSqfis=#*A)v4r3i&e^92Sgb@U%k3Z~)~`P&f?U
z{8<V1J(Hm!$on7+P71*c3=E*G=ET6jkcpAi&@<71WVP!<B&&6U1DM?_u`JOgKN%dl
zR7_x?j0Oscp^(w0gF}MR2%gHQ7!II}1`3D4o6#17ea~cQ4Dvn*gOdU*qnR@>FkHdN
zXoI0nV+6$#q#FaOrUq}FwiO(}EWsI>1>m3sxf_%$Ahj+<%`8xKfs7jpx$Gb~7#Iye
zZl-oPFfuTJlf&T6WoN;@XEFp;UWmwt<uZ8&21Za$Lv1-Sz*~-x#xkz9;(%0hj~N&k
z&cWky@aDdU;DBciRtunZq61ZNpisC!1VZ60I20I7;7$dV8i;gAQ6U5}1{4mUjy|MJ
zLr)Em<crzApjTh-C)oE)hTyI)JP437AHxF%28Pq%1Om%sNL3uDdRdK6G909$5v*ds
z@}eHxU+AF^i4)Awr+e>?krx~fEFr1ICE&oKVj_fPM*ATU43gkrV6=ccm5Sj2%ZveV
z!_kw&0B1%<Rj}{z)P&&7s0~gaWMxKtI>9;hdLcs{BQri_JSdV#^)M)-gUnzA7hR1Y
z?rIQmy|{=$9eEn67=0qmCAA<mFC{fExpHEc&dc-Xyw-z<DV0H!X$U#&gOo)KO2}qI
z=0l40d@}Pu699Rs$t9WjdGYOU^Ck#Qxd@(4RL((>!)mM#1527~UP=jrBI;BQe7?y!
zKM!Pfev!2g16x{fNn%k6DCEp5aJVNRKc^DpCdg>)#O3lq9E*QVW@2FVWKb?Zk;CC0
zK9GA{Qj_zG5<xyfpF)HBTOVWxLX|aWzR?ZjXz=7o34;J)lp8E!?Zd#H766*B0LLnm
z4}$>2GYB(4-m(Ob1tU*Y$zTg~$D*SA@{r7e^Z$BZUYhYg3p_F?n+O%f>M<7vwlqi3
ztfvbDPnu_5UTRTLVoGLdF^KD5S_0!%6ftOFwGleejOuOCXTr%ZOr$3>fo4v5(wy>(
zQc{b+{sno)3N*h8pPK@UR1_4zrlUcHB?blu4rt7l;XeZd18BAgECS1dOz_4i6UtN<
zIAFIO=_)d*JD~=iuR|IYb!T8;m<KY35jJ2m5A25GA_i4tufirr^_(;E3!L&R;3@C*
z_D5?r-aOI;nkXq^P{XPRHc1cHw8Np$=DVi&aj<LDVDt2FX{>PsO5y(Hd8tL9+$;nh
z(q#lO!@;h11(l{CE_?(ZGHebK1}m_kTG)c(3KUqYQGyQC1&0P5NCDhE;6?`{oEr{z
z5K2>rkuv9@4Xc6Uat3Tn0L<ILz`)=F4hWFbL5(RlNIWAu7E<I6gk$G0Ffi<fI}ha8
zCvYCfvCl9a%Wxg6VgN!Gl>456Eq7vIU<74IxMRV6#2r{13vQhvLKZaO1a9@wI+Zel
zrorJE9PB)7sT9q5jdV+;ps;j<houa1DrE%q#G43)B_p^(C@x}<M=pDyHIbfsQGRIw
zq`E5(&xri}valCit1F}<B(N4Y;JOCXRs&;@3mLE#w4fq~$}>Tr2`WT)57IcC0Im##
zV9~-reqUh%0|Us-l+R8w_JNy;+#dNQ;1TMg#By*b5g!^%B@CRP*<Wy-2-XYAOAP=2
m|NjrF+)&nTfZPm~MP4W&!N9;E3J;aR8&-2L!V2VQ5C#CDFT7m<

diff --git a/JHotDraw/lgpl-license.html b/JHotDraw/lgpl-license.html
deleted file mode 100644
index 7106b97b0..000000000
--- a/JHotDraw/lgpl-license.html
+++ /dev/null
@@ -1,533 +0,0 @@
-<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>The Open Source Initiative: The GNU Lesser General Public License (LGPL)</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<div align=center>
-
-<p>
-
-<table width=90% cellpadding=10 cellspacing=10 border=0>
-
-<tr bgcolor="#FFFFFF">
-
-	<td colspan=2 align="right"><img src="../graphics/ossmall.png" width="250" height="26" border="0" align="right" alt="opensource.org">
-
-</td>
-
-</tr>
-
-<tr>
-
-	<td width=75% bgcolor="#C6EFF7" valign="top">
-	
-<font face="Arial, Helvetica, sans serif" size="3">
-		
-<h1>The GNU Lesser General Public License (LGPL)</h1>
-
-<h2>Version 2.1, February 1999</h2>
-
-<blockquote>
-
-	<p><em>(The master copy of this license lives on the <a
-href="http://www.gnu.org/copyleft/lesser.html">GNU website</a>.)</em></p>
-
-</blockquote>
-
-<tt>
-
-<p>Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.</p>
-
-<p>[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]</p>
-
-<p>Preamble</p>
-
-<p>The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.</p>
-
-<p>This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.</p>
-
-<p>When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.</p>
-
-<p>To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.</p>
-
-<p>For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.</p>
-
-<p>We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.</p>
-
-<p>To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.</p>
-
-<p>Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.</p>
-
-<p>Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.</p>
-
-<p>When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.</p>
-
-<p>We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.</p>
-
-<p>For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.</p>
-
-<p>In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.</p>
-
-<p>Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.</p>
-
-<p>The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.</p>
-
-<p>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</p>
-
-<p>0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".</p>
-
-<p>A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.</p>
-
-<p>The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)</p>
-
-<p>"Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.</p>
-
-<p>Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.</p>
-
-<p>1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.</p>
-
-<p>You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.</p>
-
-<p>2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:</p>
-
-<blockquote>
-
-	<p>a)	The modified work must itself be a software library.<br />
-	b)  You must cause the files modified to carry prominent notices
-        stating that you changed the files and the date of any change.<br />
-	c)  You must cause the whole of the work to be licensed at no
-        charge to all third parties under the terms of this License.<br />
-	d)  If a facility in the modified Library refers to a function or a
-        table of data to be supplied by an application program that uses
-        the facility, other than as an argument passed when the facility
-        is invoked, then you must make a good faith effort to ensure that,
-        in the event an application does not supply such function or
-        table, the facility still operates, and performs whatever part of
-        its purpose remains meaningful.</p>
-       
-	    <p>(For example, a function in a library to compute square roots has
-        a purpose that is entirely well-defined independent of the
-        application.  Therefore, Subsection 2d requires that any
-        application-supplied function or table used by this function must
-        be optional: if the application does not supply it, the square
-        root function must still compute square roots.)</p>
-       
-        <p>These requirements apply to the modified work as a whole.  If
-        identifiable sections of that work are not derived from the Library,
-        and can be reasonably considered independent and separate works in
-        themselves, then this License, and its terms, do not apply to those
-        sections when you distribute them as separate works.  But when you
-        distribute the same sections as part of a whole which is a work based
-        on the Library, the distribution of the whole must be on the terms of
-        this License, whose permissions for other licensees extend to the
-        entire whole, and thus to each and every part regardless of who wrote
-        it.</p>
-       
-        <p>Thus, it is not the intent of this section to claim rights or contest
-        your rights to work written entirely by you; rather, the intent is to
-        exercise the right to control the distribution of derivative or
-        collective works based on the Library.</p>
-       
-        <p>In addition, mere aggregation of another work not based on the Library
-        with the Library (or with a work based on the Library) on a volume of
-        a storage or distribution medium does not bring the other work under
-        the scope of this License.</p>
-
-</blockquote>
-
-<p>3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.</p>
-
-<p>Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.</p>
-
-<p>This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.</p>
-
-<p>4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.</p>
-
-<p>If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.</p>
-
-<p>5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.</p>
-
-<p>However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.</p>
-
-<p>When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.</p>
-
-<p>If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)</p>
-
-<p>Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.</p>
-
-<p>6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.</p>
-
-<p>You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:</p>
-	
-	<blockquote>
-	
-	<p>a)  Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)</p>
-	 
-    <p>b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.</p>
-
-    <p>c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.</p>
-
-    <p>d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.</p>
-
-    <p>e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.</p>
-
-	</blockquote>
-	
-<p>For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.</p>
-
-<p>It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.</p>
-
-<p>7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:</p>
-
-<blockquote>
-
-	<p>a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.</p>
-
-    <p>b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.</p>
-
-</blockquote>
-
-<p>8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.</p>
-
-<p>9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.</p>
-
-<p>10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.</p>
-
-<p>11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.</p>
-
-<p>If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.</p>
-
-<p>It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.</p>
-
-<p>This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.</p>
-
-<p>12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.</p>
-
-<p>13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.</p>
-
-<p>Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.</p>
-
-<p>14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.</p>
-
-<p>NO WARRANTY</p>
-
-<p>15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>
-
-<p>16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-
-<p>END OF TERMS AND CONDITIONS</p>
-
-</tt>
-
-</pre>
-	
-	</td>
-	
-	<td width=25% bgcolor="#BFBFBF" valign="top">
-	
-	<font face="Arial, Helvetica, sans serif" size="2">
-	
-	<p><a href="index.html">Licenses main page</a></p>
-	
-	<p />
-	
-	<hr>
-	
-	<p><a href="../index.html">opensource.org home page</a></p>
-	
-</tr>
-
-</table>
-
-</div>
-
-</body>
-
-</html>
diff --git a/JHotDraw/run_javadraw.bat b/JHotDraw/run_javadraw.bat
deleted file mode 100644
index 01e20b6cc..000000000
--- a/JHotDraw/run_javadraw.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-@echo off
-
-call compile_ant javadraw
diff --git a/JHotDraw/setenv.bat b/JHotDraw/setenv.bat
deleted file mode 100644
index ca4a20ba1..000000000
--- a/JHotDraw/setenv.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-set JAVA_HOME=C:\progra~1\jdk1.4.0
-set ANT_HOME=C:\ant
diff --git a/JHotDraw/src/CH/ifa/draw/applet/DrawApplet.java b/JHotDraw/src/CH/ifa/draw/applet/DrawApplet.java
deleted file mode 100644
index 75489a9b0..000000000
--- a/JHotDraw/src/CH/ifa/draw/applet/DrawApplet.java
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- * @(#)DrawApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.applet;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
-import java.io.*;
-import java.net.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-
-/**
- * DrawApplication defines a standard presentation for
- * a drawing editor that is run as an applet. The presentation is
- * customized in subclasses.<p>
- * Supported applet parameters: <br>
- * <i>DRAWINGS</i>: a blank separated list of drawing names that is
- *           shown in the drawings choice.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DrawApplet
-		extends JApplet
-		implements DrawingEditor, PaletteListener, VersionRequester {
-
-	private transient Drawing         fDrawing;
-	private transient Tool            fTool;
-
-	private transient DrawingView     fView;
-	private transient ToolButton      fDefaultToolButton;
-	private transient ToolButton      fSelectedToolButton;
-
-	private transient boolean         fSimpleUpdate;
-	private transient JButton          fUpdateButton;
-
-	private transient JComboBox          fFrameColor;
-	private transient JComboBox          fFillColor;
-	private transient JComboBox          fTextColor;
-	private transient JComboBox          fArrowChoice;
-	private transient JComboBox          fFontChoice;
-
-	private transient 			UndoManager myUndoManager;
-
-	static String                     fgUntitled = "untitled";
-
-	private static final String       fgDrawPath = "/CH/ifa/draw/";
-	public static final String        IMAGES = fgDrawPath+"images/";
-
-	/**
-	 * Initializes the applet and creates its contents.
-	 */
-	public void init() {
-		createIconkit();
-		getVersionControlStrategy().assertCompatibleVersion();
-		setUndoManager(new UndoManager());
-
-		getContentPane().setLayout(new BorderLayout());
-
-		fView = createDrawingView();
-
-		JPanel attributes = createAttributesPanel();
-		createAttributeChoices(attributes);
-		getContentPane().add("North", attributes);
-
-		JPanel toolPanel = createToolPalette();
-		createTools(toolPanel);
-		getContentPane().add("West", toolPanel);
-
-		getContentPane().add("Center", (Component)view());
-		JPanel buttonPalette = createButtonPanel();
-		createButtons(buttonPalette);
-		getContentPane().add("South", buttonPalette);
-
-		initDrawing();
-		// JFC should have its own internal double buffering...
-		//setBufferedDisplayUpdate();
-		setupAttributes();
-	}
-
-	public void addViewChangeListener(ViewChangeListener vsl) {
-	}
-
-	public void removeViewChangeListener(ViewChangeListener vsl) {
-	}
-
-	protected Iconkit createIconkit() {
-		return new Iconkit(this);
-	}
-
-	/**
-	 * Creates the attributes panel.
-	 */
-	protected JPanel createAttributesPanel() {
-		JPanel panel = new JPanel();
-		panel.setLayout(new PaletteLayout(2, new Point(2,2), false));
-		return panel;
-	}
-
-	/**
-	 * Creates the attribute choices. Override to add additional
-	 * choices.
-	 */
-	protected void createAttributeChoices(JPanel panel) {
-		panel.add(new JLabel("Fill"));
-		fFillColor = createColorChoice(FigureAttributeConstant.FILL_COLOR);
-		panel.add(fFillColor);
-
-		panel.add(new JLabel("Text"));
-		fTextColor = createColorChoice(FigureAttributeConstant.TEXT_COLOR);
-		panel.add(fTextColor);
-
-		panel.add(new JLabel("Pen"));
-		fFrameColor = createColorChoice(FigureAttributeConstant.FRAME_COLOR);
-		panel.add(fFrameColor);
-
-		panel.add(new JLabel("Arrow"));
-		CommandChoice choice = new CommandChoice();
-		fArrowChoice = choice;
-		FigureAttributeConstant arrowMode = FigureAttributeConstant.ARROW_MODE;
-		choice.addItem(new ChangeAttributeCommand("none",     arrowMode, new Integer(PolyLineFigure.ARROW_TIP_NONE),  this));
-		choice.addItem(new ChangeAttributeCommand("at Start", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_START), this));
-		choice.addItem(new ChangeAttributeCommand("at End",   arrowMode, new Integer(PolyLineFigure.ARROW_TIP_END),   this));
-		choice.addItem(new ChangeAttributeCommand("at Both",  arrowMode, new Integer(PolyLineFigure.ARROW_TIP_BOTH),  this));
-		panel.add(fArrowChoice);
-
-		panel.add(new JLabel("Font"));
-		fFontChoice = createFontChoice();
-		panel.add(fFontChoice);
-	}
-
-	/**
-	 * Creates the color choice for the given attribute.
-	 */
-	protected JComboBox createColorChoice(FigureAttributeConstant attribute) {
-		CommandChoice choice = new CommandChoice();
-		for (int i = 0; i < ColorMap.size(); i++)
-			choice.addItem(
-				new ChangeAttributeCommand(
-					ColorMap.name(i),
-					attribute,
-					ColorMap.color(i),
-					this
-				)
-			);
-		return choice;
-	}
-
-	/**
-	 * Creates the font choice. The choice is filled with
-	 * all the fonts supported by the toolkit.
-	 */
-	protected JComboBox createFontChoice() {
-		CommandChoice choice = new CommandChoice();
-		String fonts[] = Toolkit.getDefaultToolkit().getFontList();
-		for (int i = 0; i < fonts.length; i++) {
-			choice.addItem(new ChangeAttributeCommand(fonts[i], FigureAttributeConstant.FONT_NAME, fonts[i],  this));
-		}
-		return choice;
-	}
-
-	/**
-	 * Creates the buttons panel.
-	 */
-	protected JPanel createButtonPanel() {
-		JPanel panel = new JPanel();
-		panel.setLayout(new PaletteLayout(2, new Point(2,2), false));
-		return panel;
-	}
-
-	/**
-	 * Creates the buttons shown in the buttons panel. Override to
-	 * add additional buttons.
-	 * @param panel the buttons panel.
-	 */
-	protected void createButtons(JPanel panel) {
-		panel.add(new Filler(24,20));
-
-		JComboBox drawingChoice = new JComboBox();
-		drawingChoice.addItem(fgUntitled);
-
-		String param = getParameter("DRAWINGS");
-		if (param == null) {
-			param = "";
-		}
-		StringTokenizer st = new StringTokenizer(param);
-		while (st.hasMoreTokens()) {
-			drawingChoice.addItem(st.nextToken());
-		}
-		// offer choice only if more than one
-		if (drawingChoice.getItemCount() > 1) {
-			panel.add(drawingChoice);
-		}
-		else {
-			panel.add(new JLabel(fgUntitled));
-		}
-
-		drawingChoice.addItemListener(
-			new ItemListener() {
-				public void itemStateChanged(ItemEvent e) {
-					if (e.getStateChange() == ItemEvent.SELECTED) {
-						loadDrawing((String)e.getItem());
-					}
-				}
-			}
-		);
-
-		panel.add(new Filler(6,20));
-
-		JButton button;
-		button = new CommandButton(new DeleteCommand("Delete", this));
-		panel.add(button);
-
-		button = new CommandButton(new DuplicateCommand("Duplicate", this));
-		panel.add(button);
-
-		button = new CommandButton(new GroupCommand("Group", this));
-		panel.add(button);
-
-		button = new CommandButton(new UngroupCommand("Ungroup", this));
-		panel.add(button);
-
-		button = new JButton("Help");
-		button.addActionListener(
-			new ActionListener() {
-				public void actionPerformed(ActionEvent event) {
-					showHelp();
-				}
-			}
-		);
-		panel.add(button);
-
-		fUpdateButton = new JButton("Simple Update");
-		fUpdateButton.addActionListener(
-			new ActionListener() {
-				public void actionPerformed(ActionEvent event) {
-					if (fSimpleUpdate) {
-						setBufferedDisplayUpdate();
-					}
-					else {
-						setSimpleDisplayUpdate();
-					}
-				}
-			}
-		);
-
-		// panel.add(fUpdateButton); // not shown currently
-	}
-
-	/**
-	 * Creates the tools palette.
-	 */
-	protected JPanel createToolPalette() {
-		JPanel palette = new JPanel();
-		palette.setLayout(new PaletteLayout(2,new Point(2,2)));
-		return palette;
-	}
-
-	/**
-	 * Creates the tools. By default only the selection tool is added.
-	 * Override this method to add additional tools.
-	 * Call the inherited method to include the selection tool.
-	 * @param palette the palette where the tools are added.
-	 */
-	protected void createTools(JPanel palette) {
-		Tool tool = createSelectionTool();
-
-		fDefaultToolButton = createToolButton(IMAGES + "SEL", "Selection Tool", tool);
-		palette.add(fDefaultToolButton);
-	}
-
-	/**
-	 * Creates the selection tool used in this editor. Override to use
-	 * a custom selection tool.
-	 */
-	protected Tool createSelectionTool() {
-		return new SelectionTool(this);
-	}
-
-	/**
-	 * Creates a tool button with the given image, tool, and text
-	 */
-	protected ToolButton createToolButton(String iconName, String toolName, Tool tool) {
-		return new ToolButton(this, iconName, toolName, tool);
-	}
-
-	/**
-	 * Creates the drawing used in this application.
-	 * You need to override this method to use a Drawing
-	 * subclass in your application. By default a standard
-	 * Drawing is returned.
-	 */
-	protected Drawing createDrawing() {
-		return new StandardDrawing();
-	}
-
-	/**
-	 * Creates the drawing view used in this application.
-	 * You need to override this method to use a DrawingView
-	 * subclass in your application. By default a standard
-	 * DrawingView is returned.
-	 */
-	protected DrawingView createDrawingView() {
-		return new StandardDrawingView(this, 410, 370);
-	}
-
-	/**
-	 * Handles a user selection in the palette.
-	 * @see PaletteListener
-	 */
-	public void paletteUserSelected(PaletteButton button) {
-		ToolButton toolButton = (ToolButton) button;
-		setTool(toolButton.tool(), toolButton.name());
-		setSelected(toolButton);
-	}
-
-	/**
-	 * Handles when the mouse enters or leaves a palette button.
-	 * @see PaletteListener
-	 */
-	public void paletteUserOver(PaletteButton button, boolean inside) {
-		if (inside) {
-			showStatus(button.name());
-		}
-		else if (fSelectedToolButton != null) {
-			showStatus(fSelectedToolButton.name());
-		}
-	}
-
-	/**
-	 * Gets the current drawing.
-	 * @see DrawingEditor
-	 */
-	public Drawing drawing() {
-		return fDrawing;
-	}
-
-	/**
-	 * Gets the current tool.
-	 * @see DrawingEditor
-	 */
-	public Tool tool() {
-		return fTool;
-	}
-
-	/**
-	 * Gets the current drawing view.
-	 * @see DrawingEditor
-	 */
-	public DrawingView view() {
-		return fView;
-	}
-
-	public DrawingView[] views() {
-		return new DrawingView[] { view() } ;
-	}
-
-	/**
-	 * Sets the default tool of the editor.
-	 * @see DrawingEditor
-	 */
-	public void toolDone() {
-		setTool(fDefaultToolButton.tool(), fDefaultToolButton.name());
-		setSelected(fDefaultToolButton);
-	}
-
-	/**
-	 * Handles a change of the current selection. Updates all
-	 * menu items that are selection sensitive.
-	 * @see DrawingEditor
-	 */
-	public void figureSelectionChanged(DrawingView view) {
-		setupAttributes();
-	}
-
-	public void viewSelectionChanged(DrawingView oldView, DrawingView newView) {
-	}
-
-	private void initDrawing() {
-		fDrawing = createDrawing();
-		view().setDrawing(fDrawing);
-		toolDone();
-	}
-
-	private void setTool(Tool t, String name) {
-		if (fTool != null) {
-			fTool.deactivate();
-		}
-		fTool = t;
-		if (fTool != null) {
-			showStatus(name);
-			fTool.activate();
-		}
-	}
-
-	private void setSelected(ToolButton button) {
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.reset();
-		}
-		fSelectedToolButton = button;
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.select();
-		}
-	}
-
-	protected void loadDrawing(String param) {
-		if (param == fgUntitled) {
-			fDrawing.release();
-			initDrawing();
-			return;
-		}
-
-		String filename = getParameter(param);
-		if (filename != null) {
-			readDrawing(filename);
-		}
-	}
-
-	private void readDrawing(String filename) {
-		toolDone();
-		String type = guessType(filename);
-		if (type.equals("storable")) {
-			readFromStorableInput(filename);
-		}
-		else if (type.equals("serialized")) {
-			readFromObjectInput(filename);
-		}
-		else {
-			showStatus("Unknown file type");
-		}
-	}
-
-	private void readFromStorableInput(String filename) {
-		try {
-			URL url = new URL(getCodeBase(), filename);
-			InputStream stream = url.openStream();
-			StorableInput input = new StorableInput(stream);
-			fDrawing.release();
-
-			fDrawing = (Drawing)input.readStorable();
-			view().setDrawing(fDrawing);
-		}
-		catch (IOException e) {
-			initDrawing();
-			showStatus("Error:" + e);
-		}
-	}
-
-	private void readFromObjectInput(String filename) {
-		try {
-			URL url = new URL(getCodeBase(), filename);
-			InputStream stream = url.openStream();
-			ObjectInput input = new ObjectInputStream(stream);
-			fDrawing.release();
-			fDrawing = (Drawing)input.readObject();
-			view().setDrawing(fDrawing);
-		}
-		catch (IOException e) {
-			initDrawing();
-			showStatus("Error: " + e);
-		}
-		catch (ClassNotFoundException e) {
-			initDrawing();
-			showStatus("Class not found: " + e);
-		}
-	}
-
-	private String guessType(String file) {
-		if (file.endsWith(".draw")) {
-			return "storable";
-		}
-		if (file.endsWith(".ser")) {
-			return "serialized";
-		}
-		return "unknown";
-	}
-
-	private void setupAttributes() {
-		Color   frameColor = (Color)   AttributeFigure.getDefaultAttribute(FigureAttributeConstant.FRAME_COLOR);
-		Color   fillColor  = (Color)   AttributeFigure.getDefaultAttribute(FigureAttributeConstant.FILL_COLOR);
-		//Color   textColor  = (Color)   AttributeFigure.getDefaultAttribute(FigureAttributeConstant.TEXT_COLOR);
-		Integer arrowMode  = (Integer) AttributeFigure.getDefaultAttribute(FigureAttributeConstant.ARROW_MODE);
-		String  fontName   = (String)  AttributeFigure.getDefaultAttribute(FigureAttributeConstant.FONT_NAME);
-
-		FigureEnumeration fe = view().selection();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			frameColor = (Color) f.getAttribute(FigureAttributeConstant.FRAME_COLOR);
-			fillColor  = (Color) f.getAttribute(FigureAttributeConstant.FILL_COLOR);
-			//textColor  = (Color) f.getAttribute(FigureAttributeConstant.TEXT_COLOR);
-			arrowMode  = (Integer) f.getAttribute(FigureAttributeConstant.ARROW_MODE);
-			fontName   = (String) f.getAttribute(FigureAttributeConstant.FONT_NAME);
-		}
-
-		fFrameColor.setSelectedIndex(ColorMap.colorIndex(frameColor));
-		fFillColor.setSelectedIndex(ColorMap.colorIndex(fillColor));
-		//fTextColor.select(ColorMap.colorIndex(textColor));
-		if (arrowMode != null) {
-			fArrowChoice.setSelectedIndex(arrowMode.intValue());
-		}
-		if (fontName != null) {
-			fFontChoice.setSelectedItem(fontName);
-		}
-	}
-
-	protected void setSimpleDisplayUpdate() {
-		view().setDisplayUpdate(new SimpleUpdateStrategy());
-		fUpdateButton.setText("Simple Update");
-		fSimpleUpdate = true;
-	}
-
-	protected void setBufferedDisplayUpdate() {
-		view().setDisplayUpdate(new BufferedUpdateStrategy());
-		fUpdateButton.setText("Buffered Update");
-		fSimpleUpdate = false;
-	}
-
-	/**
-	 * Shows a help page for the applet. The URL of the help
-	 * page is derived as follows: codeBase+appletClassname+Help.html"
-	 */
-	protected void showHelp() {
-		try {
-			String appletPath = getClass().getName().replace('.', '/');
-			URL url = new URL(getCodeBase(), appletPath + "Help.html");
-			getAppletContext().showDocument(url, "Help");
-		}
-		catch (IOException e) {
-			showStatus("Help file not found");
-		}
-
-	}
-
-	protected void setUndoManager(UndoManager newUndoManager) {
-		myUndoManager = newUndoManager;
-	}
-
-	public UndoManager getUndoManager() {
-		return myUndoManager;
-	}
-
-	protected VersionControlStrategy getVersionControlStrategy() {
-		return new StandardVersionControlStrategy(this);
-	}
-
-	/**
-	 * Subclasses should override this method to specify to which versions of
-	 * JHotDraw they are compatible. A string array is returned so it is possible
-	 * to specify several version numbers of JHotDraw to which the application
-	 * is compatible with.
-	 *
-	 * @return all versions number of JHotDraw the application is compatible with.
-	 */
-	public String[] getRequiredVersions() {
-		String[] requiredVersions = new String[1];
-		// return the version of the package we are in
-		requiredVersions[0] = VersionManagement.getPackageVersion(DrawApplet.class.getPackage());
-		return requiredVersions;
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/application/DrawApplication.java b/JHotDraw/src/CH/ifa/draw/application/DrawApplication.java
deleted file mode 100644
index b4d091856..000000000
--- a/JHotDraw/src/CH/ifa/draw/application/DrawApplication.java
+++ /dev/null
@@ -1,1174 +0,0 @@
-/*
- * @(#)DrawApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.application;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.contrib.*;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.util.ListIterator;
-
-/**
- * DrawApplication defines a standard presentation for
- * standalone drawing editors. The presentation is
- * customized in subclasses.
- * The application is started as follows:
- * <pre>
- * public static void main(String[] args) {
- *     MayDrawApp window = new MyDrawApp();
- *     window.open();
- * }
- * </pre>
- *
- * @version <$CURRENT_VERSION$>
- */
-public	class DrawApplication
-		extends JFrame
-		implements DrawingEditor, PaletteListener, VersionRequester {
-
-	private Tool					fTool;
-	private Iconkit					fIconkit;
-
-	private JTextField				fStatusLine;
-	private DrawingView				fView;
-	private ToolButton				fDefaultToolButton;
-	private ToolButton				fSelectedToolButton;
-
-	private String					fApplicationName;
-	private StorageFormatManager	fStorageFormatManager;
-	private UndoManager				myUndoManager;
-	protected static String			fgUntitled = "untitled";
-	/**
-	 * List is not thread safe, but should not need to be.  If it does we can 
-	 * safely synchronize the few methods that use this by synchronizing on 
-	 * the List object itself.
-	 */
-	private java.util.List			listeners;
-	private DesktopListener     fDesktopListener;
-
-	/**
-	 * This component acts as a desktop for the content.
-	 */
-	private Desktop              fDesktop;
-
-	// the image resource path
-	private static final String		fgDrawPath = "/CH/ifa/draw/";
-	public static final String		IMAGES = fgDrawPath + "images/";
-	protected static int 			winCount = 0;
-
-	/**
-	 * The index of the file menu in the menu bar.
-	 */
-	public static final int			FILE_MENU = 0;
-	/**
-	 * The index of the edit menu in the menu bar.
-	 */
-	public static final int			EDIT_MENU = 1;
-	/**
-	 * The index of the alignment menu in the menu bar.
-	 */
-	public static final int			ALIGNMENT_MENU = 2;
-	/**
-	 * The index of the attributes menu in the menu bar.
-	 */
-	public static final int			ATTRIBUTES_MENU = 3;
-
-	/**
-	 * Constructs a drawing window with a default title.
-	 */
-	public DrawApplication() {
-		this("JHotDraw");
-	}
-
-	/**
-	 * Constructs a drawing window with the given title.
-	 */
-	public DrawApplication(String title) {
-		super(title);
-		listeners = CollectionsFactory.current().createList();
-		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
-		setApplicationName(title);
-	}
-
-	/**
-	 * Factory method which can be overriden by subclasses to
-	 * create an instance of their type.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new DrawApplication();
-	}
-
-	/**
-	 * Open a new view for this application containing a
-	 * view of the drawing of the currently activated window.
-	 */
-	public void newView() {
-		if (view() == null) {
-			return;
-		}
-		DrawApplication window = createApplication();
-		window.open(view());
-		if (view().drawing().getTitle() != null ) {
-			window.setDrawingTitle(view().drawing().getTitle() + " (View)");
-		}
-		else {
-			window.setDrawingTitle(getDefaultDrawingTitle() + " (View)");
-		}
-	}
-
-	/**
-	 * Open a new window for this application containing the passed in drawing,
-	 * or a new drawing if the passed in drawing is null.
-	 */
-	public void newWindow(Drawing initialDrawing) {
-		DrawApplication window = createApplication();
-		if (initialDrawing == null) {
-			window.open();
-		}
-		else {
-			window.open(window.createDrawingView(initialDrawing));
-		}
-	}
-
-	public final void newWindow() {
-        newWindow(createDrawing());
-	}
-
-	/**
-	 * Opens a new window
-	 */
-	public void open() {
-		open(createInitialDrawingView());
-	}
-
-	/**
-	 * Opens a new window with a drawing view.
-	 */
-	protected void open(final DrawingView newDrawingView) {
-		getVersionControlStrategy().assertCompatibleVersion();
-		setUndoManager(new UndoManager());
-		setIconkit(createIconkit());
-		getContentPane().setLayout(new BorderLayout());
-
-		// status line must be created before a tool is set
-		setStatusLine(createStatusLine());
-		getContentPane().add(getStatusLine(), BorderLayout.SOUTH);
-
-		// create dummy tool until the default tool is activated during toolDone()
-		setTool(new NullTool(this), "");
-		setView(newDrawingView);
-
-		JToolBar tools = createToolPalette();
-		createTools(tools);
-
-		JPanel activePanel = new JPanel();
-		activePanel.setAlignmentX(LEFT_ALIGNMENT);
-		activePanel.setAlignmentY(TOP_ALIGNMENT);
-		activePanel.setLayout(new BorderLayout());
-		activePanel.add(tools, BorderLayout.NORTH);
-		setDesktopListener(createDesktopListener());
-		setDesktop(createDesktop());
-		activePanel.add((Component)getDesktop(), BorderLayout.CENTER);
-		getContentPane().add(activePanel, BorderLayout.CENTER);
-
-		JMenuBar mb = new JMenuBar();
-		createMenus(mb);
-		setJMenuBar(mb);
-
-		Dimension d = defaultSize();
-		if (d.width > mb.getPreferredSize().width) {
-			setSize(d.width, d.height);
-		}
-		else {
-			setSize(mb.getPreferredSize().width, d.height);
-		}
-		addListeners();
-		setStorageFormatManager(createStorageFormatManager());
-
-		//no work allowed to be done on GUI outside of AWT thread once
-		//setVislble(true) must be called before drawing added to desktop, else 
-		//DND will fail. on drawing added before with a NPE.  note however that
-		//a nulldrawingView will not fail because it is never really added to the desltop
-		setVisible(true);
-		Runnable r = new Runnable() {
-			public void run() {
-				if (newDrawingView.isInteractive()) {
-					getDesktop().addToDesktop(newDrawingView , Desktop.PRIMARY);
-				}
-				toolDone();
-			}
-		};
-
-		if (java.awt.EventQueue.isDispatchThread() == false) {
-			try {
-				java.awt.EventQueue.invokeAndWait(r);
-			}
-			catch(java.lang.InterruptedException ie) {
-				System.err.println(ie.getMessage());
-				exit();
-			}
-			catch(java.lang.reflect.InvocationTargetException ite) {
-				System.err.println(ite.getMessage());
-				exit();
-			}
-		}
-		else {
-			r.run();
-		}
-
-		toolDone();
-	}
-
-	/**
-	 * Registers the listeners for this window
-	 */
-	protected void addListeners() {
-		addWindowListener(
-			new WindowAdapter() {
-				public void windowClosing(WindowEvent event) {
-					endApp();
-				}
-
-				public void windowOpened(WindowEvent event) {
-					winCount++;
-				}
-
-				public void windowClosed(WindowEvent event) {
-					if (--winCount == 0) {
-						System.exit(0);
-					}
-				}
-			}
-		);
-	}
-
-	/**
-	 * Creates the standard menus. Clients override this
-	 * method to add additional menus.
-	 */
-	protected void createMenus(JMenuBar mb) {
-		addMenuIfPossible(mb, createFileMenu());
-		addMenuIfPossible(mb, createEditMenu());
-		addMenuIfPossible(mb, createAlignmentMenu());
-		addMenuIfPossible(mb, createAttributesMenu());
-		addMenuIfPossible(mb, createDebugMenu());
-	}
-
-	protected void addMenuIfPossible(JMenuBar mb, JMenu newMenu) {
-		if (newMenu != null) {
-			mb.add(newMenu);
-		}
-	}
-
-	/**
-	 * Creates the file menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createFileMenu() {
-		CommandMenu menu = new CommandMenu("File");
-		Command cmd = new AbstractCommand("New", this, false) {
-			public void execute() {
-				promptNew();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('n'));
-
-		cmd = new AbstractCommand("Open...", this, false) {
-			public void execute() {
-				promptOpen();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('o'));
-
-		cmd = new AbstractCommand("Save As...", this, true) {
-			public void execute() {
-				promptSaveAs();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('s'));
-		menu.addSeparator();
-
-		cmd = new AbstractCommand("Print...", this, true) {
-			public void execute() {
-				print();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('p'));
-		menu.addSeparator();
-
-		cmd = new AbstractCommand("Exit", this, true) {
-			public void execute() {
-				endApp();
-			}
-		};
-		menu.add(cmd);
-		return menu;
-	}
-
-	/**
-	 * Creates the edit menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createEditMenu() {
-		CommandMenu menu = new CommandMenu("Edit");
-		menu.add(new UndoableCommand(
-			new SelectAllCommand("Select All", this)), new MenuShortcut('a'));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new CutCommand("Cut", this)), new MenuShortcut('x'));
-		menu.add(new CopyCommand("Copy", this), new MenuShortcut('c'));
-		menu.add(new UndoableCommand(
-			new PasteCommand("Paste", this)), new MenuShortcut('v'));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new DuplicateCommand("Duplicate", this)), new MenuShortcut('d'));
-		menu.add(new UndoableCommand(new DeleteCommand("Delete", this)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(new GroupCommand("Group", this)));
-		menu.add(new UndoableCommand(new UngroupCommand("Ungroup", this)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(new SendToBackCommand("Send to Back", this)));
-		menu.add(new UndoableCommand(new BringToFrontCommand("Bring to Front", this)));
-		menu.addSeparator();
-		menu.add(new UndoCommand("Undo Command", this));
-		menu.add(new RedoCommand("Redo Command", this));
-		return menu;
-	}
-
-	/**
-	 * Creates the alignment menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createAlignmentMenu() {
-		CommandMenu menu = new CommandMenu("Align");
-		menu.addCheckItem(new ToggleGridCommand("Toggle Snap to Grid", this, new Point(4,4)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.LEFTS, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.CENTERS, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.RIGHTS, this)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.TOPS, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.MIDDLES, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.BOTTOMS, this)));
-		return menu;
-	}
-
-	/**
-	 * Creates the debug menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createDebugMenu() {
-		CommandMenu menu = new CommandMenu("Debug");
-
-		Command cmd = new AbstractCommand("Simple Update", this) {
-			public void execute() {
-				this.view().setDisplayUpdate(new SimpleUpdateStrategy());
-			}
-		};
-		menu.add(cmd);
-
-		cmd = new AbstractCommand("Buffered Update", this) {
-			public void execute() {
-				this.view().setDisplayUpdate(new BufferedUpdateStrategy());
-			}
-		};
-		menu.add(cmd);
-		return menu;
-	}
-
-	/**
-	 * Creates the attributes menu and its submenus. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createAttributesMenu() {
-		JMenu menu = new JMenu("Attributes");
-		menu.add(createColorMenu("Fill Color", FigureAttributeConstant.FILL_COLOR));
-		menu.add(createColorMenu("Pen Color", FigureAttributeConstant.FRAME_COLOR));
-		menu.add(createArrowMenu());
-		menu.addSeparator();
-		menu.add(createFontMenu());
-		menu.add(createFontSizeMenu());
-		menu.add(createFontStyleMenu());
-		menu.add(createColorMenu("Text Color", FigureAttributeConstant.TEXT_COLOR));
-		return menu;
-	}
-
-	/**
-	 * Creates the color menu.
-	 */
-	protected JMenu createColorMenu(String title, FigureAttributeConstant attribute) {
-		CommandMenu menu = new CommandMenu(title);
-		for (int i=0; i<ColorMap.size(); i++)
-			menu.add(
-				new UndoableCommand(
-					new ChangeAttributeCommand(
-						ColorMap.name(i),
-						attribute,
-						ColorMap.color(i),
-						this
-					)
-				)
-			);
-		return menu;
-	}
-
-	/**
-	 * Creates the arrows menu.
-	 */
-	protected JMenu createArrowMenu() {
-		FigureAttributeConstant arrowMode = FigureAttributeConstant.ARROW_MODE;
-		CommandMenu menu = new CommandMenu("Arrow");
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("none", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_NONE), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("at Start", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_START), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("at End", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_END), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("at Both", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_BOTH), this)));
-		return menu;
-	}
-
-	/**
-	 * Creates the fonts menus. It installs all available fonts
-	 * supported by the toolkit implementation.
-	 */
-	protected JMenu createFontMenu() {
-		CommandMenu menu = new CommandMenu("Font");
-		String fonts[] = Toolkit.getDefaultToolkit().getFontList();
-		for (int i = 0; i < fonts.length; i++) {
-			menu.add(new UndoableCommand(
-				new ChangeAttributeCommand(fonts[i], FigureAttributeConstant.FONT_NAME, fonts[i],  this)));
-		}
-		return menu;
-	}
-
-	/**
-	 * Creates the font style menu with entries (Plain, Italic, Bold).
-	 */
-	protected JMenu createFontStyleMenu() {
-		FigureAttributeConstant fontStyle = FigureAttributeConstant.FONT_STYLE;
-		CommandMenu menu = new CommandMenu("Font Style");
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("Plain", fontStyle, new Integer(Font.PLAIN), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("Italic", fontStyle, new Integer(Font.ITALIC), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("Bold", fontStyle, new Integer(Font.BOLD), this)));
-		return menu;
-	}
-
-	/**
-	 * Creates the font size menu.
-	 */
-	protected JMenu createFontSizeMenu() {
-		CommandMenu menu = new CommandMenu("Font Size");
-		int sizes[] = { 9, 10, 12, 14, 18, 24, 36, 48, 72 };
-		for (int i = 0; i < sizes.length; i++) {
-		   menu.add(
-				new UndoableCommand(
-					new ChangeAttributeCommand(
-						Integer.toString(sizes[i]),
-						FigureAttributeConstant.FONT_SIZE,
-						new Integer(sizes[i]),
-						this
-					)
-				)
-			);
-		}
-		return menu;
-	}
-
-	/**
-	 * Create a menu which allows the user to select a different look and feel at runtime.
-	 */
-	public JMenu createLookAndFeelMenu() {
-		CommandMenu menu = new CommandMenu("Look'n'Feel");
-
-		UIManager.LookAndFeelInfo[] lafs = UIManager.getInstalledLookAndFeels();
-
-		for (int i = 0; i < lafs.length; i++) {
-			final String lnfClassName = lafs[i].getClassName();
-			Command cmd = new AbstractCommand(lafs[i].getName(), this) {
-				public void execute() {
-					newLookAndFeel(lnfClassName);
-				}
-			};
-			menu.add(cmd);
-		}
-		return menu;
-	}
-
-	/**
-	 * Creates the tool palette.
-	 */
-	protected JToolBar createToolPalette() {
-		JToolBar palette = new JToolBar();
-		palette.setBackground(Color.lightGray);
-		// use standard FlowLayout for JToolBar
-		// palette.setLayout(new PaletteLayout(2,new Point(2,2)));
-		return palette;
-	}
-
-	/**
-	 * Creates the tools. By default only the selection tool is added.
-	 * Override this method to add additional tools.
-	 * Call the inherited method to include the selection tool.
-	 * @param palette the palette where the tools are added.
-	 */
-	protected void createTools(JToolBar palette) {
-		setDefaultTool(createDefaultTool());
-		palette.add(fDefaultToolButton);
-	}
-
-	/**
-	 * Creates the selection tool used in this editor. Override to use
-	 * a custom selection tool.
-	 */
-	protected Tool createSelectionTool() {
-		return new SelectionTool(this);
-	}
-
-	protected Tool createDefaultTool() {
-		return createSelectionTool();
-	}
-
-	protected void setDefaultTool(Tool newDefaultTool) {
-		if (newDefaultTool != null) {
-			fDefaultToolButton = createToolButton(IMAGES+"SEL", "Selection Tool", newDefaultTool);
-		}
-		else {
-			fDefaultToolButton = null;
-		}
-	}
-
-	public Tool getDefaultTool() {
-		if (fDefaultToolButton != null) {
-			return fDefaultToolButton.tool();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Creates a tool button with the given image, tool, and text
-	 */
-	protected ToolButton createToolButton(String iconName, String toolName, Tool tool) {
-		return new ToolButton(this, iconName, toolName, tool);
-	}
-
-	/**
-	 * Creates the drawing view used in this application.
-	 * You need to override this method to use a DrawingView
-	 * subclass in your application. By default a standard
-	 * DrawingView is returned.
-	 */
-	protected DrawingView createDrawingView() {
-		DrawingView createdDrawingView = createDrawingView(createDrawing());
-		createdDrawingView.drawing().setTitle(getDefaultDrawingTitle());
-		return createdDrawingView;
-	}
-
-	protected DrawingView createDrawingView(Drawing newDrawing) {
-		Dimension d = getDrawingViewSize();
-		DrawingView newDrawingView = new StandardDrawingView(this, d.width, d.height);
-		newDrawingView.setDrawing(newDrawing);
-		// notify listeners about created view when the view is added to the desktop
-		//fireViewCreatedEvent(newDrawingView);
-		return newDrawingView;
-	}
-
-	/**
-	 * Create the DrawingView that is active when the application is started.
-	 * This initial DrawingView might be different from DrawingView created
-	 * by the application, so subclasses can override this method to provide
-	 * a special drawing view for application startup time, e.g. a NullDrawingView
-	 * which does not display an internal frame in a multiple document interface
-	 * (MDI) application.
-	 *
-	 * @return drawing view that is active at application startup time
-	 */
-	protected DrawingView createInitialDrawingView() {
-		return createDrawingView();
-	}
-
-	/**
-	 * Override to define the dimensions of the drawing view.
-	 */
-	protected Dimension getDrawingViewSize() {
-		return new Dimension(800, 800);
-	}
-
-	/**
-	 * Creates the drawing used in this application.
-	 * You need to override this method to use a Drawing
-	 * subclass in your application. By default a standard
-	 * Drawing is returned.
-	 */
-	protected Drawing createDrawing() {
-		return new StandardDrawing();
-	}
-
-	protected Desktop createDesktop() {
-		return new JPanelDesktop(this);
-//		return new JScrollPaneDesktop();
-	}
-
-	protected void setDesktop(Desktop newDesktop) {
-		newDesktop.addDesktopListener(getDesktopListener());
-		fDesktop = newDesktop;
-	}
-
-	/**
-	* Get the component, in which the content is embedded. This component
-	* acts as a desktop for the content.
-	*/
-	public Desktop getDesktop() {
-		return fDesktop;
-	}
-
-	/**
-	 * Factory method to create a StorageFormatManager for supported storage formats.
-	 * Different applications might want to use different storage formats and can return
-	 * their own format manager by overriding this method.
-	 */
-	public StorageFormatManager createStorageFormatManager() {
-		StorageFormatManager storageFormatManager = new StorageFormatManager();
-		storageFormatManager.setDefaultStorageFormat(new StandardStorageFormat());
-		storageFormatManager.addStorageFormat(storageFormatManager.getDefaultStorageFormat());
-		storageFormatManager.addStorageFormat(new SerializationStorageFormat());
-//		storageFormatManager.addStorageFormat(new JDOStorageFormat());
-		return storageFormatManager;
-	}
-
-	/**
-	 * Set the StorageFormatManager. The StorageFormatManager is used when storing and
-	 * restoring Drawing from the file system.
-	 */
-	protected final void setStorageFormatManager(StorageFormatManager newStorageFormatManager) {
-		fStorageFormatManager = newStorageFormatManager;
-	}
-
-	/**
-	 * Return the StorageFormatManager for this application.The StorageFormatManager is
-	 * used when storing and restoring Drawing from the file system.
-	 */
-	public StorageFormatManager getStorageFormatManager() {
-		return fStorageFormatManager;
-	}
-
-	/**
-	 * Gets the default size of the window.
-	 */
-	protected Dimension defaultSize() {
-		return new Dimension(600,450);
-	}
-
-	/**
-	 * Creates the status line.
-	 */
-	protected JTextField createStatusLine() {
-		JTextField field = new JTextField("No Tool", 40);
-		field.setBackground(Color.white);
-		field.setEditable(false);
-		return field;
-	}
-
-	private void setStatusLine(JTextField newStatusLine) {
-		fStatusLine = newStatusLine;
-	}
-
-	protected JTextField getStatusLine() {
-		return fStatusLine;
-	}
-
-	/**
-	 * Handles a user selection in the palette.
-	 * @see PaletteListener
-	 */
-	public void paletteUserSelected(PaletteButton paletteButton) {
-		ToolButton toolButton = (ToolButton)paletteButton;
-		setTool(toolButton.tool(), toolButton.name());
-		setSelected(toolButton);
-	}
-
-	/**
-	 * Handles when the mouse enters or leaves a palette button.
-	 * @see PaletteListener
-	 */
-	public void paletteUserOver(PaletteButton paletteButton, boolean inside) {
-		ToolButton toolButton = (ToolButton)paletteButton;
-		if (inside) {
-			showStatus(toolButton.name());
-		}
-		else if (fSelectedToolButton != null) {
-			showStatus(fSelectedToolButton.name());
-		}
-	}
-
-	/**
-	 * Gets the current tool.
-	 * @see DrawingEditor
-	 */
-	public Tool tool() {
-		return fTool;
-	}
-
-	/**
-	 * Retrieve the active view from the window
-	 * Gets the current drawing view.
-	 * @see DrawingEditor
-	 */
-	public DrawingView view() {
-		return fView;
-	}
-
-	protected void setView(DrawingView newView) {
-		DrawingView oldView = fView;
-		fView = newView;
-		fireViewSelectionChangedEvent(oldView, view());
-	}
-
-	public DrawingView[] views() {
-		return new DrawingView[] { view() };
-	}
-
-	/**
-	 * Sets the default tool of the editor.
-	 * @see DrawingEditor
-	 */
-	public void toolDone() {
-		System.out.println("ToolDone");
-		if (fDefaultToolButton != null) {
-			setTool(fDefaultToolButton.tool(), fDefaultToolButton.name());
-			setSelected(fDefaultToolButton);
-		}
-	}
-
-	/**
-	 * Fired by a view when the figure selection changes.  Since Commands and
-	 * Tools may depend on the figure selection they are registered to be notified
-	 * about these events.
-	 * Any selection sensitive GUI component should update its
-	 * own state if the selection has changed, e.g. selection sensitive menuitems
-	 * will update their own states.
-	 * @see DrawingEditor
-	 */
-	public void figureSelectionChanged(DrawingView view) {
-		checkCommandMenus();
-	}
-
-	protected void checkCommandMenus() {
-		JMenuBar mb = getJMenuBar();
-
-		for (int x = 0; x < mb.getMenuCount(); x++) {
-		    JMenu jm = mb.getMenu(x);
-			if (CommandMenu.class.isInstance(jm)) {
-				checkCommandMenu((CommandMenu)jm);
-			}
-		}
-	}
-
-	protected void checkCommandMenu(CommandMenu cm) {
-		cm.checkEnabled();
-		for (int y = 0; y < cm.getItemCount();y++) {
-			JMenuItem jmi = cm.getItem(y);
-			if (CommandMenu.class.isInstance(jmi)) {
-				checkCommandMenu((CommandMenu)jmi);
-			}
-		}
-	}
-
-	/**
-	 * Register to hear when the active view is changed.  For Single document
-	 * interface, this will happen when a new drawing is created.
-	 */
-	public void addViewChangeListener(ViewChangeListener vsl) {
-		listeners.add(vsl);
-	}
-
-	/**
-	 * Remove listener
-	 */
-	public void removeViewChangeListener(ViewChangeListener vsl) {
-		listeners.remove(vsl);
-	}
-
-	/**
-	 * An appropriate event is triggered and all registered observers
-	 * are notified if the drawing view has been changed, e.g. by
-	 * switching between several internal frames.  This method is
-	 * usually not needed in SDI environments.
-	 */
-	protected void fireViewSelectionChangedEvent(DrawingView oldView, DrawingView newView) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		while (li.hasPrevious()) {
-			ViewChangeListener vsl = (ViewChangeListener)li.previous();
-			vsl.viewSelectionChanged(oldView, newView);
-		}
-	}
-
-	protected void fireViewCreatedEvent(DrawingView view) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		while (li.hasPrevious()) {
-			ViewChangeListener vsl = (ViewChangeListener)li.previous();
-			vsl.viewCreated(view);
-		}
-	}
-
-	protected void fireViewDestroyingEvent(DrawingView view) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		while (li.hasPrevious()) {
-			ViewChangeListener vsl = (ViewChangeListener)li.previous();
-			vsl.viewDestroying( view );
-		}
-	}
-
-	/**
-	 * Shows a status message.
-	 * @see DrawingEditor
-	 */
-	public void showStatus(String string) {
-		getStatusLine().setText(string);
-	}
-
-	/**
-	 * Note: it is inconsistent to directly assign a variable but when using it
-	 * use it from a method.  (assignment:  fTool = t, usage: tool()) dnoyeB-4/8/02
-	 * Note:  should we check that the tool is inactive before we activate it?
-	 * this would be consistent with how we do deactivate.  I think we should do
-	 * this now and not wait till a bug pops up. even if their is no bug, its
-	 * consistent and adds understandability to the code.  dnoyeB-4/8/02
-	 */
-	public void setTool(Tool t, String name) {
-		// SF bug-tracker id: #490665
-
-		// deactivate only those tools that have been activated before
-		if ((tool() != null) && (tool().isActive())) {
-			tool().deactivate();
-		}
-		fTool = t;
-		if (tool() != null) {
-			showStatus(name);
-			tool().activate();
-		}
-	}
-
-	private void setSelected(ToolButton button) {
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.reset();
-		}
-		fSelectedToolButton = button;
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.select();
-		}
-	}
-
-	/**
-	 * Exits the application. You should never override this method
-	 */
-	public void exit() {
-		destroy();
-	   // tell windowing system to free resources
-		dispose();	
-	}
-
-	protected boolean closeQuery(){
-		return true;
-	}
-
-	protected void endApp(){
-		if(closeQuery() == true) {
-			exit();
-		}
-	}
-	/**
-	 * Handles additional clean up operations. Override to destroy
-	 * or release drawing editor resources.
-	 */
-	protected void destroy() {
-	}
-
-	/**
-	 * Resets the drawing to a new empty drawing.
-	 */
-	public void promptNew() {
-		newWindow(createDrawing());
-		//toolDone();
-		//view().setDrawing(createDrawing());
-	}
-
-	/**
-	 * Shows a file dialog and opens a drawing.
-	 */
-	public void promptOpen() {
-		toolDone();
-		JFileChooser openDialog = createOpenFileChooser();
-		getStorageFormatManager().registerFileFilters(openDialog);
-		if (openDialog.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
-			StorageFormat foundFormat = getStorageFormatManager().findStorageFormat(openDialog.getFileFilter());
-			// ricardo_padilha: if there is no format associated,
-			// try to find one that supports the file
-			if (foundFormat == null) {
-				foundFormat = getStorageFormatManager().findStorageFormat(openDialog.getSelectedFile());
-			}
-			if (foundFormat != null) {
-				loadDrawing(foundFormat, openDialog.getSelectedFile().getAbsolutePath());
-			}
-			else {
-				showStatus("Not a valid file format: " + openDialog.getFileFilter().getDescription());
-			}
-		}
-	}
-
-	/**
-	 * Shows a file dialog and saves drawing.
-	 */
-	public void promptSaveAs() {
-		if (view() != null) {
-			toolDone();
-			JFileChooser saveDialog = createSaveFileChooser();
-			getStorageFormatManager().registerFileFilters(saveDialog);
-
-			if (saveDialog.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
-				StorageFormat foundFormat = getStorageFormatManager().findStorageFormat(saveDialog.getFileFilter());
-				// ricardo_padilha: if there is no format associated,
-				// try to find one that supports the file
-				if (foundFormat == null) {
-					foundFormat = getStorageFormatManager().findStorageFormat(saveDialog.getSelectedFile());
-				}
-				if (foundFormat != null) {
-					saveDrawing(foundFormat, saveDialog.getSelectedFile().getAbsolutePath());
-				}
-				else {
-					showStatus("Not a valid file format: " + saveDialog.getFileFilter().getDescription());
-				}
-			}
-		}
-	}
-
-	/**
-	 * Create a file chooser for the open file dialog. Subclasses may override this
-	 * method in order to customize the open file dialog.
-	 */
-	protected JFileChooser createOpenFileChooser() {
-		JFileChooser openDialog = new JFileChooser();
-		openDialog.setDialogType(JFileChooser.OPEN_DIALOG);
-		openDialog.setDialogTitle("Open File...");
-		return openDialog;
-	}
-
-	/**
-	 * Create a file chooser for the save file dialog. Subclasses may override this
-	 * method in order to customize the save file dialog.
-	 */
-	protected JFileChooser createSaveFileChooser() {
-		JFileChooser saveDialog = new JFileChooser();
-		saveDialog.setDialogType(JFileChooser.SAVE_DIALOG);
-		saveDialog.setDialogTitle("Save File...");
-		return saveDialog;
-	}
-
-	/**
-	 * Prints the drawing.
-	 */
-	public void print() {
-		tool().deactivate();
-		PrintJob printJob = getToolkit().getPrintJob(this, "Print Drawing", null);
-
-		if (printJob != null) {
-			Graphics pg = printJob.getGraphics();
-
-			if (pg != null) {
-				((StandardDrawingView)view()).printAll(pg);
-				pg.dispose(); // flush page
-			}
-			printJob.end();
-		}
-		tool().activate();
-	}
-
-	/**
-	 * Save a Drawing in a file
-	 */
-	protected void saveDrawing(StorageFormat storeFormat, String file) {
-		// Need a better alert than this.
-		if (view() == null) {
-			return;
-		}
-		try {
-			String name = storeFormat.store(file, view().drawing());
-			view().drawing().setTitle(name);
-			setDrawingTitle(name);
-		}
-		catch (IOException e) {
-			showStatus(e.toString());
-		}
-	}
-
-	/**
-	 * Load a Drawing from a file
-	 */
-	protected void loadDrawing(StorageFormat restoreFormat, String file) {
-		try {
-			Drawing restoredDrawing = restoreFormat.restore(file);
-			if (restoredDrawing != null) {
-				restoredDrawing.setTitle(file);
-				newWindow(restoredDrawing);
-			}
-			else {
-			   showStatus("Unknown file type: could not open file '" + file + "'");
-			}
-		}
-		catch (IOException e) {
-			showStatus("Error: " + e);
-		}
-	}
-
-	/**
-	 * Switch to a new Look&Feel
-	 */
-	private void newLookAndFeel(String landf) {
-		try {
-			UIManager.setLookAndFeel(landf);
-			SwingUtilities.updateComponentTreeUI(this);
-		}
-		catch (Exception e) {
-			System.err.println(e);
-		}
-	}
-
-	/**
-	 * Set the title of the currently selected drawing
-	 */
-	protected void setDrawingTitle(String drawingTitle) {
-		if (getDefaultDrawingTitle().equals(drawingTitle)) {
-			setTitle(getApplicationName());
-		}
-		else {
-			setTitle(getApplicationName() + " - " + drawingTitle);
-		}
-	}
-
-	/**
-	 * Return the title of the currently selected drawing
-	 */
-	protected String getDrawingTitle() {
-		return view().drawing().getTitle();
-	}
-
-	/**
-	 * Set the name of the application build from this skeleton application
-	 */
-	public void setApplicationName(String applicationName) {
-		fApplicationName = applicationName;
-	}
-
-	/**
-	 * Return the name of the application build from this skeleton application
-	 */
-	public String getApplicationName() {
-		return fApplicationName;
-	}
-
-	protected void setUndoManager(UndoManager newUndoManager) {
-		myUndoManager = newUndoManager;
-	}
-
-	public UndoManager getUndoManager() {
-		return myUndoManager;
-	}
-
-	protected VersionControlStrategy getVersionControlStrategy() {
-		return new StandardVersionControlStrategy(this);
-	}
-
-	/**
-	 * Subclasses should override this method to specify to which versions of
-	 * JHotDraw they are compatible. A string array is returned so it is possible
-	 * to specify several version numbers of JHotDraw to which the application
-	 * is compatible with.
-	 *
-	 * @return all versions number of JHotDraw the application is compatible with.
-	 */
-	public String[] getRequiredVersions() {
-		String[] requiredVersions = new String[1];
-		// return the version of the package we are in
-		requiredVersions[0] = VersionManagement.getPackageVersion(DrawApplication.class.getPackage());
-		return requiredVersions;
-	}
-
-	public String getDefaultDrawingTitle() {
-		return fgUntitled;
-	}
-
-	protected DesktopListener getDesktopListener() {
-		return fDesktopListener;
-	}
-
-	protected void setDesktopListener(DesktopListener desktopPaneListener) {
-		fDesktopListener = desktopPaneListener;
-	}
-
-	protected DesktopListener createDesktopListener() {
-	    return new DesktopListener() {
-			public void drawingViewAdded(DesktopEvent dpe) {
-				DrawingView dv = dpe.getDrawingView();
-				fireViewCreatedEvent(dv);
-			}
-			public void drawingViewRemoved(DesktopEvent dpe) {
-				DrawingView dv = dpe.getDrawingView();
-				// remove undo/redo activities which operate on this DrawingView
-				getUndoManager().clearUndos(dv);
-				getUndoManager().clearRedos(dv);
-				fireViewDestroyingEvent(dv);
-				checkCommandMenus();
-			}
-			public void drawingViewSelected(DesktopEvent dpe) {
-				DrawingView dv = dpe.getDrawingView();
-				//get the current selection and freeze it.
-				if (dv != null) {
-					if (dv.drawing() != null)
-						dv.unfreezeView();
-				}
-				setView(dv);
-			}
-	    };
-	}
-
-	protected Iconkit createIconkit() {
-		return new Iconkit(this);
-	}
-
-	protected void setIconkit(Iconkit newIconkit) {
-		fIconkit = newIconkit;
-	}
-
-	protected Iconkit getIconkit() {
-		return fIconkit;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib.jdo b/JHotDraw/src/CH/ifa/draw/contrib.jdo
deleted file mode 100644
index 78669405d..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib.jdo
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.contrib">
-<!--
-    <class name="ComponentFigure">
-    </class>
--->
-    <class name="ChopDiamondConnector">
-    </class>
-    <class name="ChopPolygonConnector">
-    </class>
-    <class name="DiamondFigure">
-    </class>
-    <class name="GraphicalCompositeFigure">
-    </class>
-    <class name="PolygonFigure">
-    </class>
-    <class name="TextAreaFigure">
-    </class>
-    <class name="TriangleFigure">
-    </class>
-    <class name="SimpleLayouter">
-		<field name="myInsets">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="StandardLayouter">
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/AutoscrollHelper.java b/JHotDraw/src/CH/ifa/draw/contrib/AutoscrollHelper.java
deleted file mode 100644
index 00a433061..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/AutoscrollHelper.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * @(#)AutoscrollHelper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-
-/**
- * A helper class for implementing autoscrolling
- *
- * @author  SourceForge(dnoyeb) aka C.L. Gilbert
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AutoscrollHelper {
-	private int autoscrollMargin = 20;
-	private Insets autoscrollInsets = new Insets(0, 0, 0, 0);
-	public AutoscrollHelper(int margin) {
-		autoscrollMargin = margin;
-	}
-	public void setAutoscrollMargin(int margin) {
-		autoscrollMargin = margin;
-	}
-	public int getAutoscrollMargin() {
-		return autoscrollMargin;
-	}
-
-	/**
-	 * Override this method to call getSize() on your Component
-	 * @see Component#getSize
-	 */
-	public abstract Dimension getSize();
-
-	/**
-	 * Override this method to call getVisibleRect() on your JComponent
-	 * @see javax.swing.JComponent#getVisibleRect
-	 */
-	public abstract Rectangle getVisibleRect();
-
-	/**
-	 * Override this method to call scrollRectToVisible(Rectangle aRect) on
-	 * your component
-	 * @see javax.swing.JComponent#scrollRectToVisible
-	 */
-	public abstract void scrollRectToVisible(Rectangle aRect);
-	/**
-	 * Part of the autoscrolls interface
-	 *
-	 */
-	public void autoscroll(Point location) {
-		//System.out.println("mouse at " + location);
-		int top = 0, left = 0, bottom = 0, right = 0;
-		Dimension size = getSize();
-		Rectangle rect = getVisibleRect();
-		int bottomEdge = rect.y + rect.height;
-		int rightEdge = rect.x + rect.width;
-		if (location.y - rect.y <= autoscrollMargin && rect.y > 0)
-			top = autoscrollMargin;
-		if (location.x - rect.x <= autoscrollMargin && rect.x > 0)
-			left = autoscrollMargin;
-		if (bottomEdge - location.y <= autoscrollMargin && bottomEdge < size.height)
-			bottom = autoscrollMargin;
-		if (rightEdge - location.x <= autoscrollMargin && rightEdge < size.width)
-			right = autoscrollMargin;
-		rect.x += right - left;
-		rect.y += bottom - top;
-		scrollRectToVisible(rect);
-	}
-	public Insets getAutoscrollInsets() {
-		Dimension size = getSize();
-		Rectangle rect = getVisibleRect();
-		autoscrollInsets.top = rect.y + autoscrollMargin;
-		autoscrollInsets.left = rect.x + autoscrollMargin;
-		autoscrollInsets.bottom = size.height - (rect.y + rect.height) + autoscrollMargin;
-		autoscrollInsets.right = size.width - (rect.x + rect.width) + autoscrollMargin;
-		return autoscrollInsets;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CTXCommandMenu.java b/JHotDraw/src/CH/ifa/draw/contrib/CTXCommandMenu.java
deleted file mode 100644
index f75cc4365..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CTXCommandMenu.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- *  @(#)CommandMenu.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	� by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.*;
-import javax.swing.*;
-
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-import CH.ifa.draw.util.Command;
-import CH.ifa.draw.util.CommandListener;
-import CH.ifa.draw.util.CommandMenu;
-
-/**
- * A Command enabled menu. Selecting a menu item
- * executes the corresponding command.
- *
- * @author    Eduardo Francos  (adapted from initial implementation by Wolfram Kaiser)
- * @created   2 mai 2002
- * @see       Command
- * @version   <$CURRENT_VERSION$>
- */
-public class CTXCommandMenu extends JMenu implements ActionListener, CommandListener {
-
-	public CTXCommandMenu(String name) {
-		super(name);
-	}
-
-	/**
-	 * Adds a command to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command) {
-		addMenuItem(new CommandMenuItem(command));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command, MenuShortcut shortcut) {
-		addMenuItem(new CommandMenuItem(command, shortcut.getKey()));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void addCheckItem(Command command) {
-		addMenuItem(new CommandCheckBoxMenuItem(command));
-	}
-
-	/**
-	 * Adds a command menu item
-	 *
-	 * @param item  the command menu item
-	 */
-	public synchronized void add(CommandMenuItem item) {
-		addMenuItem(item);
-	}
-
-	/**
-	 * Adds a command checkbox menu item
-	 *
-	 * @param checkItem  the checkbox item
-	 */
-	public synchronized void add(CommandCheckBoxMenuItem checkItem) {
-		addMenuItem(checkItem);
-	}
-
-	/**
-	 * Adds a normal menu item to the menu
-	 *
-	 * @param m  The menu item
-	 */
-	protected void addMenuItem(JMenuItem m) {
-		m.addActionListener(this);
-		add(m);
-		((CommandHolder)m).getCommand().addCommandListener(this);
-	}
-
-	/**
-	 * Removes a command item from the menu
-	 *
-	 * @param command  the command tor emove
-	 */
-	public synchronized void remove(Command command) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	/**
-	 * Removes an item from the menu
-	 *
-	 * @param item  the item to remove
-	 */
-	public synchronized void remove(MenuItem item) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	/**
-	 * Changes the enabling/disabling state of a named menu item.
-	 *
-	 * @param name   Description of the Parameter
-	 * @param state  Description of the Parameter
-	 */
-	public synchronized void enable(String name, boolean state) {
-		for (int i = 0; i < getItemCount(); i++) {
-			JMenuItem item = getItem(i);
-			if (name.equals(item.getText())) {
-				item.setEnabled(state);
-				return;
-			}
-		}
-	}
-
-	/** Description of the Method */
-	public synchronized void checkEnabled() {
-		int j = 0;
-		for (int i = 0; i < getMenuComponentCount(); i++) {
-			JMenuItem currentItem = getItem(i);
-			if (currentItem instanceof CommandMenu) {
-				((CommandMenu)currentItem).checkEnabled();
-			}
-			else if (currentItem instanceof CTXCommandMenu) {
-				((CTXCommandMenu)currentItem).checkEnabled();
-			}
-			else if (currentItem instanceof CommandHolder) {
-				currentItem.setEnabled(((CommandHolder)currentItem).getCommand().isExecutable());
-			}
-			else if (currentItem instanceof Command) {
-				currentItem.setEnabled(((Command)currentItem).isExecutable());
-			}
-			j++;
-		}
-	}
-
-	/**
-	 * Executes the command.
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void actionPerformed(ActionEvent e) {
-		int j = 0;
-		Object source = e.getSource();
-		for (int i = 0; i < getItemCount(); i++) {
-			// ignore separators
-			// a separator has a hyphen as its label
-			if (getMenuComponent(i) instanceof JSeparator) {
-				continue;
-			}
-			JMenuItem item = getItem(i);
-			if (source == item) {
-				Command cmd = ((CommandHolder)item).getCommand();
-				cmd.execute();
-				break;
-			}
-			j++;
-		}
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param commandEvent  Description of the Parameter
-	 */
-	public void commandExecuted(EventObject commandEvent) {
-//		checkEnabled();
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param commandEvent  Description of the Parameter
-	 */
-	public void commandExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param commandEvent  Description of the Parameter
-	 */
-	public void commandNotExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CTXWindowMenu.java b/JHotDraw/src/CH/ifa/draw/contrib/CTXWindowMenu.java
deleted file mode 100644
index b578fc022..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CTXWindowMenu.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * @(#)CommandMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import java.awt.event.*;
-import java.beans.*;
-import javax.swing.*;
-import javax.swing.event.*;
-
-import CH.ifa.draw.contrib.CTXCommandMenu;
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.standard.AbstractCommand;
-
-/**
- * Menu component that handles the functionality expected of a standard
- * "Windows" menu for MDI applications.
- *
- * @author    Eduardo Francos (adapted from original implementation by Wolfram Kaiser)
- * @created   2 mai 2002
- * @version   <$CURRENT_VERSION$>
- */
-public class CTXWindowMenu extends CTXCommandMenu {
-
-	MDIDesktopPane desktop; //increased visibility to avoid compilation errors
-	private CommandMenuItem cascadeCommand;
-	private CommandMenuItem tileHCommand;
-	private CommandMenuItem tileVCommand;
-	private CommandMenuItem arrangeHCommand;
-	private CommandMenuItem arrangeVCommand;
-	private int staticItems;
-
-	/**
-	 *Constructor for the CTXWindowsMenu object
-	 *
-	 * @param newText  the menu's text
-	 * @param desktop  the MDI desktop
-	 * @param editor   the editor
-	 */
-	public CTXWindowMenu(String newText, MDIDesktopPane newDesktop, DrawingEditor newEditor) {
-		super(newText);
-		this.desktop = newDesktop;
-
-		cascadeCommand = new CommandMenuItem(
-			new AbstractCommand("Cascade", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.cascadeFrames();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		tileHCommand = new CommandMenuItem(
-			new AbstractCommand("Tile Horizontally", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.tileFramesHorizontally();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		tileVCommand = new CommandMenuItem(
-			new AbstractCommand("Tile Vertically", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.tileFramesVertically();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		arrangeHCommand = new CommandMenuItem(
-			new AbstractCommand("Arrange Horizontally", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.arrangeFramesHorizontally();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		arrangeVCommand = new CommandMenuItem(
-			new AbstractCommand("Arrange Vertically", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.arrangeFramesVertically();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		addMenuListener(
-			new MenuListener() {
-				public void menuCanceled(MenuEvent e) { }
-
-				public void menuDeselected(MenuEvent e) {
-					removeWindowsList();
-				}
-
-				public void menuSelected(MenuEvent e) {
-					buildChildMenus();
-				}
-			});
-
-		add(cascadeCommand);
-		add(tileHCommand);
-		add(tileVCommand);
-		add(arrangeHCommand);
-		add(arrangeVCommand);
-		staticItems = 5;
-	}
-
-	/** removes the windows names */
-	protected void removeWindowsList() {
-		// remove all items above static the items
-		while (this.getItemCount() > staticItems) {
-			remove(staticItems);
-		}
-	}
-
-	/*
-	 *  Sets up the children menus depending on the current desktop state
-	 */
-	/** Description of the Method */
-	void buildChildMenus() { //increased visibility to avoid compilation errors
-		JInternalFrame[] array = desktop.getAllFrames();
-
-		// update window organization commands
-		cascadeCommand.setEnabled(array.length > 0);
-		tileHCommand.setEnabled(array.length > 0);
-		tileVCommand.setEnabled(array.length > 0);
-		arrangeHCommand.setEnabled(array.length > 0);
-		arrangeVCommand.setEnabled(array.length > 0);
-
-		if (array.length == 0) {
-			return;
-		}
-
-		addSeparator();
-
-		for (int i = 0; i < array.length; i++) {
-			ChildMenuItem menu = new ChildMenuItem(array[i]);
-			menu.setState(i == 0);
-			menu.addActionListener(
-				new ActionListener() {
-					public void actionPerformed(ActionEvent ae) {
-						JInternalFrame frame = ((ChildMenuItem)ae.getSource()).getFrame();
-						frame.moveToFront();
-						try {
-							frame.setSelected(true);
-						}
-						catch (PropertyVetoException e) {
-							e.printStackTrace();
-						}
-					}
-				});
-			menu.setIcon(array[i].getFrameIcon());
-			add(menu);
-		}
-	}
-
-	/*
-	 *  This JCheckBoxMenuItem descendant is used to track the child frame that corresponds
-	 *  to a give menu.
-	 */
-	class ChildMenuItem extends JCheckBoxMenuItem {
-		private JInternalFrame frame;
-
-		/**
-		 *Constructor for the ChildMenuItem object
-		 *
-		 * @param frame  Description of the Parameter
-		 */
-		public ChildMenuItem(JInternalFrame newFrame) {
-			super(newFrame.getTitle());
-			frame = newFrame;
-		}
-
-		/**
-		 * Gets the frame attribute of the ChildMenuItem object
-		 *
-		 * @return   The frame value
-		 */
-		public JInternalFrame getFrame() {
-			return frame;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/ChopDiamondConnector.java b/JHotDraw/src/CH/ifa/draw/contrib/ChopDiamondConnector.java
deleted file mode 100644
index 13c634080..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/ChopDiamondConnector.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * @(#)ChopDiamondConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.ChopBoxConnector;
-import CH.ifa.draw.util.Geom;
-
-/**
- * A ChopDiamondConnector locates connection points by choping the
- * connection between the centers of the two figures at the edge of
- * a diamond figure.
- *
- * @see Connector
- *
- * @author Erich Gamma
- * @version <$CURRENT_VERSION$>
- */
-public class ChopDiamondConnector extends ChopBoxConnector {
-	/**
-	 * Serialization support.
-	 * Needs to be fixed.
-	 */
-	private static final long serialVersionUID = -1461450322512395462L;
-
-	public ChopDiamondConnector() {
-		// only used for Storable implementation
-	}
-
-  public ChopDiamondConnector(Figure owner) {
-	  super(owner);
-	}
-
-	/**
-	 * Return an appropriate connection point on the edge of a diamond figure
-	 */
-	protected Point chop(Figure target, Point from) {
-		Rectangle r = target.displayBox();
-		// Center point
-		Point c1 = new Point(r.x + r.width/2, r.y + (r.height/2));
-		Point p2 = new Point(r.x + r.width/2, r.y + r.height);
-		Point p4 = new Point(r.x + r.width/2, r.y);
-
-		// If overlapping, just return the opposite corners
-		if (r.contains(from)) {
-			if (from.y > r.y && from.y < (r.y +r.height/2)) {
-				return p2;
-			}
-			else {
-				return p4;
-			}
-		}
-
-		// Calculate angle to determine quadrant
-		double ang = Geom.pointToAngle(r, from);
-
-		// Dermine line points
-		Point p1 = new Point(r.x + r.width  , r.y + (r.height/2));
-		Point p3 = new Point(r.x            , r.y + (r.height/2));
-		Point rp = null; // This will be returned
-
-		// Get the intersection with edges
-		if (ang > 0 && ang < 1.57) {
-			rp = Geom.intersect(p1.x, p1.y, p2.x, p2.y, c1.x, c1.y, from.x, from.y);
-		}
-		else if (ang > 1.575 && ang < 3.14) {
-			rp = Geom.intersect(p2.x, p2.y, p3.x, p3.y, c1.x, c1.y, from.x, from.y);
-		}
-		else if (ang > -3.14 && ang < -1.575) {
-		  rp = Geom.intersect(p3.x, p3.y, p4.x, p4.y, c1.x, c1.y, from.x, from.y);
-		}
-		else if (ang > -1.57 && ang < 0) {
-			rp = Geom.intersect(p4.x, p4.y, p1.x, p1.y, c1.x, c1.y, from.x, from.y);
-		}
-
-		// No proper edge found, we should send one of four corners
-		if (rp == null) {
-			rp = Geom.angleToPoint(r, ang);
-		}
-
-		return rp;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/ChopPolygonConnector.java b/JHotDraw/src/CH/ifa/draw/contrib/ChopPolygonConnector.java
deleted file mode 100644
index 5a325055e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/ChopPolygonConnector.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)ChopPolygonConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * A ChopPolygonConnector locates a connection point by
- * chopping the connection at the polygon boundary.
- *
- * @author Erich Gamma
- * @version <$CURRENT_VERSION$>
- */
-public class ChopPolygonConnector extends ChopBoxConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -156024908227796826L;
-
-	public ChopPolygonConnector() {
-	}
-
-	public ChopPolygonConnector(Figure owner) {
-		super(owner);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		return ((PolygonFigure)target).chop(from);
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/ClippingUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/contrib/ClippingUpdateStrategy.java
deleted file mode 100644
index bee3b8a0f..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/ClippingUpdateStrategy.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package CH.ifa.draw.contrib;
-
-import java.awt.Graphics;
-import java.awt.Rectangle;
-import java.util.Vector;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.FigureEnumerator;
-
-/**
- * The ClippingUpdateStrategy will only draw those Figures in the DrawingView
- * which intersect the Graphic's clipping rectangle. 
- * 
- * @author Aviv Hurvitz
- */
-public class ClippingUpdateStrategy implements Painter {
-
-	public ClippingUpdateStrategy() {
-		super();
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Painter#draw(Graphics, DrawingView)
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		Rectangle viewClipRectangle = g.getClipBounds();
-
-		if (viewClipRectangle == null) {
-			// it seems clip is always set, but nevertheless handle it
-			view.drawAll(g);
-			return;
-		}
-
-		FigureEnumeration fe = view.drawing().figures();
-		
-		// it's better to start big than to do Log(nFigures) reallocations 
-		Vector v = new Vector(1000);
-
-		// create a List of the figures within the clip rectangle
-		while (fe.hasNextFigure()) {
-			Figure fig = fe.nextFigure();
-			Rectangle r = fig.displayBox();
-
-			// grow Rectangles that have 0 width or height, since 
-			// Rectangle.intersects() returns false on them. 
-			// These Rectangles are common, as they are the typical bounding 
-			// boxes of horizontal and vertical lines.
-			// see my (regression) bug report on Sun's site:
-			//   http://developer.java.sun.com/developer/bugParade/bugs/4643428.html
-			if (r.width <= 0) {
-				r.width = 1;
-			}
-			if (r.height <= 0) {
-				r.height = 1;
-			}
-
-			if (r.intersects(viewClipRectangle)) {
-				v.add(fig);
-			}
-		}
-
-		// draw the figures in the clip rectangle
-		FigureEnumeration clippedFE = new FigureEnumerator(v);
-		view.draw(g, clippedFE);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CommandCheckBoxMenuItem.java b/JHotDraw/src/CH/ifa/draw/contrib/CommandCheckBoxMenuItem.java
deleted file mode 100644
index 4973028f2..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CommandCheckBoxMenuItem.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- *  @(#)CommandMenu.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	� by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import javax.swing.JCheckBoxMenuItem;
-import CH.ifa.draw.util.Command;
-import javax.swing.Icon;
-
-/**
- * CommandCheckBoxMenuItem implements a command that can be added to a menu
- * as a checkbox menu item
- *
- * @author Eduardo Francos - InContext
- * @version <$CURRENT_VERSION$>
- */
-
-public class CommandCheckBoxMenuItem extends JCheckBoxMenuItem
-	   implements CommandHolder
-{
-	Command fCommand;
-
-	/**
-	 * Creates an initially unselected check box menu item
-	 * with the specified command
-	 */
-	public CommandCheckBoxMenuItem(Command command) {
-		super(command.name());
-		setCommand(command);
-	}
-
-	/**
-	 * Creates an initially unselected check box menu item with an icon and
-	 * the specified command.
-	 *
-	 * @param icon the icon of the CheckBoxMenuItem.
-	 */
-	public CommandCheckBoxMenuItem(Command command, Icon icon) {
-		super(command.name(), icon);
-		setCommand(command);
-	}
-
-	/**
-	 * Creates a check box menu item with the specified command and selection state.
-	 *
-	 * @param command the command to be executed upon menu selection
-	 * @param b the selected state of the check box menu item
-	 */
-	public CommandCheckBoxMenuItem(Command command, boolean b) {
-		super(command.name(), b);
-		setCommand(command);
-	}
-
-	/**
-	 * Creates a check box menu item with the specified text, icon, and selection state.
-	 *
-	 * @param command the command to be executed upon menu selection
-	 * @param icon the icon of the check box menu item
-	 * @param b the selected state of the check box menu item
-	 */
-	public CommandCheckBoxMenuItem(Command command, Icon icon, boolean b) {
-		super(command.name(), icon, b);
-		setCommand(command);
-	}
-
-
-	/**
-	 * Gets the command attribute of the CommandMenuItem object
-	 *
-	 * @return   The command value
-	 */
-	public Command getCommand() {
-		return fCommand;
-	}
-
-
-	/**
-	 * Sets the command attribute of the CommandMenuItem object
-	 *
-	 * @param newCommand  The new command value
-	 */
-	public void setCommand(Command newCommand) {
-		fCommand = newCommand;
-	}
-
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CommandHolder.java b/JHotDraw/src/CH/ifa/draw/contrib/CommandHolder.java
deleted file mode 100644
index 2a91895ed..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CommandHolder.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  @(#)CommandMenu.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	� by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.Command;
-
-/**
- * CommandHolder defines the interface for wrapper objects holding a Command,
- * like menu items or toolbar tools.
- *
- * @author    Eduardo Francos - InContext
- * @created   8 mai 2002
- * @version   <$CURRENT_VERSION$>
- */
-
-public interface CommandHolder {
-	/**
-	 * Gets the command of the CommandHolder object
-	 *
-	 * @return   The command value
-	 */
-	public Command getCommand();
-
-
-	/**
-	 * Sets the command of the CommandHolder object
-	 *
-	 * @param newCommand  The new command value
-	 */
-	public void setCommand(Command newCommand);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CommandMenuItem.java b/JHotDraw/src/CH/ifa/draw/contrib/CommandMenuItem.java
deleted file mode 100644
index d7079ef7c..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CommandMenuItem.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * @(#)CommandMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.Command;
-import javax.swing.JMenuItem;
-import javax.swing.Icon;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-
-/**
- * CommandMenuItem implements a command that can be added to a menu
- * as a menu item
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- * @version   <$CURRENT_VERSION$>
- */
-public class CommandMenuItem extends JMenuItem implements CommandHolder, ActionListener {
-
-	private Command fCommand;
-
-	/**
-	 * Creates a menuItem with no set text or icon.
-	 */
-	public CommandMenuItem(Command command) {
-		super(command.name());
-		setCommand(command);
-		addActionListener(this);
-	}
-
-	/**
-	 * Creates a menuItem with an icon.
-	 *
-	 * @param icon the icon of the MenuItem.
-	 */
-	public CommandMenuItem(Command command, Icon icon) {
-		super(command.name(), icon);
-		setCommand(command);
-		addActionListener(this);
-	}
-
-	/**
-	 * Creates a menuItem with the specified text and
-	 * keyboard mnemonic.
-	 *
-	 * @param command the command to be executed upon menu selection
-	 * @param mnemonic the keyboard mnemonic for the MenuItem
-	 */
-	public CommandMenuItem(Command command, int mnemonic) {
-		super(command.name(), mnemonic);
-		setCommand(command);
-	}
-
-	/**
-	 * Gets the command attribute of the CommandMenuItem object
-	 *
-	 * @return   The command value
-	 */
-	public Command getCommand() {
-		return fCommand;
-	}
-
-	/**
-	 * Sets the command attribute of the CommandMenuItem object
-	 *
-	 * @param newCommand  The new command value
-	 */
-	public void setCommand(Command newCommand) {
-		fCommand = newCommand;
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void actionPerformed(ActionEvent e) {
-		getCommand().execute();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/ComponentFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/ComponentFigure.java
deleted file mode 100644
index bc2d974e4..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/ComponentFigure.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * @(#)ComponentFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.figures.AttributeFigure;
-import CH.ifa.draw.standard.BoxHandleKit;
-import CH.ifa.draw.standard.HandleEnumerator;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.awt.Component;
-import java.awt.Rectangle;
-import java.awt.Point;
-import java.awt.Graphics;
-import java.util.List;
-
-/**
- * @author  Ming Fang
- * @version <$CURRENT_VERSION$>
- */
-public class ComponentFigure extends AttributeFigure {
-	private Rectangle bounds;
-
-	/** Holds value of property component. */
-	private Component component;
-
-	private ComponentFigure() {
-		bounds = new Rectangle();
-	}
-
-	/**
-	 * @param newComponent a lightweight component
-	 */
-	public ComponentFigure(Component newComponent) {
-		this();
-		setComponent(newComponent);
-	}
-
-	/**
-	 * Changes the display box of a figure. This method is
-	 * always implemented in figure subclasses.
-	 * It only changes
-	 * the displaybox and does not announce any changes. It
-	 * is usually not called by the client. Clients typically call
-	 * displayBox to change the display box.
-	 *
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		bounds = new Rectangle(origin);
-		bounds.add(corner);
-	}
-
-	/**
-	 * Moves the figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #moveBy
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		bounds.translate(dx, dy);
-	}
-
-	/**
-	 * Gets the display box of a figure
-	 * @see #basicDisplayBox
-	 */
-	public Rectangle displayBox() {
-		return new Rectangle(bounds);
-	}
-
-	/**
-	 * Returns the handles used to manipulate
-	 * the figure. Handles is a Factory Method for
-	 * creating handle objects.
-	 *
-	 * @return a type-safe iterator of handles
-	 * @see Handle
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Getter for property component.
-	 * @return Value of property component.
-	 */
-	public Component getComponent() {
-		return this.component;
-	}
-
-	/**
-	 * Setter for property component.
-	 *
-	 * @param newComponent New value of property component.
-	 */
-	protected void setComponent(Component newComponent) {
-		this.component = newComponent;
-	}
-
-	/**
-	 * Draws the figure.
-	 * @param g the Graphics to draw into
-	 */
-	public void draw(Graphics g) {
-		// AWT code
-		getComponent().setBounds(displayBox());
-		//must create a new graphics with a different cordinate
-		Graphics componentG = g.create(bounds.x, bounds.y, bounds.width, bounds.height);
-		getComponent().paint(componentG);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CompositeFigureCreationTool.java b/JHotDraw/src/CH/ifa/draw/contrib/CompositeFigureCreationTool.java
deleted file mode 100644
index 5cb4a1b39..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CompositeFigureCreationTool.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * @(#)CompositeFigureCreationTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.standard.CompositeFigure;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.DrawingView;
-
-import java.awt.event.MouseEvent;
-import java.awt.*;
-
-/**
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class CompositeFigureCreationTool extends CreationTool {
-	private CompositeFigure myContainerFigure;
-
-	public CompositeFigureCreationTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		Figure figure = drawing().findFigure(e.getX(), e.getY());
-		if (figure != null) {
-			figure = figure.getDecoratedFigure();
-			if (figure instanceof CompositeFigure) {
-				setContainerFigure((CompositeFigure)figure);
-				setCreatedFigure(createFigure());
-				setAddedFigure((getContainerFigure().add(getCreatedFigure())));
-				getAddedFigure().displayBox(new Point(x, y), new Point(x, y));
-			}
-			else {
-				toolDone();
-			}
-		}
-		else {
-			toolDone();
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		if ((getContainerFigure() != null) && !getContainerFigure().containsPoint(e.getX(), e.getY())) {
-			// here you might want to constrain the mouse movements to the size of the
-			// container figure: not sure whether this works...
-			toolDone();
-		}
-		else {
-			super.mouseMove(e, x, y);
-		}
-	}
-
-	protected void setContainerFigure(CompositeFigure newContainerFigure) {
-		myContainerFigure = newContainerFigure;
-	}
-
-	public CompositeFigure getContainerFigure() {
-		return myContainerFigure;
-	}
-
-	protected void toolDone() {
-		setCreatedFigure(null);
-		setAddedFigure(null);
-		setContainerFigure(null);
-		editor().toolDone();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CustomSelectionTool.java b/JHotDraw/src/CH/ifa/draw/contrib/CustomSelectionTool.java
deleted file mode 100644
index d2cb8e1ea..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CustomSelectionTool.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * @(#)CustomSelectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.contrib.zoom.ZoomDrawingView;
-import CH.ifa.draw.standard.*;
-import javax.swing.JPopupMenu;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A SelectionTool, which recognizes double clicks and popup menu triggers.
- * If a double click or popup trigger is encountered a hook method is called,
- * which handles the event. This methods can be overriden in subclasse to 
- * provide customized behaviour. 
- * Popup menus must be registered with a Figure using the setAttribute() method.
- * The key which associates a popup menu as an attribute is Figure.POPUP_MENU.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CustomSelectionTool extends SelectionTool {
-
-	/**
-	 * Create an instance of this SelectionTool for the given view
-	 *
-	 * @param   editor    DrawingEditor for which the SelectionTool gets the active view
-	 */
-	public CustomSelectionTool(DrawingEditor editor) {
-		super( editor );
-	}
-	
-	/**
-	 * MouseListener method for mouseDown events. If the popup trigger has been
-	 * activated, then the appropriate hook method is called.
-	 *
-	 * @param   e   MouseEvent which should be interpreted
-	 * @param   x   x coordinate of the MouseEvent
-	 * @param   y   y coordinate of the MouseEvent
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		// isPopupTrigger() at mouseDown() is only notified at UNIX systems
-		if (e.isPopupTrigger()) {
-			handlePopupMenu(e, x, y);
-		}
-		else {
-			super.mouseDown(e, x, y);
-			handleMouseDown(e, x, y);
-		}
-	}
-	
-	/**
-	 * MouseListener method for mouseDrag events. Usually, mouse drags are
-	 * ignored for popup menus or double clicks.
-	 *
-	 * @param   e   MouseEvent which should be interpreted
-	 * @param   x   x coordinate of the MouseEvent
-	 * @param   y   y coordinate of the MouseEvent
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (!e.isPopupTrigger()) {
-			super.mouseDrag(e, x, y);
-		}
-	}
-
-	/** 
-	 * MouseListener method for mouseUp events. Depending on the kind of event
-	 * the appropriate hook method is called (popupMenuUp for popup trigger,
-	 * doubleMouseClick for a double click, and mouseUp() and mouseClick() for
-	 * normal mouse clicks).
-	 *
-	 * @param   e   MouseEvent which should be interpreted
-	 * @param   x   x coordinate of the MouseEvent
-	 * @param   y   y coordinate of the MouseEvent
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (e.isPopupTrigger()) {
-			handlePopupMenu(e, x, y);
-			super.mouseUp(e, x, y);
-		}
-		else if (e.getClickCount() == 2) {
-			super.mouseUp(e, x, y);
-			handleMouseDoubleClick(e, x, y);
-		}
-		else {
-			super.mouseUp(e, x, y);
-			handleMouseUp(e, x, y);
-			handleMouseClick(e, x, y);
-		}
-	}
-	
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse down.
-	 */
-	protected void handleMouseDown(MouseEvent e, int x, int y) {
-	}
-
-		/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse up.
-	 */
-	protected void handleMouseUp(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse click.
-	 */
-	protected void handleMouseClick(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse double click.
-	 */
-	protected void handleMouseDoubleClick(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a popup trigger.
-	 */
-	protected void handlePopupMenu(MouseEvent e, int x, int y) {
-		Figure figure = drawing().findFigure(e.getX(), e.getY());
-		if (figure != null) {
-			Object attribute = figure.getAttribute(FigureAttributeConstant.POPUP_MENU);
-			if (attribute == null) {
-				figure = drawing().findFigureInside(e.getX(), e.getY());
-			}
-			if (figure != null) {
-				showPopupMenu(figure, e.getX(), e.getY(), e.getComponent());
-			}
-		}
-	}
-
-	/**
-	 * This method displays a popup menu, if there is one registered with the
-	 * Figure (the Figure's attributes are queried for Figure.POPUP_MENU which
-	 * is used to indicate an association of a popup menu with the Figure).
-	 *
-	 * @param   figure      Figure for which a popup menu should be displayed
-	 * @param   x           x coordinate where the popup menu should be displayed
-	 * @param   y           y coordinate where the popup menu should be displayed
-	 * @param   comp        Component which invoked the popup menu
-	 */
-	protected void showPopupMenu(Figure figure, int x, int y, Component comp) {
-		Object attribute = figure.getAttribute(FigureAttributeConstant.POPUP_MENU);
-		if ((attribute != null) && (attribute instanceof JPopupMenu)) {
-			JPopupMenu popup = (JPopupMenu)attribute;
-			if (popup instanceof PopupMenuFigureSelection) {
-				((PopupMenuFigureSelection)popup).setSelectedFigure(figure);
-			}
-			// Calculate position on physical screen based
-			// on x,y coordinates
-			Point newLocation;
-			try {
-				newLocation = comp.getLocationOnScreen();
-			} catch (IllegalComponentStateException e) {
-				// For some reason, the component
-				// apparently isn't showing on the
-				// screen (huh?). Never mind - don't
-				// show the popup..
-				return;
-			}
-			// If this is a ZoomDrawingView, we'll need to
-			// compensate here too:
-			if (comp instanceof ZoomDrawingView) {
-				double scale = ((ZoomDrawingView) comp).getScale(); 
-				x *= scale;
-				y *= scale;
-			}
-			newLocation.translate(x,y);
-			popup.setLocation(newLocation);
-			popup.setInvoker(comp);
-			popup.setVisible(true);
-		}
-	}
-	
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/CustomToolBar.java b/JHotDraw/src/CH/ifa/draw/contrib/CustomToolBar.java
deleted file mode 100644
index 62755cc09..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/CustomToolBar.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * @(#)CustomToolBar.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.CollectionsFactory;
-
-import javax.swing.JToolBar;
-import javax.swing.JComponent;
-import java.util.List;
-import java.util.Iterator;
-import java.awt.Component;
-
-/**
- * This ToolBar allows to use several panels with tools. It manages each
- * panel and enables to swap between them. There can only one panel with
- * tools be activated at a time. Currently, only two panels are supported
- * (standard tools and edit tools).
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CustomToolBar extends JToolBar {
-
-	/**
-	 * List containing all tools for the standard ToolBar
-	 */
-	private List standardTools;
-	
-	/**
-	 * List containing all tools for the edit ToolBar
-	 */
-	private List editTools;
-	
-	/**
-	 * List containing all tools, which are currently activated
-	 */
-	private List currentTools;
-	
-	/**
-	 * Flag which determines whether the tool palette must be updated
-	 */
-	private boolean needsUpdate;
-	
-	/**
-	 * Create a new ToolBar
-	 */
-	public CustomToolBar() {
-		super();
-		standardTools = CollectionsFactory.current().createList();
-		editTools = CollectionsFactory.current().createList();
-		currentTools = standardTools;
-		needsUpdate = false;
-	}
-
-	/**
-	 * Switch between the two available palettes with tools
-	 */
-	public void switchToolBar() {
-		if (currentTools == standardTools) {
-			switchToEditTools();
-		}
-		else {
-			switchToStandardTools();
-		}
-	}
-	
-	/**
-	 * Select the palette with the edit tools
-	 */
-	public void switchToEditTools() {
-		if (currentTools != editTools) {
-			currentTools = editTools;
-			needsUpdate = true;
-		}
-	}
-
-	/**
-	 * Select the palette with the standard tools
-	 */
-	public void switchToStandardTools() {
-		if (currentTools != standardTools) {
-			currentTools = standardTools;
-			needsUpdate = true;
-		}
-	}
-
-	/**
-	 * Activate a palette of the ToolBar by setting all Tools
-	 */
-	public void activateTools() {
-		if (!needsUpdate) {
-			return;
-		}
-		else {
-			removeAll();
-
-			JComponent currentTool = null;
-			Iterator iter = currentTools.iterator();
-			while (iter.hasNext()) {
-				currentTool = (JComponent)iter.next();
-				super.add(currentTool);
-			}
-			validate();
-			needsUpdate = false;
-		}
-	}
-
-	/**
-	 * Add a new tool the the current palette of the ToolBar
-	 */
-	public Component add(Component newTool) {
-		if (currentTools == editTools) {
-			editTools.add(newTool);
-		}
-		else {
-			standardTools.add(newTool);
-		}
-		needsUpdate = true;
-		return super.add(newTool);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/Desktop.java b/JHotDraw/src/CH/ifa/draw/contrib/Desktop.java
deleted file mode 100644
index 87268b6be..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/Desktop.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)Desktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface Desktop {
-	public final static int PRIMARY = 0;
-	public final static int SECONDARY = 1;
-	public final static int TERTIARY = 2;
-
-	/**
-	 * For those absent minded components that were not paying attention to the
-	 * listener events.
-	 */
-	public DrawingView getActiveDrawingView();
-	public void addToDesktop(DrawingView dv, int location);
-	public void removeFromDesktop(DrawingView dv, int location);
-	public void removeAllFromDesktop(int location);
-	public DrawingView[] getAllFromDesktop(int location);
-
-	public void updateTitle(String newDrawingTitle);
-
-	public void addDesktopListener(DesktopListener dpl);
-	public void removeDesktopListener(DesktopListener dpl);
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/DesktopEvent.java b/JHotDraw/src/CH/ifa/draw/contrib/DesktopEvent.java
deleted file mode 100644
index f62eadbd9..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/DesktopEvent.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * @(#)DesktopEvent.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import java.util.EventObject;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DesktopEvent extends EventObject {
-	private DrawingView myDrawingView;
-
-	/**
-	 * Some events require the previous DrawingView (e.g. when a new DrawingView
-	 * is selected).
-	 */	
-	private DrawingView myPreviousDrawingView;
-
-	public DesktopEvent(Desktop newSource, DrawingView newDrawingView) {
-		this(newSource, newDrawingView, null);
-	}
-
-	public DesktopEvent(Desktop newSource, DrawingView newDrawingView, DrawingView newPreviousDV) {
-		super(newSource);
-		setDrawingView(newDrawingView);
-		setPreviousDrawingView(newPreviousDV);
-	}
-
-	private void setDrawingView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-	
-	public DrawingView getDrawingView() {
-	    return myDrawingView;
-	}
-
-	private void setPreviousDrawingView(DrawingView newPreviousDrawingView) {
-		myPreviousDrawingView = newPreviousDrawingView;
-	}
-	
-	public DrawingView getPreviousDrawingView() {
-		return myPreviousDrawingView;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/DesktopEventService.java b/JHotDraw/src/CH/ifa/draw/contrib/DesktopEventService.java
deleted file mode 100644
index d186a56e2..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/DesktopEventService.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)DesktopEventService.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.standard.NullDrawingView;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.List;
-import java.util.ListIterator;
-import java.awt.event.ContainerAdapter;
-import java.awt.event.ContainerListener;
-import java.awt.event.ContainerEvent;
-import java.awt.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DesktopEventService {
-
-	/**
-	 * Current usage of this List is not thread safe, nor should it need to be.
-	 * If it ever does we can synchronize on the List itself to provide safety.
-	 */
-	private java.util.List listeners;
-	private DrawingView mySelectedView;
-	private Container myContainer;
-	private Desktop myDesktop;
-
-	public DesktopEventService(Desktop newDesktop, Container newContainer) {
-		listeners = CollectionsFactory.current().createList();
-		setDesktop(newDesktop);
-		setContainer(newContainer);
-		getContainer().addContainerListener(createComponentListener());
-	}
-
-	private void setDesktop(Desktop newDesktop) {
-		myDesktop = newDesktop;
-	}
-
-	protected Desktop getDesktop() {
-		return myDesktop;
-	}
-
-	private void setContainer(Container newContainer) {
-		myContainer = newContainer;
-	}
-
-	protected Container getContainer() {
-		return myContainer;
-	}
-
-	public void addComponent(Component newComponent) {
-		getContainer().add(newComponent);
-	}
-
-	public void removeComponent(DrawingView dv) {
-		Component[] comps = getContainer().getComponents();
-		for (int x = 0; x < comps.length; x++) {
-			if (dv == Helper.getDrawingView(comps[x])) {
-				getContainer().remove(comps[x]);
-			    break;
-			}
-		}
-	}
-
-	public void removeAllComponents() {
-		getContainer().removeAll();
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		listeners.add(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		listeners.remove(dpl);
-	}
-
-	protected void fireDrawingViewAddedEvent(final DrawingView dv) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		DesktopEvent dpe = createDesktopEvent(getActiveDrawingView(), dv);
-		while (li.hasPrevious()) {
-			DesktopListener dpl = (DesktopListener)li.previous();
-			dpl.drawingViewAdded(dpe);
-		}
-	}
-
-	protected void fireDrawingViewRemovedEvent(final DrawingView dv) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		DesktopEvent dpe = createDesktopEvent(getActiveDrawingView(), dv);
-		while (li.hasPrevious()) {
-			DesktopListener dpl = (DesktopListener)li.previous();
-			dpl.drawingViewRemoved(dpe);
-		}
-	}
-
-	/**
-	 * This method is only called if the selected drawingView has actually changed
-	 */
-	protected void fireDrawingViewSelectedEvent(final DrawingView oldView, final DrawingView newView) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		DesktopEvent dpe = createDesktopEvent(oldView, newView);
-		while (li.hasPrevious()) {
-			DesktopListener dpl = (DesktopListener)li.previous();
-			dpl.drawingViewSelected(dpe);
-		}
-	}
-
-	/**
-	 * @param oldView previous active drawing view (may be null because not all events require this information)
-	 */
-	protected DesktopEvent createDesktopEvent(DrawingView oldView, DrawingView newView) {
-		return new DesktopEvent(getDesktop(), newView, oldView);
-	}
-
-	public DrawingView[] getDrawingViews(Component[] comps) {
-		List al = CollectionsFactory.current().createList();
-		for (int x = 0; x < comps.length; x++) {
-			DrawingView dv = Helper.getDrawingView(comps[x]);
-			if (dv != null) {
-				al.add(dv);
-			}
-		}
-		DrawingView[] dvs = new DrawingView[al.size()];
-		al.toArray(dvs);
-		return dvs;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return mySelectedView;
-	}
-
-	protected void setActiveDrawingView(DrawingView newActiveDrawingView) {
-		mySelectedView = newActiveDrawingView;
-	}
-	
-	protected ContainerListener createComponentListener() {
-		return new ContainerAdapter() {
-			/**
-			 * If the dv is null assert
-			 * @todo does adding a component always make it the selected view?
-			 *  Yes so far because this is only being used on single view Desktops.
-			 *  If it is to work on multipleView desktops, the we need to think further.
-			 */
-            public void componentAdded(ContainerEvent e) {
-				DrawingView dv = Helper.getDrawingView((java.awt.Container)e.getChild());
-				DrawingView oldView = getActiveDrawingView();
-				if (dv != null) {
-					fireDrawingViewAddedEvent(dv);
-					setActiveDrawingView(dv);
-					fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-				}
-            }
-
-		    /**
-			 * If dv is null assert
-             * dv will only be null if something thats not a drawingView was
-			 * added to the desktop.  it would be simpler if we forbade that.
-			 */
-            public void componentRemoved(ContainerEvent e) {
-				DrawingView dv = Helper.getDrawingView((java.awt.Container)e.getChild());
-				if (dv != null) {
-					DrawingView oldView = getActiveDrawingView();
-					setActiveDrawingView(NullDrawingView.getManagedDrawingView(oldView.editor()));
-					fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-					fireDrawingViewRemovedEvent(dv);
-				}
-            }
-        };
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/DesktopListener.java b/JHotDraw/src/CH/ifa/draw/contrib/DesktopListener.java
deleted file mode 100644
index 23dabd709..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/DesktopListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * @(#)DesktopEventService.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface DesktopListener {
-	public void drawingViewAdded(DesktopEvent dpe);
-	public void drawingViewRemoved(DesktopEvent dpe);
-	public void drawingViewSelected(DesktopEvent dpe);
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/DiamondFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/DiamondFigure.java
deleted file mode 100644
index 5b4e1b0da..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/DiamondFigure.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * @(#)DiamondFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.figures.*;
-import java.awt.*;
-
-/**
- * A diamond with vertices at the midpoints of its enclosing rectangle
- *
- * @author Doug Lea  (dl at gee, Tue Feb 25 17:39:44 1997)
- * @version <$CURRENT_VERSION$>
- */
-public  class DiamondFigure extends RectangleFigure {
-
-	public DiamondFigure() {
-		super(new Point(0,0), new Point(0,0));
-	}
-
-	public DiamondFigure(Point origin, Point corner) {
-		super(origin,corner);
-	}
-
-	/**
-	 * @return the polygon describing the diamond
-	 **/
-	protected Polygon getPolygon() {
-		Rectangle r = displayBox();
-		Polygon p = new Polygon();
-		p.addPoint(r.x, r.y+r.height/2);
-		p.addPoint(r.x+r.width/2, r.y);
-		p.addPoint(r.x+r.width, r.y+r.height/2);
-		p.addPoint(r.x+r.width/2, r.y+r.height);
-		return p;
-	}
-
-	public void draw(Graphics g) {
-		Polygon p = getPolygon();
-		g.setColor(getFillColor());
-		g.fillPolygon(p);
-		g.setColor(getFrameColor());
-		g.drawPolygon(p);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = displayBox();
-		return new Insets(r.height/2, r.width/2, r.height/2, r.width/2);
-	}
-
-	public boolean containsPoint(int x, int y) {
-		return getPolygon().contains(x, y);
-	}
-
-	public Point chop(Point p) {
-		return PolygonFigure.chop(getPolygon(), p);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ChopDiamondConnector(this);
-	}  
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/FloatingTextArea.java b/JHotDraw/src/CH/ifa/draw/contrib/FloatingTextArea.java
deleted file mode 100644
index f1dff6fb0..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/FloatingTextArea.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- *  @(#)FloatingTextArea.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import java.awt.Color;
-
-import java.awt.Container;
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.Rectangle;
-import javax.swing.BorderFactory;
-import javax.swing.JEditorPane;
-import javax.swing.JScrollPane;
-
-/**
- * A FloatingTextArea overlays an editor on top of an area in a drawing<br>
- * @author Eduardo Francos - InContext
- * @version <$CURRENT_VERSION$>
- * @todo By default JEditorPane uses a tab size of 8.
- * I couldn't find how to change this.
- * If anybody knows please tell me.
- */
-public class FloatingTextArea {
-	/**
-	 * A scroll pane to allow for vertical scrolling while editing
-	 */
-	protected JScrollPane fEditScrollContainer;
-	/**
-	 * The actual editor
-	 */
-	protected JEditorPane fEditWidget;
-	/**
-	 * The container within which the editor is created
-	 */
-	protected Container fContainer;
-
-
-	/**
-	 * Constructor for the FloatingTextArea object
-	 */
-	public FloatingTextArea() {
-		fEditWidget = new JEditorPane();
-		fEditScrollContainer = new JScrollPane(fEditWidget,
-				JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
-				JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
-		fEditScrollContainer.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-		fEditScrollContainer.setBorder(BorderFactory.createLineBorder(Color.black));
-	}
-
-
-	/**
-	 * Creates the overlay within the given container.
-	 * @param container the container
-	 */
-	public void createOverlay(Container container) {
-		createOverlay(container, null);
-	}
-
-
-	/**
-	 * Creates the overlay for the given Container using a
-	 * specific font.
-	 * @param container the container
-	 * @param font the font
-	 */
-	public void createOverlay(Container container, Font font) {
-		container.add(fEditScrollContainer, 0);
-		if (font != null) {
-			fEditWidget.setFont(font);
-		}
-		fContainer = container;
-	}
-
-
-	/**
-	 * Positions and sizes the overlay.
-	 * @param r the bounding rectangle for the overlay
-	 * @param text the text to edit
-	 */
-	public void setBounds(Rectangle r, String text) {
-		fEditWidget.setText(text);
-		fEditScrollContainer.setBounds(r.x, r.y, r.width, r.height);
-		fEditScrollContainer.setVisible(true);
-		fEditWidget.setCaretPosition(0);
-		fEditWidget.requestFocus();
-	}
-
-
-	/**
-	 * Gets the text contents of the overlay.
-	 * @return The text value
-	 */
-	public String getText() {
-		return fEditWidget.getText();
-	}
-
-
-	/**
-	 * Gets the preferred size of the overlay.
-	 * @param cols Description of the Parameter
-	 * @return The preferredSize value
-	 */
-	public Dimension getPreferredSize(int cols) {
-		return new Dimension(fEditWidget.getWidth(), fEditWidget.getHeight());
-	}
-
-
-	/**
-	 * Removes the overlay.
-	 */
-	public void endOverlay() {
-		fContainer.requestFocus();
-		if (fEditScrollContainer != null) {
-			fEditScrollContainer.setVisible(false);
-			fContainer.remove(fEditScrollContainer);
-
-			Rectangle bounds = fEditScrollContainer.getBounds();
-			fContainer.repaint(bounds.x, bounds.y, bounds.width, bounds.height);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/GraphicalCompositeFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/GraphicalCompositeFigure.java
deleted file mode 100644
index 6eab9f14d..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/GraphicalCompositeFigure.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * @(#)GraphicalCompositeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.figures.*;
-import java.awt.*;
-import java.io.*;
-import java.util.List;
-
-/**
- * The GraphicalCompositeFigure fills in the gap between a CompositeFigure
- * and other figures which mainly have a presentation purpose. The
- * GraphicalCompositeFigure can be configured with any Figure which
- * takes over the task for rendering the graphical presentation for
- * a CompositeFigure. Therefore, the GraphicalCompositeFigure manages
- * contained figures like the CompositeFigure does, but delegates
- * its graphical presentation to another (graphical) figure which
- * purpose it is to draw the container for all contained figures.
- *
- * The GraphicalCompositeFigure adds to the {@link CompositeFigure CompositeFigure}
- * by containing a presentation figure by default which can not be removed.  Normally,
- * the {@link CompositeFigure CompositeFigure} can not be seen without containing a figure
- * because it has no mechanism to draw itself.  It instead relies on its contained
- * figures to draw themselves thereby giving the {@link CompositeFigure CompositeFigure} its
- * appearance.  However, the <b>GraphicalCompositeFigure</b>'s presentation figure
- * can draw itself even when the <b>GraphicalCompositeFigure</b> contains no other figures.
- * The <b>GraphicalCompositeFigure</b> also uses a {@link Layouter Layouter} or layout
- * its contained figures.
- *
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class GraphicalCompositeFigure extends CompositeFigure implements Layoutable  {
-
-	/**
-	 * Figure which performs all presentation tasks for this
-	 * CompositeFigure as CompositeFigures usually don't have
-	 * an own presentation but present only the sum of all its
-	 * children.
-	 */
-	private Figure	myPresentationFigure;
-
-	/**
-	 * A Layouter determines how the CompositeFigure should
-	 * be laid out graphically.
-	 */
-	private Layouter myLayouter;
-
-	private static final long serialVersionUID = 1265742491024232713L;
-
-	/**
-	 * Default constructor which uses a RectangleFigure as presentation
-	 * figure. This constructor is needed by the Storable mechanism.
-	 */
-	public GraphicalCompositeFigure() {
-		this(new RectangleFigure());
-	}
-
-	/**
-	 * Constructor which creates a GraphicalCompositeFigure with
-	 * a given graphical figure for presenting it.
-	 *
-	 * @param	newPresentationFigure	figure which renders the container
-	 */
-	public GraphicalCompositeFigure(Figure newPresentationFigure) {
-		super();
-		setPresentationFigure(newPresentationFigure);
-		initialize();
-	}
-
-	/**
-	 * This method performs additional initialization operations,
-	 * in this case setting the Layouter.
-	 * It is called from the constructors and the clone() method.
-	 * A StandardLayouter is set.
-	 */
-	protected void initialize() {
-		if (getLayouter() != null) {
-			// use prototype to create new instance
-			setLayouter(getLayouter().create(this));
-		}
-		else {
-			setLayouter(new StandardLayouter(this));
-		}
-	}
-
-	/**
-	 * Clones a figure and initializes it
-	 *
-	 * @see Figure#clone
-	 */
-	public Object clone() {
-		Object cloneObject = super.clone();
-		((GraphicalCompositeFigure)cloneObject).initialize();
-		return cloneObject;
-	}
-
-	/**
-	 * Return the display area. This method is delegated to the encapsulated presentation figure.
-	 */
-	public Rectangle displayBox() {
-		return getPresentationFigure().displayBox();
-	}
-
-	/**
-	 * Standard presentation method which is delegated to the encapsulated presentation figure.
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		Rectangle r = getLayouter().layout(origin, corner);
-		 // Fix for bug request IDs 548000 and 548032
-		 // Previously was
-		 //     getPresentationFigure().basicDisplayBox(r.getLocation(), new Point(r.width, r.height));
-		 // The corner transferred to the presentation figure is wrong as it transfers
-		 // the dimension of the resulting rectangle from the layouter instead of the
-		 // lower right corner
-		getPresentationFigure().basicDisplayBox(r.getLocation(),
-			new Point((int)r.getMaxX(), (int)r.getMaxY()));
-	}
-
-	/**
-	 * Standard presentation method which is delegated to the encapsulated presentation figure.
-	 * The presentation figure is moved as well as all contained figures.
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		super.basicMoveBy(dx, dy);
-		getPresentationFigure().moveBy(dx, dy);
-	}
-
-	/**
-	 * Explicit update: an updated involves a layout for all contained figures.
-	 */
-	public void update() {
-		willChange();
-		layout();
-		change();
-		changed();
-	}
-
-	/**
-	 * Draw the figure. This method is delegated to the encapsulated presentation figure.
-	 */
-	public void draw(Graphics g) {
-		getPresentationFigure().draw(g);
-		super.draw(g);
-	}
-
-	/**
-	 * Return default handles from the presentation figure.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-		//return getPresentationFigure().handles();
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' getAttribute()
-	 * will be invoked (which currently returns always "null").
-	 *
-	 * @param	name	name of the attribute whose value should be returned
-	 * @return	value of the attribute with the given name
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		if (getPresentationFigure() != null) {
-			return getPresentationFigure().getAttribute(name);
-		}
-		else {
-			return super.getAttribute(name);
-		}
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' getAttribute()
-	 * will be invoked (which currently returns always "null").
-	 *
-	 * @param	attributeConstant	attribute constant whose value should be returned
-	 * @return	value of the attribute with the given name
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		if (getPresentationFigure() != null) {
-			return getPresentationFigure().getAttribute(attributeConstant);
-		}
-		else {
-			return super.getAttribute(attributeConstant);
-		}
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' setAttribute()
-	 * will be invoked (which currently does not set an attribute).
-	 *
-	 * @param	name	name of the attribute
-	 * @param	value	value associated with this attribute
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		if (getPresentationFigure() != null) {
-			getPresentationFigure().setAttribute(name, value);
-		}
-		else {
-			super.setAttribute(name, value);
-		}
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' setAttribute()
-	 * will be invoked (which currently does not set an attribute).
-	 *
-	 * @param	attributeConstant	attribute constant
-	 * @param	value	value associated with this attribute
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		if (getPresentationFigure() != null) {
-			getPresentationFigure().setAttribute(attributeConstant, value);
-		}
-		else {
-			super.setAttribute(attributeConstant, value);
-		}
-	}
-
-	/**
-	 * Set a figure which renders this CompositeFigure. The presentation
-	 * tasks for the CompositeFigure are delegated to this presentation
-	 * figure.
-	 *
-	 * @param	newPresentationFigure	figure takes over the presentation tasks
-	 */
-	public void setPresentationFigure(Figure newPresentationFigure) {
-		myPresentationFigure = newPresentationFigure;
-	}
-
-	/**
-	 * Get a figure which renders this CompositeFigure. The presentation
-	 * tasks for the CompositeFigure are delegated to this presentation
-	 * figure.
-	 *
-	 * @return	figure takes over the presentation tasks
-	 */
-	public Figure getPresentationFigure() {
-		return myPresentationFigure;
-	}
-
-	/**
-	 * A layout algorithm is used to define how the child components
-	 * should be laid out in relation to each other. The task for
-	 * layouting the child components for presentation is delegated
-	 * to a Layouter which can be plugged in at runtime.
-	 */
-	public void layout() {
-		if (getLayouter() != null) {
-			Rectangle r = getLayouter().calculateLayout(displayBox().getLocation(), displayBox().getLocation());
-			displayBox(r.getLocation(), new Point(r.x + r.width, r.y + r.height));
-		}
-	}
-
-	/**
-	 * Set a Layouter object which encapsulated a layout
-	 * algorithm for this figure. Typically, a Layouter
-	 * accesses the child components of this figure and arranges
-	 * their graphical presentation. It is a good idea to set
-	 * the Layouter in the protected initialize() method
-	 * so it can be recreated if a GraphicalCompositeFigure is
-	 * read and restored from a StorableInput stream.
-	 *
-	 * @param	newLayouter	encapsulation of a layout algorithm.
-	 */
-	public void setLayouter(Layouter newLayouter) {
-		myLayouter = newLayouter;
-	}
-
-	/**
-	 * Get a Layouter object which encapsulated a layout
-	 * algorithm for this figure. Typically, a Layouter
-	 * accesses the child components of this figure and arranges
-	 * their graphical presentation.
-	 *
-	 * @return	layout strategy used by this figure
-	 */
-	public Layouter getLayouter() {
-		return myLayouter;
-	}
-
-	/**
-	 * Notify the registered change listener if an exlicit change
-	 * to the component (or one of its child components has occurred).
-	 */
-	protected void change() {
-		if (listener() != null) {
-			listener().figureRequestUpdate(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Propagates the removeFromDrawing request up to the container.
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			if (includes(e.getFigure())) {
-				Rectangle r = invalidateRectangle(displayBox());
-				listener().figureRequestRemove(new FigureChangeEvent(this, r, e));
-			}
-			else {
-				super.figureRequestRemove(e);
-			}
-		}
-	}
-
-	/**
-	 * Reads the contained figures from StorableInput. The
-	 * figure responsible for graphical presentation is read
-	 * together with all child components. The Layouter
-	 * is not stored and therefore not read.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setPresentationFigure((Figure)dr.readStorable());
-		setLayouter((Layouter)dr.readStorable());
-	}
-
-	/**
-	 * Writes the contained figures to the StorableOutput. The
-	 * figure responsible for graphical presentation is written
-	 * together with all child components. The Layouter
-	 * is not written.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getPresentationFigure());
-		dw.writeStorable(getLayouter());
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/Helper.java b/JHotDraw/src/CH/ifa/draw/contrib/Helper.java
deleted file mode 100644
index 034af7f80..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/Helper.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)Helper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import java.awt.*;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class Helper {
-
-	static public DrawingView getDrawingView(Container container) {
-		DrawingView oldDrawingView = null;
-		Component[] components = container.getComponents();
-		for (int i = 0; i < components.length; i++) {
-			if (components[i] instanceof DrawingView) {
-				return (DrawingView)components[i];
-			}
-			else if (components[i] instanceof Container) {
-				oldDrawingView = getDrawingView((Container)components[i]);
-				if (oldDrawingView != null) {
-					return oldDrawingView;
-				}
-			}
-		}
-		return null;
-	}
-
-	static public DrawingView getDrawingView(Component component) {
-		if (Container.class.isInstance(component)) {
-			return getDrawingView((Container)component);
-		}
-		else if (DrawingView.class.isInstance(component)) {
-			return (DrawingView)component;
-		}
-		else {
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/JPanelDesktop.java b/JHotDraw/src/CH/ifa/draw/contrib/JPanelDesktop.java
deleted file mode 100644
index 1eab78b61..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/JPanelDesktop.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)JPanelDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import javax.swing.*;
-import java.awt.*;
-import CH.ifa.draw.application.*;
-import CH.ifa.draw.framework.DrawingView;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class JPanelDesktop extends JPanel implements Desktop {
-
-	private DesktopEventService myDesktopEventService;
-	private DrawApplication myDrawApplication;
-
-    public JPanelDesktop(DrawApplication newDrawApplication) {
-		setDrawApplication(newDrawApplication);
-		setDesktopEventService(createDesktopEventService());
-        setAlignmentX(LEFT_ALIGNMENT);
-		setLayout(new BorderLayout());
-    }
-
-	protected Component createContents(DrawingView dv) {
-		JScrollPane sp = new JScrollPane((Component)dv);
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(LEFT_ALIGNMENT);
-		String applicationTitle;
-		if (dv.drawing().getTitle() == null) {
-			applicationTitle = getDrawApplication().getApplicationName()
-					+ " - " + getDrawApplication().getDefaultDrawingTitle();
-		}
-		else {
-			applicationTitle = getDrawApplication().getApplicationName() + " - " + dv.drawing().getTitle();
-		}
-		// should be setTitle but a JPanelDesktop has no own title bar
-		sp.setName(applicationTitle);
-		return sp;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return getDesktopEventService().getActiveDrawingView();
-	}
-
-	public void addToDesktop(DrawingView dv, int location) {
-		getDesktopEventService().addComponent(createContents(dv));
-		getContainer().validate();
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		getDesktopEventService().removeComponent(dv);
-		getContainer().validate();
-	}
-
-	public void removeAllFromDesktop(int location) {
-	    getDesktopEventService().removeAllComponents();
-		getContainer().validate();
-	}
-
-	public DrawingView[] getAllFromDesktop(int location) {
-		return getDesktopEventService().getDrawingViews(getComponents());
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-	    getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	private Container getContainer() {
-		return this;
-	}
-
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, getContainer());
-	}
-
-	private void setDrawApplication(DrawApplication newDrawApplication) {
-		myDrawApplication = newDrawApplication;
-	}
-
-	protected DrawApplication getDrawApplication() {
-		return myDrawApplication;
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		// should be setTitle but a JPanelDesktop has no own title bar
-		setName(newDrawingTitle);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/JScrollPaneDesktop.java b/JHotDraw/src/CH/ifa/draw/contrib/JScrollPaneDesktop.java
deleted file mode 100644
index ca5208f5b..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/JScrollPaneDesktop.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * @(#)JScrollPaneDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.Component;
-import java.awt.Container;
-
-// JUnitDoclet begin import
-import javax.swing.JScrollPane;
-
-import CH.ifa.draw.framework.DrawingView;
-// JUnitDoclet end import
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class JScrollPaneDesktop extends JScrollPane implements Desktop {
-
-	private DesktopEventService myDesktopEventService;
-
-    public JScrollPaneDesktop() {
-		setDesktopEventService(createDesktopEventService());
-        setAlignmentX(LEFT_ALIGNMENT);
-		setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-    }
-
-	protected Component createContents(DrawingView dv) {
-		return (Component)dv;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return getDesktopEventService().getActiveDrawingView();
-	}
-
-	public void addToDesktop(DrawingView dv, int location) {
-		getContainer().add(createContents(dv));
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		getDesktopEventService().removeComponent(dv);
-	}
-
-	public void removeAllFromDesktop(int location) {
-		getDesktopEventService().removeAllComponents();
-	}
-
-	public DrawingView[] getAllFromDesktop(int location) {
-		//This is overkill since we know we only have 1 component...
-		return getDesktopEventService().getDrawingViews(getComponents());
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	private Container getContainer() {
-		return getViewport();
-	}
-
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, getContainer());
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		// should be setTitle but a JPanelDesktop has no own title bar
-		setName(newDrawingTitle);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/Layoutable.java b/JHotDraw/src/CH/ifa/draw/contrib/Layoutable.java
deleted file mode 100644
index 3321abc02..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/Layoutable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)Layouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.Figure;
-
-/**
- * A Layoutable is a target for a Layouter who lays out the Layoutable
- * according to its layout algorithm
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface Layoutable extends Figure {
-
-	/**
-	 * Layout the figure
-	 */
-	public void layout();
-
-	/**
-	 * Set the Layouter for this Layoutable
-	 *
-	 * @param newLayouter layouter
-	 */
-	public void setLayouter(Layouter newLayouter);
-	
-	/**
-	 * Return the Layouter for this Layoutable
-	 *
-	 * @return layouter
-	 */
-	public Layouter getLayouter();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/Layouter.java b/JHotDraw/src/CH/ifa/draw/contrib/Layouter.java
deleted file mode 100644
index 79a7ba7a5..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/Layouter.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)Layouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.Storable;
-import java.io.Serializable;
-import java.awt.*;
-
-/**
- * A Layouter encapsulates a algorithm to layout
- * a figure. It is passed on to a figure which delegates the 
- * layout task to the Layouter's layout method. 
- * The Layouter might need access to some information 
- * specific to a certain figure in order to layout it out properly.
- *
- * Note: Currently, only the GraphicalCompositeFigure uses
- *       such a Layouter to layout its child components.
- *
- * @see		GraphicalCompositeFigure
- *
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface Layouter extends Serializable, Storable {
-
-	/**
-	 * Calculate the layout for the figure and all its
-	 * subelements. The layout is not actually performed but just
-	 * its dimensions are calculated.
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 * @return size including space for insets
-	 */	
-	public Rectangle calculateLayout(Point origin, Point corner);
-
-	/**
-	 * Method which lays out a figure. It is called by the figure
-	 * if a layout task is to be performed. Implementing classes
-	 * specify a certain layout algorithm in this method.
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 */	
-	public Rectangle layout(Point origin, Point corner);
-
-	/**
-	 * Set the insets for spacing between the figure and its subfigures
-	 *
-	 * @param newInsets new spacing dimensions
-	 */
-	public void setInsets(Insets newInsets);
-
-	/**
-	 * Get the insets for spacing between the figure and its subfigures
-	 *
-	 * @return spacing dimensions
-	 */	
-	public Insets getInsets();
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 */
-	public Layouter create(Layoutable newLayoutable);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/MDIDesktopPane.java b/JHotDraw/src/CH/ifa/draw/contrib/MDIDesktopPane.java
deleted file mode 100644
index 3d5e8d0e6..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/MDIDesktopPane.java
+++ /dev/null
@@ -1,636 +0,0 @@
-/*
- * @(#)MDIDesktopPane.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.standard.NullDrawingView;
-import CH.ifa.draw.application.DrawApplication;
-
-import javax.swing.*;
-import javax.swing.event.InternalFrameListener;
-import javax.swing.event.InternalFrameAdapter;
-import javax.swing.event.InternalFrameEvent;
-import java.awt.*;
-import java.beans.*;
-
-/**
- * An extension of JDesktopPane that supports often used MDI functionality. This
- * class also handles setting scroll bars for when windows move too far to the left or
- * bottom, providing the MDIDesktopPane is in a ScrollPane.
- * Note by dnoyeb: I dont know why the container does not fire frame close events when the frames
- * are removed from the container with remove as opposed to simply closed with the
- * "x".  so if you say removeAll from container you wont be notified.  No biggie.
- *
- * @author Wolfram Kaiser (adapted from an article in JavaWorld)
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MDIDesktopPane extends JDesktopPane implements Desktop {
-	private static int FRAME_OFFSET=20;
-	private MDIDesktopManager manager;
-	private DrawApplication myDrawApplication;
-	private DesktopEventService myDesktopEventService;
-
-	private DrawingView selectedView;
-
-	public MDIDesktopPane(DrawApplication newDrawApplication) {
-		setDesktopEventService(createDesktopEventService());
-		setDrawApplication(newDrawApplication);
-		manager=new MDIDesktopManager(this);
-		setDesktopManager(manager);
-		setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
-		setAlignmentX(JComponent.LEFT_ALIGNMENT);
-	}
-
-	protected InternalFrameListener internalFrameListener = new InternalFrameAdapter() {
-	    /**
-	     * Invoked when a internal frame has been opened.
-         * @see javax.swing.JInternalFrame#show
-		 * if dv is null assert
-         */
-	    public void internalFrameOpened(InternalFrameEvent e) {
-			DrawingView dv = Helper.getDrawingView(e.getInternalFrame());
-			fireDrawingViewAddedEvent(dv);
-	    }
-
-		/**
-		 * Invoked when an internal frame is in the process of being closed.
-		 * The close operation can be overridden at this point.
-		 * @see javax.swing.JInternalFrame#setDefaultCloseOperation
-		 */
-		//public void internalFrameClosing(InternalFrameEvent e) {
-		//}
-
-		/**
-		 * Invoked when an internal frame has been closed.
-		 * if dv is null assert
-		 * if this is the last view set it to null
-		 * @see javax.swing.JInternalFrame#setClosed
-		 */
-		public void internalFrameClosed(InternalFrameEvent e) {
-			DrawingView dv = Helper.getDrawingView(e.getInternalFrame());
-			if (getComponentCount() == 0){
-				DrawingView oldView = getActiveDrawingView();
-				setActiveDrawingView(NullDrawingView.getManagedDrawingView(oldView.editor()));
-				fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-			}
-			fireDrawingViewRemovedEvent(dv);
-		}
-
-		/**
-		 * Invoked when an internal frame is iconified.
-		 * @see javax.swing.JInternalFrame#setIcon
-		 */
-		//public void internalFrameIconified(InternalFrameEvent e) {
-		//}
-
-		/**
-		 * Invoked when an internal frame is de-iconified.
-		 * @see javax.swing.JInternalFrame#setIcon
-		 */
-		//public void internalFrameDeiconified(InternalFrameEvent e) {
-		//}
-
-		/**
-		 * Invoked when an internal frame is activated.
-		 * @see javax.swing.JInternalFrame#setSelected
-		 * if this frame has a null drawingView then assert
-		 * because their should be no null frames being selected
-		 * this does not include NullDrawingView which is acceptable
-		 */
-		public void internalFrameActivated(InternalFrameEvent e) {
-			DrawingView dv = Helper.getDrawingView(e.getInternalFrame());
-			DrawingView oldView = getActiveDrawingView();
-			setActiveDrawingView(dv);
-			fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-		}
-
-		//public void internalFrameDeactivated(InternalFrameEvent e) {
-		//}
-	};
-
-
-	protected void fireDrawingViewAddedEvent(final DrawingView dv) {
-		getDesktopEventService().fireDrawingViewAddedEvent(dv);
-	}
-
-	protected void fireDrawingViewRemovedEvent(final DrawingView dv) {
-		getDesktopEventService().fireDrawingViewRemovedEvent(dv);
-	}
-
-	protected void fireDrawingViewSelectedEvent(final DrawingView oldView, final DrawingView newView) {
-		getDesktopEventService().fireDrawingViewSelectedEvent(oldView, newView);
-	}
-
-/*	public void setBounds(int x, int y, int w, int h) {
-		super.setBounds(x,y,w,h);
-		checkDesktopSize();
-	}
-*/
-
-	protected Component createContents(DrawingView dv) {
-		JScrollPane sp = new JScrollPane((Component) dv);
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(LEFT_ALIGNMENT);
-
-		String applicationTitle;
-		if (dv.drawing().getTitle() == null) {
-			applicationTitle = getDrawApplication().getApplicationName() + " - " + getDrawApplication().getDefaultDrawingTitle();
-		}
-		else {
-			applicationTitle = getDrawApplication().getApplicationName() + " - " + dv.drawing().getTitle();
-		}
-		JInternalFrame internalFrame = new JInternalFrame(applicationTitle, true, true, true, true);
-		internalFrame.setName(applicationTitle);
-		internalFrame.getContentPane().add(sp);
-		internalFrame.setSize(200,200);
-		return internalFrame;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return selectedView;
-	}
-
-	protected void setActiveDrawingView(DrawingView newSelectedView) {
-		selectedView = newSelectedView;
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		getSelectedFrame().setTitle(newDrawingTitle);
-	}
-
-	/**
-	 * This must match the signature of the superclass it is overriding or the
-	 * method invocation may not resolve to this method unless it is called on
-	 * a reference of specifically MDIDesktopPane type.  So this must be
-	 * Component add(Component comp) in order to override its super class and
-	 * Component add(JInternalFrame frame) will not properly override the super-
-	 * class, but instead overload it.
-	 *
-	 * Note be sure to call this method and not add() when you want to add to the
-	 * desktop.  This allows complex desktops to be created.  For instance, you can
-	 * add split panes and scroll panes and such as normal with the add() method
-	 * but then to get to the actual desktop you would still call this method.
-	 */
-	public void addToDesktop(DrawingView dv, int location) {
-		JInternalFrame frame = (JInternalFrame)createContents(dv);
-		JInternalFrame[] array = getAllFrames();
-		Point p = null;
-		int w;
-		int h;
-
-		//should be done before added to desktop
-		frame.addInternalFrameListener(internalFrameListener);
-		super.add(frame);
-
-		checkDesktopSize();
-		if (array.length > 0) {
-			p = array[0].getLocation();
-			p.x = p.x + FRAME_OFFSET;
-			p.y = p.y + FRAME_OFFSET;
-		}
-		else {
-			p = new Point(0, 0);
-		}
-		frame.setLocation(p.x, p.y);
-		if (frame.isResizable()) {
-			w = getWidth() - (getWidth() / 3);
-			h = getHeight() - (getHeight() / 3);
-			if (w < frame.getMinimumSize().getWidth()) {
-				w = (int)frame.getMinimumSize().getWidth();
-			}
-			if (h < frame.getMinimumSize().getHeight()) {
-				h = (int)frame.getMinimumSize().getHeight();
-			}
-			frame.setSize(w, h);
-		}
-		moveToFront(frame);
-		frame.setVisible(true);
-		try {
-			frame.setSelected(true);
-		}
-		catch (PropertyVetoException e) {
-			frame.toBack();
-		}
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		Component[] comps = getComponents();
-		for (int x=0; x<comps.length; x++) {
-			if (dv == Helper.getDrawingView(comps[x])) {
-				((JInternalFrame)comps[x]).dispose();
-			    break;
-			}
-		}
-		checkDesktopSize();
-	}
-
-	public void removeAllFromDesktop(int location) {
-		JInternalFrame[] jifs = getAllFrames();
-		for (int x=0; x < jifs.length; x++) {
-			jifs[x].dispose();
-		}
-	}
-
-	public DrawingView[] getAllFromDesktop(int location){
-		Component[] comps = getComponents();
-		java.util.ArrayList al = new java.util.ArrayList();
-		for (int x=0; x<comps.length; x++) {
-			DrawingView dv = Helper.getDrawingView(comps[x]);
-			if (dv != null) {
-				al.add(dv);
-			}
-		}
-		DrawingView[] dvs = new DrawingView[al.size()];
-		al.toArray(dvs);
-		return dvs;
-	}
-/*
-	public void setSelectedDrawingView(DrawingView dv) {
-		Component[] comps = getComponents();
-		for (int x=0; x < comps.length; x++) {
-			DrawingView dv2 = Helper.getDrawingView(comps[x]);
-		    if (dv == dv2) {
-				JInternalFrame frame = (JInternalFrame)comps[x];
-				try {
-					//moveToFront(frame);
-					frame.setSelected(true);
-				}
-				catch(java.beans.PropertyVetoException pve) {
-				    System.out.println(pve);
-				}
-		    }
-		}
-	}
-*/
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, this);
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	/**
-	 * Cascade all internal frames
-	 */
-	public void cascadeFrames() {
-		int x = 0;
-		int y = 0;
-		JInternalFrame[] allFrames = getAllFrames();
-
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int frameHeight = (getBounds().height - 5) - allFrames.length * FRAME_OFFSET;
-		int frameWidth = (getBounds().width - 5) - allFrames.length * FRAME_OFFSET;
-		for (int i = allFrames.length - 1; i >= 0; i--) {
-			try {
-				allFrames[i].setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[i].setBounds(x, y, frameWidth, frameHeight);
-			x = x + FRAME_OFFSET;
-			y = y + FRAME_OFFSET;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Tile all internal frames<br>
-	 *
-	 * @deprecated use tileFramesHorizontally() instead
-	 *
-	 */
-	public void tileFrames() {
-		tileFramesHorizontally();
-	}
-
-	public void tileFramesHorizontally() {
-		Component[] allFrames = getAllFrames();
-
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int frameHeight = getBounds().height/allFrames.length;
-		int y = 0;
-		for (int i = 0; i < allFrames.length; i++) {
-			try {
-				((JInternalFrame)allFrames[i]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[i].setBounds(0, y, getBounds().width,frameHeight);
-			y = y + frameHeight;
-		}
-
-		checkDesktopSize();
-	}
-
-	public void tileFramesVertically() {
-		Component[] allFrames = getAllFrames();
-
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-		manager.setNormalSize();
-
-		int frameWidth = getBounds().width/allFrames.length;
-		int x = 0;
-		for (int i = 0; i < allFrames.length; i++) {
-			try {
-				((JInternalFrame)allFrames[i]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[i].setBounds(x, 0, frameWidth, getBounds().height);
-			x = x + frameWidth;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Arranges the frames as efficiently as possibly with preference for
-	 * keeping vertical size maximal.<br>
-	 *
-	 */
-	public void arrangeFramesVertically() {
-		Component[] allFrames = getAllFrames();
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int vertFrames = (int)Math.floor(Math.sqrt(allFrames.length));
-		int horFrames = (int)Math.ceil(Math.sqrt(allFrames.length));
-
-		// first arrange the windows that have equal size
-		int frameWidth = getBounds().width / horFrames;
-		int frameHeight = getBounds().height / vertFrames;
-		int x = 0;
-		int y = 0;
-		int frameIdx = 0;
-		for (int horCnt = 0; horCnt < horFrames-1; horCnt++) {
-			y = 0;
-			for (int vertCnt = 0; vertCnt < vertFrames; vertCnt++) {
-				try {
-					((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-				}
-				catch (PropertyVetoException e) {
-					e.printStackTrace();
-				}
-
-				allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-				frameIdx++;
-				y = y + frameHeight;
-			}
-			x = x + frameWidth;
-		}
-
-		// the rest of the frames are tiled down on the last column with equal
-		// height
-		frameHeight = getBounds().height / (allFrames.length - frameIdx);
-		y = 0;
-		for (; frameIdx < allFrames.length; frameIdx++)
-		{
-			try {
-				((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-			y = y + frameHeight;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Arranges the frames as efficiently as possibly with preference for
-	 * keeping horizontal size maximal.<br>
-	 *
-	 */
-	public void arrangeFramesHorizontally() {
-		Component[] allFrames = getAllFrames();
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int vertFrames = (int)Math.ceil(Math.sqrt(allFrames.length));
-		int horFrames = (int)Math.floor(Math.sqrt(allFrames.length));
-
-		// first arrange the windows that have equal size
-		int frameWidth = getBounds().width / horFrames;
-		int frameHeight = getBounds().height / vertFrames;
-		int x = 0;
-		int y = 0;
-		int frameIdx = 0;
-		for (int vertCnt = 0; vertCnt < vertFrames-1; vertCnt++) {
-			x = 0;
-			for (int horCnt = 0; horCnt < horFrames; horCnt++) {
-				try {
-					((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-				}
-				catch (PropertyVetoException e) {
-					e.printStackTrace();
-				}
-
-				allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-				frameIdx++;
-				x = x + frameWidth;
-			}
-			y = y + frameHeight;
-		}
-
-		// the rest of the frames are tiled down on the last column with equal
-		// height
-		frameWidth = getBounds().width / (allFrames.length - frameIdx);
-		x = 0;
-		for (; frameIdx < allFrames.length; frameIdx++) {
-			try {
-				((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-			x = x + frameWidth;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Sets all component size properties ( maximum, minimum, preferred)
-	 * to the given dimension.
-	 */
-	public void setAllSize(Dimension d) {
-		setMinimumSize(d);
-		setMaximumSize(d);
-		setPreferredSize(d);
-		setBounds(0, 0, d.width, d.height);
-	}
-
-	/**
-	 * Sets all component size properties ( maximum, minimum, preferred)
-	 * to the given width and height.
-	 */
-	public void setAllSize(int width, int height) {
-		setAllSize(new Dimension(width,height));
-	}
-
-	private void checkDesktopSize() {
-		if ((getParent() != null) && isVisible()) {
-			manager.resizeDesktop();
-		}
-	}
-
-	private void setDrawApplication(DrawApplication newDrawApplication) {
-		myDrawApplication = newDrawApplication;
-	}
-
-	protected DrawApplication getDrawApplication() {
-		return myDrawApplication;
-	}
-}
-
-/**
- * Private class used to replace the standard DesktopManager for JDesktopPane.
- * Used to provide scrollbar functionality.
- */
-class MDIDesktopManager extends DefaultDesktopManager {
-	private MDIDesktopPane desktop;
-
-	public MDIDesktopManager(MDIDesktopPane newDesktop) {
-		this.desktop = newDesktop;
-	}
-
-	public void endResizingFrame(JComponent f) {
-		super.endResizingFrame(f);
-		resizeDesktop();
-	}
-
-	public void endDraggingFrame(JComponent f) {
-		super.endDraggingFrame(f);
-		resizeDesktop();
-	}
-
-	public void setNormalSize() {
-		JScrollPane scrollPane = getScrollPane();
-		Insets scrollInsets = getScrollPaneInsets();
-
-		if (scrollPane != null) {
-			Dimension d = scrollPane.getVisibleRect().getSize();
-			if (scrollPane.getBorder() != null) {
-			   d.setSize(d.getWidth() - scrollInsets.left - scrollInsets.right,
-						 d.getHeight() - scrollInsets.top - scrollInsets.bottom);
-			}
-
-			d.setSize(d.getWidth() - 20, d.getHeight() - 20);
-			desktop.setAllSize(d);
-			scrollPane.invalidate();
-			scrollPane.validate();
-		}
-	}
-
-	private Insets getScrollPaneInsets() {
-		JScrollPane scrollPane = getScrollPane();
-		if ((scrollPane == null) || (getScrollPane().getBorder() == null)) {
-			return new Insets(0, 0, 0, 0);
-		}
-		else {
-			return getScrollPane().getBorder().getBorderInsets(scrollPane);
-		}
-	}
-
-	public JScrollPane getScrollPane() {
-		if (desktop.getParent() instanceof JViewport) {
-			JViewport viewPort = (JViewport)desktop.getParent();
-			if (viewPort.getParent() instanceof JScrollPane)
-				return (JScrollPane)viewPort.getParent();
-		}
-		return null;
-	}
-
-	protected void resizeDesktop() {
-		int x = 0;
-		int y = 0;
-		JScrollPane scrollPane = getScrollPane();
-		Insets scrollInsets = getScrollPaneInsets();
-
-		if (scrollPane != null) {
-			JInternalFrame allFrames[] = desktop.getAllFrames();
-			for (int i = 0; i < allFrames.length; i++) {
-				if (allFrames[i].getX() + allFrames[i].getWidth() > x) {
-					x = allFrames[i].getX() + allFrames[i].getWidth();
-				}
-				if (allFrames[i].getY() + allFrames[i].getHeight() > y) {
-					y = allFrames[i].getY() + allFrames[i].getHeight();
-				}
-			}
-			Dimension d=scrollPane.getVisibleRect().getSize();
-			if (scrollPane.getBorder() != null) {
-			   d.setSize(d.getWidth() - scrollInsets.left - scrollInsets.right,
-						 d.getHeight() - scrollInsets.top - scrollInsets.bottom);
-			}
-
-			if (x <= d.getWidth()) {
-				x = ((int)d.getWidth()) - 20;
-			}
-			if (y <= d.getHeight()) {
-				y = ((int)d.getHeight()) - 20;
-			}
-			desktop.setAllSize(x,y);
-			scrollPane.invalidate();
-			scrollPane.validate();
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/MDI_DrawApplication.java b/JHotDraw/src/CH/ifa/draw/contrib/MDI_DrawApplication.java
deleted file mode 100644
index ede1fcd82..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/MDI_DrawApplication.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * @(#)MDI_DrawApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.application.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.contrib.dnd.DragNDropTool;
-
-import javax.swing.*;
-
-/**
- * Many applications have the ability to deal with multiple internal windows.
- * MDI_DrawApplications provides the basic facilities to make use of MDI in
- * JHotDraw. Its main tasks are to create a content for DrawApplications, which
- * is embedded in internal frames, to maintain a list with all internal frames
- * and to manage the switching between them.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MDI_DrawApplication extends DrawApplication {
-
-	/**
-	 * Constructs a drawing window with a default title.
-	 */
-	public MDI_DrawApplication() {
-		this("JHotDraw");
-	}
-
-	/**
-	 * Constructs a drawing window with the given title.
-	 */
-	public MDI_DrawApplication(String title) {
-		super(title);
-	}
-
-	/**
-	 * Factory method which can be overriden by subclasses to
-	 * create an instance of their type.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new MDI_DrawApplication();
-	}
-
-	/**
-	 * Creates the tools. By default only the selection tool is added.
-	 * Override this method to add additional tools.
-	 * Call the inherited method to include the selection tool.
-	 * @param palette the palette where the tools are added.
-	 */
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-		Tool tool = new DragNDropTool(this);
-		ToolButton tb = createToolButton(IMAGES+"SEL", "Drag N Drop Tool", tool);
-		palette.add( tb );
-	}
-
-	/**
-	 * Opens a new internal frame containing a new drawing.
-	 */
-	public void promptNew() {
-		newWindow(createDrawing());
-	}
-
-	/**
-	 * Method to create a new internal frame.  Applications that want
-	 * to create a new internal drawing view should call this method.
-	 */
-	public void newWindow(Drawing newDrawing) {
-		DrawingView newView = createDrawingView(newDrawing);
-		getDesktop().addToDesktop(newView, Desktop.PRIMARY);
-		toolDone();
-	}
-
-	/**
-	 * Create the DrawingView that is active when the application is started.
-	 * This initial DrawingView might be different from DrawingView created
-	 * by the application, so subclasses can override this method to provide
-	 * a special drawing view for application startup time, e.g. a NullDrawingView
-	 * which does not display an internal frame in a multiple document interface
-	 * (MDI) application.
-	 *
-	 * @return drawing view that is active at application startup time
-	 */
-	protected DrawingView createInitialDrawingView() {
-		return NullDrawingView.getManagedDrawingView(this);
-	}
-
-	/**
-	 * Open a new view for this application containing a
-	 * view of the drawing of the currently activated window.
-	 */
-	public void newView() {
-		if (!view().isInteractive()) {
-			return;
-		}
-
-		// create new window with view to an existing drawing
-		newWindow(view().drawing());
-
-		String copyTitle = getDrawingTitle();
-		if (copyTitle != null) {
-			setDrawingTitle(copyTitle);
-		}
-		else {
-			setDrawingTitle(getDefaultDrawingTitle());
-		}
-	}
-
-	/**
-	 * Factory method to create a specialized desktop (manager) for MDI applications
-	 */
-	protected Desktop createDesktop() {
-		return new MDIDesktopPane(this);
-	}
-
-	/**
-	 * Returns all the views in the application
-	 */
-	public DrawingView[] views() {
-		return getDesktop().getAllFromDesktop(Desktop.PRIMARY);
-	}
-
-	public String getDefaultDrawingTitle() {
-		return super.getDefaultDrawingTitle() + views().length;
-	}
-
-	/**
-	 * Set the title of the currently selected drawing
-	 */
-	protected void setDrawingTitle(String drawingTitle) {
-		getDesktop().updateTitle(drawingTitle);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/MiniMapView.java b/JHotDraw/src/CH/ifa/draw/contrib/MiniMapView.java
deleted file mode 100644
index 81d38e98a..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/MiniMapView.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * @(#)MiniMapView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.DrawingChangeEvent;
-import CH.ifa.draw.framework.DrawingChangeListener;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.geom.*;
-import javax.swing.*;
-import javax.swing.event.*;
-
-/**
- * Utility component for enhancing component scrolling.  It provides a "minature" view of the entire contents of a JScrollPane
- * and the means to scroll that JScrollPane by moving a rectangle representing the viewable area of the JScrollPane.  If the
- * user clicks on an area inside of the MiniMapView, the JScrollPane's view is centered on that area.  The user may also drag
- * the rectangle representation of the JScrollPane's view around the MiniMap to scroll.
- *
- * @author	S. Ruman (sruman@rogers.com)
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapView extends JComponent {
-// Instance Variables
-	private JScrollPane m_subject;
-	private DrawingView myMappedDrawingView;
-	private SubjectListener m_subjectListener;
-	private DrawingChangeListener myDrawingChangeListener;
-	private Color m_viewBoxColor = Color.red;
-
-// Constructors
-	public MiniMapView(DrawingView newMappedDrawingView, JScrollPane subject) {
-		m_subjectListener = new SubjectListener();
-		setSubject(subject);
-		setMappedDrawingView(newMappedDrawingView);
-		myDrawingChangeListener = new MappedDrawingChangeListener();
-		getMappedDrawingView().drawing().addDrawingChangeListener(myDrawingChangeListener);
-		MouseListener ml = new MouseListener();
-		addMouseListener(new MouseListener());
-		addMouseMotionListener(ml);
-	}
-
-	protected void setMappedDrawingView(DrawingView newMappedDrawingView) {
-		myMappedDrawingView = newMappedDrawingView;
-	}
-
-	public DrawingView getMappedDrawingView() {
-		return myMappedDrawingView;
-	}
-
-// accessors
-	protected void setSubject(JScrollPane subject) {
-		if (m_subject != null) {
-			m_subject.getViewport().removeChangeListener(m_subjectListener);
-		}
-
-		m_subject = subject;
-		if (m_subject != null) {
-			m_subject.getViewport().addChangeListener(m_subjectListener);
-		}
-
-		repaint();
-	}
-
-	public JScrollPane getSubject() {
-		return m_subject;
-	}
-
-	public Color getViewBowColor() {
-		return m_viewBoxColor;
-	}
-
-	public void setViewBoxColor(Color c) {
-		m_viewBoxColor = c;
-		repaint();
-	}
-
-	/**
-	 * @return	The component that is actually being "mini-mapped", that is the component inside the scroll pane
-	 */
-	protected Component getMappedComponent() {
-		return (Component)getMappedDrawingView();
-	}
-
-// Overridden
-	public void paint(Graphics g) {
-		Graphics2D g2d = (Graphics2D)g;
-
-		// Paint a small map representation of the subjects contents
-		Component mappedComponent = getMappedComponent();
-		AffineTransform at = getViewToMiniMapTransform(mappedComponent);
-		g2d.transform(at);
-
-		getMappedDrawingView().drawAll(g2d);
-
-		// Draw a rectangle representing the viewable area
-		drawViewRectangle(g2d, getViewRectangle());
-	}
-
-	// side-effect of setting the transform on g2d to identity
-	protected void drawViewRectangle(Graphics2D g2d, Rectangle viewPortRectangle) {
-		AffineTransform at = new AffineTransform();
-		at.setToIdentity();
-		g2d.setTransform(at);
-
-		g2d.setColor(m_viewBoxColor);
-		g2d.draw(viewPortRectangle);
-	}
-
-	protected AffineTransform getViewToMiniMapTransform(Component mappedComponent) {
-		double scaleX = ((double)getWidth()) / ((double)mappedComponent.getWidth());
-		double scaleY = ((double)getHeight()) / ((double)mappedComponent.getHeight());
-
-		AffineTransform at = getInverseSubjectTransform();		// for subclass flexibility
-		at.concatenate(AffineTransform.getScaleInstance(scaleX, scaleY));
-		return at;
-	}
-
-	/**
-	 * Allows subclasses to modify the transformation used in creating the mini-map
-	 */
-	protected AffineTransform getInverseSubjectTransform() {
-		AffineTransform at = new AffineTransform();
-		at.setToIdentity();
-		return at;
-	}
-
-	/**
-	 * @return	The rectangle (in Mini-Map world-coordinates) representing the area being viewed inside of the scroll pane subject
-	 */
-	protected Rectangle getViewRectangle() {
-		Rectangle visiblePortion = m_subject.getViewportBorderBounds();
-		Point upperLeftViewPos = m_subject.getViewport().getViewPosition();
-		double [] srcRecCorners = new double[4];
-		double [] dstRecCorners = new double[4];
-
-		srcRecCorners[0] = upperLeftViewPos.x + visiblePortion.getX(); srcRecCorners[1] = upperLeftViewPos.y + visiblePortion.getY(); srcRecCorners[2] = upperLeftViewPos.x + visiblePortion.getX() + visiblePortion.getWidth(); srcRecCorners[3] = upperLeftViewPos.y + visiblePortion.getY() + visiblePortion.getHeight();
-		getViewToMiniMapTransform(getMappedComponent()).transform(srcRecCorners, 0, dstRecCorners, 0, srcRecCorners.length/2);	// transform the coordinates to MiniMapView coordinates
-
-		return new Rectangle((int)dstRecCorners[0], (int)dstRecCorners[1], (int)(dstRecCorners[2] - dstRecCorners[0]), (int)(dstRecCorners[3] - dstRecCorners[1]));
-	}
-
-	/**
-	 * Scrolls the subject scroll pane to the coordinates specified.
-	 * @param		upperLeftX		The new upper left corner X-coordinate (in subject world-coordinates) of the subject scroll pane
-	 * @param		upperLeftY		The new upper left corner Y-coordinate (in subject world-coordinates) of the subject scroll pane
-	 */
-	protected void scrollSubjectTo(int upperLeftX, int upperLeftY) {
-		AffineTransform at = null;
-		try {
-			at = getViewToMiniMapTransform(getMappedComponent()).createInverse();
-		}
-		catch (NoninvertibleTransformException nite) {
-			nite.printStackTrace();
-			return;
-		}
-
-		double [] srcPoints = new double[2];
-		double [] destPoints = new double[2];
-		srcPoints[0] = upperLeftX;
-		srcPoints[1] = upperLeftY;
-		at.transform(srcPoints, 0, destPoints, 0, 1);
-
-		if (destPoints[0] < 0) {
-			destPoints[0] = 0;
-		}
-		if (destPoints[1] < 0) {
-			destPoints[1] = 0;
-		}
-
-		m_subject.getViewport().setViewPosition(new Point((int)destPoints[0], (int)destPoints[1]));
-	}
-
-	protected int [] getUpperLeftPointsFromCenter(int centerX, int centerY) {
-		int [] upperLeft = new int[2];
-		Rectangle oldRectangle = getViewRectangle();
-		upperLeft[0] = centerX - oldRectangle.width/2;
-		upperLeft[1] = centerY - oldRectangle.height/2;
-
-        /*
-         * JP, 25-May-03: Avoid positioning of the rectangle outside the
-         * available area. Resulted in very strange artifacts on the screen.
-         */
-        if (upperLeft[0] + oldRectangle.width > getX() + getWidth()) {
-            upperLeft[0] = getX() + getWidth() - oldRectangle.width;
-        }
-
-        if (upperLeft[1] + oldRectangle.height > getY() + getHeight()) {
-            upperLeft[1] = getY() + getHeight() - oldRectangle.height;
-        }
-        
-		return upperLeft;
-	}
-
-	// Inner Classes
-	public class MouseListener extends MouseAdapter implements MouseMotionListener  {
-		public void mousePressed(MouseEvent e) {
-			int [] rectangleUpperLeft = getUpperLeftPointsFromCenter(e.getX(), e.getY());
-			scrollSubjectTo(rectangleUpperLeft[0], rectangleUpperLeft[1]);
-		}
-
-		public void mouseDragged(MouseEvent e) {
-			int [] rectangleUpperLeft = getUpperLeftPointsFromCenter(e.getX(), e.getY());
-			scrollSubjectTo(rectangleUpperLeft[0], rectangleUpperLeft[1]);
-		}
-
-		public void mouseMoved(MouseEvent e) {
-			// empty implementation
-		}
-	}
-
-	class SubjectListener implements ChangeListener {
-		public void stateChanged(ChangeEvent e) {
-			repaint();
-		}
-	}
-
-	class MappedDrawingChangeListener implements DrawingChangeListener {
-		/**
-		 *  Sent when an area is invalid
-		 */
-		public void drawingInvalidated(DrawingChangeEvent e) {
-			repaint();
-		}
-
-		/**
-		 *  Sent when the drawing wants to be refreshed
-		 */
-		public void drawingRequestUpdate(DrawingChangeEvent e) {
-			repaint();
-		}
-        
-        /**  
-         *  Sent when the drawing Title has changed
-         */
-        public void drawingTitleChanged(DrawingChangeEvent e) {
-        }
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/NestedCreationTool.java b/JHotDraw/src/CH/ifa/draw/contrib/NestedCreationTool.java
deleted file mode 100644
index f55a1ab46..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/NestedCreationTool.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * @(#)CreationTool2.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.standard.CompositeFigure;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.DrawingEditor;
-
-import java.awt.event.MouseEvent;
-
-/**
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class NestedCreationTool extends CreationTool {
-	private CompositeFigure myContainerFigure;
-
-	public NestedCreationTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		Figure figure = drawing().findFigure(e.getX(), e.getY());
-		if (figure != null) {
-			figure = figure.getDecoratedFigure();
-			if (figure instanceof CompositeFigure) {
-				setContainerFigure((CompositeFigure)figure);
-				super.mouseDown(e, x, y);
-			}
-			else {
-				toolDone();
-			}
-		}
-		else {
-			toolDone();
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		if ((getContainerFigure() != null) && !getContainerFigure().containsPoint(e.getX(), e.getY())) {
-			// here you might want to constrain the mouse movements to the size of the
-			// container figure: not sure whether this works...
-			toolDone();
-		}
-		else {
-			super.mouseMove(e, x, y);
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if ((getContainerFigure() != null) && (getCreatedFigure() != null)
-				&& getContainerFigure().containsPoint(e.getX(), e.getY())) {
-			getContainerFigure().add(getCreatedFigure());
-		}
-		toolDone();
-	}
-
-	protected void setContainerFigure(CompositeFigure newContainerFigure) {
-		myContainerFigure = newContainerFigure;
-	}
-
-	public CompositeFigure getContainerFigure() {
-		return myContainerFigure;
-	}
-
-	protected void toolDone() {
-		setCreatedFigure(null);
-		setAddedFigure(null);
-		setContainerFigure(null);
-		editor().toolDone();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PolygonFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/PolygonFigure.java
deleted file mode 100644
index 107d821ef..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PolygonFigure.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/*
- * @(#)PolygonFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.IOException;
-
-/**
- * A scalable, rotatable polygon with an arbitrary number of points
- * Based on PolyLineFigure
- *
- * @author Doug Lea  (dl at gee, Fri Feb 28 07:47:05 1997)
- * @version <$CURRENT_VERSION$>
- */
-public  class PolygonFigure extends AttributeFigure {
-
-	/**
-	 * Distance threshold for smoothing away or locating points
-	 **/
-	static final int TOO_CLOSE = 2;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6254089689239215026L;
-	private int polygonFigureSerializedDataVersion = 1;
-
-	private Polygon fPoly;
-
-	public PolygonFigure() {
-		super();
-		setInternalPolygon(new Polygon());
-	}
-
-	public PolygonFigure(int x, int y) {
-		this();
-		getInternalPolygon().addPoint(x, y);
-	}
-
-	public PolygonFigure(Polygon p) {
-		setInternalPolygon(new Polygon(p.xpoints, p.ypoints, p.npoints));
-	}
-
-	public Rectangle displayBox() {
-		return bounds(getInternalPolygon());
-	}
-
-
-	public boolean isEmpty() {
-		return ((pointCount() < 3) ||
-				((size().width < TOO_CLOSE) && (size().height < TOO_CLOSE)));
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(pointCount());
-		for (int i = 0; i < pointCount(); i++) {
-			handles.add(new PolygonHandle(this, locator(i), i));
-		}
-		handles.add(new PolygonScaleHandle(this));
-		return new HandleEnumerator(handles);
-	}
-
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		Rectangle r = displayBox();
-		int dx = origin.x - r.x;
-		int dy = origin.y - r.y;
-		getInternalPolygon().translate(dx, dy);
-		r = displayBox();
-		Point oldCorner = new Point(r.x + r.width, r.y + r.height);
-		scaleRotate(oldCorner, getInternalPolygon(), corner);
-	}
-
-	/**
-	 * @return a copy of the internal polygon
-	 **/
-	public Polygon getPolygon() {
-		return new Polygon(fPoly.xpoints, fPoly.ypoints, fPoly.npoints);
-	}
-
-	protected void setInternalPolygon(Polygon newPolygon) {
-		fPoly = newPolygon;
-	}
-
-	public Polygon getInternalPolygon() {
-		return fPoly;
-	}
-
-	public Point center() {
-		return center(getInternalPolygon());
-	}
-
-	public Iterator points() {
-		List pts = CollectionsFactory.current().createList(pointCount());
-		for (int i = 0; i < pointCount(); ++i) {
-			pts.add(new Point(getInternalPolygon().xpoints[i],
-									 getInternalPolygon().ypoints[i]));
-		}
-		return pts.iterator();
-	}
-
-	public int pointCount() {
-		return getInternalPolygon().npoints;
-	}
-
-	public void basicMoveBy(int dx, int dy) {
-		getInternalPolygon().translate(dx, dy);
-	}
-
-	public void drawBackground(Graphics g) {
-		g.fillPolygon(getInternalPolygon());
-	}
-
-	public void drawFrame(Graphics g) {
-		g.drawPolygon(getInternalPolygon());
-	}
-
-	public boolean containsPoint(int x, int y) {
-		return getInternalPolygon().contains(x, y);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ChopPolygonConnector(this);
-	}
-
-	/**
-	 * Adds a node to the list of points.
-	 */
-	public void addPoint(int x, int y) {
-		getInternalPolygon().addPoint(x, y);
-		changed();
-	}
-
-
-	/**
-	 * Changes the position of a node.
-	 */
-	public void setPointAt(Point p, int i) {
-		willChange();
-		getInternalPolygon().xpoints[i] = p.x;
-		getInternalPolygon().ypoints[i] = p.y;
-		changed();
-	}
-
-	/**
-	 * Insert a node at the given point.
-	 */
-	public void insertPointAt(Point p, int i) {
-		willChange();
-		int n = pointCount() + 1;
-		int[] xs = new int[n];
-		int[] ys = new int[n];
-		for (int j = 0; j < i; ++j) {
-			xs[j] = getInternalPolygon().xpoints[j];
-			ys[j] = getInternalPolygon().ypoints[j];
-		}
-		xs[i] = p.x;
-		ys[i] = p.y;
-		for (int j = i; j < pointCount(); ++j) {
-			xs[j + 1] = getInternalPolygon().xpoints[j];
-			ys[j + 1] = getInternalPolygon().ypoints[j];
-		}
-
-		setInternalPolygon(new Polygon(xs, ys, n));
-		changed();
-	}
-
-	public void removePointAt(int i) {
-		willChange();
-		int n = pointCount() - 1;
-		int[] xs = new int[n];
-		int[] ys = new int[n];
-		for (int j = 0; j < i; ++j) {
-			xs[j] = getInternalPolygon().xpoints[j];
-			ys[j] = getInternalPolygon().ypoints[j];
-		}
-		for (int j = i; j < n; ++j) {
-			xs[j] = getInternalPolygon().xpoints[j + 1];
-			ys[j] = getInternalPolygon().ypoints[j + 1];
-		}
-		setInternalPolygon(new Polygon(xs, ys, n));
-		changed();
-	}
-
-	/**
-	 * Scale and rotate relative to anchor
-	 **/
-	public  void scaleRotate(Point anchor, Polygon originalPolygon, Point p) {
-		willChange();
-
-		// use center to determine relative angles and lengths
-		Point ctr = center(originalPolygon);
-		double anchorLen = Geom.length(ctr.x, ctr.y, anchor.x, anchor.y);
-
-		if (anchorLen > 0.0) {
-			double newLen = Geom.length(ctr.x, ctr.y, p.x, p.y);
-			double ratio = newLen / anchorLen;
-
-			double anchorAngle = Math.atan2(anchor.y - ctr.y, anchor.x - ctr.x);
-			double newAngle = Math.atan2(p.y - ctr.y, p.x - ctr.x);
-			double rotation = newAngle - anchorAngle;
-
-			int n = originalPolygon.npoints;
-			int[] xs = new int[n];
-			int[] ys = new int[n];
-
-			for (int i = 0; i < n; ++i) {
-				int x = originalPolygon.xpoints[i];
-				int y = originalPolygon.ypoints[i];
-				double l = Geom.length(ctr.x, ctr.y, x, y) * ratio;
-				double a = Math.atan2(y - ctr.y, x - ctr.x) + rotation;
-				xs[i] = (int)(ctr.x + l * Math.cos(a) + 0.5);
-				ys[i] = (int)(ctr.y + l * Math.sin(a) + 0.5);
-			}
-			setInternalPolygon(new Polygon(xs, ys, n));
-		}
-		changed();
-	}
-
-
-	/**
-	 * Remove points that are nearly colinear with others
-	 **/
-	public void smoothPoints() {
-		willChange();
-		boolean removed = false;
-		int n = pointCount();
-		do {
-			removed = false;
-			int i = 0;
-			while (i < n && n >= 3) {
-				int nxt = (i + 1) % n;
-				int prv = (i - 1 + n) % n;
-
-				if ((Geom.distanceFromLine(getInternalPolygon().xpoints[prv],
-						getInternalPolygon().ypoints[prv],
-						getInternalPolygon().xpoints[nxt],
-						getInternalPolygon().ypoints[nxt],
-						getInternalPolygon().xpoints[i],
-						getInternalPolygon().ypoints[i]) < TOO_CLOSE)) {
-					removed = true;
-					--n;
-					for (int j = i; j < n; ++j) {
-						getInternalPolygon().xpoints[j] = getInternalPolygon().xpoints[j + 1];
-						getInternalPolygon().ypoints[j] = getInternalPolygon().ypoints[j + 1];
-					}
-				}
-				else {
-					++i;
-				}
-			}
-		} while(removed);
-		if (n != pointCount()) {
-			setInternalPolygon(new Polygon(getInternalPolygon().xpoints,
-											getInternalPolygon().ypoints, n));
-		}
-		changed();
-	}
-
-	/**
-	 * Splits the segment at the given point if a segment was hit.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int splitSegment(int x, int y) {
-		int i = findSegment(x, y);
-		if (i != -1) {
-			insertPointAt(new Point(x, y), i+1);
-			return i + 1;
-		}
-		else {
-			return -1;
-		}
-	}
-
-	public Point pointAt(int i) {
-		return new Point(getInternalPolygon().xpoints[i],
-						 getInternalPolygon().ypoints[i]);
-	}
-
-	/**
-	 * Return the point on the polygon that is furthest from the center
-	 **/
-	public Point outermostPoint() {
-		Point ctr = center();
-		int outer = 0;
-		long dist = 0;
-
-		for (int i = 0; i < pointCount(); ++i) {
-			long d = Geom.length2(ctr.x, ctr.y,
-								getInternalPolygon().xpoints[i],
-								getInternalPolygon().ypoints[i]);
-			if (d > dist) {
-				dist = d;
-				outer = i;
-			}
-		}
-
-		return new Point(getInternalPolygon().xpoints[outer], getInternalPolygon().ypoints[outer]);
-	}
-
-
-	/**
-	 * Gets the segment that is hit by the given point.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int findSegment(int x, int y) {
-		double dist = TOO_CLOSE;
-		int best = -1;
-
-		for (int i = 0; i < pointCount(); i++) {
-			int n = (i + 1) % pointCount();
-			double d =  Geom.distanceFromLine(getInternalPolygon().xpoints[i],
-							getInternalPolygon().ypoints[i],
-							getInternalPolygon().xpoints[n],
-							getInternalPolygon().ypoints[n], x, y);
-			if (d < dist) {
-				dist = d;
-				best = i;
-			}
-		}
-		return best;
-	}
-
-	public Point chop(Point p) {
-		return chop(getInternalPolygon(), p);
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(pointCount());
-		for (int i = 0; i < pointCount(); ++i) {
-			dw.writeInt(getInternalPolygon().xpoints[i]);
-			dw.writeInt(getInternalPolygon().ypoints[i]);
-		}
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		int size = dr.readInt();
-		int[] xs = new int[size];
-		int[] ys = new int[size];
-		for (int i = 0; i < size; i++) {
-			xs[i] = dr.readInt();
-			ys[i] = dr.readInt();
-		}
-		setInternalPolygon(new Polygon(xs, ys, size));
-	}
-
-	/**
-	 * Creates a locator for the point with the given index.
-	 */
-	public static Locator locator(final int pointIndex) {
-		return new AbstractLocator() {
-			public Point locate(Figure owner) {
-				PolygonFigure plf = (PolygonFigure)owner;
-				// guard against changing PolygonFigures -> temporary hack
-				if (pointIndex < plf.pointCount()) {
-					return ((PolygonFigure)owner).pointAt(pointIndex);
-				}
-				return new Point(-1, -1);
-			}
-		};
-	}
-
-	/**
-	 * replacement for builtin Polygon.getBounds that doesn't always update?
-	 */
-	public static Rectangle bounds(Polygon p) {
-		int minx = Integer.MAX_VALUE;
-		int miny = Integer.MAX_VALUE;
-		int maxx = Integer.MIN_VALUE;
-		int maxy = Integer.MIN_VALUE;
-		int n = p.npoints;
-		for (int i = 0; i < n; i++) {
-			int x = p.xpoints[i];
-			int y = p.ypoints[i];
-			if (x > maxx) {
-				maxx = x;
-			}
-			if (x < minx) {
-				minx = x;
-			}
-			if (y > maxy) {
-				maxy = y;
-			}
-			if (y < miny) {
-				miny = y;
-			}
-		}
-
-		return new Rectangle(minx, miny, maxx - minx, maxy - miny);
-	}
-
-	public static Point center(Polygon p) {
-		long sx = 0;
-		long sy = 0;
-		int n = p.npoints;
-		for (int i = 0; i < n; i++) {
-			sx += p.xpoints[i];
-			sy += p.ypoints[i];
-		}
-
-		return new Point((int)(sx / n), (int)(sy / n));
-	}
-
-	public static Point chop(Polygon poly, Point p) {
-		Point ctr = center(poly);
-		int cx = -1;
-		int cy = -1;
-		long len = Long.MAX_VALUE;
-
-		// Try for points along edge
-
-		for (int i = 0; i < poly.npoints; ++i) {
-			int nxt = (i + 1) % poly.npoints;
-			Point chop = Geom.intersect(poly.xpoints[i],
-										 poly.ypoints[i],
-										 poly.xpoints[nxt],
-										 poly.ypoints[nxt],
-										 p.x,
-										 p.y,
-										 ctr.x,
-										 ctr.y);
-			if (chop != null) {
-				long cl = Geom.length2(chop.x, chop.y, p.x, p.y);
-				if (cl < len) {
-					len = cl;
-					cx = chop.x;
-					cy = chop.y;
-				}
-			}
-		}
-		// if none found, pick closest vertex
-		//if (len ==  Long.MAX_VALUE) {
-		{ // try anyway
-			for (int i = 0; i < poly.npoints; ++i) {
-				long l = Geom.length2(poly.xpoints[i], poly.ypoints[i], p.x, p.y);
-				if (l < len) {
-					len = l;
-					cx = poly.xpoints[i];
-					cy = poly.ypoints[i];
-				}
-			}
-		}
-		return new Point(cx, cy);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PolygonHandle.java b/JHotDraw/src/CH/ifa/draw/contrib/PolygonHandle.java
deleted file mode 100644
index 93ce88f1e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PolygonHandle.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * @(#)PolygonHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.PolyLineHandle;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Point;
-
-/**
- * A handle for a node on the polygon.
- * Based on PolyLineHandle
- *
- * @author Doug Lea  (dl at gee, Fri Feb 28 07:47:13 1997)
- * @version <$CURRENT_VERSION$>
- */
-public class PolygonHandle extends AbstractHandle {
-	
-	private Locator fLocator;
-	private int fIndex;
-	
-	/**
-	* Constructs a polygon handle.
-	* @param owner the owning polygon figure.
-	* @param l the locator
-	* @param index the index of the node associated with this handle.
-	*/
-	public PolygonHandle(PolygonFigure owner, Locator l, int index) {
-		super(owner);
-		fLocator = l;
-		fIndex = index;
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view, fIndex));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((PolygonHandle.UndoActivity)getUndoActivity()).setOldPoint(new Point(x, y));
-	}
-
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		int index = ((PolyLineHandle.UndoActivity)getUndoActivity()).getPointIndex();
-		myOwner().setPointAt(new Point(x, y), index);
-	}
-	
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		myOwner().smoothPoints();
-		if ((x == anchorX) && (y == anchorY)) {
- 			setUndoActivity(null);
-		}
-	}
-	
-	public Point locate() {
-		return fLocator.locate(owner());
-	}
-	
-	private PolygonFigure myOwner() {
-		return (PolygonFigure)owner();
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView, int newPointIndex) {
-		return new PolygonHandle.UndoActivity(newView, newPointIndex);
-	}
-	
-	public static class UndoActivity extends PolyLineHandle.UndoActivity {
-		
-		public UndoActivity(DrawingView newView, int newPointIndex) {
-			super(newView, newPointIndex);
-		}
-		
-		protected boolean movePointToOldLocation() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-
-			PolygonFigure figure = (PolygonFigure)fe.nextFigure();
-			Point backupPoint = figure.pointAt(getPointIndex());
-			figure.setPointAt(getOldPoint(), getPointIndex());
-			figure.smoothPoints();
-			setOldPoint(backupPoint);
-
-			return true;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PolygonScaleHandle.java b/JHotDraw/src/CH/ifa/draw/contrib/PolygonScaleHandle.java
deleted file mode 100644
index ffa5ab53f..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PolygonScaleHandle.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * @(#)PolygonScaleHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A Handle to scale and rotate a PolygonFigure
- * Based on RadiusHandle
- *
- * @author Doug Lea  (dl at gee, Sat Mar 1 09:06:09 1997)
- * @version <$CURRENT_VERSION$>
- */
-class PolygonScaleHandle extends AbstractHandle {
-	
-	private Point fCurrent;
-	
-	public PolygonScaleHandle(PolygonFigure owner) {
-		super(owner);
-	}
-	
-	/**
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 */
-	public void invokeStart(int x, int  y, DrawingView view) {
-		fCurrent = new Point(x, y);
-		PolygonScaleHandle.UndoActivity activity = (PolygonScaleHandle.UndoActivity)createUndoActivity(view);
-		setUndoActivity(activity);
-		activity.setAffectedFigures(new SingleFigureEnumerator(owner()));
-		activity.setPolygon(((PolygonFigure)(owner())).getPolygon());
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		fCurrent = new Point(x, y);
-		Polygon polygon = ((PolygonScaleHandle.UndoActivity)getUndoActivity()).getPolygon();
-		((PolygonFigure)(owner())).scaleRotate(new Point(anchorX, anchorY), polygon, fCurrent);
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		((PolygonFigure)(owner())).smoothPoints();
-		if ((fCurrent.x == anchorX) && (fCurrent.y == anchorY)) {
-			// there is nothing to undo
-			setUndoActivity(null);
-		}
-		fCurrent = null;
-	}
-	
-	public Point locate() {
-		if (fCurrent == null) {
-			return getOrigin();
-		}
-		else {
-			return fCurrent;
-		}
-	}
-	
-	Point getOrigin() {
-		// find a nice place to put handle
-		// Need to pick a place that will not overlap with point handle
-		// and is internal to polygon
-	
-		// Try for one HANDLESIZE step away from outermost toward center
-	
-		Point outer = ((PolygonFigure)(owner())).outermostPoint();
-		Point ctr = ((PolygonFigure)(owner())).center();
-		double len = Geom.length(outer.x, outer.y, ctr.x, ctr.y);
-		if (len == 0) { // best we can do?
-			return new Point(outer.x - HANDLESIZE/2, outer.y + HANDLESIZE/2);
-		}
-	
-		double u = HANDLESIZE / len;
-		if (u > 1.0) { // best we can do?
-			return new Point((outer.x * 3 + ctr.x)/4, (outer.y * 3 + ctr.y)/4);
-		}
-		else {
-			return new Point((int)(outer.x * (1.0 - u) + ctr.x * u),
-			(int)(outer.y * (1.0 - u) + ctr.y * u));
-		}
-	}
-	
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-	
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-	
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	
-		/* for debugging ...
-		Point ctr = ((PolygonFigure)(owner())).center();
-		g.setColor(Color.blue);
-		g.fillOval(ctr.x, ctr.y, r.width, r.height);
-		
-		g.setColor(Color.black);
-		g.drawOval(ctr.x, ctr.y, r.width, r.height);
-		
-		*/
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new PolygonScaleHandle.UndoActivity(newView);
-	}
-	
-	public static class UndoActivity extends UndoableAdapter {
-		private Polygon myPolygon;
-		
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetPolygon();
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetPolygon();
-		}
-
-		protected boolean resetPolygon() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			PolygonFigure figure = (PolygonFigure)fe.nextFigure();
-			Polygon backupPolygon = figure.getPolygon();
-			figure.willChange();
-			figure.setInternalPolygon(getPolygon());
-			figure.changed();
-			setPolygon(backupPolygon);
-			return true;
-		}
-		
-		protected void setPolygon(Polygon newPolygon) {
-			myPolygon = newPolygon;
-		}
-		
-		public Polygon getPolygon() {
-			return myPolygon;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PolygonTool.java b/JHotDraw/src/CH/ifa/draw/contrib/PolygonTool.java
deleted file mode 100644
index 878928b39..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PolygonTool.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * @(#)PolygonTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * Based on ScribbleTool
- *
- * @author Doug Lea  (dl at gee) - Fri Feb 28 07:47:05 1997
- * @version <$CURRENT_VERSION$>
- */
-public class PolygonTool extends AbstractTool {
-
-	private PolygonFigure  fPolygon;
-	private int            fLastX, fLastY;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	public PolygonTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void activate() {
-		super.activate();
-		fPolygon = null;
-	}
-
-	public void deactivate() {
-		if (fPolygon != null) {
-			fPolygon.smoothPoints();
-			if (fPolygon.pointCount() < 3 ||
-					fPolygon.size().width < 4 || fPolygon.size().height < 4) {
-				getActiveView().drawing().remove(fPolygon);
-				// nothing to undo
-				setUndoActivity(null);
-			}
-		}
-		fPolygon = null;
-		super.deactivate();
-	}
-
-	private void addPoint(int x, int y) {
-		if (fPolygon == null) {
-			fPolygon = new PolygonFigure(x, y);
-			setAddedFigure(view().add(fPolygon));
-			fPolygon.addPoint(x, y);
-		}
-		else if (fLastX != x || fLastY != y) {
-			fPolygon.addPoint(x, y);
-		}
-
-		fLastX = x;
-		fLastY = y;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		// replace pts by actual event pts
-		x = e.getX();
-		y = e.getY();
-
-		if (e.getClickCount() >= 2) {
-			if (fPolygon != null) {
-				fPolygon.smoothPoints();
-
-				// use undo activity from paste command...
-				setUndoActivity(createUndoActivity());
-
-				// put created figure into a figure enumeration
-				getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getAddedFigure()));
-
-				editor().toolDone();
-			}
-			fPolygon = null;
-
-		}
-		else {
-			// use original event coordinates to avoid
-			// supress that the scribble is constrained to
-			// the grid
-			addPoint(e.getX(), e.getY());
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		if (e.getSource() == getActiveView()) {
-			if (fPolygon != null) {
-				if (fPolygon.pointCount() > 1) {
-					fPolygon.setPointAt(new Point(x, y), fPolygon.pointCount()-1);
-					getActiveView().checkDamage();
-				}
-			}
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		// replace pts by actual event pts
-		x = e.getX();
-		y = e.getY();
-		addPoint(x, y);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	private void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/PopupMenuFigureSelection.java b/JHotDraw/src/CH/ifa/draw/contrib/PopupMenuFigureSelection.java
deleted file mode 100644
index 16218a197..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/PopupMenuFigureSelection.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * @(#)PopupMenuFigureSelection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
- 
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * An interface which allows a popup menu to interact with its Figure to
- * which it is associated.
- *
- * @author      Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface PopupMenuFigureSelection {
-
-	/**
-	 * Set the figure which was selected when the popup menu was invoked.
-	 *
-	 * @param   newSelectedFigure   figure which is selected (typically be a SelectionTool)
-	 */
-	public void setSelectedFigure(Figure newSelectedFigure);
-
-	/**
-	 * Get the figure which was selected when the popup menu was invoked.
-	 *
-	 * @return  figure which is selected (typically be a SelectionTool)
-	 */
-	public Figure getSelectedFigure();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SVGDrawApp.java b/JHotDraw/src/CH/ifa/draw/contrib/SVGDrawApp.java
deleted file mode 100644
index 9e484be74..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SVGDrawApp.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.samples.javadraw.JavaDrawApp;
-import CH.ifa.draw.util.StorageFormatManager;
-
-/**
- * @author mtnygard
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class SVGDrawApp extends JavaDrawApp {
-	public static void main(String[] args) {
-		SVGDrawApp window = new SVGDrawApp();
-		window.open();
-	}
-	
-	public SVGDrawApp() {
-		super("JHotDraw");
-	}
-
-	/**
-	 * Factory method which create a new instance of this
-	 * application.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new SVGDrawApp();
-	}
-
-	/**
-	 * Factory method to create a StorageFormatManager for supported storage formats.
-	 * Different applications might want to use different storage formats and can return
-	 * their own format manager by overriding this method.
-	 * 
-	 * TODO: Read storage formats from a config file.
-	 */
-	public StorageFormatManager createStorageFormatManager() {
-		StorageFormatManager storageFormatManager = new StorageFormatManager();
-		SVGStorageFormat format = new SVGStorageFormat();
-		storageFormatManager.addStorageFormat(format);
-		storageFormatManager.setDefaultStorageFormat(format);
-		return storageFormatManager;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SVGStorageFormat.java b/JHotDraw/src/CH/ifa/draw/contrib/SVGStorageFormat.java
deleted file mode 100644
index 00ab7766b..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SVGStorageFormat.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)SVGStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-
-import org.apache.batik.dom.GenericDOMImplementation;
-import org.apache.batik.svggen.SVGGraphics2D;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.util.StandardStorageFormat;
-
-
-/**
- * The SVGStorageFormat can save drawings in SVG 1.0.  At this time, it cannot load
- * SVG drawings.
- *
- * TODO: Refactor this and the other storage formats.  There is too much duplication.
- * 
- * @version <$CURRENT_VERSION$>
- * @author mtnygard
- */
-public class SVGStorageFormat extends StandardStorageFormat {
-	
-	/**
-	 * Return the file extension recognized by the FileFilter for this
-	 * StandardStorageFormat. 
-	 *
-	 * @return the file extension
-	 */
-	protected String createFileExtension() {
-		return "svg";
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return the file description
-	 */
-	public String createFileDescription() {
-		return "Scalable Vector Graphics (svg)";
-	}
-
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isRestoreFormat()
-	 */
-	public boolean isRestoreFormat() {
-		return false;
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isStoreFormat()
-	 */
-	public boolean isStoreFormat() {
-		return true;
-	}
-
-  /**
-	 * Store a Drawing as SVG under a given name.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 * @return file name with correct file extension
-   * @see CH.ifa.draw.util.StorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-   */
-  public String store(String fileName, Drawing saveDrawing) throws IOException {
-		// Get a DOMImplementation
-		DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation();
-
-		// Create an instance of org.w3c.dom.Document
-		Document document = domImpl.createDocument(null, "svg", null);
-	
-		// Create an instance of the SVG Generator
-		SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
-	
-		// Ask the test to render into the SVG Graphics2D implementation
-		saveDrawing.draw(svgGenerator);
-	
-		// Finally, stream out SVG to the standard output using UTF-8
-		// character to byte encoding
-		fileName = adjustFileName(fileName);
-		FileOutputStream fos = new FileOutputStream(fileName);
-		Writer out = new OutputStreamWriter(fos, "UTF-8");
-		
-		
-		svgGenerator.stream(out, true);
-		return fileName;
-  }
-
-  /**
-   * @see CH.ifa.draw.util.StorageFormat#restore(java.lang.String)
-   */
-  public Drawing restore(String fileName) throws IOException {
-    throw new IOException("Not implemented");
-  }
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SimpleLayouter.java b/JHotDraw/src/CH/ifa/draw/contrib/SimpleLayouter.java
deleted file mode 100644
index a4d3513a3..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SimpleLayouter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * @(#)SimpleLayouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-import java.awt.*;
-import java.io.IOException;
-
-/**
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class SimpleLayouter implements Layouter {
-
-	/**
-	 * The Layoutable which should be laid out.
-	 */
-	private Layoutable myLayoutable;
-
-	/**
-	 * Insets to calculate a border
-	 */
-	private Insets myInsets;
-
-	static final long serialVersionUID = 2928651014089117493L;
-
-	private SimpleLayouter() {
-		// do nothing: for JDO-compliance only
-	}
-
-	public SimpleLayouter(Layoutable newLayoutable) {
-		setLayoutable(newLayoutable);
-		setInsets(new Insets(0, 0, 0, 0));
-	}
-
-	/**
-	 * Get the figure upon which the layout strategy operates.
-	 *
-	 * @return associated figure which should be laid out
-	 */
-	public Layoutable getLayoutable() {
-		return myLayoutable;
-	}
-
-	/**
-	 * Set the figure upon which the layout strategy operates.
-	 *
-	 * @param	newLayoutable	Layoutable to be laid out
-	 */
-	public void setLayoutable(Layoutable newLayoutable) {
-		myLayoutable = newLayoutable;
-	}
-
-	/**
-	 * Set the insets for spacing between the figure and its subfigures
-	 *
-	 * @param newInsets new spacing dimensions
-	 */
-	public void setInsets(Insets newInsets) {
-		myInsets = newInsets;
-	}
-
-	/**
-	 * Get the insets for spacing between the figure and its subfigures
-	 *
-	 * @return spacing dimensions
-	 */
-	public Insets getInsets() {
-		return myInsets;
-	}
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 */
-	public Layouter create(Layoutable newLayoutable) {
-		SimpleLayouter newLayouter = new SimpleLayouter(newLayoutable);
-		newLayouter.setInsets((Insets)getInsets().clone());
-		return newLayouter;
-	}
-
-	public Rectangle calculateLayout(Point origin, Point corner) {
-		Rectangle maxRect = new Rectangle(origin);
-		maxRect.add(corner);
-		FigureEnumeration fe = getLayoutable().figures();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-			maxRect.union(currentFigure.displayBox());
-		}
-		maxRect.width += getInsets().left + getInsets().right;
-		maxRect.height += getInsets().top + getInsets().bottom;
-		return maxRect;
-	}
-
-	public Rectangle layout(Point origin, Point corner) {
-		return calculateLayout(origin, corner);
-	}
-
-	/**
-	 * Reads the contained figures from StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		setLayoutable((Layoutable)dr.readStorable());
-		setInsets(new Insets(dr.readInt(), dr.readInt(), dr.readInt(), dr.readInt()));
-	}
-
-	/**
-	 * Writes the contained figures to the StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeStorable(getLayoutable());
-		Insets i = getInsets();
-		dw.writeInt(i.top);
-		dw.writeInt(i.left);
-		dw.writeInt(i.bottom);
-		dw.writeInt(i.right);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SplitConnectionTool.java b/JHotDraw/src/CH/ifa/draw/contrib/SplitConnectionTool.java
deleted file mode 100644
index ff0f9ad03..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SplitConnectionTool.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * @(#)ConnectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.standard.ConnectionTool;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.figures.*;
-
-import java.awt.event.MouseEvent;
-import java.awt.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class SplitConnectionTool extends ConnectionTool {
-	public SplitConnectionTool(DrawingEditor newDrawingEditor, ConnectionFigure newPrototype) {
-		super(newDrawingEditor, newPrototype);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		int ex = e.getX();
-		int ey = e.getY();
-		if (getTargetFigure() == null) {
-			setTargetFigure(findConnectableFigure(ex, ey, drawing()));
-		}
-		else {
-			if (getAddedFigure() == null) {
-				setConnection(createConnection());
-				setStartConnector(findConnector(ex, ey, getTargetFigure()));
-				getConnection().connectStart(getStartConnector());
-				getConnection().startPoint(ex, ey);
-				setAddedFigure(view().add(getConnection()));
-			}
-			Figure c = findTarget(ex, ey, drawing());
-			if (c != null) {
-				// end connection figure found
-				setEndConnector(findConnector(ex, ex, c));
-				getConnection().connectEnd(getEndConnector());
-				getConnection().endPoint(ex, ey);
-				setUndoActivity(createUndoActivity());
-				getUndoActivity().setAffectedFigures(
-					new SingleFigureEnumerator(getAddedFigure()));
-				getConnection().updateConnection();
-				init();
-				editor().toolDone();
-			}
-			else {
-				// split connection where the mouse click took place
-				if (getEndConnector() == null) {
-					Figure tempEndFigure = new NullFigure();
-					tempEndFigure.basicDisplayBox(new Point(ex, ey), new Point(ex, ey));
-					setEndConnector(new NullConnector(tempEndFigure));
-					getConnection().connectEnd(getEndConnector());
-					getConnection().endPoint(ex, ey);
-					getConnection().updateConnection();
-				}
-				else {
-					((PolyLineFigure)getConnection()).addPoint(ex, ey);
-				}
-			}
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		// usually do nothing: tool is still active
-		if (e.getClickCount() == 2) {
-			init();
-			editor().toolDone();
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		// avoid tracking connectors
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		// avoid tracking connectors
-	}
-
-	public void deactivate() {
-		if (getConnection() != null) {
-			view().remove(getConnection());
-		}
-		super.deactivate();
-		init();
-	}
-
-	protected void init() {
-		setConnection(null);
-		setStartConnector(null);
-		setEndConnector(null);
-		setAddedFigure(null);
-		setTargetFigure(null);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDesktop.java b/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDesktop.java
deleted file mode 100644
index bd393e4f6..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDesktop.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * @(#)SplitPaneDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import javax.swing.*;
-import java.awt.*;
-import CH.ifa.draw.framework.DrawingView;
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeEvent;
-
-/**
- * @todo Gotta fix this !!! the selected view changes based on which split pane is selected!
- *
- * @author C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @author Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class SplitPaneDesktop extends JSplitPane implements Desktop {
-
-	private DesktopEventService myDesktopEventService;
-
-    public SplitPaneDesktop() {
-		setDesktopEventService(createDesktopEventService());
-		setAlignmentX(JSplitPane.LEFT_ALIGNMENT);
-		setOneTouchExpandable(true);
-
-		addPropertyChangeListener(createPropertyChangeListener());
-    }
-
-	protected PropertyChangeListener createPropertyChangeListener() {
-		return new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent evt) {
-				if (getRightComponent() != null) {
-					getRightComponent().repaint();
-				}
-				if (getLeftComponent() != null) {
-					getLeftComponent().repaint();
-				}
-			}
-		};
-	}
-
-	protected Component createContents(DrawingView dv, int location) {
-		setRightComponent(createRightComponent(dv));
-		setLeftComponent(createLeftComponent(dv));
-	    switch (location) {
-		    case Desktop.PRIMARY: {
-			    return getLeftComponent();
-			}
-			case Desktop.SECONDARY: {
-				return getRightComponent();
-			}
-			default: {
-			    return null;
-			}
-	    }
-	}
-
-	protected Component createRightComponent(DrawingView dv) {
-		JScrollPane sp = new JScrollPane((Component)dv);
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(LEFT_ALIGNMENT);
-		return sp;
-	}
-
-	protected Component createLeftComponent(DrawingView dv) {
-		return new JScrollPane(new JList());
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return getDesktopEventService().getActiveDrawingView();
-	}
-
-	public void addToDesktop(DrawingView dv, int location) {
-		createContents(dv, Desktop.PRIMARY);
-/*	    switch (location) {
-		    case Desktop.PRIMARY: {
-			    setLeftComponent(createContents(dv, Desktop.PRIMARY));
-				break;
-			}
-			case Desktop.SECONDARY: {
-				setRightComponent(createContents(dv, Desktop.SECONDARY));
-				break;
-			}
-	    }
-*/
-//		validate();
-		setDividerLocation(getInitDividerLocation());
-	}
-
-	protected int getInitDividerLocation() {
-		return 150;
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		Component[] comps = getContainer().getComponents();
-		for (int x = 0; x < comps.length; x++) {
-			if (dv == Helper.getDrawingView(comps[x])) {
-				getContainer().remove(comps[x]);
-			    break;
-			}
-		}
-	}
-
-	public void removeAllFromDesktop(int location) {
-	    getContainer().removeAll();
-	}
-
-	public DrawingView[] getAllFromDesktop(int location) {
-		return getDesktopEventService().getDrawingViews(getComponents());
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	private Container getContainer() {
-		return this;
-	}
-
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, getContainer());
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		// should be setTitle but a JPanelDesktop has no own title bar
-		setName(newDrawingTitle);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDrawApplication.java b/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDrawApplication.java
deleted file mode 100644
index 9c7f1af14..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/SplitPaneDrawApplication.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * @(#)SplitPaneDrawApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.application.*;
-
-/**
- * A specialised DrawApplication, which offers basic support for a simple
- * splitted pane content.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public  class SplitPaneDrawApplication extends DrawApplication {
-
-	/**
-	 * Constructs a drawing window with a default title.
-	 */
-	public SplitPaneDrawApplication() {
-		this("JHotDraw");
-	}
-
-	/**
-	 * Constructs a drawing window with the given title.
-	 */
-	public SplitPaneDrawApplication(String title) {
-		super(title);
-	}
-
-	protected Desktop createDesktop() {
-		return new SplitPaneDesktop();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/StandardLayouter.java b/JHotDraw/src/CH/ifa/draw/contrib/StandardLayouter.java
deleted file mode 100644
index 921620d2e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/StandardLayouter.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)StandardLayouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.FigureEnumeration;
-// JUnitDoclet end import
-
-/**
- * A StandardLayouter contains standard algorithm for
- * layouting a Layoutable. As a standard behaviour
- * all child components of a Layoutable are laid out
- * underneath each other starting from top to bottom while the
- * x position of all child components stays the same and the width
- * is forced to the width of the maximum width. At the end
- * the presentation figure of the Layoutable is
- * set to the maximum x and y size to encompass all contained
- * child components graphically as well.
- *
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class StandardLayouter extends SimpleLayouter {
-
-	/**
-	 * Default constructor which is needed for the Storable mechanism.
-	 * Usually, the constructor which takes a Layoutable
-	 * should be used as each StandardLayouter is associated
-	 * with exactly one Layoutable.
-	 */
-	public StandardLayouter() {
-		this(null);
-	}
-
-	/**
-	 * Constructor which associates a StandardLayouter with
-	 * a certain Layoutable.
-	 *
-	 * @param	newLayoutable	Layoutable to be laid out
-	 */
-	public StandardLayouter(Layoutable newLayoutable) {
-		super(newLayoutable);
-	}
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 */
-	public Layouter create(Layoutable newLayoutable) {
-		return new StandardLayouter(newLayoutable);
-	}
-
-	/**
-	 * Calculate the layout for the figure and all its
-	 * subelements. The layout is not actually performed but just
-	 * its dimensions are calculated.  The insets for this figure
-	 * are included in the return value.
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 */
-	public Rectangle calculateLayout(Point origin, Point corner) {
-		int maxWidth = Math.abs(corner.x - origin.x);
-		int maxHeight = getInsets().top;
-
-		// layout enclosed Layoutable and find maximum width
-		FigureEnumeration fe = getLayoutable().figures();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-			Rectangle r = null;
-			if (currentFigure instanceof Layoutable) {
-				Layouter layoutStrategy = ((Layoutable)currentFigure).getLayouter();
-				r = layoutStrategy.calculateLayout(
-					new Point(0, 0), new Point(0, 0));
-			}
-			else {
-				r = new Rectangle(currentFigure.displayBox().getBounds());
-			}
-			maxWidth = Math.max(maxWidth,
-					    r.width + getInsets().left +
-					    getInsets().right);
-			maxHeight += r.height;
-		}
-		maxHeight += getInsets().bottom;
-
-		return new Rectangle(origin.x, origin.y, maxWidth, maxHeight);
-	}
-
-	/**
-	 * Method which lays out a figure. It is called by the figure
-	 * if a layout task is to be performed. First, the layout dimension for
-	 * the figure is calculated and then the figure is arranged newly.
-	 * All child component are place beneath another. The figure and all
-	 * its children are forced to the minimium width
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 */
-	public Rectangle layout(Point origin, Point corner) {
-		// calculate the layout of the figure and its sub-figures first
-		Rectangle r = calculateLayout(origin, corner);
-
-		int maxHeight = getInsets().top;
-		FigureEnumeration fe = getLayoutable().figures();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-
-			Point partOrigin = new Point(r.x + getInsets().left, r.y + maxHeight);
-			Point partCorner = new Point
-				(r.x + r.width - getInsets().right,
-				 r.y + maxHeight +
-				 currentFigure.displayBox().height);
-			currentFigure.displayBox(partOrigin, partCorner);
-
-			maxHeight += currentFigure.displayBox().height;
-		}
-
-		return new Rectangle(r.x, r.y, r.width, maxHeight + getInsets().bottom);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/TextAreaFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/TextAreaFigure.java
deleted file mode 100644
index bf238ecb1..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/TextAreaFigure.java
+++ /dev/null
@@ -1,929 +0,0 @@
-/*
- *  @(#)TextAreaFigure.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	? by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import java.awt.font.FontRenderContext;
-import java.awt.font.LineBreakMeasurer;
-import java.awt.font.TextAttribute;
-import java.awt.font.TextLayout;
-import java.awt.geom.Rectangle2D;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.text.AttributedCharacterIterator;
-import java.text.AttributedString;
-import java.text.CharacterIterator;
-import java.util.*;
-import java.util.List;
-
-import CH.ifa.draw.figures.AttributeFigure;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.FigureChangeEvent;
-import CH.ifa.draw.framework.FigureChangeListener;
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A TextAreaFigure contains formatted text.<br>
- * It automatically rearranges the text to fit its allocated display area,
- * breaking the lines at word boundaries whenever possible.<br>
- * The text can contain either LF or CRLF sequences to separate paragraphs,
- * as well as tab characters for table like formatting and alignment.<br>
- * Currently the tabs are distributed at regular intervals as determined by
- * the TabSize property. Tabs align correctly with either fixed
- * or variable fonts.<br>
- * If, when resizing, the vertical size of the display box is not enough to
- * display all the text, TextAreaFigure displays a dashed red line at the
- * bottom of the figure to indicate there is hidden text.<br>
- * TextAreFigure uses all standard attributes for the area rectangle,
- * ie: FillColor, PenColor for the border, FontSize, FontStyle, and FontName,
- * as well as four additional attributes LeftMargin, RightMargin, TopMargin,
- * and TabSize.<br>
- *
- * @author    Eduardo Francos - InContext
- * @created   26 avril 2002
- * @version   <$CURRENT_VERSION$>
- */
-
-public class TextAreaFigure extends AttributeFigure
-		 implements FigureChangeListener, TextHolder {
-
-	/** True if the paragraph's cache needs to be reconstructed */
-	protected boolean fTextIsDirty = true;
-	/** True if the sizing needs to be recalculated */
-	protected transient boolean fSizeIsDirty = true;
-
-	/** The current display box for the figure */
-	private Rectangle fDisplayBox;
-
-	/** Paragraph cache resulting from splitting the text */
-	protected List fParagraphs;
-
-	/** The text */
-	protected String fText;
-	/** The current font */
-	protected Font fFont;
-	/**
-	 * True if the font has changed and font related calculations need to be remade
-	 */
-	protected boolean fFontIsDirty = true;
-
-	/** The width of the current font */
-	protected float fFontWidth;
-	/**
-	 * Map of attributes for the AttributedString used for the figure's text.
-	 * Currently it just uses one single attribute with the figure's current font.
-	 */
-	protected Hashtable attributesMap = new Hashtable();
-
-	/** True if the figure is read only */
-	protected boolean fIsReadOnly;
-
-	/** A connected figure */
-	protected Figure fObservedFigure = null;
-	/** Description of the Field */
-	protected OffsetLocator fLocator = null;
-
-	final static long serialVersionUID = 4993631445423148845L;
-
-	// make sure required default attributes are set
-	static {
-		initDefaultAttribute("LeftMargin", new Float(5));
-		initDefaultAttribute("RightMargin", new Float(5));
-		initDefaultAttribute("TopMargin", new Float(5));
-		initDefaultAttribute("TabSize", new Float(8));
-	}
-
-
-	/** Constructor for the TextAreaFigure object */
-	public TextAreaFigure() {
-		fParagraphs = CollectionsFactory.current().createList();
-		fDisplayBox = new Rectangle(0, 0, 30, 15);
-		fFont = createFont();
-		fText = new String("");
-
-		fSizeIsDirty = true;
-		fTextIsDirty = true;
-		fFontIsDirty = true;
-	}
-
-
-	/**
-	 * Gets the text of the figure
-	 *
-	 * @return   The text value
-	 */
-	public String getText() {
-		return fText;
-	}
-
-
-	/**
-	 * Sets the text of the figure
-	 *
-	 * @param newText  The new text value
-	 */
-	public void setText(String newText) {
-		if (newText == null || !newText.equals(fText)) {
-			markTextDirty();
-			fText = newText;
-			changed();
-		}
-	}
-
-	/**
-	 * Returns the display box for the text
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Rectangle textDisplayBox() {
-		return displayBox();
-	}
-
-	/**
-	 * Creates the font from current attributes.
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Font createFont() {
-		return new Font(
-				(String)getAttribute("FontName"),
-				((Integer)getAttribute("FontStyle")).intValue(),
-				((Integer)getAttribute("FontSize")).intValue());
-	}
-
-	public boolean isReadOnly()
-	{
-		return fIsReadOnly;
-	}
-
-	public void setReadOnly(boolean newReadOnly)
-	{
-		fIsReadOnly = newReadOnly;
-	}
-
-	/**
-	 * Tests whether the figure accepts typing.
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public boolean acceptsTyping() {
-		return !isReadOnly();
-	}
-
-
-	/**
-	 * Called whenever the something changes that requires text recomputing
-	 */
-	protected void markTextDirty() {
-		setTextDirty(true);
-	}
-
-
-	/**
-	 * Sets the textDirty attribute of the TextAreaFigure object
-	 *
-	 * @param newTextDirty  The new textDirty value
-	 */
-	protected void setTextDirty(boolean newTextDirty) {
-		fTextIsDirty = newTextDirty;
-	}
-
-
-	/**
-	 * Gets the textDirty attribute of the TextAreaFigure object
-	 *
-	 * @return   The textDirty value
-	 */
-	public boolean isTextDirty() {
-		return fTextIsDirty;
-	}
-
-
-	/**
-	 * Called whenever the something changes that requires size recomputing
-	 */
-	protected void markSizeDirty() {
-		setSizeDirty(true);
-	}
-
-
-	/**
-	 * Called to set the dirty status of the size
-	 *
-	 * @param newSizeIsDirty  The new sizeDirty value
-	 */
-	public void setSizeDirty(boolean newSizeIsDirty) {
-		fSizeIsDirty = newSizeIsDirty;
-	}
-
-
-	/**
-	 * Returns the current size dirty status
-	 *
-	 * @return   The sizeDirty value
-	 */
-	public boolean isSizeDirty() {
-		return fSizeIsDirty;
-	}
-
-	/**
-	 * Gets the font.
-	 *
-	 * @return   The font value
-	 */
-	public Font getFont() {
-		return fFont;
-	}
-
-	/**
-	 * Sets the font.
-	 *
-	 * @param newFont  The new font value
-	 */
-	public void setFont(Font newFont) {
-		if(newFont == null) {
-			throw new IllegalArgumentException();
-		}
-		willChange();
-		fFont = newFont;
-		markSizeDirty();
-		markFontDirty();
-		attributesMap = new Hashtable(1);
-		attributesMap.put(TextAttribute.FONT, newFont);
-		changed();
-	}
-
-	/**
-	 * Gets the number of columns to be overlaid when the figure is edited.<br>
-	 * This method is mandatory by the TextHolder interface but is not
-	 * used by the TextAreaFigure/TextAreaTool couple because the overlay always
-	 * covers the text area display box
-	 *
-	 * @return   the number of overlay columns
-	 */
-	public int overlayColumns() {
-		return 0;
-	}
-
-	/**
-	 * Sets the display box for the figure
-	 *
-	 * @param origin  origin point
-	 * @param corner  corner point
-	 * @see           Figure
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		Dimension prevSize = fDisplayBox.getSize();
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-		if (!fDisplayBox.getSize().equals(prevSize)){
-		   markSizeDirty();
-		}
-	}
-
-	/**
-	 * Returns an iterator of standard sizing handles to manipulate the figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Returns the current display box for the figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Rectangle displayBox() {
-		return new Rectangle(
-				fDisplayBox.x,
-				fDisplayBox.y,
-				fDisplayBox.width,
-				fDisplayBox.height);
-	}
-
-
-	/**
-	 * Moves the figure the supplied offset
-	 *
-	 * @param x  x displacement
-	 * @param y  y displacement
-	 */
-	public void moveBy(int x, int y) {
-		willChange();
-		basicMoveBy(x, y);
-		if (fLocator != null) {
-			fLocator.moveBy(x, y);
-		}
-		changed();
-	}
-
-	/**
-	 * Moves the figure the supplied offset
-	 *
-	 * @param x  x displacement
-	 * @param y  y displacement
-	 */
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x, y);
-	}
-
-	/**
-	 * Draws the background for the figure. Called by the superclass with the colors
-	 * set from the current attribute values
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-		g.fillRect(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Draws the figure. Overriden so as to draw the text once everything
-	 * else has been drawn
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void draw(Graphics g) {
-		super.draw(g);
-		drawText(g, displayBox());
-	}
-
-	/**
-	 * Draws the frame around the text
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor((Color)getAttribute("FrameColor"));
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-
-	/**
-	 * Formats and draws the text for the figure
-	 *
-	 * @param g           the graphics for the drawing. It can be null when
-	 * called just to compute the size
-	 * @param displayBox  the display box  within which the text should be formatted and drawn
-	 * @return            Description of the Return Value
-	 */
-	protected float drawText(Graphics g, Rectangle displayBox) {
-		Graphics2D g2 = null;
-		Shape savedClipArea = null;
-		Color savedFontColor = null;
-		Rectangle2D clipRect = null;
-		RenderingHints savedRenderingHints = null;
-
-		if (g != null) {
-			g2 = (Graphics2D)g;
-			savedRenderingHints = g2.getRenderingHints();
-			g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-					RenderingHints.VALUE_ANTIALIAS_ON);
-			g2.setRenderingHint(RenderingHints.KEY_RENDERING,
-					RenderingHints.VALUE_RENDER_QUALITY);
-			//Font savedFont = g2.getFont();
-			savedFontColor = g2.getColor();
-			savedClipArea = g2.getClip();
-			if(savedClipArea != null) {
-				clipRect = displayBox.createIntersection((Rectangle2D)savedClipArea);
-			}
-			else {
-				clipRect = displayBox;
-			}
-			g2.setClip(clipRect);
-			Color textColor = getTextColor();
-			if (!ColorMap.isTransparent(textColor)) {
-				g2.setColor(textColor);
-			}
-			g2.setFont(getFont());
-		}
-		FontRenderContext fontRenderCtx = new FontRenderContext(null, false, false);
-
-		// split the text into paragraphs
-		prepareText();
-
-		float leftMargin = displayBox.x + ((Float)getAttribute("LeftMargin")).floatValue();
-		float rightMargin = displayBox.x + displayBox.width - ((Float)getAttribute("RightMargin")).floatValue();
-		float topMargin = displayBox.y + ((Float)getAttribute("TopMargin")).floatValue();
-
-		/**
-		 * @todo   we prepare stops for 40 tabs which should be enough to handle
-		 * all normal cases, but a better means should/could be implemented
-		 */
-		float[] tabStops = new float[40];
-		// tabSize is in pixels
-		float tabSize = ((Float)getAttribute("TabSize")).floatValue() * getFontWidth();
-		float tabPos = tabSize;
-		for (int tabCnt = 0; tabCnt < 40; tabCnt++) {
-			tabStops[tabCnt] = tabPos + leftMargin;
-			tabPos += tabSize;
-		}
-
-		/** Iterate on the paragraphs displaying each one in turn */
-		float verticalPos = topMargin;
-		Iterator paragraphs = fParagraphs.iterator();
-		while (paragraphs.hasNext()) {
-			String paragraphText = (String)paragraphs.next();
-
-			// prepare tabs. Here we build an array with the character positions
-			// of the tabs within the paragraph
-			AttributedString attrText = new AttributedString(paragraphText);
-			AttributedCharacterIterator paragraphIter = attrText.getIterator();
-			int[] tabLocations = new int[paragraphText.length()];
-			int tabCount = 0;
-			for (char c = paragraphIter.first(); c != CharacterIterator.DONE; c = paragraphIter.next()) {
-				if (c == '\t') {
-					tabLocations[tabCount++] = paragraphIter.getIndex();
-				}
-			}
-			tabLocations[tabCount] = paragraphIter.getEndIndex() - 1;
-
-			// tabs done. Replace tab characters with spaces. This to avoid
-			// a strange behaviour where the layout is a lot slower and
-			// the font get's changed. If anybody knows why this so please
-			// tell me.
-			paragraphText = paragraphText.replace('\t', ' ');
-			attrText = new AttributedString(paragraphText, attributesMap);
-			paragraphIter = attrText.getIterator();
-
-			// Now tabLocations has an entry for every tab's offset in
-			// the text.  For convenience, the last entry in tabLocations
-			// is the offset of the last character in the text.
-
-			LineBreakMeasurer measurer = new LineBreakMeasurer(paragraphIter, fontRenderCtx);
-			int currentTab = 0;
-
-			while (measurer.getPosition() < paragraphIter.getEndIndex()) {
-				// Lay out and draw each line.  All segments on a line
-				// must be computed before any drawing can occur, since
-				// we must know the largest ascent on the line.
-				// TextLayouts are computed and stored in a collection;
-				// their horizontal positions are stored in a parallel
-				// collection.
-
-				// lineContainsText is true after first segment is drawn
-				boolean lineContainsText = false;
-				boolean lineComplete = false;
-				float maxAscent = 0;
-				float maxDescent = 0;
-				float horizontalPos = leftMargin;
-				List layouts = CollectionsFactory.current().createList(1);
-				List penPositions = CollectionsFactory.current().createList(1);
-
-				while (!lineComplete) {
-					float wrappingWidth = rightMargin - horizontalPos;
-					// ensure wrappingWidth is at least 1
-					wrappingWidth = Math.max(1, wrappingWidth);
-					TextLayout layout =
-							measurer.nextLayout(wrappingWidth,
-							tabLocations[currentTab] + 1,
-							lineContainsText);
-
-					// layout can be null if lineContainsText is true
-					if (layout != null) {
-						layouts.add(layout);
-						penPositions.add(new Float(horizontalPos));
-						horizontalPos += layout.getAdvance();
-						maxAscent = Math.max(maxAscent, layout.getAscent());
-						maxDescent = Math.max(maxDescent,
-								layout.getDescent() + layout.getLeading());
-					}
-					else {
-						lineComplete = true;
-					}
-
-					lineContainsText = true;
-
-					if (measurer.getPosition() == tabLocations[currentTab] + 1) {
-						currentTab++;
-					}
-
-					if (measurer.getPosition() == paragraphIter.getEndIndex()) {
-						lineComplete = true;
-					}
-					else if (horizontalPos >= tabStops[tabStops.length - 1]) {
-						lineComplete = true;
-					}
-
-					if (!lineComplete) {
-						// move to next tab stop
-						int j;
-						for (j = 0; horizontalPos >= tabStops[j]; j++) {
-						}
-						horizontalPos = tabStops[j];
-					}
-				}
-
-				// set the vertical position for the line
-				verticalPos += maxAscent;
-
-				// now iterate through layouts and draw them
-				Iterator layoutEnum = layouts.iterator();
-				Iterator positionEnum = penPositions.iterator();
-				while (layoutEnum.hasNext()) {
-					TextLayout nextLayout = (TextLayout)layoutEnum.next();
-					Float nextPosition = (Float)positionEnum.next();
-					if (g2 != null) {
-						nextLayout.draw(g2, nextPosition.floatValue(), verticalPos);
-					}
-				}
-
-				// keep track of the highest (actually lowest) position for the
-				// next iteration
-				verticalPos += maxDescent;
-			}
-		}
-
-		// if the last displayed line is not visible because the displayBox is
-		// too small then draw a dashed red line at the bottom
-		if (g2 != null && verticalPos > clipRect.getMaxY() && clipRect.getMaxY() == displayBox.getMaxY()) {
-			Stroke savedStroke = g2.getStroke();
-			float[] dash = new float[2];
-			dash[0] = 2f;
-			dash[1] = 4f;
-			g2.setStroke(new BasicStroke(
-					1f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER,
-					1f, dash, 0f));
-			g2.setColor(Color.red);
-			g2.drawLine((int)clipRect.getMinX() + 1, (int)clipRect.getMaxY() - 1,
-					(int)clipRect.getMaxX() - 1, (int)clipRect.getMaxY() - 1);
-			g2.setStroke(savedStroke);
-		}
-
-		// restore saved graphic attributes
-		if (g2 != null) {
-			if(savedClipArea != null) {
-			g2.setClip(savedClipArea);
-			}
-			g2.setColor(savedFontColor);
-			g2.setRenderingHints(savedRenderingHints);
-		}
-
-		// and return the final text height
-		return verticalPos;
-	}
-
-	/**
-	 * Splits the text into paragraphs. A paragraph is delimited by a LF or CRLF.
-	 * If the paragraph is empty it returns a single space so the display logic has
-	 * something to work with
-	 */
-	protected void prepareText() {
-		if (!isTextDirty()) {
-			return;
-		}
-
-		fParagraphs = CollectionsFactory.current().createList();
-		String paragraphText;
-		Point pos = new Point(-1, -1);
-
-		while ((paragraphText = getNextParagraph(fText, pos)) != null) {
-			if (paragraphText.length() == 0) {
-				paragraphText = " ";
-			}
-			fParagraphs.add(paragraphText);
-		}
-		setTextDirty(false);
-	}
-
-	/**
-	 * Gets the next paragraph in the supplied string<br>
-	 * Paragraphs are defined by a LF or CRLF sequence<br>
-	 * Scanning starts from the next characters as given by the pos.y value
-	 *
-	 * @param text  the text to break into paragraphs
-	 * @param pos   a point where pos.x is the position of the first character of the paragraph in
-	 * the string and pos.y is the last
-	 * @return      The text for the paragraph
-	 */
-	protected String getNextParagraph(String text, Point pos) {
-		int start = pos.y + 1;
-
-		if (start >= text.length()) {
-			return null;
-		}
-		pos.x = start;
-
-		int end = text.indexOf('\n', start);
-		if (end == -1) {
-			end = text.length();
-		}
-		pos.y = end;
-		// check for "\r\n" sequence
-		if (text.charAt(end - 1) == '\r') {
-			return text.substring(start, end - 1);
-		}
-		else {
-			return text.substring(start, end);
-		}
-	}
-
-	/**
-	 * A text area figure uses the "LeftMargin", "RightMargin", "TopMargin",
-	 * "TabSize", "FontSize", "FontStyle", and "FontName" attributes
-	 *
-	 * @param name the attribute's name
-	 * @return     the attribute value
-	 * @deprecated use getAttribute(FigureAttributeConstant)
-	 */
-	public Object getAttribute(String name) {
-		return super.getAttribute(name);
-	}
-
-
-	/**
-	 * A text area figure uses the "LeftMargin", "RightMargin",
-	 * "TopMargin", "TabSize", "FontSize", "FontStyle", and "FontName"
-	 * attributes
-	 *
-	 * @param name  the new attribute name
-	 * @param value the new attribute value
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object)
-	 */
-	public void setAttribute(String name, Object value) {
-		// we need to create a new font if one of the font attributes
-		Font font = getFont();
-		if (name.equals("FontSize")) {
-			Integer s = (Integer)value;
-			setFont(new Font(font.getName(), font.getStyle(), s.intValue()));
-			// store the attribute
-			super.setAttribute(name, value);
-		}
-		else if (name.equals("FontStyle")) {
-			Integer s = (Integer)value;
-			int style = font.getStyle();
-			if (s.intValue() == Font.PLAIN) {
-				style = Font.PLAIN;
-			}
-			else {
-				style = style ^ s.intValue();
-			}
-			setFont(new Font(font.getName(), style, font.getSize()));
-			// store the attribute
-			super.setAttribute(name, new Integer(style));
-		}
-		else if (name.equals("FontName")) {
-			String n = (String)value;
-			setFont(new Font(n, font.getStyle(), font.getSize()));
-			// store the attribute
-			super.setAttribute(name, value);
-		}
-		else {
-			// store the attribute
-			super.setAttribute(name, value);
-		}
-	}
-
-	/**
-	 * Writes the figure to StorableOutput
-	 *
-	 * @param dw  the output storable
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-		dw.writeString(fText);
-		dw.writeBoolean(fIsReadOnly);
-		dw.writeStorable(fObservedFigure);
-		dw.writeStorable(fLocator);
-	}
-
-	/**
-	 * Reads the figure from StorableInput
-	 *
-	 * @param dr            Description of the Parameter
-	 * @throws IOException  the inout storable
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-
-		markSizeDirty();
-		markTextDirty();
-		markFontDirty();
-
-		fDisplayBox.x = dr.readInt();
-		fDisplayBox.y = dr.readInt();
-		fDisplayBox.width = dr.readInt();
-		fDisplayBox.height = dr.readInt();
-		fText = dr.readString();
-		fIsReadOnly = dr.readBoolean();
-
-		fObservedFigure = (Figure)dr.readStorable();
-		if (fObservedFigure != null) {
-			fObservedFigure.addFigureChangeListener(this);
-		}
-		fLocator = (OffsetLocator)dr.readStorable();
-
-		setFont(createFont());
-	}
-
-	/**
-	 * Reads the figure from an object stream
-	 *
-	 * @param s                        the input stream
-	 * @throws ClassNotFoundException  thrown by called methods
-	 * @throws IOException             thrown by called methods
-	 */
-	protected void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		if (fObservedFigure != null) {
-			fObservedFigure.addFigureChangeListener(this);
-		}
-		markSizeDirty();
-		markTextDirty();
-		markFontDirty();
-	}
-
-	/**
-	 * Connects the figure to another figure
-	 *
-	 * @param figure  the connecting figure
-	 */
-	public void connect(Figure figure) {
-		if (fObservedFigure != null) {
-			fObservedFigure.removeFigureChangeListener(this);
-		}
-
-		fObservedFigure = figure;
-		fLocator = new OffsetLocator(figure.connectedTextLocator(this));
-		fObservedFigure.addFigureChangeListener(this);
-		updateLocation();
-	}
-
-	/**
-	 * Disconnects a text holder from a connect figure.
-	 *
-	 * @param disconnectFigure  the disconnecting figure
-	 */
-	public void disconnect(Figure disconnectFigure) {
-		if (disconnectFigure != null) {
-			disconnectFigure.removeFigureChangeListener(this);
-		}
-		fLocator = null;
-	}
-
-	/**
-	 * Description of the Method
-	 * @todo   Implement this CH.ifa.draw.framework.FigureChangeListener method
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-	}
-
-	/**
-	 * A connected figure has changed, update the figure's location
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureChanged(FigureChangeEvent e) {
-		updateLocation();
-	}
-
-	/**
-	 * Updates the location relative to the connected figure.
-	 * The TextAreaFigure is centered around the located point.
-	 */
-	protected void updateLocation() {
-		if (fLocator != null) {
-			Point p = fLocator.locate(fObservedFigure);
-
-			p.x -= size().width / 2 + fDisplayBox.x;
-			p.y -= size().height / 2 + fDisplayBox.y;
-			if (p.x != 0 || p.y != 0) {
-				willChange();
-				basicMoveBy(p.x, p.y);
-				changed();
-			}
-		}
-	}
-
-	/**
-	 * The figure is about to be removed from another composite figure
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRemoved(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRemoved(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * A request to remove the figure from another composite figure
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestRemove(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		// @todo:   Implement this CH.ifa.draw.framework.FigureChangeListener method
-	}
-
-	/**
-	 * Gets the font width for the active font. This is by convention the width of
-	 * the 'W' character, the widest one
-	 *
-	 * @return   The fontWidth value
-	 */
-	protected float getFontWidth() {
-		updateFontInfo();
-		return fFontWidth;
-	}
-
-	/** Retrieve all Font information needed */
-	protected void updateFontInfo() {
-		if (!isFontDirty()) {
-			return;
-		}
-		fFontWidth = (int) getFont().getMaxCharBounds(new FontRenderContext(null, false, false)).getWidth(); 
-
-		setFontDirty(false);
-	}
-
-	/**
-	 * Gets the text color of a figure. This is a convenience
-	 * method.
-	 *
-	 * @return   The textColor value
-	 * @see      #getAttribute
-	 */
-	public Color getTextColor() {
-		return (Color)getAttribute("TextColor");
-	}
-
-	/**
-	 * Gets the empty attribute of the figure. True if there is no text
-	 *
-	 * @return   The empty value
-	 */
-	public boolean isEmpty() {
-		return (fText.length() == 0);
-	}
-
-	/**
-	 * Called whenever the something changes that requires font recomputing
-	 */
-	protected void markFontDirty() {
-		setFontDirty(true);
-	}
-
-	/**
-	 * Gets the fontDirty attribute of the TextAreaFigure object
-	 *
-	 * @return   The fontDirty value
-	 */
-	public boolean isFontDirty() {
-		return fFontIsDirty;
-	}
-
-	/**
-	 * Sets the fontDirty attribute of the TextAreaFigure object
-	 *
-	 * @param newFontIsDirty  The new fontDirty value
-	 */
-	public void setFontDirty(boolean newFontIsDirty) {
-		fFontIsDirty = newFontIsDirty;
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/TextAreaTool.java b/JHotDraw/src/CH/ifa/draw/contrib/TextAreaTool.java
deleted file mode 100644
index 0517da709..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/TextAreaTool.java
+++ /dev/null
@@ -1,445 +0,0 @@
-/*
- *  @(#)TextAreaTool.java
- *
- *  Project:     JHotdraw - a GUI framework for technical drawings
- *               http://www.jhotdraw.org
- *               http://jhotdraw.sourceforge.net
- *  Copyright:   � by the original author(s) and all contributors
- *  License:     Lesser GNU Public License (LGPL)
- *               http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.standard.TextHolder;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-
-import java.awt.Container;
-import java.awt.Font;
-import java.awt.Rectangle;
-import java.awt.event.MouseEvent;
-
-/**
- * A TextAreaTool creates TextAreaFigures.<br>
- * To create a new text area, the user drags a rectangle on the drawing on
- * a free spot.<br>
- * When releasing the mouse the tool calls the area's editor to enter the text.<br>
- * If the tool is clicked on an existing area the tool simply calls the
- * area's editor.<br>
- * When creating a new area, if the user leaves the text empty, the newly created
- * area figure is discarded.
- *
- * @author    Eduardo Francos - InContext
- * @created   29 april 2002
- * @version   1.0
- */
-public class TextAreaTool extends CreationTool {
-	/** The field used for editing */
-	protected FloatingTextArea fTextField;
-
-	/** The typing target */
-	protected TextHolder fTypingTarget;
-	/** The edited figure */
-	protected Figure fEditedFigure;
-
-	/**
-	 * Constructor for the TextAreaTool object
-	 *
-	 * @param newDrawingEditor  the managing drawing editor
-	 * @param prototype         the prototype for the figure
-	 */
-	public TextAreaTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder and it accepts editing it can be edited.<br>
-	 * If there is no pressed figure a new text figure is created.
-	 *
-	 * @param e  Description of the Parameter
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		Figure pressedFigure = drawing().findFigureInside(x, y);
-		TextHolder textHolder = null;
-		if (pressedFigure != null) {
-			textHolder = pressedFigure.getTextHolder();
-		}
-
-		if ((textHolder != null) && (textHolder.acceptsTyping())) {
-			beginEdit(textHolder, pressedFigure);
-			return;
-		}
-		if (getTypingTarget() != null) {
-			endEdit();
-
-			if (getCreatedFigure() != null && getCreatedFigure().isEmpty()) {
-				drawing().remove(getAddedFigure());
-				// nothing to undo
-				setUndoActivity(null);
-			}
-			else {
-//				// use undo activity from paste command...
-//				setUndoActivity(createUndoActivity());
-//
-//				// put created figure into a figure enumeration
-//				getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getAddedFigure()));
-			}
-			setTypingTarget(null);
-			setCreatedFigure(null);
-			setEditedFigure(null);
-			setAddedFigure(null);
-			editor().toolDone();
-		}
-		else {
-			super.mouseDown(e, x, y);
-		}
-	}
-
-	/**
-	 * Drags to set the initial text area display box
-	 *
-	 * @param e  Description of the Parameter
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		// if not creating just ignore
-		if (getCreatedFigure() == null) {
-			return;
-		}
-		super.mouseDrag(e, x, y);
-	}
-
-	/**
-	 * If creating a figure it ends the creation process and calls the editor
-	 *
-	 * @param e  Description of the Parameter
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		// if not creating just ignore
-		if (getCreatedFigure() == null) {
-			return;
-		}
-
-		// update view so the created figure is drawn before the floating text
-		// figure is overlaid. (Note, fDamage should be null in StandardDrawingView
-		// when the overlay figure is drawn because a JTextField cannot be scrolled)
-		view().checkDamage();
-		TextHolder textHolder = (TextHolder)getCreatedFigure();
-		if (textHolder.acceptsTyping()) {
-			beginEdit(textHolder, getCreatedFigure());
-		}
-		else {
-			editor().toolDone();
-		}
-	}
-
-	/**
-	 * Terminates the editing of a text figure.
-	 */
-	public void deactivate() {
-		endEdit();
-		super.deactivate();
-	}
-
-	/**
-	 * Activates the figure's editor
-	 */
-	public void activate() {
-		super.activate();
-		getActiveView().clearSelection();
-	}
-
-	/**
-	 * Test whether the text tool is currently activated and is displaying
-	 * a overlay TextFigure for accepting input.
-	 *
-	 * @return   true, if the text tool has a accepting target TextFigure for its input, false otherwise
-	 */
-	public boolean isActivated() {
-		return getTypingTarget() != null;
-	}
-
-	/**
-	 * Begins editing the figure's text
-	 *
-	 * @param figure          the typing target
-	 * @param selectedFigure  the edited figure
-	 */
-	protected void beginEdit(TextHolder figure, Figure selectedFigure) {
-		if (fTextField == null) {
-			fTextField = new FloatingTextArea();
-		}
-
-		if (figure != getTypingTarget() && getTypingTarget() != null) {
-			endEdit();
-		}
-
-		fTextField.createOverlay((Container)view(), getFont(figure));
-		fTextField.setBounds(fieldBounds(figure), figure.getText());
-
-		setTypingTarget(figure);
-		setEditedFigure(selectedFigure);
-		setUndoActivity(createUndoActivity());
-	}
-
-	/**
-	 * Gets the font to be used for editing the figure
-	 *
-	 * @param figure  the figure
-	 * @return        The font
-	 */
-	protected Font getFont(TextHolder figure) {
-		return figure.getFont();
-	}
-
-	/** Ends editing of the figure's text */
-	protected void endEdit() {
-		if ((getTypingTarget() != null) && (fTextField != null)) {
-			if (fTextField.getText().length() > 0) {
-				getTypingTarget().setText(fTextField.getText());
-				// put created figure into a figure enumeration
-				getUndoActivity().setAffectedFigures(
-						new SingleFigureEnumerator(getEditedFigure()));
-				((TextAreaTool.UndoActivity)getUndoActivity()).setBackupText(
-						getTypingTarget().getText());
-			}
-			else {
-				drawing().orphan(getAddedFigure());
-				// nothing to undo
-//	            setUndoActivity(null);
-			}
-
-			fTextField.endOverlay();
-			fTextField = null;
-//			view().checkDamage();
-		}
-	}
-
-	/**
-	 * Returns the bounds fo the figure
-	 *
-	 * @param figure  the edited figure
-	 * @return        Description of the Return Value
-	 */
-	private Rectangle fieldBounds(TextHolder figure) {
-		return figure.textDisplayBox();
-	}
-
-	/**
-	 * Sets the typingTarget attribute of the TextAreaTool
-	 *
-	 * @param newTypingTarget  The new typingTarget value
-	 */
-	protected void setTypingTarget(TextHolder newTypingTarget) {
-		fTypingTarget = newTypingTarget;
-	}
-
-	/**
-	 * Gets the editedFigure attribute of the TextAreaTool
-	 *
-	 * @return   The editedFigure value
-	 */
-	protected Figure getEditedFigure() {
-		return fEditedFigure;
-	}
-
-	/**
-	 * Sets the editedFigure attribute of the TextAreaTool
-	 *
-	 * @param figure  The new editedFigure value
-	 */
-	protected void setEditedFigure(Figure figure) {
-		fEditedFigure = figure;
-	}
-
-	/**
-	 * Gets the typingTarget attribute of the TextAreaTool
-	 *
-	 * @return   The typingTarget value
-	 */
-	protected TextHolder getTypingTarget() {
-		return fTypingTarget;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 *
-	 * @return   Description of the Return Value
-	 */
-	protected Undoable createUndoActivity() {
-		return new TextAreaTool.UndoActivity(view(), getTypingTarget().getText());
-	}
-
-	/**
-	 * Handles undo/redo for text areas
-	 *
-	 * @author    gualo
-	 */
-	public static class UndoActivity extends UndoableAdapter {
-		/** The original text */
-		private String myOriginalText;
-		/** The backup text */
-		private String myBackupText;
-
-		/**
-		 * Constructor for the UndoActivity object
-		 *
-		 * @param newDrawingView   Description of the Parameter
-		 * @param newOriginalText  Description of the Parameter
-		 */
-		public UndoActivity(DrawingView newDrawingView, String newOriginalText) {
-			super(newDrawingView);
-			setOriginalText(newOriginalText);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 *  Undo the activity
-		 *  @return true if the activity could be undone, false otherwise
-		 */
-		/**
-		 * Undo the activity
-		 *
-		 * @return   Description of the Return Value
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-
-			if (!isValidText(getOriginalText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().drawing().orphan(fe.nextFigure());
-				}
-			}
-			// add text figure if it has been removed (no backup text)
-			else if (!isValidText(getBackupText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().add(fe.nextFigure());
-				}
-				setText(getOriginalText());
-			}
-			else {
-				setText(getOriginalText());
-			}
-
-			return true;
-		}
-
-		/*
-		 *  Redo the activity
-		 *  @return true if the activity could be redone, false otherwise
-		 */
-		/**
-		 * Redo the activity
-		 *
-		 * @return   Description of the Return Value
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-
-			// the text figure did exist but was remove
-			if (!isValidText(getBackupText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().drawing().orphan(fe.nextFigure());
-				}
-			}
-			// the text figure didn't exist before
-			else if (!isValidText(getOriginalText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().drawing().add(fe.nextFigure());
-					setText(getBackupText());
-				}
-			}
-			else {
-				setText(getBackupText());
-			}
-
-			return true;
-		}
-
-		/**
-		 * Validates the text in the undo activity
-		 *
-		 * @param toBeChecked  Description of the Parameter
-		 * @return             The validText value
-		 */
-		protected boolean isValidText(String toBeChecked) {
-			return ((toBeChecked != null) && (toBeChecked.length() > 0));
-		}
-
-		/**
-		 * Sets the text attribute of the UndoActivity
-		 *
-		 * @param newText  The new text value
-		 */
-		protected void setText(String newText) {
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().setText(newText);
-				}
-			}
-		}
-
-		/**
-		 * Sets the backupText attribute of the UndoActivity
-		 *
-		 * @param newBackupText  The new backupText value
-		 */
-		public void setBackupText(String newBackupText) {
-			myBackupText = newBackupText;
-		}
-
-		/**
-		 * Gets the backupText attribute of the UndoActivity
-		 *
-		 * @return   The backupText value
-		 */
-		public String getBackupText() {
-			return myBackupText;
-		}
-
-		/**
-		 * Sets the originalText attribute of the UndoActivity
-		 *
-		 * @param newOriginalText  The new originalText value
-		 */
-		public void setOriginalText(String newOriginalText) {
-			myOriginalText = newOriginalText;
-		}
-
-		/**
-		 * Gets the originalText attribute of the UndoActivity
-		 *
-		 * @return   The originalText value
-		 */
-		public String getOriginalText() {
-			return myOriginalText;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/TriangleFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/TriangleFigure.java
deleted file mode 100644
index b56f96bba..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/TriangleFigure.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * @(#)TriangleFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.standard.HandleEnumerator;
-
-import java.awt.*;
-import java.util.List;
-import java.io.IOException;
-
-/**
- * A triangle with same dimensions as its enclosing rectangle,
- * and apex at any of 8 places
- *
- * @author Doug Lea  (dl at gee, Tue Feb 25 17:30:58 1997)
- * @version <$CURRENT_VERSION$>
- */
-public  class TriangleFigure extends RectangleFigure {
-
-	static double[] rotations = {
-		-Math.PI/2, -Math.PI/4,
-		0.0, Math.PI/4,
-		Math.PI/2, Math.PI * 3/4,
-		Math.PI,  -Math.PI * 3/4
-	};
-
-	private int fRotation = 0;
-
-	public TriangleFigure() {
-		super(new Point(0,0), new Point(0,0));
-	}
-
-	public TriangleFigure(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	public HandleEnumeration handles() {
-		List h = super.handles().toList();
-		h.add(new TriangleRotationHandle(this));
-		return new HandleEnumerator(h);
-	}
-
-	public void rotate(double angle) {
-		willChange();
-		double dist = Double.MAX_VALUE;
-		int best = 0;
-		for (int i = 0; i < rotations.length; ++i) {
-			double d = Math.abs(angle - rotations[i]);
-			if (d < dist) {
-				dist = d;
-				best = i;
-			}
-		}
-		fRotation = best;
-		changed();
-	}
-
-	/** Return the polygon describing the triangle **/
-	public Polygon getPolygon() {
-		Rectangle r = displayBox();
-		Polygon p = new Polygon();
-		switch (fRotation) {
-		case 0:
-			p.addPoint(r.x + r.width/2, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			p.addPoint(r.x, r.y + r.height);
-			break;
-		case 1:
-			p.addPoint(r.x + r.width, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			break;
-		case 2:
-			p.addPoint(r.x + r.width, r.y + r.height/2);
-			p.addPoint(r.x, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			break;
-		case 3:
-			p.addPoint(r.x + r.width, r.y + r.height);
-			p.addPoint(r.x, r.y + r.height);
-			p.addPoint(r.x + r.width, r.y);
-			break;
-		case 4:
-			p.addPoint(r.x + r.width/2, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			p.addPoint(r.x + r.width, r.y);
-			break;
-		case 5:
-			p.addPoint(r.x, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			break;
-		case 6:
-			p.addPoint(r.x, r.y + r.height/2);
-			p.addPoint(r.x + r.width, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			break;
-		case 7:
-			p.addPoint(r.x, r.y);
-			p.addPoint(r.x + r.width, r.y);
-			p.addPoint(r.x, r.y + r.height);
-			break;
-		}
-		return p;
-	}
-
-
-	public void draw(Graphics g) {
-		Polygon p = getPolygon();
-		g.setColor(getFillColor());
-		g.fillPolygon(p);
-		g.setColor(getFrameColor());
-		g.drawPolygon(p);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = displayBox();
-		switch(fRotation) {
-		case 0:
-			return new Insets(r.height, r.width/2, 0, r.width/2);
-		case 1:
-			return new Insets(0, r.width, r.height, 0);
-		case 2:
-			return new Insets(r.height/2, 0, r.height/2, r.width);
-		case 3:
-			return new Insets(r.height, r.width, 0, 0);
-		case 4:
-			return new Insets(0, r.width/2, r.height, r.width/2);
-		case 5:
-			return new Insets(r.height, 0, 0, r.width);
-		case 6:
-			return new Insets(r.height/2, r.width, r.height/2, 0);
-		case 7:
-			return new Insets(0, 0, r.height, r.width);
-		default:
-			return null;
-		}
-	}
-
-	public boolean containsPoint(int x, int y) {
-		return getPolygon().contains(x, y);
-	}
-
-	public Point center() {
-		return PolygonFigure.center(getPolygon());
-	}
-
-	public Point chop(Point p) {
-		return PolygonFigure.chop(getPolygon(), p);
-	}
-
-	public Object clone() {
-		TriangleFigure figure = (TriangleFigure) super.clone();
-		figure.fRotation = fRotation;
-		return figure;
-	}
-
-	public double getRotationAngle() {
-		return rotations[fRotation];
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fRotation);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fRotation = dr.readInt();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/TriangleRotationHandle.java b/JHotDraw/src/CH/ifa/draw/contrib/TriangleRotationHandle.java
deleted file mode 100644
index 25b351284..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/TriangleRotationHandle.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)TriangleRotationHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.standard.*;
-
-
-/**
- * A Handle to rotate a TriangleFigure
- * Based on RadiusHandle
- *
- * @author Doug Lea  (dl at gee, Sun Mar 2 19:15:28 1997)
- * @version <$CURRENT_VERSION$>
- */
-class TriangleRotationHandle extends AbstractHandle {
-
-	private Point fOrigin;
-
-	public TriangleRotationHandle(TriangleFigure owner) {
-		super(owner);
-	}
-
-	/**
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 */
-	public void invokeStart(int x, int  y, DrawingView view) {
-		fOrigin = getOrigin();
-		TriangleRotationHandle.UndoActivity activity =
-			(TriangleRotationHandle.UndoActivity)createUndoActivity(view);
-		setUndoActivity(activity);
-		activity.setAffectedFigures(new SingleFigureEnumerator(owner()));
-		double rotation = ((TriangleFigure)(owner())).getRotationAngle();
-		activity.setRotationAngle(rotation);
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point fCenter = owner().center();
-		double angle = Math.atan2(fOrigin.y + y - anchorY - fCenter.y,
-  								  fOrigin.x + x - anchorX - fCenter.x);
-		((TriangleFigure)(owner())).rotate(angle);
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		fOrigin = null;
-	}
-
-	public Point locate() {
-		return getOrigin();
-	}
-
-	Point getOrigin() {
-		// find a nice place to put handle
-		// almost same code as PolygonScaleHandle
-		Polygon p = ((TriangleFigure)(owner())).getPolygon();
-		Point first = new Point(p.xpoints[0], p.ypoints[0]);
-		Point ctr = owner().center();
-		double len = Geom.length(first.x, first.y, ctr.x, ctr.y);
-		if (len == 0) { // best we can do?
-			return new Point(first.x - HANDLESIZE/2, first.y + HANDLESIZE/2);
-		}
-
-		double u = HANDLESIZE / len;
-		if (u > 1.0) { // best we can do?
-			return new Point((first.x * 3 + ctr.x)/4, (first.y * 3 + ctr.y)/4);
-		}
-		else {
-			return new Point((int)(first.x * (1.0 - u) + ctr.x * u),
-							(int)(first.y * (1.0 - u) + ctr.y * u));
-		}
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new TriangleRotationHandle.UndoActivity(newView);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private double myRotationAngle;
-
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetRotationAngle();
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetRotationAngle();
-		}
-
-		protected boolean resetRotationAngle() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			TriangleFigure figure = (TriangleFigure)fe.nextFigure();
-			double backupAngle = figure.getRotationAngle();
-			figure.willChange();
-			figure.rotate(getRotationAngle());
-			figure.changed();
-			setRotationAngle(backupAngle);
-			return true;
-		}
-
-		protected void setRotationAngle(double newRotationAngle) {
-			myRotationAngle = newRotationAngle;
-		}
-
-		public double getRotationAngle() {
-			return myRotationAngle;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/WindowMenu.java b/JHotDraw/src/CH/ifa/draw/contrib/WindowMenu.java
deleted file mode 100644
index 9560bee82..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/WindowMenu.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * @(#)WindowMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.beans.PropertyVetoException;
-
-import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JInternalFrame;
-import javax.swing.event.MenuEvent;
-import javax.swing.event.MenuListener;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.standard.AbstractCommand;
-import CH.ifa.draw.util.Command;
-import CH.ifa.draw.util.CommandMenu;
-
-/**
- * Menu component that handles the functionality expected of a standard
- * "Windows" menu for MDI applications.
- *
- * @author Wolfram Kaiser (adapted from an article in JavaWorld)
- * @version <$CURRENT_VERSION$>
- */
-public class WindowMenu extends CommandMenu {
-	private MDIDesktopPane desktop;
-	private Command cascadeCommand;
-	private Command tileCommand;
-
-	public WindowMenu(String newText, MDIDesktopPane newDesktop, DrawingEditor newEditor) {
-		super(newText);
-		this.desktop = newDesktop;
-		cascadeCommand = new AbstractCommand("Cascade", newEditor) {
-			public void execute() {
-				WindowMenu.this.desktop.cascadeFrames();
-			}
-			public boolean isExecutable() {
-				return super.isExecutable() && (WindowMenu.this.desktop.getAllFrames().length > 0);
-			}
-		};
-		tileCommand = new AbstractCommand("Tile", newEditor) {
-			public void execute() {
-				WindowMenu.this.desktop.tileFramesHorizontally();
-			}
-			public boolean isExecutable() {
-				return super.isExecutable() && (WindowMenu.this.desktop.getAllFrames().length > 0);
-			}
-		};
-		addMenuListener(new MenuListener() {
-			public void menuCanceled (MenuEvent e) {}
-
-			public void menuDeselected (MenuEvent e) {
-				removeAll();
-			}
-
-			public void menuSelected (MenuEvent e) {
-				buildChildMenus();
-			}
-		});
-	}
-
-	/* Sets up the children menus depending on the current desktop state */
-	private void buildChildMenus() {
-		ChildMenuItem menu;
-		JInternalFrame[] array = desktop.getAllFrames();
-
-		add(new CommandMenuItem(cascadeCommand));
-		add(new CommandMenuItem(tileCommand));
-		if (array.length > 0) {
-			addSeparator();
-		}
-//		cascade.setEnabled(array.length > 0);
-//		tile.setEnabled(array.length > 0);
-
-		for (int i = 0; i < array.length; i++) {
-			menu = new ChildMenuItem(array[i]);
-			menu.setState(i == 0);
-			menu.addActionListener(new ActionListener() {
-				public void actionPerformed(ActionEvent ae) {
-					JInternalFrame frame = ((ChildMenuItem)ae.getSource()).getFrame();
-					frame.moveToFront();
-					try {
-						frame.setSelected(true);
-					}
-					catch (PropertyVetoException e) {
-						e.printStackTrace();
-					}
-				}
-			});
-			menu.setIcon(array[i].getFrameIcon());
-			add(menu);
-		}
-	}
-
-	/* This JCheckBoxMenuItem descendant is used to track the child frame that corresponds
-	   to a give menu. */
-	class ChildMenuItem extends JCheckBoxMenuItem {
-		private JInternalFrame frame;
-
-		public ChildMenuItem(JInternalFrame newFrame) {
-			super(newFrame.getTitle());
-			frame=newFrame;
-		}
-
-		public JInternalFrame getFrame() {
-			return frame;
-		}
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFigures.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFigures.java
deleted file mode 100644
index 8c2a90448..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFigures.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)DNDFigures.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.awt.Point;
-import java.util.List;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DNDFigures implements java.io.Serializable {
-	private List figures;
-	private Point origin;
-
-	public DNDFigures(FigureEnumeration fe, Point newOrigin) {
-		this.figures = CollectionsFactory.current().createList();
-		// copy figure enumeration because enumerations should not be fields
-		//the drop operation will serialize and deseralize which I believe is a form of copy!?
-		while (fe.hasNextFigure()) {
-			figures.add(fe.nextFigure());
-		}
-		origin = newOrigin;
-	}
-
-	public FigureEnumeration getFigures() {
-	    return new FigureEnumerator(figures);
-	}
-
-	public Point getOrigin() {
-	    return origin;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFiguresTransferable.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFiguresTransferable.java
deleted file mode 100644
index 9ae944a1a..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDFiguresTransferable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)DNDFiguresTransferable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import java.awt.datatransfer.*;
-import java.io.*;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DNDFiguresTransferable implements Transferable , Serializable {
-	public static DataFlavor DNDFiguresFlavor = new DataFlavor(DNDFigures.class,"DNDFigures");
-	private Object o;
-
-	public DNDFiguresTransferable(Object newObject) {
-		//if object is not serializable throw exception
-		o = newObject;
-	}
-	public DataFlavor[] getTransferDataFlavors() {
-		return new DataFlavor [] {DNDFiguresFlavor };
-	}
-
-	public boolean isDataFlavorSupported(DataFlavor flavor) {
-		return flavor.equals(DNDFiguresFlavor);
-	}
-
-	public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
-		if ( isDataFlavorSupported(flavor) == false) {
-			throw new UnsupportedFlavorException( flavor );
-		}
-		return o;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDHelper.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDHelper.java
deleted file mode 100644
index 709778aea..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDHelper.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * @(#)DNDHelper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import CH.ifa.draw.framework.*;
-
-import java.awt.Component;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.UnsupportedFlavorException;
-import java.awt.datatransfer.Transferable;
-import java.awt.dnd.*;
-import java.io.*;
-import java.util.List;
-
-/**
- * Changes made in hopes of eventually cleaning up the functionality and 
- * distributing it sensibly. 1/10/02
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public abstract class DNDHelper {
-	public static DataFlavor ASCIIFlavor = new DataFlavor("text/plain; charset=ascii", "ASCII text");
-	private DragGestureRecognizer dgr;
-	private DragGestureListener dragGestureListener;
-	private DropTarget dropTarget;
-	private DragSourceListener dragSourceListener;
-	private DropTargetListener dropTargetListener;
-	private boolean isDragSource = false;
-	private boolean isDropTarget = false;
-
-	public DNDHelper(boolean newIsDragSource, boolean newIsDropTarget){
-		isDragSource = newIsDragSource;
-		isDropTarget = newIsDropTarget;
-	}
-	/**
-	 * Do not call this from the constructor.  its methods are overridable.
-	 */
-	public void initialize(DragGestureListener dgl) {
-		if (isDragSource) {
-			setDragGestureListener(dgl);
-			setDragSourceListener(createDragSourceListener());
-			setDragGestureRecognizer(createDragGestureRecognizer(getDragGestureListener()));
-		}
-		if (isDropTarget) {
-			setDropTargetListener(createDropTargetListener());
-			setDropTarget(createDropTarget());
-		}
-	}
-
-	public void deinitialize(){
-		if (getDragSourceListener() != null) {
-			destroyDragGestreRecognizer();
-			setDragSourceListener(null);
-		}
-		if (getDropTargetListener() != null) {
-			setDropTarget(null);
-			setDropTargetListener(null);
-		}
-	}
-//	public void setDragSourceState(boolean state) {
-//		if(state == false){
-//			getDragGestureRecognizer().setSourceActions(DnDConstants.ACTION_NONE);
-//		}
-//		else {
-//			getDragGestureRecognizer().setSourceActions(getDragSourceActions());
-//		}
-//	}
-	protected abstract DrawingView view();
-	protected abstract DrawingEditor editor();
-	
-	protected static Object processReceivedData(DataFlavor flavor, Transferable transferable) {
-		Object receivedData = null;
-		if (transferable == null) {
-			return null;
-		}
-
-		try {
-		    if (flavor.equals(DataFlavor.stringFlavor)) {
-				receivedData = transferable.getTransferData(DataFlavor.stringFlavor);
-			}
-			else if (flavor.equals(DataFlavor.javaFileListFlavor)) {
-				List aList = (List)transferable.getTransferData(DataFlavor.javaFileListFlavor);
-				File fList [] = new File[aList.size()];
-				aList.toArray(fList);
-				receivedData = fList;
-			}
-			else if (flavor.equals(ASCIIFlavor)) {
-				/* this may be too much work for locally received data */
-				InputStream is = (InputStream)transferable.getTransferData(ASCIIFlavor);
-				int length = is.available();
-				byte[] bytes = new byte[length];
-				int n = is.read(bytes);
-				if (n > 0) {
-					/* seems to be a 0 tacked on the end of Windows strings.  I
-					 * havent checked other platforms.  This does not happen
-					 * with windows socket io.  strange?
-					 */
-					//for (int i = 0; i < length; i++) {
-					//    if (bytes[i] == 0) {
-					//        length = i;
-					//        break;
-					//    }
-					//}
-					receivedData = new String(bytes, 0, n);
-				}
-			}
-			else if (flavor.equals(DNDFiguresTransferable.DNDFiguresFlavor)) {
-				receivedData = transferable.getTransferData(DNDFiguresTransferable.DNDFiguresFlavor);
-			}
-		}
-		catch (java.io.IOException ioe) {
-			System.err.println(ioe);
-		}
-		catch (UnsupportedFlavorException ufe) {
-			System.err.println(ufe);
-		}
-		catch (ClassCastException cce) {
-			System.err.println(cce);
-		}
-
-		return receivedData;
-	}
-
-	/**
-	 * This must reflect the capabilities of the dragSsource, not your desired
-	 * actions.  If you desire limited drag actions, then I suppose you need to
-	 * make a new drag gesture recognizer?  I do know that if you put for instance
-	 * ACTION_COPY but your device supports ACTION_COPY_OR_MOVE, then the receiving
-	 * target may show the rejected icon, but will still be forced improperly to
-	 * accept your MOVE since the system is not properly calling your MOVE a MOVE
-	 * because you claimed incorrectly that you were incapable of MOVE.
-	 */
-	protected int getDragSourceActions() {
-		return DnDConstants.ACTION_COPY_OR_MOVE;
-	}
-
-	protected int getDropTargetActions(){
-		return DnDConstants.ACTION_COPY_OR_MOVE;
-	}
-
-	protected void setDragGestureListener(DragGestureListener dragGestureListener){
-		this.dragGestureListener = dragGestureListener;
-	}
-
-	protected DragGestureListener getDragGestureListener(){
-		return dragGestureListener;
-	}
-
-	protected void setDragGestureRecognizer(DragGestureRecognizer dragGestureRecognizer){
-		dgr = dragGestureRecognizer;
-	}
-
-	protected DragGestureRecognizer getDragGestureRecognizer(){
-		return dgr;
-	}
-
-	protected void setDropTarget(DropTarget newDropTarget){
-		if ((newDropTarget == null) && (dropTarget != null)) {
-			dropTarget.setComponent(null);
-			dropTarget.removeDropTargetListener(getDropTargetListener());
-		}
-		dropTarget = newDropTarget;
-	}
-
-	protected DropTarget createDropTarget() {
-		DropTarget dt = null;
-		if (Component.class.isInstance(view())) {
-			try {
-				dt = new DropTarget((Component)view(), getDropTargetActions(), getDropTargetListener());
-				//System.out.println(view().toString() + " Initialized to DND.");
-			}
-			catch (NullPointerException npe) {
-				System.err.println("View Failed to initialize to DND.");
-				System.err.println("Container likely did not have peer before the DropTarget was added");
-				System.err.println(npe);
-				npe.printStackTrace();
-			}
-		}
-		return dt;
-	}
-
-	/**
-	 * Used to create the gesture recognizer which in effect turns on draggability.
-	 */
-	protected DragGestureRecognizer createDragGestureRecognizer(DragGestureListener dgl) {
-		DragGestureRecognizer aDgr = null;
-		if (Component.class.isInstance(view())) {
-			Component c = (Component)view();
-			aDgr =	java.awt.dnd.DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(
-					c,
-					getDragSourceActions(),
-					dgl);
-			//System.out.println("DragGestureRecognizer created: " + view());
-		}
-		return aDgr;
-	}
-
-	/**
-	 * Used to destroy the gesture listener which ineffect turns off dragability.
-	 */
-	protected void destroyDragGestreRecognizer() {
-		//System.out.println("Destroying DGR " + view());
-		if (getDragGestureRecognizer() != null) {
-			getDragGestureRecognizer().removeDragGestureListener(getDragGestureListener());
-	    	getDragGestureRecognizer().setComponent(null);
-			setDragGestureRecognizer(null);
-		}
-	}
-
-	protected void setDropTargetListener(DropTargetListener dropTargetListener){
-		this.dropTargetListener = dropTargetListener;
-	}
-
-	protected DropTargetListener getDropTargetListener(){
-		return dropTargetListener;
-		}
-
-	protected DropTargetListener createDropTargetListener(){
-		return new JHDDropTargetListener(editor(),view());
-	}
-
-	public DragSourceListener getDragSourceListener(){
-		return dragSourceListener;
-	}
-
-	protected void setDragSourceListener(DragSourceListener dragSourceListener){
-		this.dragSourceListener = dragSourceListener;
-	}
-
-	protected DragSourceListener createDragSourceListener(){
-		return new JHDDragSourceListener(editor(),view());
-	}
-}
-	/**
-	 * These transferable objects are used to package your data when you want
-	 * to initiate a transfer.  They are not used when you only want to receive
-	 * data.  Formating the data is the responsibility of the sender primarily.
-	 * Untested.  Used for dragging ASCII text out of JHotDraw
-	 */
-/*	public class ASCIIText implements Transferable
-	{
-		String s = new String("This is ASCII text");
-		byte[] bytes;
-
-		public DataFlavor[] getTransferDataFlavors() {
-			return new DataFlavor[] { ASCIIFlavor };
-		}
-
-		public boolean isDataFlavorSupported(DataFlavor dataFlavor) {
-			return dataFlavor.equals(ASCIIFlavor);
-		}
-
-		public Object getTransferData(DataFlavor dataFlavor)
-			throws UnsupportedFlavorException, IOException  {
-			if (!isDataFlavorSupported(dataFlavor))
-						throw new UnsupportedFlavorException(dataFlavor);
-
-			bytes = new byte[s.length() + 1];
-			for (int i = 0; i < s.length(); i++)
-				bytes = s.getBytes();
-			bytes[s.length()] = 0;
-			return new ByteArrayInputStream(bytes);
-		}
-	}*/
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDInterface.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDInterface.java
deleted file mode 100644
index 601c8cca8..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DNDInterface.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)DNDInterface.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import java.awt.dnd.DragGestureListener;
-import java.awt.dnd.DragSourceListener;
-
-/**
- * Interface for Components which wish to participate in drag and drop.
- *
- * A Component which wishes to participate in drag and drop should implement
- * this interface.  Once done the DragBDropTool will be able to transfer data
- * to and from the Component.  The Component will also be activated to receive
- * drops from extra-JVM sources according to the conditions the Component
- * specifies.
- *
- * @author  CL.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface DNDInterface {
-	public void DNDInitialize(DragGestureListener dgl);
-	public void DNDDeinitialize();
-
-	/**
-	 * When the DNDTool starts a drag action, it queries the interface for the
-	 * dragSourceListener of the source view.  It uses this listener to create
-	 * the dragGestureEvent.
-	 */
-	public DragSourceListener getDragSourceListener();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DragNDropTool.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/DragNDropTool.java
deleted file mode 100644
index eaeaf339b..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/DragNDropTool.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * @(#)DragNDropTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import java.awt.Component;
-import java.awt.Point;
-import java.awt.dnd.DragGestureListener;
-import java.awt.event.MouseEvent;
-
-import javax.swing.JComponent;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * This is a tool which handles drag and drop between Components in
- * JHotDraw and drags from JHotDraw.  It also indirectly
- * handles management of Drops from extra-JVM sources.
- *
- *
- * Drag and Drop is about information moving, not images or objects.  Its about
- * moving a JHD rectangle to another application and that application understanding
- * both its shape, color, attributes, and everything about it. not how it looks.
- *
- * There can be only 1 such tool in an application.  A view can be registered
- * with only a single DropSource as far as I know (maybe not).
- *
- * @todo    For intra JVM transfers we need to pass Point origin as well, and not
- * assume it will be valid which currently will cause a null pointer exception.
- * or worse, will be valid with some local value.
- * The dropSource will prevent simultaneous drops.
- *
- * For a Container to be initialized to support Drag and Drop, it must first
- * have a connection to a heavyweight component.  Or more precisely it must have
- * a peer.  That means new Component() is not capable of being initiated until
- * it has attachment to a top level component i.e. JFrame.add(comp);  If you add
- * a Component to a Container, that Container must be the child of some
- * Container which is added in its heirachy to a topmost Component.  I will
- * refine this description with more appropriate terms as I think of new ways to
- * express this.  It won't work until setVisible(true) is called.  then you can 
- * initialize DND.
- *
- * note: if drop target is same as dragsource then we should draw the object.
- *
- *
- * @author C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DragNDropTool extends AbstractTool {
-
-	private Tool            fChild;
-	private DragGestureListener dragGestureListener;
-	private boolean dragOn;
-
-	public DragNDropTool(DrawingEditor editor) {
-		super(editor);
-		setDragGestureListener(createDragGestureListener());
-		dragOn = false;
-	}
-
-	/**
-	 * Sent when a new view is created
-	 */
-	protected void viewCreated(DrawingView view) {
-		super.viewCreated(view);
-		if (DNDInterface.class.isInstance(view)) {
-			DNDInterface dndi = (DNDInterface)view;
-			dndi.DNDInitialize( getDragGestureListener() );
-		}
-	}
-
-	/**
-	 * Send when an existing view is about to be destroyed.
-	 */
-	protected void viewDestroying(DrawingView view) {
-		if (DNDInterface.class.isInstance(view)) {
-			DNDInterface dndi = (DNDInterface)view;
-			dndi.DNDDeinitialize();
-		}
-		super.viewDestroying(view);
-	}
-
-	/**
-	 * Turn on drag by adding a DragGestureRegognizer to all Views which are
-	 * based on Components.
-	 */
-	public void activate() {
-		super.activate();
-//		setDragSourceActive(true);
-		//System.out.println("DNDTool Activation");
-		setDragOn(true);
-	}
-
-	public void deactivate() {
-		//System.out.println("DNDTool deactivation.");
-		setDragOn(false);
-//		setDragSourceActive(false);//if its not turned off other tools will have problems since drag will start
-		super.deactivate();
-	}
-
-//	private void setDragSourceActive(boolean newState) {
-//		Iterator it = comps.iterator();
-//		while (it.hasNext()) {
-//			DNDInterface dndi = (DNDInterface)it.next();
-//			dndi.setDragSourceState(newState);
-//		}
-//	}
-
-	/**
-	 * Sets the type of cursor based on what is under the coordinates in the
-	 * active view.
-	 */
-	public static void setCursor(int x, int y, DrawingView view) {
-		if (view == null) {   //shouldnt need this
-			return;
-		}
-		Handle handle = view.findHandle(x, y);
-		Figure figure = view.drawing().findFigure(x, y);
-
-		if (handle != null) {
-			view.setCursor(handle.getCursor());
-		}
-		else if (figure != null) {
-			view.setCursor(new AWTCursor(java.awt.Cursor.MOVE_CURSOR));
-		}
-		else {
-			view.setCursor(new AWTCursor(java.awt.Cursor.DEFAULT_CURSOR));
-		}
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 * Switches the cursors depending on whats under them.
-     * Don't use x, y use getX and getY so get the real unlimited position
-	 * Part of the Tool interface.
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-		if (evt.getSource() == getActiveView()) {
-			setCursor(x, y, getActiveView());
-		}
-	}
-
-	/**
-	 * Handles mouse up events. The events are forwarded to the
-	 * current tracker.
-	 * Part of the Tool interface.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (fChild != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			fChild.mouseUp(e, x, y);
-			fChild = null;
-		}
-		setDragOn(true);
-		view().unfreezeView();
-		//get undo actions and push into undo stack?
-	}
-
-	/**
-	 * Handles mouse down events and starts the corresponding tracker.
-	 * Part of the Tool interface.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		// on MS-Windows NT: AWT generates additional mouse down events
-		// when the left button is down && right button is clicked.
-		// To avoid dead locks we ignore such events
-		if (fChild != null) {
-			return;
-		}
-
-		view().freezeView();
-
-		Handle handle = view().findHandle(getAnchorX(), getAnchorY());
-		if (handle != null) {
-			//Turn off DND
-			setDragOn(false);
-			fChild = createHandleTracker(handle);
-		}
-		else {
-			Figure figure = drawing().findFigure(getAnchorX(), getAnchorY());
-			if (figure != null) {
-				//fChild = createDragTracker(editor(), figure);
-				//fChild.activate();
-				fChild = null;
-				if (e.isShiftDown()) {
-				   view().toggleSelection(figure);
-				}
-				else if (!view().isFigureSelected(figure)) {
-					view().clearSelection();
-					view().addToSelection(figure);
-				}
-			}
-			else {
-				//Turn off DND
-				setDragOn(false);
-				if (!e.isShiftDown()) {
-					view().clearSelection();
-				}
-				fChild = createAreaTracker();
-			}
-		}
-		if (fChild != null) {
-			fChild.mouseDown(e, x, y);
-		}
-	}
-
-	/**
-	 * Handles mouse drag events. The events are forwarded to the
-	 * current tracker.
-	 * Part of the Tool interface.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (fChild != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			fChild.mouseDrag(e, x, y);
-		}
-	}
-
-	/**
-	 * Factory method to create an area tracker. It is used to select an
-	 * area.
-	 */
-	protected Tool createAreaTracker() {
-		return new SelectAreaTracker(editor());
-	}
-
-	/**
-	 * Factory method to create a Drag tracker. It is used to drag a figure.
-	 */
-	protected Tool createDragTracker(DrawingEditor editor, Figure f) {
-		return new DragTracker(editor, f);
-	}
-
-	/**
-	 * Factory method to create a Handle tracker. It is used to track a handle.
-	 */
-	protected Tool createHandleTracker(Handle handle) {
-		return new HandleTracker(editor(), handle);
-	}
-
-	private DragGestureListener getDragGestureListener(){
-		return dragGestureListener;
-	}
-
-	private void setDragGestureListener(DragGestureListener dragGestureListener){
-		this.dragGestureListener = dragGestureListener;
-	}
-
-	protected boolean isDragOn(){
-		return dragOn;
-	}
-
-	protected void setDragOn(boolean isNewDragOn){
-		this.dragOn = isNewDragOn;
-	}
-
-	private DragGestureListener createDragGestureListener() {
-		
-		return new DragGestureListener() {
-			
-			public void dragGestureRecognized(final java.awt.dnd.DragGestureEvent dge) {
-				Component c = dge.getComponent();
-				//System.out.println("Drag Gesture Recognized for " + c);
-				if (isDragOn() == false) {
-					return;
-				}
-
-				if (c instanceof DrawingView) {
-					boolean found = false;
-					DrawingView dv = (DrawingView)c;
-					/* Send the drawing view which inspired the action a mouseUp to clean
-					up its current tool.  This is because mouse up will otherwise never
-					be sent and the tool will be stuck with only mouse down which means
-					it will likely stay activated.  solve later for now just make
-					but report. */
-					/* this is a list of cloned figures */
-					FigureEnumeration selectedElements = dv.selection();
-
-					if (selectedElements.hasNextFigure() == false) {
-						return;
-					}
-
-					Point p = dge.getDragOrigin();
-		//				System.out.println("origin at " + p);
-					while (selectedElements.hasNextFigure()) {
-						Figure f = selectedElements.nextFigure();
-						if (f.containsPoint(p.x, p.y)) {
-		/*              Rectangle r = figgy.displayBox();
-							sx = r.width;
-							sy = r.height;*/
-							//System.out.println("figure is " + figgy);
-							found = true;
-							break;
-						}
-					}
-					if (found == true) {
-						DNDFigures dndff = new DNDFigures(dv.selection(), p);
-						DNDFiguresTransferable trans = new DNDFiguresTransferable(dndff);
-
-						/* SAVE FOR FUTURE DRAG IMAGE SUPPORT */
-						/* drag image support that I need to test on some supporting platform.
-						windows is not supporting this on NT so far. Ill test 98 and 2K next
-
-						boolean support = dragSource.isDragImageSupported();
-						java.awt.image.BufferedImage  bi = new BufferedImage(sx,sy,BufferedImage.TYPE_INT_RGB);
-						Graphics2D g = bi.createGraphics();
-						Iterator itr2 = selectedElements.iterator();
-						while ( itr2.hasNext() ) {
-							Figure fig = (Figure) itr2.next();
-							fig = (Figure)fig.clone();
-							Rectangle rold = fig.displayBox();
-							fig.moveBy(-rold.x,-rold.y);
-							fig.draw(g);
-						}
-						g.setBackground(Color.red);
-						dge.getDragSource().startDrag(
-										dge,
-										DragSource.DefaultMoveDrop,
-										bi,
-										new Point(0,0),
-										trans,
-										this);
-						*/
-						if (c instanceof JComponent) {
-							((JComponent)c).setAutoscrolls(false);
-						}
-						dge.getDragSource().startDrag(
-										dge,
-										null,
-										trans,
-										((DNDInterface)dv).getDragSourceListener());
-					}
-				}
-			}
-		};
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDragSourceListener.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDragSourceListener.java
deleted file mode 100644
index 94cca89ef..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDragSourceListener.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * JHDDragSource.java
- *
- * Created on January 28, 2003, 4:49 PM
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.DeleteFromDrawingVisitor;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Component;
-import java.awt.dnd.*;
-import javax.swing.JComponent;
-
-/**
- *
- * @author  Administrator
- */
-public class JHDDragSourceListener implements java.awt.dnd.DragSourceListener {
-	private Undoable sourceUndoable;
-	private Boolean autoscrollState;
-	private DrawingEditor editor;
-	
-	/** Creates a new instance of JHDDragSource */
-	public JHDDragSourceListener(DrawingEditor newEditor, DrawingView newView) {
-		this.editor = newEditor;
-	}
-//	protected DrawingView view(){
-//		return dv;
-//	}
-	protected DrawingEditor editor(){
-		return editor;
-	}
-	/**
-	 * This method is invoked to signify that the Drag and Drop operation is complete.
-	 * This is the last method called in the process.
-	 */
-	public void dragDropEnd(java.awt.dnd.DragSourceDropEvent dsde) {
-		DrawingView view = (DrawingView) dsde.getDragSourceContext().getComponent();
-		log("DragSourceDropEvent-dragDropEnd");
-		if (dsde.getDropSuccess() == true) {
-			if (dsde.getDropAction() == DnDConstants.ACTION_MOVE) {
-                log("DragSourceDropEvent-ACTION_MOVE");
-				//get the flavor in order of ease of use here.
-				setSourceUndoActivity(  createSourceUndoActivity( view ) );
-				DNDFigures df = (DNDFigures)DNDHelper.processReceivedData(DNDFiguresTransferable.DNDFiguresFlavor, dsde.getDragSourceContext().getTransferable());
-				getSourceUndoActivity().setAffectedFigures( df.getFigures() );
-
-				//all this visitation needs to be hidden in a view method.
-				DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(view.drawing());
-				FigureEnumeration fe = getSourceUndoActivity().getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					fe.nextFigure().visit(deleteVisitor);
-				}
-				view.clearSelection();
-				view.checkDamage();
-
-				editor().getUndoManager().pushUndo( getSourceUndoActivity() );
-				editor().getUndoManager().clearRedos();
-				// update menus
-				editor().figureSelectionChanged( view );
-			}
-			else if (dsde.getDropAction() == DnDConstants.ACTION_COPY) {
-				log("DragSourceDropEvent-ACTION_COPY");
-			}
-		}
-
-		if (autoscrollState != null) {
-			Component c = dsde.getDragSourceContext().getComponent();
-			if (JComponent.class.isInstance( c )) {
-				JComponent jc = (JComponent)c;
-				jc.setAutoscrolls(autoscrollState.booleanValue());
-				autoscrollState= null;
-			}
-		}
-	}
-	/**
-	 * Called as the hotspot enters a platform dependent drop site.
-	 */
-	public void dragEnter(DragSourceDragEvent dsde) {
-		log("DragSourceDragEvent-dragEnter");
-		if (autoscrollState == null) {
-			Component c = dsde.getDragSourceContext().getComponent();
-			if (JComponent.class.isInstance( c )) {
-				JComponent jc = (JComponent)c;
-				autoscrollState= new Boolean(jc.getAutoscrolls());
-				jc.setAutoscrolls(false);//why turn it off???
-			}
-		}
-	}
-	/**
-	 * Called as the hotspot exits a platform dependent drop site.
-	 */
-	public void dragExit(java.awt.dnd.DragSourceEvent dse) {
-	}
-	/**
-	 * Called as the hotspot moves over a platform dependent drop site.
-	 */
-	public void dragOver(DragSourceDragEvent dsde) {
-		//log("DragSourceDragEvent-dragOver");
-	}
-	/**
-	 * Called when the user has modified the drop gesture.
-	 */
-	public void dropActionChanged(DragSourceDragEvent dsde) {
-		log("DragSourceDragEvent-dropActionChanged");
-	}
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createSourceUndoActivity(DrawingView drawingView) {
-		return new RemoveUndoActivity( drawingView );
-	}
-	protected void setSourceUndoActivity(Undoable undoable){
-		sourceUndoable = undoable;
-	}
-	protected Undoable getSourceUndoActivity(){
-		return sourceUndoable;
-	}
-	public static class RemoveUndoActivity extends CH.ifa.draw.util.UndoableAdapter {
-		private boolean undone = false;
-		public RemoveUndoActivity(DrawingView view) {
-			super( view );
-			log("RemoveUndoActivity created " + view);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (isUndoable()) {
-				if(getAffectedFigures().hasNextFigure()) {
-					log("RemoveUndoActivity undo");
-					getDrawingView().clearSelection();
-					setAffectedFigures( getDrawingView().insertFigures(getAffectedFigures(), 0, 0,false));
-					undone = true;
-					return true;
-				}
-			}
-			return false;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				log("RemoveUndoActivity redo");
-				DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor( getDrawingView().drawing());
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					fe.nextFigure().visit(deleteVisitor); //orphans figures
-				}
-				getDrawingView().clearSelection();
-				setAffectedFigures( deleteVisitor.getDeletedFigures() );
-				undone = false;
-				return true;
-			}
-			return false;
-		}
-		/**
-		 * Since this is a delete activity, figures can only be released if the
-		 * action has not been undone.
-		 */
-		public void release() {
-			if(undone == false){//we have figures that used to be in the drawing, but were not adding back
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					Figure f = fe.nextFigure();
-					getDrawingView().drawing().remove(f);
-					f.release();
-				}
-			}
-			setAffectedFigures(CH.ifa.draw.standard.FigureEnumerator.getEmptyEnumeration());
-		}		
-	}
-	
-	
-	
-	
-	
-	
-	
-	private static void log(String message){
-		//System.out.println("JHDDragSourceListener: " + message);
-	}
-	
-	
-	
-	
-	
-	
-	
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDropTargetListener.java b/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDropTargetListener.java
deleted file mode 100644
index 060cb31be..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/dnd/JHDDropTargetListener.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * JHDDropTargetListener.java
- *
- * Created on January 28, 2003, 4:23 PM
- */
-
-package CH.ifa.draw.contrib.dnd;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.DeleteFromDrawingVisitor;
-import java.io.File;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Point;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.dnd.*;
-
-
-/**
- *
- * @author  Administrator
- */
-public class JHDDropTargetListener implements java.awt.dnd.DropTargetListener {
-	private int     fLastX=0, fLastY=0;      // previous mouse position
-	private Undoable targetUndoable;
-	private DrawingView dv;
-	private DrawingEditor editor;
-	/** Creates a new instance of JHDDropTargetListener */
-	public JHDDropTargetListener(DrawingEditor drawingEditor, DrawingView drawingView) {
-		dv = drawingView;
-		editor = drawingEditor;
-	}
-	protected DrawingView view(){
-		return dv;
-	}
-	protected DrawingEditor editor(){
-		return editor;
-	}
-	
-	
-	
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-	
-	/**
-	 * Called when a drag operation has encountered the DropTarget.
-	 */
-	public void dragEnter(DropTargetDragEvent dtde) {
-		log("DropTargetDragEvent-dragEnter");
-		supportDropTargetDragEvent(dtde);
-		if (fLastX == 0) {
-			fLastX = dtde.getLocation().x;
-		}
-		if (fLastY == 0) {
-			fLastY = dtde.getLocation().y;
-		}
-	}
-
-	/**
-	 * The drag operation has departed the DropTarget without dropping.
-	 */
-	public void dragExit(java.awt.dnd.DropTargetEvent dte) {
-		log("DropTargetEvent-dragExit");
-	}
-
-	/**
-	 * Called when a drag operation is ongoing on the DropTarget.
-	 */
-	 public void dragOver(DropTargetDragEvent dtde) {
-		//log("DropTargetDragEvent-dragOver");
-		if (supportDropTargetDragEvent(dtde)==true) {
-			int x=dtde.getLocation().x;
-			int y=dtde.getLocation().y;
-			if ((Math.abs(x - fLastX) > 0) || (Math.abs(y - fLastY) > 0) ) {
-				//FigureEnumeration fe = view().selectionElements();
-				//while (fe.hasNextFigure()) {
-				//	fe.nextFigure().moveBy(x - fLastX, y - fLastY);
-				//	System.out.println("moving Figures " + view());
-				//}
-				//view().drawing().update();
-				fLastX = x;
-				fLastY = y;
-			}
-		}
-	 }
-
-	/**
-	 * The drag operation has terminated with a drop on this DropTarget.
-	 * Be nice to somehow incorporate FigureTransferCommand here.
-	 */
-	 public void drop(java.awt.dnd.DropTargetDropEvent dtde) {
-		System.out.println("DropTargetDropEvent-drop");
-
-		if (dtde.isDataFlavorSupported(DNDFiguresTransferable.DNDFiguresFlavor) == true) {
-			log("DNDFiguresFlavor");
-			if ((dtde.getDropAction() & DnDConstants.ACTION_COPY_OR_MOVE) != 0 ) {
-				log("copy or move");
-				if (dtde.isLocalTransfer() == false) {
-					System.err.println("Intra-JVM Transfers not implemented for figures yet.");
-					dtde.rejectDrop();
-					return;
-				}
-				dtde.acceptDrop(dtde.getDropAction());
-				try { /* protection from a malicious dropped object */
-					setTargetUndoActivity( createTargetUndoActivity( view() ) );
-					DNDFigures ff = (DNDFigures)DNDHelper.processReceivedData(DNDFiguresTransferable.DNDFiguresFlavor, dtde.getTransferable());
-					getTargetUndoActivity().setAffectedFigures( ff.getFigures() );
-					Point theO = ff.getOrigin();
-					view().clearSelection();
-					Point newP = dtde.getLocation();
-					/** origin is where the figure thinks it is now
-					  * newP is where the mouse is now.
-					  * we move the figure to where the mouse is with this equation
-					  */
-					int dx = newP.x - theO.x;  /* distance the mouse has moved */
-					int dy = newP.y - theO.y;  /* distance the mouse has moved */
-					log("mouse at " + newP);
-					FigureEnumeration fe = view().insertFigures( getTargetUndoActivity().getAffectedFigures() ,  dx, dy, false );
-					getTargetUndoActivity().setAffectedFigures( fe );
-
-					if (dtde.getDropAction() == DnDConstants.ACTION_MOVE) {
-						view().addToSelectionAll( getTargetUndoActivity().getAffectedFigures() );
-					}
-
-					view().checkDamage();
-					editor().getUndoManager().pushUndo( getTargetUndoActivity() );
-					editor().getUndoManager().clearRedos();
-					// update menus
-					editor().figureSelectionChanged( view() );
-					dtde.dropComplete(true);
-				}
-				catch (NullPointerException npe) {
-					npe.printStackTrace();
-					dtde.dropComplete(false);
-				}
-			}
-			else {
-				dtde.rejectDrop();
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor)) {
-			log("String flavor dropped.");
-			dtde.acceptDrop(dtde.getDropAction());
-			Object o = DNDHelper.processReceivedData(DataFlavor.stringFlavor, dtde.getTransferable());
-			if (o != null) {
-				log("Received string flavored data.");
-				dtde.getDropTargetContext().dropComplete(true);
-			}
-			else {
-				dtde.getDropTargetContext().dropComplete(false);
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DNDHelper.ASCIIFlavor) == true) {
-			log("ASCII Flavor dropped.");
-			dtde.acceptDrop(DnDConstants.ACTION_COPY);
-			Object o = DNDHelper.processReceivedData(DNDHelper.ASCIIFlavor, dtde.getTransferable());
-			if (o!= null) {
-				log("Received ASCII Flavored data.");
-				dtde.getDropTargetContext().dropComplete(true);
-				//System.out.println(o);
-			}
-			else {
-				dtde.getDropTargetContext().dropComplete(false);
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
-			log("Java File List Flavor dropped.");
-			dtde.acceptDrop(DnDConstants.ACTION_COPY);
-			File [] fList = (File[]) DNDHelper.processReceivedData(DataFlavor.javaFileListFlavor, dtde.getTransferable());
-			if (fList != null) {
-				log("Got list of files.");
-				for (int x=0; x< fList.length; x++ ) {
-					System.out.println(fList[x].getAbsolutePath());
-				}
-				dtde.getDropTargetContext().dropComplete(true);
-			}
-			else {
-				dtde.getDropTargetContext().dropComplete(false);
-			}
-		}
-		fLastX = 0;
-		fLastY = 0;
-	}
-
-	/**
-	 * Called if the user has modified the current drop gesture.
-	 */
-	public void dropActionChanged(DropTargetDragEvent dtde) {
-		log("DropTargetDragEvent-dropActionChanged");
-		supportDropTargetDragEvent(dtde);
-	}
-
-	
-	
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-	
-	/**
-	 * Tests wether the Drag event is of a type that we support handling
-	 * Check the DND interface and support the events it says it supports
-	 * if not a dnd interface comp, then dont support! because we dont even
-	 * really know what kind of view it is.
-	 */
-	protected boolean supportDropTargetDragEvent(DropTargetDragEvent dtde) {
-		if (dtde.isDataFlavorSupported(DNDFiguresTransferable.DNDFiguresFlavor) == true) {
-			if ((dtde.getDropAction() & DnDConstants.ACTION_COPY_OR_MOVE) != 0) {
-				dtde.acceptDrag(dtde.getDropAction());
-				return true;
-			}
-			else {
-				dtde.rejectDrag();
-				return false;
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DNDHelper.ASCIIFlavor) == true) {
-			dtde.acceptDrag(dtde.getDropAction());//accept everything because i am too lazy to fix yet
-			return true;
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor) == true) {
-			dtde.acceptDrag(dtde.getDropAction());//accept everything because i am too lazy to fix yet
-			return true;
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor) == true) {
-			dtde.acceptDrag(dtde.getDropAction());//accept everything because i am too lazy to fix yet
-			return true;
-		}
-		else {
-			dtde.rejectDrag();
-			return false;
-		}
-	}
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-	
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createTargetUndoActivity(DrawingView view) {
-		return new AddUndoActivity( view );
-	}
-	protected void setTargetUndoActivity(Undoable undoable){
-		targetUndoable = undoable;
-	}
-	protected Undoable getTargetUndoActivity(){
-		return targetUndoable;
-	}
-	public static class AddUndoActivity extends CH.ifa.draw.util.UndoableAdapter {
-		private boolean undone=false;
-		public AddUndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			log("AddUndoActivity created " + newDrawingView);			
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			//undo of add really shouldnt need visitor !?!dnoyeb!?!
-			log("AddUndoActivity AddUndoActivity undo");
-			DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(getDrawingView().drawing());
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-	    		CH.ifa.draw.framework.Figure f = fe.nextFigure();
-				f.visit(deleteVisitor);
-			}
-			setAffectedFigures( deleteVisitor.getDeletedFigures() );
-			getDrawingView().clearSelection();
-			undone = true;
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-			log("AddUndoActivity redo");
-			getDrawingView().clearSelection();
-			setAffectedFigures(getDrawingView().insertFigures(
-				getAffectedFigures(), 0, 0, false));
-			undone = false;
-			return true;
-		}
-		/**
-		 *	Since this is an add operation, figures can only be released if it
-		 *  has been undone.
-		 */
-		public void release() {
-			if(undone == true){
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					Figure f = fe.nextFigure();
-					getDrawingView().drawing().remove(f);
-					f.release();
-				}
-			}
-			setAffectedFigures(CH.ifa.draw.standard.FigureEnumerator.getEmptyEnumeration());
-		}
-	}
-	private static void log(String message){
-		//System.out.println("JHDDropTargetListener: " + message);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/AbstractContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/AbstractContentProducer.java
deleted file mode 100644
index 4bbf49611..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/AbstractContentProducer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)AbstractContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * Base class for the ContentProducers hierarchy<br>
- * Doesn't do a thing now, but we may need this one later to add
- * generic behaviour.
- *
- * @author  Eduardo Francos - InContext
- * @created 7 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractContentProducer implements ContentProducer, Serializable {
-
-	final static long serialVersionUID = -2715253447095419531L;
-
-	/**
-	 * Constructor for the AbstractContentProducer object
-	 */
-	public AbstractContentProducer() { }
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) { }
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException { }
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeContentProducerContext.java b/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeContentProducerContext.java
deleted file mode 100644
index 6f08da4e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeContentProducerContext.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * @(#)AttributeContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * AttributeContentProducerContext defines the interface required of clients
- * requesting contents from AttributeFigures oriented ContentProducers.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface AttributeContentProducerContext extends FigureContentProducerContext {
-
-	/**
-	 * Gets an attribute from the ContentProducerContext object
-	 *
-	 * @param name  the name of the attribute
-	 * @return      The attribute value
-	 */
-	public Object getAttribute(String name);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeFigureContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeFigureContentProducer.java
deleted file mode 100644
index afead880a..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/AttributeFigureContentProducer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * @(#)AttributeFigureContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableOutput;
-import CH.ifa.draw.util.StorableInput;
-import java.io.IOException;
-
-/**
- * AttributeFigureContentProducer provides content for AttributeFigures.<br>
- * It gives priority to base class supplied values, and if none, then it
- * gets the value from the supplied AttributeContentProducerContext.
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class AttributeFigureContentProducer extends FigureDataContentProducer
-		 implements Serializable {
-
-	/**Constructor for the AttributeFigureContentProducer object */
-	public AttributeFigureContentProducer() { }
-
-	/**
-	 * Produces the contents for the attribute
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name
-	 * @param ctxAttrValue  the attribute value that led to the call to this
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// first chance to basic values
-		Object attrValue = super.getContent(context, ctxAttrName, ctxAttrValue);
-		if (attrValue != null) {
-			return attrValue;
-		}
-
-		// no, return value from attributes
-		return ((AttributeContentProducerContext)context).getAttribute(ctxAttrName);
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ColorContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ColorContentProducer.java
deleted file mode 100644
index f311717d9..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ColorContentProducer.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)ColorContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Color;
-import java.io.IOException;
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * ColorContentProducer produces RGB color encoded hexadecimal strings.<br>
- * Ex:
- * <code>Color.blue ==> 0x0000FF</code><br>
- * <code>Color.red  ==> 0xFF00FF</code><br>
- * It can either be specific if set for a specific color, or generic, encoding
- * any color passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ColorContentProducer extends FigureDataContentProducer
-		 implements Serializable {
-
-	private Color fColor = null;
-
-	/**Constructor for the ColorContentProducer object */
-	public ColorContentProducer() { }
-
-	/**
-	 * Constructor for the ColorContentProducer object
-	 *
-	 * @param color  the specific color to use
-	 */
-	public ColorContentProducer(Color color) {
-		setColor(color);
-	}
-
-	/**
-	 * Produces the contents for the color
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the color attribute name (FrameColor, TextColor, etc)
-	 * @param ctxAttrValue  the color
-	 * @return              The string RBG value for the color
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// if we have our own color then use it
-		// otherwise use the one supplied
-		Color color = (getColor() != null) ? getColor() : (Color)ctxAttrValue;
-		String colorCode = Integer.toHexString(color.getRGB());
-		return "0x" + colorCode.substring(colorCode.length() - 6);
-	}
-
-	/**
-	 * Sets the color attribute of the ColorContentProducer object
-	 *
-	 * @param color  The new color value
-	 */
-	public void setColor(Color color) {
-		fColor = color;
-	}
-
-	/**
-	 * Gets the color attribute of the ColorContentProducer object
-	 *
-	 * @return   The color value
-	 */
-	public Color getColor() {
-		return fColor;
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeBoolean((getColor() != null));
-		if (getColor() != null) {
-			dw.writeInt(getColor().getRGB());
-		}
-	}
-
-	/**
-	 * Reads the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		boolean hasColor = dr.readBoolean();
-		if (hasColor) {
-			setColor(new Color(dr.readInt()));
-		}
-		else{
-			setColor(null);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducer.java
deleted file mode 100644
index 66e8359d0..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * @(#)ContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import CH.ifa.draw.util.Storable;
-
-/**
- * ContentProducer defines the interface for objects capable of producing
- * contents on behalf of a client context.<br>
- * Primarely based on the Strategy pattern, the purpose of ContentProducers
- * is twofold:<br>
- * <li> Detach the logic for producing generic content from interested parties so
- * as to maximize reuse, of special interest for complex content</li>
- * <li> Standardize contents by allowing for the automatic decentralization of
- * contents source and production logic. Used together with the
- * ContentProducerRegistry it is possible to globally modify the behaviour
- * required for producing a specific type of contents. For example,
- * a FieldContentProducer could be declined to get its contents from variables in
- * an in-memory object, a setting from a configuration file, or even a field in
- * a database record.</li>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- * @todo    should entity names be merged with the attribute names defined
- * in FigureAttributeConstant?
- */
-public interface ContentProducer extends Storable {
-
-	/** Entity name for the figure's current x position in pixels */
-	public final static String ENTITY_FIGURE_POSX = "FigurePosX";
-
-	/** Entity name for the figure's current y position in pixels */
-	public final static String ENTITY_FIGURE_POSY = "FigurePosY";
-
-	/** Entity name for the figure's current width in pixels */
-	public final static String ENTITY_FIGURE_WIDTH = "FigureWidth";
-
-	/** Entity name for the figure's current height in pixels */
-	public final static String ENTITY_FIGURE_HEIGHT = "FigureHeight";
-
-	/** Entity name for the figure's current text color */
-	public final static String ENTITY_FRAME_COLOR = "FrameColor";
-
-	/** Entity name for the figure's current fill color */
-	public final static String ENTITY_FILL_COLOR = "FillColor";
-
-	/** Entity name for the figure's current arrow mode */
-	public final static String ENTITY_ARROW_MODE = "ArrowMode";
-
-	/** Entity name for the figure's current font name */
-	public final static String ENTITY_FONT_NAME = "FontName";
-
-	/** Entity name for the figure's current font size */
-	public final static String ENTITY_FONT_SIZE = "FontSize";
-
-	/** Entity name for the figure's current font style */
-	public final static String ENTITY_FONT_STYLE = "FontStyle";
-
-	/**
-	 * Produces the contents
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name
-	 * @param ctxAttrValue  the attribute value that led to the call to this
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerContext.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerContext.java
deleted file mode 100644
index 984637a99..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerContext.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)ContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * ContentProducerContext defines the base interface required of clients
- * of ContentProducers.<br>
- * ContentProducers may need to retrieve information from their calling client
- * in order to fulfill the contents request
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface ContentProducerContext {
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerRegistry.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerRegistry.java
deleted file mode 100644
index 50b16d851..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ContentProducerRegistry.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * @(#)ContentProducerRegistry.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.net.URL;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import CH.ifa.draw.util.Storable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * ContentProducerRegistry acts as a repository for ContentProducers. It allows
- * for registries to be organized in a hierarchy, so that a specific producer
- * request will travel upwards in the hierarchy until eventually a suitable
- * producer is found.<br>
- * Producers are registered associated with the class of the object they are suitable
- * to produce contents for, but ContentProducerRegistry allows for class hierarchy
- * searches. What this means is that for two classes A and B, B being a subclass
- * of A, if a producer is registered for class B it will be used, otherwise the
- * producer registered for class A will be used instead. ContentProducerRegistry will
- * always select the super class closest in the class hierarchy, so if several
- * producers are registered for classes in a derivation hierarchy, the producer
- * registered for the class closest to the requested class will be selected.
- *
- * @author  Eduardo Francos - InContext
- * @created 7 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ContentProducerRegistry implements Serializable, Storable {
-
-	/** producers registered with this registry */
-	private Hashtable fContentProducers = new Hashtable();
-
-	/** parent registry for hierarchical searches */
-	private transient ContentProducerRegistry fParent;
-
-	/** Application global producers */
-	private static ContentProducerRegistry fDefaultRegistry =
-			new ContentProducerRegistry(null);
-
-	// initialize the application wide default content producers
-	static {
-		fDefaultRegistry.registerContentProducer(URL.class, new URLContentProducer());
-	}
-
-	/**Constructor for the ContentProducerRegistry object */
-	public ContentProducerRegistry() {
-		setParent(fDefaultRegistry);
-	}
-
-	/**
-	 *Constructor for the ContentProducerRegistry object
-	 *
-	 * @param parent  the parent for this producer
-	 */
-	public ContentProducerRegistry(ContentProducerRegistry parent) {
-		setParent(parent);
-	}
-
-	/**
-	 * Sets the autonomous attribute of the ContentProducerRegistry object.
-	 * Similar to setting the parent to null<br>
-	 * An autonomous registry does not have a parent hierarchy so resolution of
-	 * search requests stop do not propagate.
-	 *
-	 * @see   #setParent(ContentProducerRegistry)
-	 */
-	public void setAutonomous() {
-		setParent(null);
-	}
-
-	/**
-	 * Gets the autonomous status of the ContentProducerRegistry object
-	 *
-	 * @return   The autonomous value
-	 */
-	public boolean isAutonomous() {
-		return (getParent() == null);
-	}
-
-	/**
-	 * Sets the parent attribute of the ContentProducerRegistry object
-	 *
-	 * @param newParent  The new parent value
-	 * @see              #setAutonomous()
-	 */
-	public void setParent(ContentProducerRegistry newParent) {
-		fParent = newParent;
-	}
-
-	/**
-	 * Gets the parent attribute of the ContentProducerRegistry object
-	 *
-	 * @return   The parent value
-	 */
-	public ContentProducerRegistry getParent() {
-		return fParent;
-	}
-
-	/**
-	 * Registers an application global producer
-	 *
-	 * @param producer     the registered producer
-	 * @param targetClass  The class associated with the producer
-	 * @return             the previous producer registered for the target class
-	 */
-	public static ContentProducer registerDefaultContentProducer(Class targetClass, ContentProducer producer) {
-		return fDefaultRegistry.registerContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Unregisters ie: removes a registered producer for a target class.<br>
-	 * A check is made to ensure the removed producer is the current producer
-	 * for the target class. If not, the request is ignored.
-	 *
-	 * @param producer     the producer to unregister
-	 * @param targetClass  the target class
-	 */
-	public static void unregisterDefaultContentProducer(Class targetClass, ContentProducer producer) {
-		fDefaultRegistry.unregisterContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Gets the ContentProducer attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param targetClass  the target class
-	 * @return             the previous producer registered for the target class
-	 */
-	public static ContentProducer getDefaultContentProducer(Class targetClass) {
-		return fDefaultRegistry.getContentProducer(targetClass);
-	}
-
-	/**
-	 * Gets the exact application global Producer for the target class, ie:
-	 * no class hierarchy search
-	 *
-	 * @param targetClass  the target class
-	 * @return             The producer
-	 */
-	public static ContentProducer getExactDefaultContentProducer(Class targetClass) {
-		return fDefaultRegistry.getExactContentProducer(targetClass);
-	}
-
-	/**
-	 * Registers a producer
-	 *
-	 * @param producer     the producer to register
-	 * @param targetClass  the target class
-	 * @return             the previous producer registered for the target class
-	 */
-	public ContentProducer registerContentProducer(Class targetClass, ContentProducer producer) {
-		ContentProducer previousProducer = getContentProducer(targetClass);
-		fContentProducers.put(targetClass, producer);
-		return previousProducer;
-	}
-
-	/**
-	 * Unregisters a producer
-	 *
-	 * @param producer     the producer to unregister
-	 * @param targetClass  the target class
-	 */
-	public void unregisterContentProducer(Class targetClass, ContentProducer producer) {
-		// first check that the producer being removed is the current producer
-		// for the target class
-		ContentProducer currentProducer = getContentProducer(targetClass);
-		if (currentProducer == producer) {
-			fContentProducers.remove(targetClass);
-		}
-	}
-
-	/**
-	 * Finds the most appropriate producer for the target class. Will search
-	 * first for exact producers, ie: no class hierarchy search, then if none found,
-	 * will do a class compatible search
-	 *
-	 * @param targetClass  The target class
-	 * @return             The producer
-	 */
-	public ContentProducer getContentProducer(Class targetClass) {
-		// first try an exact producer
-		ContentProducer producer = getExactContentProducer(targetClass);
-		if (producer != null) {
-			return producer;
-		}
-
-		// none defined, try finding one for the nearest super class
-		// of the target class. Note this shouldn't return null because there is
-		// a default producer defined for the Object class
-		return getSuperClassContentProducer(targetClass, null);
-	}
-
-	/**
-	 * Finds the exact producer for the target class, ie: no class hierarchy search
-	 *
-	 * @param targetClass  The target class
-	 * @return             The producer
-	 */
-	public ContentProducer getExactContentProducer(Class targetClass) {
-		// first try our own
-		ContentProducer producer = (ContentProducer)fContentProducers.get(targetClass);
-		if (producer != null) {
-			return producer;
-		}
-
-		// none defined, try our parent's
-		// unless we are autonomous (ie: we have no parent)
-		if (!this.isAutonomous()) {
-			return getParent().getExactContentProducer(targetClass);
-		}
-
-		// none defined
-		return null;
-	}
-
-	/**
-	 * Gets the producers for the closest super class of the target class
-	 *
-	 * @param targetClass  The target class
-	 * @return             The producer
-	 */
-	protected ContentProducer getSuperClassContentProducer(Class targetClass, Class closestClass) {
-		Map.Entry entry = null;
-		Class entryClass = null;
-		ContentProducer closestProducer = null;
-
-		Iterator iter = fContentProducers.entrySet().iterator();
-		while (iter.hasNext()) {
-			entry = (Map.Entry)iter.next();
-			entryClass = (Class)entry.getKey();
-			if (entryClass.isAssignableFrom(targetClass)) {
-				if (closestClass != null && closestClass.isAssignableFrom(entryClass)) {
-					closestClass = entryClass;
-					closestProducer = (ContentProducer)entry.getValue();
-				}
-			}
-		}
-
-		// whether we found one or not ask our parent to see if a more
-		// exact producer is defined
-		// unless we are autonomous (ie: we have no parent)
-		if (!this.isAutonomous()) {
-			ContentProducer parentProducer =
-					getParent().getSuperClassContentProducer(targetClass, closestClass);
-			if (parentProducer != null) {
-				closestProducer = parentProducer;
-			}
-		}
-
-		return closestProducer;
-	}
-
-	/**
-	 * Storable write support
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeInt(fContentProducers.size());
-		Map.Entry producerEntry;
-		Iterator iter = fContentProducers.entrySet().iterator();
-		while (iter.hasNext()) {
-			producerEntry = (Map.Entry)iter.next();
-			dw.writeString(((Class)producerEntry.getKey()).getName());
-			dw.writeStorable((Storable)producerEntry.getKey());
-		}
-	}
-
-	/**
-	 * Storable inoput support
-	 *
-	 * @param dr               storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		// read the default content producers, count first
-		int prodCount = dr.readInt();
-		String prodClass;
-		ContentProducer producer;
-		for (int cnt = 0; cnt < prodCount; cnt++) {
-			prodClass = dr.readString();
-			producer = (ContentProducer)dr.readStorable();
-			try {
-				registerContentProducer(Class.forName(prodClass), producer);
-			}
-			catch (ClassNotFoundException ex) {
-				// the class does not exist in this application
-				// cannot do much about it so ignore it, the entities of
-				// this class will get their toString() value instead
-			}
-		}
-
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/DiamondFigureGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/DiamondFigureGeometricAdapter.java
deleted file mode 100644
index aa1323572..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/DiamondFigureGeometricAdapter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)DiamondFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Shape;
-
-import CH.ifa.draw.contrib.DiamondFigure;
-
-/**
- * Geometric adapter for the DiamondFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 6 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class DiamondFigureGeometricAdapter extends DiamondFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the DiamondFigureGeometricAdapter object
-	 */
-	public DiamondFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the DiamondFigureGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public DiamondFigureGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the DiamondFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		return getPolygon();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceHolder.java b/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceHolder.java
deleted file mode 100644
index 109e55fb6..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceHolder.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * @(#)DisposableResourceHolder.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * DisposableResourceHolder defines the interface for objects holding
- * disposable resources.<br>
- * A disposable resource is any kind of object that can be disposed of
- * according to a given disposal strategy.<BR>
- * DisposableResourceHolder keeps track of the last time the resource is
- * accessed to support ellapsed time ResourceDisposabilityStrategies.<br>
- * For example, if you are handling large images that you can regenerate
- * at will, the DisposableResourceHolder will hold the image, and if not
- * accessed for let's say 60 secs then it discards the image
- * (sets its reference to null) so that it can be GCed.<br>
- * Within the context of JHotDraw, HTMLTextAreaFigure uses
- * DisposableResourceHolders to handle the HTML generated image, but if the
- * figure is not displayed (out of the display area or in a background view) then
- * the image is disposed of after a while and the HTMLTextAreaFigure will regenerate
- * it the next time it is displayed.<br>
- * A resource may be locked so that its user can be sure it will not be
- * disposed of while in use. After finished using it it should be unlocked so as
- * to reintegrate it to the disposal strategy.
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- * @version   <$CURRENT_VERSION$>
- * @see       DisposableResourceManager
- * @see       StandardDisposableResourceManager
- * @see       ResourceDisposabilityStrategy
- * @see       DisposableResourceManagerFactory
- * @see       StandardDisposableResourceHolder
- */
-public interface DisposableResourceHolder {
-
-	/**
-	 * Gets the resource
-	 *
-	 * @return                          The resource value
-	 * @exception NullPointerException  If the resource was disposed of
-	 */
-	public Object getResource() throws NullPointerException;
-
-	/**
-	 * Makes a clone the this
-	 *
-	 * @return   the clone
-	 */
-	public Object clone();
-
-	/**
-	 * Sets the resource
-	 *
-	 * @param resource  The new resource value
-	 */
-	public void setResource(Object resource);
-
-	/**
-	 * Sets the disposableDelay
-	 *
-	 * @param millis  The new disposableDelay value
-	 */
-	public void setDisposableDelay(long millis);
-
-	/**
-	 * Gets the disposableDelay
-	 *
-	 * @return   The disposableDelay value
-	 */
-	public long getDisposableDelay();
-
-	/**
-	 * Resets the disposing delay so as to restart the time counter
-	 */
-	public void resetDelay();
-
-	/**
-	 * Gets the lastTimeAccessed attribute of the DisposableResourceHolder object
-	 *
-	 * @return   The lastTimeAccessed value
-	 */
-	public long getLastTimeAccessed();
-
-	/** Disposes of the resource immediately. */
-	public void dispose();
-
-	/**
-	 * Returns true if the resource is still available
-	 *
-	 * @return   The resourceDirty value
-	 */
-	public boolean isAvailable();
-
-	/**
-	 * Locks the resource so it cannot be automatically disposed of until unlock
-	 * is called.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void lock();
-
-	/**
-	 * Unlocks the resource so it can be automatically disposed of again.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void unlock();
-
-	/**
-	 * True if the resource is locked
-	 *
-	 * @return   The locked status
-	 */
-	public boolean isLocked();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManager.java b/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManager.java
deleted file mode 100644
index d4b21b992..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManager.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * @(#)DisposableResourceManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.util.Iterator;
-
-/**
- * DisposableResourceManager defines the interface for managers of disposable
- * resources.<br>
- * A DisposableResourceManager implements a strategy for efficient disposal
- * of seldom used resources.
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface DisposableResourceManager {
-
-	/**
-	 * Registers a resource with the manager so as to be disposed
-	 *
-	 * @param resource  the resource
-	 */
-	public void registerResource(DisposableResourceHolder resource);
-
-	/**
-	 * Unregisters a resource so it is not automatically GCed.<br>
-	 *
-	 * @param resource  the resource
-	 */
-	public void unregisterResource(DisposableResourceHolder resource);
-
-	/**
-	 * Returns an iterator on the managed resources
-	 *
-	 * @return   The resources iterator
-	 */
-	public Iterator getResources();
-
-	/**
-	 * True if the resource is registered with this manager
-	 *
-	 * @param resource  The resource
-	 * @return          True if the resource is registered with this manager
-	 */
-	public boolean managesResource(DisposableResourceHolder resource);
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  Description of the Exception
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException;
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resource.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns whether the
-	 * disposal was stopped or not, but the desactivation request remains active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManagerFactory.java b/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManagerFactory.java
deleted file mode 100644
index d89e67903..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/DisposableResourceManagerFactory.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * @(#)DisposableResourceManagerFactory.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * DisposableResourceManagerFactory creates DisposableResourceHolders on behalf
- * of requesting clients. It automatically registers the holders with its singleton
- * standard resource manager
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public abstract class DisposableResourceManagerFactory {
-
-	/** The default periodicity for resource disposal */
-	public static long DEFAULT_DISPOSAL_PERIODICITY = 60000;
-
-	/** The singleton current resource manager */
-	protected static DisposableResourceManager currentManager = null;
-
-	protected static ResourceDisposabilityStrategy currentStrategy = null;
-
-	protected static DisposableResourceHolder holderPrototype = null;
-
-	/**
-	 * Gets the current manager.
-	 *
-	 * @return   The currentManager
-	 */
-	public static DisposableResourceManager getManager() {
-		return currentManager;
-	}
-
-	/**
-	 * Sets the strategy of the DisposableResourceManagerFactory
-	 * class. This is a one shot thing that should be initialized before using it
-	 * so if there is already a strategy this returns without further notice.
-	 *
-	 * @param strategy  The new disposalStrategy
-	 */
-	public static void setStrategy(ResourceDisposabilityStrategy strategy) {
-		currentStrategy = strategy;
-	}
-
-	/**
-	 * Returns a new standard resource holder already registered with the default
-	 * resource manager
-	 *
-	 * @param resource  Description of the Parameter
-	 * @return          the newly created resource holder
-	 */
-	public static DisposableResourceHolder createStandardHolder(Object resource) {
-		// ensure the manager is set and running
-		initManager();
-
-		// now create the holder and register it
-		DisposableResourceHolder holder = (DisposableResourceHolder)holderPrototype.clone();
-		holder.setResource(resource);
-		getManager().registerResource(holder);
-
-		return holder;
-	}
-
-	/** Initializes the standard resource disposal manager */
-	protected static void initManager() {
-		if (currentManager == null) {
-			// ensure we have a holder prototype
-			if (holderPrototype == null) {
-				holderPrototype = new StandardDisposableResourceHolder();
-			}
-			// ensure we have a strategy
-			if (currentStrategy == null) {
-				currentStrategy = new ETSLADisposalStrategy(DEFAULT_DISPOSAL_PERIODICITY);
-			}
-			// ensure we have a manager
-			if (currentManager == null) {
-			   currentManager = new StandardDisposableResourceManager(currentStrategy);
-			}
-
-			// start the whole thing
-			try {
-				currentManager.startDisposing();
-			}
-			catch (ResourceManagerNotSetException ex) {
-				// we set it so we shouldn't get here
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ETSLADisposalStrategy.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ETSLADisposalStrategy.java
deleted file mode 100644
index 668692b70..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ETSLADisposalStrategy.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * @(#)ETSLADisposalStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.util.Iterator;
-
-/**
- * ETSLADisposalStrategy implements an Ellapsed Time Since Last Access disposal
- * strategy.<bt>
- * It checks the last time a resource was accessed and if greater than
- * the resource's disposalDelay it disposes of the resource so that it can
- * be GCed.<br>
- * Disposal activity must be explicitely started using the startDisposing method
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- * @version   1.0
- */
-public class ETSLADisposalStrategy implements ResourceDisposabilityStrategy {
-
-	/** The associated resource manager */
-	private DisposableResourceManager manager;
-
-	/** The periodicity at wich disposal is checked */
-	private long gcPeriodicity = 60000;
-
-	/** the thread that calls this periodically */
-	private DisposalThread disposalThread = null;
-
-	/** True if disposal is active and running */
-	private boolean disposingActive = false;
-
-
-	/**
-	 * Constructor for the ETSLADisposalStrategy object
-	 */
-	public ETSLADisposalStrategy() { }
-
-	/**
-	 *Constructor for the ETSLADisposalStrategy object
-	 *
-	 * @param periodicity  the periodicity at which to check for disposable resources
-	 */
-	public ETSLADisposalStrategy(long periodicity) {
-		this(null, periodicity);
-	}
-
-	/**
-	 *Constructor for the ETSLADisposalStrategy object
-	 *
-	 * @param manager      the manager
-	 * @param periodicity  the periodicity at which to check for disposable resources
-	 */
-	public ETSLADisposalStrategy(DisposableResourceManager newManager, long newPeriodicity) {
-		setManager(newManager);
-		setPeriodicity(newPeriodicity);
-		initDisposalThread();
-	}
-
-	/**
-	 * Sets the manager holding the resources for this strategy
-	 *
-	 * @param manager  The new manager value
-	 */
-	public synchronized void setManager(DisposableResourceManager newManager) {
-		// if new manager is null the stop disposing
-		if (getManager() == null) {
-			stopDisposing(Long.MAX_VALUE);
-		}
-		manager = newManager;
-	}
-
-	/**
-	 * Gets the manager holding the resources for this strategy
-	 *
-	 * @return   The manager value
-	 */
-	public DisposableResourceManager getManager() {
-		return manager;
-	}
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  thrown if the manager has not
-	 * been set, so impossible to run
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException {
-		if (getManager() == null) {
-			throw new ResourceManagerNotSetException();
-		}
-
-		// do nothing if already active
-		if (disposingActive) {
-			return;
-		}
-
-		disposingActive = true;
-		disposalThread.start();
-	}
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resources.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns, but the
-	 * deactivation request remains active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis) {
-		// do nothing if not disposing
-		if (!disposingActive) {
-			return;
-		}
-		// request the thread to stop and wait for it
-		try {
-			disposalThread.interruptDisposalPending = true;
-			disposalThread.join(millis);
-		}
-		catch (InterruptedException ex) {
-			// ignore
-		}
-		finally {
-			disposingActive = false;
-		}
-	}
-
-	/**
-	 * Initializes the disposal thread if not alrady done.
-	 */
-	protected void initDisposalThread() {
-		if (disposalThread != null) {
-			return;
-		}
-
-		disposalThread = new DisposalThread(this, getPeriodicity());
-	}
-
-	/**
-	 * Dispose of all the resources whose dispose delay has expired and
-	 * are not locked
-	 */
-	protected synchronized void dispose() {
-		synchronized (getManager()) {
-			long currentTime = System.currentTimeMillis();
-			Iterator resourceIter = getManager().getResources();
-			DisposableResourceHolder resource;
-
-			while (resourceIter.hasNext()) {
-				resource = (DisposableResourceHolder)resourceIter.next();
-				synchronized (resource) {
-					if (!resource.isLocked() && (resource.getLastTimeAccessed() + resource.getDisposableDelay()) < currentTime) {
-						resource.dispose();
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Gets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @return   The periodicity value
-	 */
-	public long getPeriodicity() {
-		return gcPeriodicity;
-	}
-
-	/**
-	 * Sets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @param newPeriodicity  The new periodicity value
-	 */
-	public void setPeriodicity(long newPeriodicity) {
-		gcPeriodicity = newPeriodicity;
-		if (disposalThread != null) {
-			disposalThread.setPeriodicity(newPeriodicity);
-		}
-	}
-}
-
-/**
- * Description of the Class
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- */
-class DisposalThread extends Thread {
-
-	private ETSLADisposalStrategy strategy;
-
-	/** The periodicity at wich disposal is checked */
-	private long periodicity = 60000;
-
-	/** Description of the Field */
-	boolean interruptDisposalPending = false;
-
-	/**
-	 *Constructor for the DisposalThread object
-	 *
-	 * @param strategy     the strategy
-	 * @param periodicity  the periodicity at which the strategy should be called
-	 */
-	DisposalThread(ETSLADisposalStrategy newStrategy, long newPeriodicity) {
-		strategy = newStrategy;
-		periodicity = newPeriodicity;
-	}
-
-	/**
-	 * Main processing method for the DisposalThread object
-	 */
-	public void run() {
-		interruptDisposalPending = false;
-		while (!interruptDisposalPending) {
-			try {
-				sleep(periodicity);
-			}
-			catch (Exception ex) {
-				// just exit
-				break;
-			}
-			strategy.dispose();
-		}
-		interruptDisposalPending = false;
-	}
-
-	/**
-	 * Gets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @return   The periodicity value
-	 */
-	public long getPeriodicity() {
-		return periodicity;
-	}
-
-	/**
-	 * Sets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @param newPeriodicity  The new periodicity value
-	 */
-	public void setPeriodicity(long newPeriodicity) {
-		periodicity = newPeriodicity;
-	}
-
-	/** Description of the Method */
-	public void interruptDisposal() {
-		interruptDisposalPending = true;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/EllipseFigureGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/EllipseFigureGeometricAdapter.java
deleted file mode 100644
index 672e97f9e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/EllipseFigureGeometricAdapter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)EllipseFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.Shape;
-import java.awt.geom.Ellipse2D;
-
-import CH.ifa.draw.figures.EllipseFigure;
-
-/**
- * Geometric adapter for the EllipseFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 1 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class EllipseFigureGeometricAdapter extends EllipseFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the EllipseFigureExt object
-	 */
-	public EllipseFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the EllipseFigureGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public EllipseFigureGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the EllipseFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		Rectangle rect = displayBox();
-		Ellipse2D.Float ellipse = new Ellipse2D.Float(rect.x, rect.y, rect.width, rect.height);
-		return ellipse;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/FigureContentProducerContext.java b/JHotDraw/src/CH/ifa/draw/contrib/html/FigureContentProducerContext.java
deleted file mode 100644
index 2606889cc..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/FigureContentProducerContext.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)FigureContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Font;
-
-import java.awt.Rectangle;
-
-/**
- * FigureContentProducerContext defines the interface required of clients
- * requesting contents for Figure oriented ContentProducers.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 7 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureContentProducerContext extends ContentProducerContext {
-
-	/**
-	 * Returns the display box of the figure
-	 *
-	 * @return   the display box
-	 */
-	public Rectangle displayBox();
-
-	/**
-	 * Gets the font of the figure
-	 *
-	 * @return   The font
-	 */
-	public Font getFont();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/FigureDataContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/FigureDataContentProducer.java
deleted file mode 100644
index 1e19b83a8..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/FigureDataContentProducer.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * @(#)FigureDataContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * FigureDataContentProducer produces content on behalf of Figures.<br>
- * It supports the basic information common to all figures.
- * It can only be used as a generic producer, getting information from any
- * figure passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class FigureDataContentProducer extends AbstractContentProducer
-		 implements Serializable {
-
-	/**
-	 * Constructor for the FigureContentProducer object
-	 */
-	public FigureDataContentProducer() { }
-
-	/**
-	 * Produces the contents for the figure
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name
-	 * @param ctxAttrValue  the figure
-	 * @return              The string value for the requested entity name
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_WIDTH) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().width);
-		}
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_HEIGHT) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().height);
-		}
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_POSX) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().x);
-		}
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_POSY) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().y);
-		}
-
-		return null;
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/GeometricFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/html/GeometricFigure.java
deleted file mode 100644
index 3a525dbc1..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/GeometricFigure.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * @(#)GeometricFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Shape;
-
-import CH.ifa.draw.framework.Figure;
-
-/**
- * GeometricFigure defines required of figures that can be used as shape providers
- * for other figures. See HTMLTextArea for an example.
- *
- * @author  Eduardo Francos - InContext
- * @created 1 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface GeometricFigure extends Figure {
-
-	/**
-	 * Returns a shape with the figures area outline
-	 *
-	 * @return   The shape
-	 */
-	public Shape getShape();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLColorContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLColorContentProducer.java
deleted file mode 100644
index 0805030b3..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLColorContentProducer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * @(#)HTMLColorContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Color;
-import java.io.Serializable;
-
-/**
- * HTMLColorContentProducer produces RGB color HTML encoded strings.<br>
- * Ex:
- * <code>Color.blue ==> #0000FF</code><br>
- * <code>Color.red  ==> #FF00FF</code><br>
- * It can either be specific if set for a specific color, or generic, encoding
- * any color passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLColorContentProducer extends ColorContentProducer implements Serializable {
-
-	/**
-	 * Constructor for the HTMLColorContentProducer object
-	 */
-	public HTMLColorContentProducer() { }
-
-	/**
-	 * Produces the contents for the color
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the color attribute name (FrameColor, TextColor, etc)
-	 * @param ctxAttrValue  the color
-	 * @return              The HTML encoded RBG value for the color
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// if we have our own color then use it
-		// otherwise use the one supplied
-		Color color = (getColor() != null) ? getColor() : (Color)ctxAttrValue;
-		return getHTMLColorCode(color);
-	}
-
-	public static String getHTMLColorCode(Color color) {
-		String colorCode = Integer.toHexString(color.getRGB());
-		return "#" + colorCode.substring(colorCode.length() - 6);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducer.java
deleted file mode 100644
index 72ff17fb7..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducer.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * @(#)HTMLContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.Serializable;
-
-/**
- * HTMLContentProducer produces HTML suitable  values and encoded strings for
- * various types of values.<br>
- * It can also transform values into their HTML equivalents, like for instance
- * a mapping between font sizes in points and the HTML valid font size values.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLContentProducer extends AttributeFigureContentProducer
-		 implements Serializable {
-
-	/** Table of font size equivalents between points and HTML font sizes */
-	protected final static int[][] htmlFontSizeEquivalences =
-			{
-	// 0 to 9 points ==> size 1
-			{1, 0, 9},
-	// 10 to 11 points ==> size 2
-			{2, 10, 11},
-	// 12 to 13 points ==> size 3
-			{3, 12, 13},
-	// 14 to 17 points ==> size 4
-			{4, 14, 17},
-	// 18 to 23 points ==> size 5
-			{5, 18, 23},
-	// 24 to 35 points ==> size 6
-			{6, 24, 35},
-	// 36 and higher points ==> size 7
-			{7, 36, Integer.MAX_VALUE}
-			};
-
-	/**
-	 * Constructor for the HTMLContentProducer object
-	 */
-	public HTMLContentProducer() { }
-
-	/**
-	 * Gets the HTML content value for the requested attribute
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name (FontSize, etc...)
-	 * @param ctxAttrValue  the attribute value that led to the call to this
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		HTMLContentProducerContext htmlContext = (HTMLContentProducerContext)context;
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FONT_SIZE) == 0) {
-			return Integer.toString(getHTMLFontSizeEquivalent(htmlContext.getFont().getSize()));
-		}
-
-		return super.getContent(context, ctxAttrName, ctxAttrValue);
-	}
-
-	/**
-	 * Gets the hTMLFontSizeEquivalent attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param pointSize  the font size in points
-	 * @return           The hTMLFontSizeEquivalent value
-	 */
-	public int getHTMLFontSizeEquivalent(int pointSize) {
-		for (int i = 0; i < htmlFontSizeEquivalences.length; i++) {
-			if (pointSize >= htmlFontSizeEquivalences[i][1] &&
-					pointSize <= htmlFontSizeEquivalences[i][2]) {
-				return htmlFontSizeEquivalences[i][0];
-			}
-		}
-		// not found?!?!?! return the "normal" font size
-		return 3;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducerContext.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducerContext.java
deleted file mode 100644
index c436ec21d..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLContentProducerContext.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * @(#)HTMLContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * HTMLContentProducerContext defines the interface required of clients
- * requesting HTML based contents.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface HTMLContentProducerContext extends AttributeContentProducerContext {
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLLayouter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLLayouter.java
deleted file mode 100644
index b27d79e5c..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLLayouter.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)HTMLLayouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Insets;
-import java.awt.Point;
-
-import java.awt.Rectangle;
-import java.io.IOException;
-import CH.ifa.draw.contrib.Layoutable;
-import CH.ifa.draw.contrib.Layouter;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * HTMLLayouter implements the logic for laying out figures based on an
- * HTML template.
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLLayouter implements Layouter {
-
-	/**Constructor for the HTMLLayouter object */
-	public HTMLLayouter() { }
-
-	/**
-	 * Constructor which associates a HTMLLayouter with
-	 * a certain Layoutable.
-	 *
-	 * @param newLayoutable  Layoutable to be laid out
-	 */
-	public HTMLLayouter(Layoutable newLayoutable) {
-		this();
-//		setLayoutable(newLayoutable);
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 * @return        Description of the Return Value
-	 */
-	public Rectangle calculateLayout(Point origin, Point corner) {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method calculateLayout() not yet implemented.");
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 * @return        Description of the Return Value
-	 */
-	public Rectangle layout(Point origin, Point corner) {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method layout() not yet implemented.");
-	}
-
-	/**
-	 * Sets the insets attribute of the HTMLLayouter object
-	 *
-	 * @param newInsets  The new insets value
-	 */
-	public void setInsets(Insets newInsets) {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method setInsets() not yet implemented.");
-	}
-
-	/**
-	 * Gets the insets attribute of the HTMLLayouter object
-	 *
-	 * @return   The insets value
-	 */
-	public Insets getInsets() {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method getInsets() not yet implemented.");
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param dw  Description of the Parameter
-	 */
-	public void write(StorableOutput dw) {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.util.Storable method
-		 */
-		throw new UnsupportedOperationException("Method write() not yet implemented.");
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param dr               Description of the Parameter
-	 * @exception IOException  Description of the Exception
-	 */
-	public void read(StorableInput dr) throws IOException {
-		/**
-		 * @todo:   Implement this CH.ifa.draw.util.Storable method
-		 */
-		throw new UnsupportedOperationException("Method read() not yet implemented.");
-	}
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 *
-	 * @param newLayoutable  Description of the Parameter
-	 * @return               Description of the Return Value
-	 */
-	public Layouter create(Layoutable newLayoutable) {
-		return new HTMLLayouter(newLayoutable);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaFigure.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaFigure.java
deleted file mode 100644
index f0b0ac157..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaFigure.java
+++ /dev/null
@@ -1,1143 +0,0 @@
-/*
- * @(#)HTMLTextAreaFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.FlatteningPathIterator;
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-
-import javax.swing.*;
-
-import CH.ifa.draw.contrib.TextAreaFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * An HTMLTextAreaFigure contains HTML formatted text.<br>
- * Formatting is done internally by a JLabel component, so all display features
- * and constrains that apply for a JLabel apply also for an HTMLTextAreaFigure,
- * including text and images, as in any Web browser, even allowing for contents
- * residing on external Web sources. But don't forget that this is <b>NOT</b> a Web
- * browser, so HTML contents cannot be standard Web pages with headers, stylesheets,
- * javascript and who knows what else, just plain down to earth HTML code.
- * <p>
- * In order to automatically integrate "external" attributes like FillColor,
- * FontName, etc, HTMLTextAreaFigure encapsulates the text the user types in the
- * editor within a table with a single cell occupying the whole area.<br>
- * Here is what the HTML code passed to the JLabel looks like:<br>
- * <code>
- * &lt;html&gt;<br>
- * &lt;table border='0' width='area.width' height='area.height'
- * cellpadding='0' cellspacing='0' bgcolor='&FillColor;'&gt;<br>
- * &lt;tr&gt;<br>
- * &lt;td width='100%'&gt;<br>
- * &lt;font face='&FontName;' color='&TextColor;' size='&FontSize;'&gt;<br>
- * &lt;!-- add italic and bold attributes if required--&gt;<br>
- * &lt;i&gt;<br>
- * &lt;b&gt;<br>
- * ============&gt> User's contents go here &lt;============<br>
- * &lt;!-- close italic and bold attributes if required --&gt;<br>
- * &lt;/b&gt;<br>
- * &lt;/i&gt;<br>
- * &lt;/font&gt;<br>
- * &lt;/td&gt;<br>
- * &lt;/tr&gt;<br>
- * &lt;/table&gt;<br>
- * &lt;/html&gt;<br>
- * </code><br>
- * It is possible to write <i>raw</i> HTML code by calling
- * <code>setRawHTML(true)</code>. In that case no tags are issued.<br>
- * The user is then responsible for applying the figure attributes and in
- * general is responsible for the whole display.
- * This setting can be dynamically toggled as needed.<br>
- * Note that JLabel resets the font to its own default whenever it encounters
- * an HTML structure, like a table or a header tag. I couldn't find a workaround
- * for what can/should be called a bug. Normal browsers do not behave like this.<p>
- *
- * Internal attributes like FillColor or FontName are exposed as special SGML
- * entities using the standard SGML entity notation, ex: <code>&FillColor;</code>.<br>
- * Any attribute associated to the figure can be used and will be replaced with
- * an appropriate value from a ContentsProducer (see below) or its
- * toString() value if no specific ContentProducer is defined.<p>
- *
- * The HTML display and layouting can be time consuming, quite fast in most cases,
- * unless the HTML structure is complicated. This can become a serious penalty
- * when working with a large number of complicated figures.<br>
- * To help in this issue HTMLTextAreaFigure offers two display modes, DirectDraw,
- * where the HTML layout logic is executed every time the figure is displayed, and
- * BufferedDraw, where HTMLTextAreaFigure creates an in-memory image of the
- * resulting layout and uses the image for fast display until a change requires
- * to regenerate the image.<br>
- * The BufferedDraw mode is as fast as an image display can be, but it consumes
- * more memory than the DirectDraw mode, which in turn is slower.<br>
- * The setting is specific to each figure instance and it can be dynamically
- * toggled at any time, so it is possible to fine tune when and which figures
- * use either one of the drawing modes.<p>
- *
- * Remember the attributes based SGML entities?<br>
- * If you set the figure to be read only, so not allowing the user to directly
- * edit the HTML contens, then it is possible to use HTMLTextAreaFigures to
- * produce very elaborate and complex information layout.<br>
- * You create HTML templates for each figure layout you want to use and set them
- * as the text of the figure. Within the template text you place field names
- * wherever needed as you would for a Web page, then each figure using the template
- * associates the field values as attributes of the figure. The attribute exposure
- * feature will substitute the entity names with the current attribute's value.<br>
- * Please refer to the accompanying sample program to see in detail the multiple
- * ways this feature can enhance your drawings.<p>
- *
- * <b>ContentProducers</b><br>
- * As stated above, entities referenced in the HTML template code are replaced by
- * their current value in the drawn figure. The values themselves are provided
- * by ContentProducers.<br>
- * For a detailed description of ContentProducers please refer to their
- * own documentation, but to make it simple, a ContentProducer is an object that
- * implements the method <code>getContent</code> and is registered to produce
- * content for either specific entities, or entity classes.<br>
- * An entity class is the class of the attribute containing its value, ie: an
- * attribute containing a URL has class URL (<code>attribute.getClass()</code>),
- * and an URLContentProducer can be associated to it so that when the layout
- * needs the entity's value, the producer's getContent() method is called and the
- * returned value (ex: contents from a Web page, FTP file or disk file) is used
- * to replace the entity in the displayed figure.<br>
- * The ContentProducer can return either a String, in which case it is used
- * <b>as is</b>, or another Object. In the later case HTMLTextAreaFigure will
- * continue calling registered ContentProviders depending on the class of the
- * returned Object until it either gets a final String, or null. If null then
- * the entity is considered as unknown and left as is in the displayed text. To
- * make it dissapear alltogether the producer should return an empty String.<p>
- * HTMLTextAreaFigure registers default ContentProducers:
- * AttributeFigureContentProducer for the intrinsic attributes of the figure
- * (height, width, font name, etc.), URLContentProducer for URL attributes,
- * HTMLColorContentProducer for HTML color encoding and for embedded
- * TextAreaFigure and HTMLTextAreaFigure classes. That's right, you can embed
- * a TextAreaFigure or HTMLTextAreaFigure contents inside an HTMLTextAreaFigure
- * recursively for as many levels as your CPU and memory will allow.<br>
- * For instance, the main figure can consists of an HTML table where each
- * cell's contents come from a different HTMLTextAreaFigure.
- *
- * @author    Eduardo Francos - InContext
- * @created   7 May 2002
- * @version   <$CURRENT_VERSION$>
- */
-public class HTMLTextAreaFigure extends TextAreaFigure
-		 implements HTMLContentProducerContext, FigureChangeListener {
-
-	/** Start marker for embedded attribute values */
-	public final static char START_ENTITY_CHAR = '&';
-
-	/** End marker for embedded attribute values */
-	public final static char END_ENTITY_CHAR = ';';
-
-	/** Marker escape character */
-	public final static char ESCAPE_CHAR = '\\';
-
-	/** holder for the image used for the display */
-	private transient DisposableResourceHolder fImageHolder;
-
-	/** The label used for in-memory display */
-	private transient JLabel fDisplayDelegate;
-
-	/** True if using direct drawing, false if using the memory image */
-	private boolean fUseDirectDraw = false;
-
-	/** True if the memory image should be regenerated */
-	private boolean fIsImageDirty = true;
-
-	/** Description of the Field */
-	private boolean fRawHTML = false;
-
-	/** Supplier for intrinsic data */
-	private transient ContentProducer fIntrinsicContentProducer;
-
-	/** Description of the Field */
-	private static ContentProducerRegistry fDefaultContentProducers = new ContentProducerRegistry();
-	// initialize the default content producers for HTMLTextAreaFigure figures
-	static {
-		fDefaultContentProducers.registerContentProducer(TextAreaFigure.class, new TextHolderContentProducer());
-		fDefaultContentProducers.registerContentProducer(Color.class, new HTMLColorContentProducer());
-	}
-
-	/** Description of the Field */
-	private transient ContentProducerRegistry fContentProducers = null;
-
-	/** The figure used to draw the frame of the area */
-	private Figure fFrameFigure = null;
-
-	// make sure required default attributes are set
-	static {
-		initDefaultAttribute("XAlignment", new Integer(SwingConstants.LEFT));
-		initDefaultAttribute("YAlignment", new Integer(SwingConstants.TOP));
-		initDefaultAttribute("LeftMargin", new Float(5));
-		initDefaultAttribute("RightMargin", new Float(5));
-		initDefaultAttribute("TopMargin", new Float(5));
-		initDefaultAttribute("BottomMargin", new Float(5));
-		initDefaultAttribute("TabSize", new Float(8));
-	}
-
-	/** Constructor for the HTMLTextAreaFigure object */
-	public HTMLTextAreaFigure() {
-		initialize();
-	}
-
-	/**
-	 * Clones a figure and initializes it
-	 *
-	 * @return   Description of the Return Value
-	 * @see      Figure#clone
-	 */
-	public Object clone() {
-		Object cloneObject = super.clone();
-		((HTMLTextAreaFigure)cloneObject).initialize();
-		return cloneObject;
-	}
-
-	/**
-	 * Sets the display box for the figure
-	 *
-	 * @param origin  origin point
-	 * @param corner  corner point
-	 * @see           Figure
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		super.basicDisplayBox(origin, corner);
-		getFrameFigure().displayBox(displayBox());
-	}
-
-	/**
-	 * Returns an iterator of standard sizing handles to manipulate the figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public HandleEnumeration handles() {
-		return getFrameFigure().handles();
-//		List handles = CollectionsFactory.current().createList();
-//		BoxHandleKit.addHandles(this, handles);
-//		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * True if the figure contains the point. The call is relayed to the frame figure
-	 *
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 * @return   Description of the Return Value
-	 */
-	public boolean containsPoint(int x, int y) {
-		return getFrameFigure().containsPoint(x, y);
-	}
-
-	/**
-	 * Moves the figure by the specified displacement
-	 *
-	 * @param dx  Description of the Parameter
-	 * @param dy  Description of the Parameter
-	 */
-	public void moveBy(int dx, int dy) {
-		super.moveBy(dx, dy);
-		getFrameFigure().moveBy(dx, dy);
-	}
-
-	/** Initializes the figure */
-	protected void initialize() {
-		fImageHolder = DisposableResourceManagerFactory.createStandardHolder(null);
-		setFrameFigure(new RectangleFigure());
-
-		// initialize the content producers
-		setIntrinsicContentProducer(new HTMLContentProducer());
-		fContentProducers = new ContentProducerRegistry(fDefaultContentProducers);
-
-		markSizeDirty();
-		markImageDirty();
-		markTextDirty();
-		markFontDirty();
-
-		setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-	}
-
-	/**
-	 * Called whenever the something changes that requires size recomputing
-	 */
-	protected void markSizeDirty() {
-		markImageDirty();
-		super.markSizeDirty();
-	}
-
-	/**
-	 * Called whenever the something changes that requires text recomputing
-	 */
-	protected void markTextDirty() {
-		markImageDirty();
-		super.markTextDirty();
-	}
-
-	/**
-	 * Called whenever the something changes that requires font recomputing
-	 */
-	protected void markFontDirty() {
-		markImageDirty();
-		super.markFontDirty();
-	}
-
-	/**
-	 * Draws the figure in the given graphics. Draw is a template
-	 * method calling drawBackground followed by drawText then drawFrame.<br>
-	 * HTMLTextAreaFigure displays in a different order tahn most figures to avoid
-	 * smearing of the border when enclosed in a weird frame figure.<br>
-	 * Also, there is no such thing as a transparent background so we always draw it.
-	 *
-	 * @param g  Description of the Parameter
-	 * @todo     check possibility of clipping the contents from the background to have a
-	 * transparent figure
-	 */
-	public void draw(Graphics g) {
-		Color fill = getFillColor();
-		g.setColor(fill);
-		drawBackground(g);
-
-		// we draw the text then the rame to avoid smearing
-		drawText(g, displayBox());
-
-		Color frame = getFrameColor();
-		g.setColor(frame);
-		drawFrame(g);
-	}
-
-	/**
-	 * Draws the frame around the text. It gets the shape of the frame from the
-	 * enclosing figure
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawFrame(Graphics g) {
-		((Graphics2D)g).draw(getClippingShape());
-	}
-
-	/**
-	 * Draws the background for the figure. It gets the shape of the frame from the
-	 * enclosing figure
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawBackground(Graphics g) {
-		((Graphics2D)g).fill(getClippingShape());
-	}
-
-	/**
-	 * Formats and draws the text for the figure
-	 *
-	 * @param g           the graphics for the drawing. It can be null when
-	 * called just to compute the size
-	 * @param displayBox  the display box  within which the text should be formatted and drawn
-	 * @return            Description of the Return Value
-	 */
-	protected float drawText(Graphics g, Rectangle displayBox) {
-		Graphics2D g2 = null;
-		Shape savedClip = null;
-
-		if (g != null) {
-			g2 = (Graphics2D)g;
-			savedClip = g2.getClip();
-		}
-
-		Rectangle drawingBox = makeDrawingBox(displayBox);
-
-		// drawing an empty displayBox is not possible
-		if (drawingBox.isEmpty()) {
-			return drawingBox.height;
-		}
-
-		if (g != null) {
-			g2.clip(getClippingShape());
-		}
-
-		if (usesDirectDraw()) {
-			drawTextDirect(g2, drawingBox);
-		}
-		else {
-			fImageHolder.lock();
-			if (isImageDirty()) {
-				generateImage(drawingBox);
-				setSizeDirty(false);
-			}
-
-			if (g2 != null) {
-				g2.drawImage(getImage(), drawingBox.x, drawingBox.y, null);
-			}
-			fImageHolder.unlock();
-		}
-		if (g != null) {
-			g2.setClip(savedClip);
-		}
-
-		// redraw the border to prevent smearing
-		drawFrame(g);
-		return displayBox.height;
-	}
-
-	/**
-	 * Generates the HTML image to be used for fast BufferedDrawing
-	 *
-	 * @param drawingBox  Description of the Parameter
-	 */
-	protected void generateImage(Rectangle drawingBox) {
-		// create the image and get its Graphics
-		createImage(drawingBox.width, drawingBox.height);
-		Graphics2D g2 = (Graphics2D)getImage().getGraphics();
-
-		Rectangle finalBox = new Rectangle(drawingBox);
-		finalBox.setLocation(0, 0);
-		renderText(g2, finalBox);
-		g2.dispose();
-	}
-
-	/**
-	 * Draws the text directly onto the drawing, without using the cached figure
-	 *
-	 * @param g2          Description of the Parameter
-	 * @param drawingBox  Description of the Parameter
-	 */
-	protected void drawTextDirect(Graphics2D g2, Rectangle drawingBox) {
-		Shape savedClipArea = null;
-		Color savedFontColor = null;
-		//Font savedFont = null;
-		//Rectangle2D clipRect = null;
-		RenderingHints savedRenderingHints = null;
-
-		if (g2 != null) {
-			savedRenderingHints = g2.getRenderingHints();
-			savedClipArea = g2.getClip();
-			//savedFont = g2.getFont();
-			savedFontColor = g2.getColor();
-			g2.clip(drawingBox);
-		}
-
-		//float finalHeight = renderText(g2, drawingBox);
-
-		// restore saved graphic attributes
-		if (g2 != null) {
-			g2.setClip(savedClipArea);
-			g2.setColor(savedFontColor);
-			g2.setRenderingHints(savedRenderingHints);
-		}
-	}
-
-	/**
-	 * Renders the HTML formatted text onto the supplied Graphics.<br>
-	 * Rendering involves entity substitution and HTML contents preparation suitable
-	 * for display by a JLabel.
-	 *
-	 * @param g2          Description of the Parameter
-	 * @param drawingBox  Description of the Parameter
-	 * @return            Description of the Return Value
-	 * @todo              look for other HTML display providers as JLabel is kind of
-	 * lousy at it
-	 */
-	protected float renderText(Graphics2D g2, Rectangle drawingBox) {
-		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-				RenderingHints.VALUE_ANTIALIAS_ON);
-		g2.setRenderingHint(RenderingHints.KEY_RENDERING,
-				RenderingHints.VALUE_RENDER_QUALITY);
-
-		// fill with background color
-		g2.setBackground(getFillColor());
-		g2.setColor(getFillColor());
-		g2.clearRect(drawingBox.x, drawingBox.y, drawingBox.width, drawingBox.height);
-		g2.fillRect(drawingBox.x, drawingBox.y, drawingBox.width, drawingBox.height);
-
-		// get the text. Either in raw format or prepared for HTML display
-		String text;
-		if (isRawHTML()) {
-			text = getText();
-		}
-		else {
-			text = getHTMLText(getText(), getFont(),
-					(String)getContentProducer(Color.class).getContent(this, FigureAttributeConstant.TEXT_COLOR_STR, getTextColor()),
-					(String)getContentProducer(Color.class).getContent(this, FigureAttributeConstant.FILL_COLOR_STR, getFillColor()),
-					drawingBox
-					);
-		}
-
-		// perform entity keyword substitution
-		text = substituteEntityKeywords(text);
-
-		// create the JLabel used as delegate for drawing
-		JLabel displayDelegate = getDisplayDelegate();
-		displayDelegate.setText(text);
-		displayDelegate.setBackground(getFillColor());
-
-		// ensure the label covers the whole area
-		displayDelegate.setLocation(0, 0);
-		displayDelegate.setSize(drawingBox.width, drawingBox.height);
-		displayDelegate.setHorizontalAlignment(((Integer)getAttribute(FigureAttributeConstant.XALIGNMENT)).intValue());
-		displayDelegate.setVerticalAlignment(((Integer)getAttribute(FigureAttributeConstant.YALIGNMENT)).intValue());
-
-		// finally display it
-		SwingUtilities.paintComponent(
-				g2,
-				displayDelegate,
-				getContainerPanel(displayDelegate, drawingBox),
-				drawingBox.x,
-				drawingBox.y,
-				drawingBox.width,
-				drawingBox.height);
-
-		return drawingBox.height;
-	}
-
-	/**
-	 * Builds the drawing box using the margins
-	 *
-	 * @param displayBox  Description of the Parameter
-	 * @return            The drawing box
-	 */
-	protected Rectangle makeDrawingBox(Rectangle displayBox) {
-		// get alignment information
-		float leftMargin = ((Float)getAttribute(FigureAttributeConstant.LEFT_MARGIN)).floatValue();
-		float rightMargin = ((Float)getAttribute(FigureAttributeConstant.RIGHT_MARGIN)).floatValue();
-		float topMargin = ((Float)getAttribute(FigureAttributeConstant.TOP_MARGIN)).floatValue();
-		float bottomMargin = ((Float)getAttribute(FigureAttributeConstant.BOTTOM_MARGIN)).floatValue();
-
-		// inset the drawing box by 1 on every side so as not to overwrite
-		// the border
-		Rectangle drawingBox = new Rectangle(displayBox);
-		drawingBox.grow(-1, -1);
-		// adjust for margins
-		drawingBox.x += leftMargin;
-		drawingBox.width -= (leftMargin + rightMargin);
-		drawingBox.y += topMargin;
-		drawingBox.height -= topMargin + bottomMargin;
-
-		return drawingBox;
-	}
-
-	/**
-	 * Gets the displayDelegate attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   The displayDelegate value
-	 */
-	protected JLabel getDisplayDelegate() {
-		if (fDisplayDelegate == null) {
-			fDisplayDelegate = new JLabel();
-			fDisplayDelegate.setBorder(null);
-		}
-		return fDisplayDelegate;
-	}
-
-	/**
-	 * Creates the cached image, unless there is already one and it is
-	 * compatible with new request, in which case we reuse it
-	 *
-	 * @param width   Description of the Parameter
-	 * @param height  Description of the Parameter
-	 */
-	protected void createImage(int width, int height) {
-		// if current image is compatible reuse it
-		fImageHolder.lock();
-		if (!fImageHolder.isAvailable() ||
-				((BufferedImage)fImageHolder.getResource()).getWidth() != width ||
-				((BufferedImage)fImageHolder.getResource()).getHeight() != height) {
-			fImageHolder.setResource(new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB));
-		}
-		// we don't unlock the image, it's the responsibility of
-		// the caller to do so, this in oreder to ensure that calling createImage
-		// will always return with a valid image
-	}
-
-	/**
-	 * Builds the container for the drawing delegate
-	 *
-	 * @param drawingDelegate  The delegate
-	 * @param displayBox       The bounding box
-	 * @return                 The container
-	 */
-	protected JPanel getContainerPanel(Component drawingDelegate, Rectangle displayBox) {
-		JPanel panel = new JPanel();
-		return panel;
-	}
-
-	/**
-	 * Returns a string that is valid HTML contents for a JLabel.<br>
-	 * Valid HTML contents is text enclosed in <html> </html> tags.<br>
-	 * We enclose the supplied text into a table with a single cell so that we
-	 * can also set the external alignment and font attributes
-	 *
-	 * @param text        The text
-	 * @param font        The font
-	 * @param textColor   The text color HTML code
-	 * @param backColor   The background's color HTML code
-	 * @param displayBox  Description of the Parameter
-	 * @return            The final HTML encoded text
-	 */
-	protected String getHTMLText(String text, Font font, String textColor,
-			String backColor, Rectangle displayBox) {
-
-		StringBuffer htmlText = new StringBuffer();
-		// add an <HTML>
-		htmlText.append("<html>");
-
-		// add a table with width=100%, background color, and no borders with
-		// a single cell
-		htmlText.append(
-				"<table border='0' width='" +
-				displayBox.width +
-				"' height='" + displayBox.height +
-				"' cellpadding='0' cellspacing='0'" +
-				"bgcolor='&FillColor;'>");
-		htmlText.append("<tr><td width='100%'>");
-		// set the font
-		htmlText.append("<font face='&FontName;' color='&TextColor;' size='&FontSize;'>");
-		// add alignment if required
-		if (((Integer)getAttribute(FigureAttributeConstant.XALIGNMENT)).intValue() == SwingConstants.CENTER) {
-			htmlText.append("<center>");
-		}
-		// add italic and bold attributes if required
-		if (font.isItalic()) {
-			htmlText.append("<i>");
-		}
-		if (font.isBold()) {
-			htmlText.append("<b>");
-		}
-
-		// add the text itself
-		htmlText.append(text);
-
-		// close italic and bold attributes if required
-		if (font.isBold()) {
-			htmlText.append("</b>");
-		}
-		if (font.isItalic()) {
-			htmlText.append("</i>");
-		}
-		// close alignment if required
-		if (((Integer)getAttribute(FigureAttributeConstant.XALIGNMENT)).intValue() == SwingConstants.CENTER) {
-			htmlText.append("</center>");
-		}
-		// close the font tag
-		htmlText.append("</font>");
-		// close the cell, row and table
-		htmlText.append("</td></tr></table>");
-
-		// close the html tag
-		htmlText.append("</html>");
-
-		return htmlText.toString();
-	}
-
-	/**
-	 * Returns a new String with the entity keywords replaced by their
-	 * current attribute value.<br>
-	 * The text is scanned for entity keywords delimited by the START_ENTITY_CHAR
-	 * and END_ENTITY_CHAR characters as in<br>
-	 * <code>&gt;font face='&amp;FontName;' color='&amp;FillColor;'&lt;</code><br>
-	 * A keyword is replaced if and only if an attribute with the given name is
-	 * found, otherwise the text is left as is.
-	 *
-	 * @param template  The template text
-	 * @return          The resulting string with its attributes replaced
-	 */
-	protected String substituteEntityKeywords(String template) {
-		int endPos;
-		StringBuffer finalText = new StringBuffer();
-
-		int startPos = 0;
-		int chunkEnd = startPos;
-		try {
-			while ((startPos = template.indexOf(START_ENTITY_CHAR, startPos)) != -1) {
-				if (startPos != 0 && template.charAt(startPos - 1) == ESCAPE_CHAR) {
-					// found an escaped parameter starter
-					startPos++;
-					continue;
-				}
-
-				// get the end of the parameter
-				endPos = startPos + 1;
-				while ((endPos = template.indexOf(END_ENTITY_CHAR, endPos)) != -1) {
-					if (endPos == 0 || template.charAt(endPos - 1) != ESCAPE_CHAR) {
-						// found a valid non escaped group stopper
-						break;
-					}
-					// invalid entity, error? probably not, anyway we consider
-					// this as not being an attribute replacement
-					throw new InvalidAttributeMarker();
-				}
-
-				// OK, we now have an attribute
-				String attrName = template.substring(startPos + 1, endPos);
-
-				// replace it if present, otherwise leave as is
-				String attrValue = getEntityHTMLRepresentation(attrName);
-				if (attrValue != null) {
-					finalText.append(template.substring(chunkEnd, startPos));
-					// append the entity's value after performing
-					// entity keyword substitution on its contents
-					finalText.append(substituteEntityKeywords(attrValue));
-					startPos = endPos + 1;
-					chunkEnd = startPos;
-				}
-				else {
-					startPos++;
-				}
-			}
-		}
-		catch (InvalidAttributeMarker ex) {
-			// invalid marker, ignore
-		}
-
-		// append whatever is left
-		finalText.append(template.substring(chunkEnd));
-
-		// and return it
-		return finalText.toString();
-	}
-
-	/**
-	 * Returns a string representation of the attribute according to its type
-	 *
-	 * @param attrName  The name of the attribute
-	 * @return          The attribute's HTML representation
-	 */
-	protected String getEntityHTMLRepresentation(String attrName) {
-		// get the attribute's raw value
-		Object attrValue = getIntrinsicContentProducer().getContent(this, attrName, null);
-
-		// no such attribute?
-		if (attrValue == null) {
-			return null;
-		}
-
-		// found something
-		// keep requesting value expansion until we get a String
-		while (attrValue != null && !(attrValue instanceof String)) {
-			// handle explicit ContentProducers
-			if (attrValue instanceof ContentProducer) {
-				attrValue = ((ContentProducer)attrValue).getContent(this, attrName, attrValue);
-				continue;
-			}
-
-			// not a specific producer, try a default one
-			ContentProducer defaultProducer = getContentProducer(attrValue.getClass());
-			if (defaultProducer != null) {
-				attrValue = defaultProducer.getContent(this, attrName, attrValue);
-				continue;
-			}
-
-			// no specific producer,
-			// all classes without an explicit default producer
-			// get their value from their toString() method
-			attrValue = attrValue.toString();
-		}
-
-		return (String)attrValue;
-	}
-
-	/**
-	 * Gets the image.
-	 *
-	 * @return   The image value
-	 */
-	protected BufferedImage getImage() {
-		if (fImageHolder.isAvailable()) {
-			return (BufferedImage)fImageHolder.getResource();
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the image attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newImage  The new image value
-	 */
-	protected void setImage(BufferedImage newImage) {
-		fImageHolder.setResource(newImage);
-	}
-
-	/**
-	 * Factory method to create a popup menu which allows to set options
-	 *
-	 * @return   newly created popup menu
-	 */
-	protected JPopupMenu createPopupMenu() {
-		JPopupMenu popupMenu = new JPopupMenu();
-		addPopupMenuItems(popupMenu);
-		popupMenu.setLightWeightPopupEnabled(true);
-		return popupMenu;
-	}
-
-	/**
-	 * Adds items to the popup menu
-	 *
-	 * @param popupMenu  The popup menu to add items to
-	 */
-	protected void addPopupMenuItems(JPopupMenu popupMenu) {
-		ButtonGroup drawingPopupGroup;
-
-		JRadioButtonMenuItem rbOption;
-
-		drawingPopupGroup = new ButtonGroup();
-		rbOption = new JRadioButtonMenuItem(
-			new AbstractAction("Direct drawing") {
-				public void actionPerformed(ActionEvent event) {
-					setUseDirectDraw(true);
-				}
-			});
-
-		drawingPopupGroup.add(rbOption);
-		if (usesDirectDraw()) {
-			drawingPopupGroup.setSelected(rbOption.getModel(), true);
-		}
-		popupMenu.add(rbOption);
-
-		rbOption = new JRadioButtonMenuItem(
-			new AbstractAction("Buffered drawing") {
-				public void actionPerformed(ActionEvent event) {
-					setUseDirectDraw(false);
-				}
-			});
-		drawingPopupGroup.add(rbOption);
-		if (usesBufferedDraw()) {
-			drawingPopupGroup.setSelected(rbOption.getModel(), true);
-		}
-		popupMenu.add(rbOption);
-
-		popupMenu.addSeparator();
-
-		drawingPopupGroup = new ButtonGroup();
-		rbOption = new JRadioButtonMenuItem(
-			new AbstractAction("Normal HTML") {
-				public void actionPerformed(ActionEvent event) {
-					setRawHTML(false);
-				}
-			});
-
-		drawingPopupGroup.add(rbOption);
-		drawingPopupGroup.setSelected(rbOption.getModel(), true);
-		popupMenu.add(rbOption);
-
-		rbOption =
-				new JRadioButtonMenuItem(
-			new AbstractAction("Raw HTML") {
-				public void actionPerformed(ActionEvent event) {
-					setRawHTML(true);
-				}
-			});
-		drawingPopupGroup.add(rbOption);
-		popupMenu.add(rbOption);
-
-	}
-
-	/**
-	 * Gets the usesDirectDraw status of the HTMLTextAreaFigure object
-	 *
-	 * @return   True if currently doing direct drawing, ie: not using a cached image
-	 */
-	public boolean usesDirectDraw() {
-		return fUseDirectDraw;
-	}
-
-	/**
-	 * Sets the useDirectDraw attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newUseDirectDraw  The new useDirectDraw value
-	 */
-	public void setUseDirectDraw(boolean newUseDirectDraw) {
-		fUseDirectDraw = newUseDirectDraw;
-		setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-		markSizeDirty();
-	}
-
-	/**
-	 * Sets the useBufferedDraw attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newUseBufferedDraw  The new useBufferedDraw value
-	 */
-	public void setUseBufferedDraw(boolean newUseBufferedDraw) {
-		setUseDirectDraw(!newUseBufferedDraw);
-	}
-
-	/**
-	 * Gets the usesBufferedDraw attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   True if currently using buffered draw, ie: the cached image
-	 */
-	public boolean usesBufferedDraw() {
-		return !usesDirectDraw();
-	}
-
-	/**
-	 * Disposes of the image so it will be regenerated next time it is displayed
-	 */
-	protected void markImageDirty() {
-		fImageHolder.dispose();
-	}
-
-	/**
-	 * True if the image should be regenerated
-	 *
-	 * @return   The imageDirty value
-	 */
-	protected boolean isImageDirty() {
-		return !fImageHolder.isAvailable();
-	}
-
-	/**
-	 * Reads the figure from StorableInput
-	 *
-	 * @param dr            Description of the Parameter
-	 * @throws IOException  the inout storable
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-
-		setFrameFigure((Figure)dr.readStorable());
-		setUseDirectDraw(dr.readBoolean());
-		setRawHTML(dr.readBoolean());
-//		setIntrinsicContentProducer((ContentProducer)dr.readStorable());
-//		fContentProducers.read(dr);
-
-//        // finally add the popup menu
-//        setAttribute(Figure.POPUP_MENU, createPopupMenu());
-
-	}
-
-	/**
-	 * Writes the figure to StorableOutput
-	 *
-	 * @param dw  the output storable
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-
-		dw.writeStorable(getFrameFigure());
-		dw.writeBoolean(usesDirectDraw());
-		dw.writeBoolean(isRawHTML());
-//		dw.writeStorable(getIntrinsicContentProducer());
-//		fContentProducers.write(dw);
-	}
-
-	/**
-	 * A text area figure uses the "LeftMargin", "RightMargin",
-	 * "TopMargin", "BottomMargin", "TabSize", "FontSize", "FontStyle", and "FontName"
-	 * attributes
-	 *
-	 * @param name   The new attribute name
-	 * @param value  The new attribute value
-	 */
-	public void setAttribute(FigureAttributeConstant name, Object value) {
-		super.setAttribute(name, value);
-		markImageDirty();
-	}
-
-	/**
-	 * Gets the rawHTML attribute of the HTMLTextAreaFigure object.<br>
-	 * In RawHTML mode, the figure does not add any HTML formatting information so it's
-	 * the user's responsibility to handle the whole displayed contents
-	 *
-	 * @return   The rawHTML value
-	 */
-	public boolean isRawHTML() {
-		return fRawHTML;
-	}
-
-	/**
-	 * Sets the rawHTML attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newRawHTML  The new rawHTML value
-	 */
-	public void setRawHTML(boolean newRawHTML) {
-		fRawHTML = newRawHTML;
-		setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-	}
-
-	/**
-	 * Gets the IntrinsicContentProducer attribute of the HTMLTextAreaFigure object.<br>
-	 * The intrinsic producer produces contents for the basic figure's attributes
-	 *
-	 * @return   The IntrinsicContentProducer value
-	 */
-	protected ContentProducer getIntrinsicContentProducer() {
-		return fIntrinsicContentProducer;
-	}
-
-	/**
-	 * Sets the IntrinsicContentProducer attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newIntrinsicContentProducer  The new IntrinsicContentProducer value
-	 */
-	public void setIntrinsicContentProducer(ContentProducer newIntrinsicContentProducer) {
-		fIntrinsicContentProducer = newIntrinsicContentProducer;
-	}
-
-	/**
-	 * Registers a specific content producer for the target class
-	 *
-	 * @param targetClass  the target class
-	 * @param producer     the producer
-	 * @return             the previously registered producer. May be null
-	 */
-	public ContentProducer registerContentProducer(Class targetClass, ContentProducer producer) {
-		return fContentProducers.registerContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Unregisters a registered content producer.
-	 *
-	 * @param producer     Description of the Parameter
-	 * @param targetClass  Description of the Parameter
-	 */
-	public void unregisterContentProducer(Class targetClass, ContentProducer producer) {
-		fContentProducers.unregisterContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Retrieves a suitable content producer for the target class
-	 *
-	 * @param targetClass  the target class
-	 * @return             The ContentProducer
-	 */
-	protected ContentProducer getContentProducer(Class targetClass) {
-		return fContentProducers.getContentProducer(targetClass);
-	}
-
-	/**
-	 * Makes a polygon with the same shape and dimensions as the current figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Polygon getPolygon() {
-		Polygon polygon = new Polygon();
-
-		// make an AffineTransofmr that does nothing
-		AffineTransform at = AffineTransform.getScaleInstance(1, 1);
-		// and get an iterator on the segments
-		FlatteningPathIterator pIter = new FlatteningPathIterator(
-				getClippingShape().getPathIterator(at),
-				1);
-
-		double[] coords = new double[6];
-		//int pointType;
-		// iterate on the segments adding the points to the polygon
-		while (!pIter.isDone()) {
-			//pointType = pIter.currentSegment(coords);
-			pIter.currentSegment(coords);
-			polygon.addPoint((int)coords[0], (int)coords[1]);
-			pIter.next();
-		}
-
-		return polygon;
-	}
-
-	/**
-	 * Gets the frameFigure attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   The frameFigure value
-	 */
-	protected Figure getFrameFigure() {
-		return fFrameFigure;
-	}
-
-	/**
-	 * Sets the frameFigure attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newFrameFigure  The new frameFigure value
-	 */
-	public void setFrameFigure(Figure newFrameFigure) {
-		if (fFrameFigure != null) {
-			fFrameFigure.removeFigureChangeListener(this);
-		}
-		fFrameFigure = newFrameFigure;
-		fFrameFigure.addFigureChangeListener(this);
-	}
-
-	/**
-	 * Gets the clippingShape attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   The clippingShape value
-	 */
-	protected Shape getClippingShape() {
-		Figure frame = getFrameFigure();
-		if (frame instanceof GeometricFigure) {
-			return ((GeometricFigure)frame).getShape();
-		}
-		return frame.displayBox();
-	}
-
-	/**
-	 * handles frame figure's invalidated events
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureInvalidated(FigureChangeEvent e) { }
-
-	/**
-	 * handles frame figure's changed events.<br>
-	 * It updates the displayBox to match
-	 * the frame figure's
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureChanged(FigureChangeEvent e) {
-		willChange();
-		super.basicDisplayBox(e.getFigure().displayBox().getLocation(), Geom.corner(e.getFigure().displayBox()));
-		changed();
-	}
-
-	/**
-	 * handles frame figure's invalidatedremoved events.<br>
-	 * Never happens because the frame figure is not part of the drawing
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRemoved(FigureChangeEvent e) { }
-
-	/**
-	 * handles frame figure's remove requests events.<br>
-	 * Never happens because the frame figure is not part of the drawing
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) { }
-
-	/**
-	 * handles frame figure's update requests events.<br>
-	 * Never happens because the frame figure is not part of the drawing
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) { }
-
-	/**
-	 * Thrown when an entity reference is not correctly encoded
-	 *
-	 * @author    gualo
-	 * @created   1 mai 2002
-	 */
-	private class InvalidAttributeMarker extends Exception {
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaTool.java b/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaTool.java
deleted file mode 100644
index 3cca3b771..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/HTMLTextAreaTool.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)HTMLTextAreaTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Font;
-import CH.ifa.draw.contrib.TextAreaTool;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.standard.TextHolder;
-
-/**
- * HTMLTextAreaTool creates or edits HTMLTextAreaFigures.<br>
- * Only diffreence with TextAreaFigure is that this allows to edit HTML code
- * using a more suitable font than the one defined by the figure.
- *
- * @author  Eduardo Francos - InContext
- * @created 28 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLTextAreaTool extends TextAreaTool {
-
-	/**
-	 * Constructor for the TextAreaTool object
-	 *
-	 * @param newDrawingEditor  the managing drawing editor
-	 * @param prototype         the prototype for the figure
-	 */
-	public HTMLTextAreaTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	/**
-	 * Gets the font to be used for editing the figure.<br>
-	 * Use a simple editing font, easier for HTML editing
-	 *
-	 * @param figure  the figure
-	 * @return        The font
-	 */
-	protected Font getFont(TextHolder figure) {
-		return new Font("Helvetica", Font.PLAIN, 12);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/PolygonFigureGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/PolygonFigureGeometricAdapter.java
deleted file mode 100644
index 8bd1b951f..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/PolygonFigureGeometricAdapter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @(#)PolygonFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Polygon;
-import java.awt.Shape;
-
-import CH.ifa.draw.contrib.PolygonFigure;
-
-/**
- * Geometric adapter for the PolygonFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 3 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class PolygonFigureGeometricAdapter extends PolygonFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the PolyLineFigureGeometricAdapter object
-	 */
-	public PolygonFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the PolyLineFigureGeometricAdapter object
-	 *
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public PolygonFigureGeometricAdapter(int x, int y) {
-		super(x, y);
-	}
-
-	/**
-	 *Constructor for the PolyLineFigureGeometricAdapter object
-	 *
-	 * @param p  Description of the Parameter
-	 */
-	public PolygonFigureGeometricAdapter(Polygon p) {
-		super(p);
-	}
-
-	/**
-	 * Gets the shape attribute of the PolygonFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		return getInternalPolygon();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceContentProducer.java
deleted file mode 100644
index c33422649..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceContentProducer.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * @(#)ResourceContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * ResourceContentProducer produces contents from resource in the application's
- * CLASSPATH.<br>
- * It takes a resource name and loads the resource as a String.
- *
- * It can either be specific if set for a specific resource, or generic, retrieving
- * any resource passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 1 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ResourceContentProducer extends AbstractContentProducer
-		 implements Serializable {
-
-	/** Description of the Field */
-	private String fResourceName;
-
-	/**
-	 * Constructor for the ResourceContentProducer object
-	 */
-	public ResourceContentProducer() { }
-
-	/**
-	 * Constructor for the ResourceContentProducer object
-	 *
-	 * @param resourceName  Description of the Parameter
-	 */
-	public ResourceContentProducer(String resourceName) {
-		setResourceName(resourceName);
-	}
-
-	/**
-	 * Gets the content attribute of the ResourceContentProducer object
-	 *
-	 * @param context       Description of the Parameter
-	 * @param ctxAttrName   Description of the Parameter
-	 * @param ctxAttrValue  Description of the Parameter
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		try {
-			// if we have our own resource then use it
-			// otherwise use the one supplied
-			String resourceName = (getResourceName() != null) ? getResourceName() : (String)ctxAttrValue;
-
-			InputStream reader = this.getClass().getResourceAsStream(resourceName);
-			int available = reader.available();
-			byte contents[] = new byte[available];
-			reader.read(contents, 0, available);
-			reader.close();
-			return new String(contents);
-		}
-		catch (Exception ex) {
-			ex.printStackTrace();
-			return ex.toString();
-		}
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeString(getResourceName());
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setResourceName (dr.readString());
-	}
-
-	public String getResourceName() {
-		return fResourceName;
-	}
-
-	protected void setResourceName(String newResourceName) {
-		fResourceName = newResourceName;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceDisposabilityStrategy.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceDisposabilityStrategy.java
deleted file mode 100644
index efd61fbda..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceDisposabilityStrategy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)ResourceDisposabilityStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- * ResourceDisposabilityStrategy defines the interface for resource disposal
- * strategies.<br>
- * The strategy defines the logic used to determine which and when a resource can
- * be efficiently disposed of. A smarter the strategy leads to few resource
- * regeneration.
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface ResourceDisposabilityStrategy {
-
-	/**
-	 * Sets the manager holding the resources for this strategy
-	 *
-	 * @param manager  The new manager value
-	 */
-	public void setManager(DisposableResourceManager manager);
-
-
-	/**
-	 * Gets the manager holding the resources for this strategy
-	 *
-	 * @return   The manager value
-	 */
-	public DisposableResourceManager getManager();
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  Description of the Exception
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException;
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resource.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns, but the
-	 * deactivation request remain active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceManagerNotSetException.java b/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceManagerNotSetException.java
deleted file mode 100644
index d85661bdb..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/ResourceManagerNotSetException.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * @(#)ResourceManagerNotSetException .java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-/**
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ResourceManagerNotSetException extends Exception {
-
-	/**
-	 * Constructor for the ResourceManagerNotSetException object
-	 */
-	public ResourceManagerNotSetException() { }
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/RoundRectangleGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/RoundRectangleGeometricAdapter.java
deleted file mode 100644
index 1ceba1f62..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/RoundRectangleGeometricAdapter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * @(#)RoundRectangleGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.Shape;
-import java.awt.geom.RoundRectangle2D;
-import CH.ifa.draw.figures.RoundRectangleFigure;
-
-/**
- * Geometric adapter for the RoundRectangleFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class RoundRectangleGeometricAdapter extends RoundRectangleFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the RoundRectangleGeometricAdapter object
-	 */
-	public RoundRectangleGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the RoundRectangleGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public RoundRectangleGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the TriangleFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		Point arc = getArc();
-		Rectangle dspBox = displayBox();
-		RoundRectangle2D.Float roundRectangle = new RoundRectangle2D.Float(
-				dspBox.x, dspBox.y, dspBox.width, dspBox.height,
-				arc.x, arc.y);
-
-		return roundRectangle;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceHolder.java b/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceHolder.java
deleted file mode 100644
index ff8617e78..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceHolder.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * @(#)StandardDisposableResourceHolder.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.Serializable;
-
-/**
- * StandardDisposableResourceHolder is a standard implementation of the
- * DisposableResourceHolder interface
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class StandardDisposableResourceHolder implements DisposableResourceHolder, Serializable {
-
-	/** The holded resource object */
-	private Object resource = null;
-
-	/** The dispose delay, default to 60 seconds */
-	private long disposeDelay = 60000;
-
-	/**
-	 * The last time the resource was accessed as returned by
-	 * <code>System.currentTimeMillis()</code>
-	 */
-	private long lastTimeAccessed = 0;
-
-	/** True if the resource is locked */
-	private boolean isLocked = false;
-
-	/**
-	 * Constructor for the StandardDisposableResourceHolder object
-	 */
-	public StandardDisposableResourceHolder() { }
-
-	/**
-	 * Constructor for the StandardDisposableResourceHolder object
-	 *
-	 * @param resource  Description of the Parameter
-	 */
-	public StandardDisposableResourceHolder(Object newResource) {
-		resource = newResource;
-		resetDelay();
-	}
-
-	/**
-	 * Makes a clone of this
-	 *
-	 * @return   the clone
-	 */
-	public Object clone() {
-		StandardDisposableResourceHolder clone = new StandardDisposableResourceHolder();
-		clone.setDisposableDelay(this.getDisposableDelay());
-		return clone;
-	}
-
-	/**
-	 * Gets the resource attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @return                          The resource value
-	 * @exception NullPointerException  Description of the Exception
-	 */
-	public Object getResource() throws NullPointerException {
-		if (resource != null) {
-			resetDelay();
-			return resource;
-		}
-		throw new NullPointerException();
-	}
-
-	/**
-	 * Sets the resource attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @param resource  The new resource value
-	 */
-	public void setResource(Object newResource) {
-		resource = newResource;
-		resetDelay();
-	}
-
-	/**
-	 * Sets the disposableDelay attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @param millis  The new disposableDelay value
-	 */
-	public void setDisposableDelay(long millis) {
-		disposeDelay = millis;
-	}
-
-	/**
-	 * Gets the disposableDelay attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @return   The disposableDelay value
-	 */
-	public long getDisposableDelay() {
-		return disposeDelay;
-	}
-
-	/** Disposes of the resource */
-	public void dispose() {
-		resource = null;
-	}
-
-	/**
-	 * Gets the available attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @return   The available value
-	 */
-	public boolean isAvailable() {
-		return (resource != null);
-	}
-
-	/**
-	 * Locks the resource so it cannot be automatically disposed of until unlock
-	 * is called.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void lock() {
-		isLocked = true;
-	}
-
-	/**
-	 * Unlocks the resource so it can be automatically disposed of again.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void unlock() {
-		resetDelay();
-		isLocked = false;
-	}
-
-	/**
-	 * True if the resource is locked
-	 *
-	 * @return   The locked status
-	 */
-	public boolean isLocked() {
-		return isLocked;
-	}
-
-	/**
-	 * Gets the lastTimeAccessed attribute of the DisposableResourceHolder object
-	 *
-	 * @return   The lastTimeAccessed value
-	 */
-	public long getLastTimeAccessed() {
-		return lastTimeAccessed;
-	}
-
-	/** Resets the disposing delay so as to restart the time counter */
-	public void resetDelay() {
-		lastTimeAccessed = System.currentTimeMillis();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceManager.java b/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceManager.java
deleted file mode 100644
index 1b2ef205f..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/StandardDisposableResourceManager.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * @(#)StandardDisposableResourceManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.util.Iterator;
-
-import java.util.WeakHashMap;
-
-/**
- * StandardDisposableResourceManager implements disposable resource management
- * using a client supplied strategy.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class StandardDisposableResourceManager implements DisposableResourceManager {
-
-	/** The registered resources */
-	private WeakHashMap resources;
-
-	/** The disposing strategy */
-	private ResourceDisposabilityStrategy strategy;
-
-	/**
-	 *Constructor for the StandardDisposableResourceManager object
-	 *
-	 * @param strategy  Description of the Parameter
-	 */
-	public StandardDisposableResourceManager(ResourceDisposabilityStrategy newStrategy) {
-		resources = new WeakHashMap();
-		setStrategy(newStrategy);
-		getStrategy().setManager(this);
-	}
-
-	/**
-	 * Registers a resource to be automatically disposed of
-	 *
-	 * @param resource  the resource
-	 */
-	public synchronized void registerResource(DisposableResourceHolder resource) {
-		resources.put(resource, resource);
-	}
-
-	/**
-	 * Unregisters a resource so it is not automatically GCed.<br>
-	 * If does nothing if the resource was not registered with this manager
-	 *
-	 * @param resource  the resource
-	 */
-	public synchronized void unregisterResource(DisposableResourceHolder resource) {
-		resources.remove(resource);
-	}
-
-	/**
-	 * Gets an iterator on the managed resources
-	 *
-	 * @return   The iterator
-	 */
-	public Iterator getResources() {
-		return resources.values().iterator();
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param resource  the resource
-	 * @return          True if the resource is registered with this manager
-	 */
-	public synchronized boolean managesResource(DisposableResourceHolder resource) {
-		return resources.containsValue(resource);
-	}
-
-	/**
-	 * Gets the strategy attribute of the StandardDisposableResourceManager object
-	 *
-	 * @return   The strategy value
-	 */
-	public ResourceDisposabilityStrategy getStrategy() {
-		return strategy;
-	}
-
-	/**
-	 * Sets the strategy attribute of the StandardDisposableResourceManager object
-	 *
-	 * @param newStrategy  The new strategy value
-	 */
-	public void setStrategy(ResourceDisposabilityStrategy newStrategy) {
-		strategy = newStrategy;
-	}
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  Description of the Exception
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException {
-		getStrategy().startDisposing();
-	}
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resource.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns, but the
-	 * deactivation request remain active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis) {
-		getStrategy().stopDisposing(millis);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/TextHolderContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/TextHolderContentProducer.java
deleted file mode 100644
index 1cbc7915e..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/TextHolderContentProducer.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * @(#)TextHolderContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.Serializable;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-import CH.ifa.draw.standard.TextHolder;
-
-/**
- * TextAreaFigureContentProducer produces text contents from an existing
- * TextHolder figure<br>
- * It can either be specific if set for a specific figure, or generic, encoding
- * any color passed to the getContents method.<br>
- * The main usage of this producer is to embed a "master" or "shared" drawing
- * figure into other figures so that updating the master figure automatically
- * changes all dependent figures as well. Kind of a hot text snippet if you like<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class TextHolderContentProducer extends AbstractContentProducer
-		 implements Serializable {
-
-	private TextHolder myTextHolder;
-
-	/**
-	 * Constructor for the TextAreaFigureContentProducer object
-	 */
-	public TextHolderContentProducer() { }
-
-	/**
-	 *Constructor for the TextAreaFigureContentProducer object
-	 *
-	 * @param figure  Description of the Parameter
-	 */
-	public TextHolderContentProducer(TextHolder figure) {
-		setTextHolder(figure);
-	}
-
-	/**
-	 * Gets the text from the text figure
-	 *
-	 * @param context       Description of the Parameter
-	 * @param ctxAttrName   Description of the Parameter
-	 * @param ctxAttrValue  Description of the Parameter
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// if we have our own figure then use it
-		// otherwise use the one supplied
-		TextHolder figure = (getTextHolder() != null) ? getTextHolder() : (TextHolder)ctxAttrValue;
-		// return the areas text
-		return figure.getText();
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getTextHolder().getRepresentingFigure());
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setTextHolder((TextHolder)dr.readStorable());
-	}
-
-	protected TextHolder getTextHolder() {
-		return myTextHolder;
-	}
-
-	public void setTextHolder(TextHolder newFigure) {
-		myTextHolder = newFigure;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/TriangleFigureGeometricAdapter.java b/JHotDraw/src/CH/ifa/draw/contrib/html/TriangleFigureGeometricAdapter.java
deleted file mode 100644
index c95531263..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/TriangleFigureGeometricAdapter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * @(#)TriangleFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Shape;
-import CH.ifa.draw.contrib.TriangleFigure;
-
-/**
- * Geometric adapter for the TriangleFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class TriangleFigureGeometricAdapter extends TriangleFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the TriangleFigureGeometricAdapter object
-	 */
-	public TriangleFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the TriangleFigureGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public TriangleFigureGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the TriangleFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		return getPolygon();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/html/URLContentProducer.java b/JHotDraw/src/CH/ifa/draw/contrib/html/URLContentProducer.java
deleted file mode 100644
index a9cdf2c02..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/html/URLContentProducer.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)URLContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import java.net.URL;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-/**
- * URLContentProducer produces string contents from URLs.<br>
- * Anything the <code>URL.openStream()</code> method can get can be retrieved
- * by this producer, that includes resources, local files, web documents,
- * web queries, FTP files, and you name it.<br>
- * It can either be specific if set for a specific URL, or generic, retrieving
- * any URL passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- * @todo    should we cache the contents for specific URLs? this can
- * accelerate things a lot for static documents, but for dynamic ones it
- * will complicate things. If cached then if must be in a DisposableResourceHolder
- */
-public class URLContentProducer extends FigureDataContentProducer
-		 implements Serializable {
-
-	/** the specific URL */
-	private URL fURL;
-
-	/**
-	 * Constructor for the URLContentProducer object
-	 */
-	public URLContentProducer() { }
-
-	/**
-	 *Constructor for the URLContentProducer object
-	 *
-	 * @param url  the specific URL
-	 */
-	public URLContentProducer(URL url) {
-		setURL(url);
-	}
-
-	/**
-	 * Retrieves the contents of the URL pointed object
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name that led to this being called
-	 * @param ctxAttrValue  the value of the URL attribute
-	 * @return              the contents of the URL pointed object as a string
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		try {
-			// if we have our own URL then use it
-			// otherwise use the one supplied
-			URL url = (getURL() != null) ? new URL(getURL().toExternalForm()) : new URL(((URL)ctxAttrValue).toExternalForm());
-
-			InputStream reader = url.openStream();
-			int available = reader.available();
-			byte contents[] = new byte[available];
-			reader.read(contents, 0, available);
-			reader.close();
-			return new String(contents);
-		}
-		catch (Exception ex) {
-			ex.printStackTrace();
-			return ex.toString();
-		}
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeBoolean((getURL() != null));
-		if (getURL() != null) {
-			dw.writeString(getURL().toExternalForm());
-		}
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		boolean hasURL = dr.readBoolean();
-		if (hasURL) {
-			setURL(new URL(dr.readString()));
-		}
-	}
-
-	public URL getURL() {
-		return fURL;
-	}
-
-	protected void setURL(URL newURL) {
-		fURL = newURL;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/AreaTracker.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/AreaTracker.java
deleted file mode 100644
index e049ba7b8..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/AreaTracker.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)AreaTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.standard.AbstractTool;
-
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * A rubberband area tracker.  It can be extended to do anything with
- * the resulting area, e.g. select it or zoom it.  This code is
- * derived from SelectAreaTracker, which is a bit too specific to
- * allow for extension.
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AreaTracker extends AbstractTool {
-
-	private Rectangle area;
-
-	protected AreaTracker(DrawingEditor editor) {
-		super(editor);
-	}
-
-	public Rectangle getArea() {
-		return new Rectangle(area.x, area.y, area.width, area.height);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		// use event coordinates to supress any kind of
-		// transformations like constraining points to a grid
-		super.mouseDown(e, e.getX(), e.getY());
-		rubberBand(getAnchorX(), getAnchorY(), getAnchorX(), getAnchorY());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		eraseRubberBand();
-		rubberBand(getAnchorX(), getAnchorY(), x, y);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		super.mouseUp(e, x, y);
-		eraseRubberBand();
-	}
-
-	private void rubberBand(int x1, int y1, int x2, int y2) {
-		area = new Rectangle(new Point(x1, y1));
-		area.add(new Point(x2, y2));
-		drawXORRect(area);
-	}
-
-	private void eraseRubberBand() {
-		drawXORRect(area);
-	}
-
-	private void drawXORRect(Rectangle r) {
-		Graphics g = view().getGraphics();
-		g.setXORMode(view().getBackground());
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/DoubleBufferImage.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/DoubleBufferImage.java
deleted file mode 100644
index 887178c80..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/DoubleBufferImage.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * @(#)DoubleBufferImage.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import java.awt.*;
-import java.awt.image.ImageObserver;
-import java.awt.image.ImageProducer;
-
-/**
- * A DoubleBufferImage is an image that scaling components, such as a
- * ZoomDrawingView, use for double buffering.  Drawing into this image
- * is scaled, but when the image is written to the screen, no more
- * scaling occurs.  This is ensured by the implementation here and
- * by the corresponding drawImage methods in ScalingGraphics.
- *
- * Note: this class is only needed for a JDK1.1 compliant implementation
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class DoubleBufferImage extends java.awt.Image {
-
-	private Image real;
-	private double scale;
-
-	public DoubleBufferImage(Image newReal, double newScale) {
-		real = newReal;
-		scale = newScale;
-	}
-
-	public Image getRealImage() {
-		return real;
-	}
-
-	public void flush() {
-		real.flush();
-	}
-
-	public Graphics getGraphics() {
-		// Return an appropriate scaling graphics context,
-		// so that all drawing operations into this image
-		// are scaled.
-		ScalingGraphics result = new ScalingGraphics(real.getGraphics());
-		result.setScale(scale);
-		return result;
-	}
-
-	public int getHeight(ImageObserver observer) {
-		return real.getHeight(observer);
-	}
-
-	public Object getProperty(String name, ImageObserver observer) {
-		return real.getProperty(name, observer);
-	}
-
-	public Image getScaledInstance(int width, int height, int hints) {
-		return real.getScaledInstance(width, height, hints);
-	}
-
-	public ImageProducer getSource() {
-		return real.getSource();
-	}
-
-	public int getWidth(ImageObserver observer) {
-		return real.getWidth(observer);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/MiniMapZoomableView.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/MiniMapZoomableView.java
deleted file mode 100644
index 0853bfa72..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/MiniMapZoomableView.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)MiniMapZoomableView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.contrib.MiniMapView;
-import CH.ifa.draw.framework.DrawingView;
-
-import java.awt.geom.AffineTransform;
-import java.awt.geom.NoninvertibleTransformException;
-import javax.swing.JScrollPane;
-
-/**
- * Specialized sub-class of MiniMapView to handle the zooming ability of the ZoomDrawingView in JHotDraw.  This subclass has been enhanced
- * to take into consideration that the scrollpane's content may itself be altered by a transform (namely a scaling transform).
- *
- * @author	S. Ruman (sruman@rogers.com)
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapZoomableView extends MiniMapView {
-	public MiniMapZoomableView(DrawingView newMappedDrawingView, JScrollPane subject) {
-		super(newMappedDrawingView, subject);
-	}
-
-// Overridden
-	public AffineTransform getInverseSubjectTransform() {
-		double subjectsScale = ((ZoomDrawingView)getMappedComponent()).getScale();
-
-		AffineTransform at = null;
-		try {
-			at = AffineTransform.getScaleInstance(subjectsScale, subjectsScale).createInverse();   // undo the zoom of the zoomable drawing view
-		}
-		catch (NoninvertibleTransformException nte) {
-			// all scale-only transforms should be invertable
-		}
-
-		return at;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ScalingGraphics.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ScalingGraphics.java
deleted file mode 100644
index 93215c5ca..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ScalingGraphics.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * @(#)ScalingGraphics.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import java.awt.*;
-import java.awt.image.ImageObserver;
-
-/**
- * A graphics context that can scale to an arbitrary factor.
- *
- * Note: this class is only needed for a JDK1.1 compliant implementation
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ScalingGraphics extends java.awt.Graphics {
-
-	/**
-	 * The scale used for all drawing operations.
-	 */
-	private double scale = 1.0;
-
-	/**
-	 * The actual graphics context to which drawing is delegated.
-	 */
-	private Graphics real;
-
-	/**
-	 * The font with which the user thinks he is drawing.
-	 * On the real graphics context, a scaled font is substituted
-	 * for it (which may or may not be precisely to scale).
-	 */
-	private Font userFont;
-
-	/**
-	 * The current clipping rectangle, in user coordinates.
-	 * Cached here to avoid unnecessary scaling back and forth.
-	 */
-	private Rectangle userClip;
-
-
-	public ScalingGraphics(Graphics realGraphics) {
-		real = realGraphics;
-	}
-
-	/**
-	 * Sets the scale to be used for any subsequent drawing operations.
-	 * All coordinates are multiplied by this value in both x- and
-	 * y-direction before drawing.  Thus, a value of 1.0 means no
-	 * scaling, smaller values shrink the picture, larger ones enlarge
-	 * it.
-	 */
-	public void setScale(double newScale) {
-		scale = newScale;
-	}
-
-	/**
-	 * Returns the scale factor currently used for drawing operations.
-	 * @see #setScale
-	 */
-	public double getScale() {
-		return scale;
-	}
-
-	/**
-	 * Returns the font that should be substituted for the
-	 * given font at the given scale.
-	 */
-	private static Font scaledFont(Font f, double scale) {
-		int size = f.getSize();
-		int scaledSize = (int) (size * scale);
-		//if (scaledSize < 6) scaledSize = 6;
-		return new Font(f.getFamily(), f.getStyle(), scaledSize);
-	}
-
-	/**
-	 * Scales a shape to the given scale.
-	 */
-	private static Shape scaledShape(Shape s, double scale) {
-		if (s instanceof Rectangle) {
-			Rectangle r = (Rectangle) s;
-			return new Rectangle((int) (r.x * scale), (int) (r.y * scale),
-					(int) (r.width * scale), (int) (r.height * scale));
-		}
-		else {
-			throw new RuntimeException("Cannot scale shape: " + s.getClass().getName());
-		}
-	}
-
-	// delegating implementations below this line
-
-	public Graphics create() {
-		Graphics realCopy = real.create();
-		ScalingGraphics result = new ScalingGraphics(realCopy);
-		result.setScale(getScale());
-		return result;
-	}
-
-	public void translate(int x, int y) {
-		real.translate((int) (x * scale), (int) (y * scale));
-	}
-
-	public Color getColor() {
-		return real.getColor();
-	}
-
-	public void setColor(Color c) {
-		real.setColor(c);
-	}
-
-	public void setPaintMode() {
-		real.setPaintMode();
-	}
-
-	public void setXORMode(Color c1) {
-		real.setXORMode(c1);
-	}
-
-	public Font getFont() {
-		// returns the font with which the user thinks he is drawing
-		if (userFont == null)
-			userFont = real.getFont();
-		return userFont;
-	}
-
-	public void setFont(Font font) {
-		userFont = font;
-		real.setFont(scaledFont(font, scale));
-	}
-
-	public FontMetrics getFontMetrics() {
-		return new ScalingFontMetrics(userFont, real.getFontMetrics());
-	}
-
-	public FontMetrics getFontMetrics(Font f) {
-		// returns a ScalingFontMetrics object that measures distances
-		// on the real font, and scales them back to user coordinates
-		return new ScalingFontMetrics(f,
-				real.getFontMetrics(scaledFont(f, scale)));
-	}
-
-	public Rectangle getClipBounds() {
-		return userClip;
-	}
-
-	public void clipRect(int x, int y, int width, int height) {
-		if (userClip == null)
-			userClip = new Rectangle(x, y, width, height);
-		else
-			userClip = userClip.intersection(new Rectangle(x, y, width, height));
-		real.clipRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void setClip(int x, int y, int width, int height) {
-		userClip = new Rectangle(x, y, width, height);
-		real.setClip((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public Shape getClip() {
-		return userClip;
-	}
-
-	public void setClip(Shape clip) {
-		userClip = (Rectangle) clip;
-		if (clip != null)
-		// Scale the Shape before applying it.
-			real.setClip(scaledShape(clip, scale));
-		else
-			real.setClip(null);
-	}
-
-	public void copyArea(int x, int y, int width, int height,
-						 int dx, int dy) {
-		real.copyArea((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				(int) (dx * scale), (int) (dy * scale));
-	}
-
-	public void drawLine(int x1, int y1, int x2, int y2) {
-		real.drawLine((int) (x1 * scale), (int) (y1 * scale),
-				(int) (x2 * scale), (int) (y2 * scale));
-	}
-
-	public void fillRect(int x, int y, int width, int height) {
-		real.fillRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void clearRect(int x, int y, int width, int height) {
-		real.clearRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void drawRoundRect(int x, int y, int width, int height,
-							  int arcWidth, int arcHeight) {
-		real.drawRoundRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				(int) (arcWidth * scale), (int) (arcHeight * scale));
-	}
-
-	public void fillRoundRect(int x, int y, int width, int height,
-							  int arcWidth, int arcHeight) {
-		real.fillRoundRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				(int) (arcWidth * scale), (int) (arcHeight * scale));
-	}
-
-	public void drawOval(int x, int y, int width, int height) {
-		real.drawOval((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void fillOval(int x, int y, int width, int height) {
-		real.fillOval((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void drawArc(int x, int y, int width, int height,
-						int startAngle, int arcAngle) {
-		real.drawArc((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				startAngle, arcAngle);
-	}
-
-	public void fillArc(int x, int y, int width, int height,
-						int startAngle, int arcAngle) {
-		real.fillArc((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				startAngle, arcAngle);
-	}
-
-	public void drawPolyline(int xPoints[], int yPoints[],
-							 int nPoints) {
-		int[] realXPoints = new int[nPoints];
-		int[] realYPoints = new int[nPoints];
-		for (int i = 0; i < nPoints; i++) {
-			realXPoints[i] = (int) (xPoints[i] * scale);
-			realYPoints[i] = (int) (yPoints[i] * scale);
-		}
-		real.drawPolyline(realXPoints, realYPoints, nPoints);
-	}
-
-	public void drawPolygon(int xPoints[], int yPoints[],
-							int nPoints) {
-		int[] realXPoints = new int[nPoints];
-		int[] realYPoints = new int[nPoints];
-		for (int i = 0; i < nPoints; i++) {
-			realXPoints[i] = (int) (xPoints[i] * scale);
-			realYPoints[i] = (int) (yPoints[i] * scale);
-		}
-		real.drawPolygon(realXPoints, realYPoints, nPoints);
-	}
-
-	public void fillPolygon(int xPoints[], int yPoints[],
-							int nPoints) {
-		int[] realXPoints = new int[nPoints];
-		int[] realYPoints = new int[nPoints];
-		for (int i = 0; i < nPoints; i++) {
-			realXPoints[i] = (int) (xPoints[i] * scale);
-			realYPoints[i] = (int) (yPoints[i] * scale);
-		}
-		real.fillPolygon(realXPoints, realYPoints, nPoints);
-	}
-
-	public void drawString(String str, int x, int y) {
-		real.drawString(str, (int) (x * scale), (int) (y * scale));
-	}
-
-	// drop this method if using jdk 1.1
-	public void drawString(java.text.AttributedCharacterIterator iterator,
-						   int x, int y) {
-		real.drawString(iterator, (int) (x * scale), (int) (y * scale));
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 ImageObserver observer) {
-		// DoubleBufferImages must not be scaled.
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (img.getWidth(observer) * scale),
-					(int) (img.getHeight(observer) * scale),
-					observer);
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 int width, int height,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, width, height, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (width * scale), (int) (height * scale),
-					observer);
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 Color bgcolor,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, bgcolor, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (img.getWidth(observer) * scale),
-					(int) (img.getHeight(observer) * scale),
-					bgcolor, observer);
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 int width, int height,
-							 Color bgcolor,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, width, height, bgcolor, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (width * scale), (int) (height * scale),
-					bgcolor, observer);
-	}
-
-	public boolean drawImage(Image img,
-							 int dx1, int dy1, int dx2, int dy2,
-							 int sx1, int sy1, int sx2, int sy2,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
-					observer);
-		else
-			return real.drawImage(img, (int) (dx1 * scale), (int) (dy1 * scale),
-					(int) (dx2 * scale), (int) (dy2 * scale),
-					(int) (sx1 * scale), (int) (sy1 * scale),
-					(int) (sx2 * scale), (int) (sy2 * scale),
-					observer);
-	}
-
-	public boolean drawImage(Image img,
-							 int dx1, int dy1, int dx2, int dy2,
-							 int sx1, int sy1, int sx2, int sy2,
-							 Color bgcolor,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
-					bgcolor, observer);
-		else
-			return real.drawImage(img, (int) (dx1 * scale), (int) (dy1 * scale),
-					(int) (dx2 * scale), (int) (dy2 * scale),
-					(int) (sx1 * scale), (int) (sy1 * scale),
-					(int) (sx2 * scale), (int) (sy2 * scale),
-					bgcolor, observer);
-	}
-
-	public void dispose() {
-		real.dispose();
-	}
-
-	/**
-	 * A scaling extension of the FontMetrics class.  Measurements
-	 * are performed on the actual, scaled font used on the screen,
-	 * and then scaled back into user space.  The object pretends
-	 * to be measuring the font specified by the user when obtaining
-	 * this FontMetrics object.
-	 */
-	private class ScalingFontMetrics extends FontMetrics {
-
-		/**
-		 * A FontMetrics object on the real, scaled font.  All queries
-		 * are forwarded to this object, and the results scaled back
-		 * into user space.
-		 */
-		private FontMetrics real;
-
-		/**
-		 * The font which the user thinks he is asking about.
-		 */
-		private Font userFont;
-
-		public ScalingFontMetrics(Font newUserFont, FontMetrics newReal) {
-			super(null);
-			userFont = newUserFont;
-			real = newReal;
-		}
-
-		// Delegating methods below this line.  Only those methods which
-		// the man page suggests as a minimal subset are implemented.
-
-		public Font getFont() {
-			return userFont;
-		}
-
-		public int getAscent() {
-			return (int) (real.getAscent() / ScalingGraphics.this.getScale());
-		}
-
-		public int getLeading() {
-			return (int) (real.getLeading() / ScalingGraphics.this.getScale());
-		}
-
-		public int getMaxAdvance() {
-			return (int) (real.getMaxAdvance() / ScalingGraphics.this.getScale());
-		}
-
-		public int charWidth(char ch) {
-			return (int) (real.charWidth(ch) / ScalingGraphics.this.getScale());
-		}
-
-		public int charsWidth(char[] data, int off, int len) {
-			return (int) (real.charsWidth(data, off, len) /
-					ScalingGraphics.this.getScale());
-		}
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomAreaTracker.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomAreaTracker.java
deleted file mode 100644
index e4ec88f3a..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomAreaTracker.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)ZoomAreaTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingEditor;
-
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomAreaTracker extends AreaTracker {
-
-	public ZoomAreaTracker(DrawingEditor editor) {
-		super(editor);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		Rectangle zoomArea = getArea();
-		super.mouseUp(e, x, y);
-		if (zoomArea.width > 4 && zoomArea.height > 4)
-			((ZoomDrawingView) view()).zoom(zoomArea.x, zoomArea.y,
-					zoomArea.width, zoomArea.height);
-	}
-
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomCommand.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomCommand.java
deleted file mode 100644
index 81186e740..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomCommand.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- *  @(#)ZoomCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-
-import CH.ifa.draw.standard.AbstractCommand;
-
-/**
- * A ZoomCommand allows for applying a zoom factor to a ZoomDrawingView.<br>
- * Several ZoomCommand objects can be created in a menu or toolbar, set to various
- * predefined zoom factors
- *
- * @author    Eduardo Francos
- * @created   26 april 2002
- * @version   <CURRENT_VERSION>
- */
-public class ZoomCommand extends AbstractCommand {
-	/** The scale factor to apply */
-	protected float scale = 1.0f;
-
-	/**
-	 * Constructor for the ZoomCommand object
-	 *
-	 * @param name              the command name
-	 * @param scale             Description of the Parameter
-	 * @param newDrawingEditor  the DrawingEditor which manages the views
-	 */
-	public ZoomCommand(String newSame, float newScale, DrawingEditor newDrawingEditor) {
-		super(newSame, newDrawingEditor, true);
-		scale = newScale;
-	}
-
-
-	/** Executes the command */
-	public void execute() {
-		super.execute();
-		zoomView().zoom(scale);
-	}
-
-
-	/**
-	 * Sets the zoom factor of the view
-	 *
-	 * @return   ZoomDrawingView currently active in the editor
-	 */
-	public ZoomDrawingView zoomView() {
-		Object view = super.view();
-		if (view instanceof ZoomDrawingView) {
-			return (ZoomDrawingView)view;
-		}
-		throw new JHotDrawRuntimeException("execute should NOT be getting called when view not instanceof ZoomDrawingView");
-	}
-
-
-	/**
-	 * Gets the scale attribute of the ZoomCommand object
-	 *
-	 * @return   The scale value
-	 */
-	public float getScale() {
-		return scale;
-	}
-
-
-	/**
-	 * Sets the scale attribute of the ZoomCommand object
-	 *
-	 * @param newScale  The new scale value
-	 */
-	public void setScale(float newScale) {
-		scale = newScale;
-	}
-
-
-	/**
-	 * Returns true if the command is executable with the current view
-	 *
-	 * @return   true iff the view is a ZoomDrawingView
-	 */
-	protected boolean isExecutableWithView() {
-		return (view() instanceof ZoomDrawingView);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomDrawingView.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomDrawingView.java
deleted file mode 100644
index 66b0ccfa6..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomDrawingView.java
+++ /dev/null
@@ -1,476 +0,0 @@
-/*
- * @(#)ZoomDrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.framework.DrawingChangeEvent;
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.StandardDrawing;
-import CH.ifa.draw.standard.StandardDrawingView;
-import CH.ifa.draw.util.Geom;
-
-import javax.swing.JViewport;
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.geom.AffineTransform;
-
-/**
- * A view that can display drawings at an arbitrary scale.
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomDrawingView extends StandardDrawingView {
-
-	/**
-	 * The current scaling factor
-	 */
-	private double scale = 1.0;
-
-	/**
-	 * The zooming speed, meaning the scaling factor change speed when doing
-	 * zoomIn/zoomOut operations.<br>
-	 * Default of 2.0 is increase 100% or decrease 50% the current factor.<br>
-	 * Can be changed dynamically by clients using the setter method
-	 */
-	private double zoomSpeed = 2.0;
-
-	public ZoomDrawingView(DrawingEditor editor) {
-		this(editor, MINIMUM_WIDTH, MINIMUM_HEIGHT);
-	}
-
-	public ZoomDrawingView(DrawingEditor editor, int width, int height) {
-		super(editor, width, height);
-	}
-
-	/**
-	 * @return The current zoom scale of this view.  The dimensions of
-	 *         figures are multiplied by this number before display.
-	 */
-	public final double getScale() {
-		return scale;
-	}
-
-	/**
-	 * Sets a new zoom scale for this view.  The dimensions of figures
-	 * are multiplied by this number before display.
-	 */
-	private void setScale(double newScale) {
-		// "de"-scale with old scale
-		Dimension oldSize = getUserSize();
-		scale = newScale;
-		// re-scale with new scale
-		setUserSize(oldSize.width, oldSize.height);
-		centralize(drawing());
-		forceRedraw();
-	}
-
-	private void forceRedraw() {
-		drawingInvalidated(new DrawingChangeEvent
-				(drawing(), new Rectangle(getSize())));
-		repairDamage();
-	}
-
-	/**
-	 * Sets the size of this view in user coordinates.  The size of the view
-	 * on the screen will be this size, multiplied by the current scale.
-	 */
-	public void setUserSize(int width, int height) {
-		setSize((int) (width * getScale()),
-				(int) (height * getScale()));
-	}
-
-	/**
-	 * Sets the size of this view in user coordinates.  The size of the view
-	 * on the screen will be this size, multiplied by the current scale.
-	 */
-	public void setUserSize(Dimension d) {
-		setUserSize(d.width, d.height);
-	}
-
-	/**
-	 * @return the size of this view, in screen coordinates
-	 */
-	public Dimension getSize() {
-		return super.getSize();
-	}
-
-	public Dimension getViewportSize() {
-		return getParent().getSize();
-	}
-
-	protected boolean hasZoomSupport() {
-		return getParent() instanceof JViewport;
-	}
-
-	/**
-	 * Sets the coordinates of the left top corner displayed by the view.<br>
-	 */
-	public void setOriginPosition(Point newOrigin) {
-		setViewPosition(newOrigin);
-		forceRedraw();
-	}
-
-	protected void setViewPosition(Point newPosition) {
-		((JViewport)getParent()).setViewPosition(newPosition);
-	}
-
-	/**
-	 * @return The size of this view, in user coordinates.  The size
-	 *         on the screen is this size, multiplied by the current scale.
-	 */
-	public Dimension getUserSize() {
-		Dimension screenSize = getSize();
-		return new Dimension((int) (screenSize.width / getScale()),
-				(int) (screenSize.height / getScale()));
-	}
-
-	/**
-	 * Readjusts this view and its containing ScrollPane to display the
-	 * given rectangle, which is given in user coordinates.  This method
-	 * only works if this view is contained in a JViewport.  It throws
-	 * a RuntimeException otherwise.
-	 */
-	public void zoom(int x, int y, int width, int height) {
-		if (hasZoomSupport()) {
-			Dimension viewportSize = getViewportSize();
-			double xScale = (double) viewportSize.width / (double) width;
-			double yScale = (double) viewportSize.height / (double) height;
-			double newScale = Math.min(xScale, yScale);
-
-			// "de"-scale with old scale
-			Dimension userSize = getUserSize();
-			this.scale = newScale;
-			// re-scale with new scale
-			setUserSize(userSize);
-
-			revalidate();
-			setViewPosition(
-					new Point((int) (x * getScale()), (int) (y * getScale())));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * Set this view's scale factor
-	 */
-	public void zoom(float newScale) {
-		if (hasZoomSupport()) {
-			JViewport viewport = (JViewport) getParent();
-			Dimension viewportSize = viewport.getSize();
-			Dimension userSize = getUserSize();
-			scale = newScale;
-			Point viewOrg = viewport.getViewPosition();
-			viewOrg.x = viewOrg.x + (viewportSize.width / 2);
-			viewOrg.y = viewOrg.y + (viewportSize.height / 2);
-			int xScreen = (int) (viewOrg.x * scale);
-			int yScreen = (int) (viewOrg.y * scale);
-			int xOrigin = xScreen - viewportSize.width / 2;
-			int yOrigin = yScreen - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			setUserSize(userSize);
-			revalidate();
-			viewport.setViewPosition(new Point(xOrigin, yOrigin));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * Zooms out by a factor of two, keeping point (x,y), which is given
-	 * in user coordinates, in the center.
-	 */
-	public void zoomOut(int x, int y) {
-		if (hasZoomSupport()) {
-			Dimension viewportSize = getViewportSize();
-			// "de"-scale with old scale
-			Dimension userSize = getUserSize();
-			this.scale = getScale() / getZoomSpeed();
-			int xScreen = (int) (x * getScale());
-			int yScreen = (int) (y * getScale());
-			int xOrigin = xScreen - viewportSize.width / 2;
-			int yOrigin = yScreen - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			// re-scale with new scale
-			setUserSize(userSize);
-			revalidate();
-			setViewPosition(new Point(xOrigin, yOrigin));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * InContext
-	 * Zooms in by a factor of the current scale, keeping point (x,y), which is given
-	 * in user coordinates, in the center.
-	 */
-	public void zoomIn(int x, int y) {
-		if (hasZoomSupport()) {
-			JViewport viewport = (JViewport) getParent();
-			Dimension viewportSize = viewport.getSize();
-			Dimension userSize = getUserSize();
-			this.scale = getScale() * getZoomSpeed();
-			int xScreen = (int) (x * getScale());
-			int yScreen = (int) (y * getScale());
-			int xOrigin = xScreen - viewportSize.width / 2;
-			int yOrigin = yScreen - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			setUserSize(userSize);
-			revalidate();
-			viewport.setViewPosition(new Point(xOrigin, yOrigin));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * Sets the zoom scale to 1.0 and adjusts the scroll pane
-	 * so that point (x, y) is in the center.
-	 */
-	public void deZoom(int x, int y) {
-		if (hasZoomSupport()) {
-			Dimension viewportSize = getViewportSize();
-			Dimension userSize = getUserSize();
-			int xOrigin = x - viewportSize.width / 2;
-			int yOrigin = y - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			this.scale = 1.0;
-			setUserSize(userSize);
-			revalidate();
-			setViewPosition(new Point((int) (xOrigin),
-					(int) (yOrigin)));
-			forceRedraw();
-		}
-		else {
-			throw new RuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	public void paint(Graphics g) {
-		super.paint(transformGraphics(g, getScale()));
-	}
-
-	public Graphics getGraphics() {
-		return transformGraphics(super.getGraphics(), getScale());
-	}
-
-	private final Graphics transformGraphics(Graphics g, double currentScale) {
-		if (currentScale != 1.0) {
-			Graphics2D g2 = (Graphics2D) g;
-			// Don't use setTransform() here because that would destroy
-			// any transformation that Swing sets for partial redrawing.
-			// Simply add our own transformation to any existing one.
-			g2.transform(AffineTransform.getScaleInstance(currentScale, currentScale));
-		}
-        return g;
-	}
-
-	/**
-	 * Constrain to user coordinates, not screen coordinates.
-	 */
-	protected Point constrainPoint(Point p) {
-		Dimension size = getSize();
-		p.x = Geom.range(1, (int) (size.width / getScale()), p.x);
-		p.y = Geom.range(1, (int) (size.height / getScale()), p.y);
-		if (getConstrainer() != null) {
-			return getConstrainer().constrainPoint(p);
-		}
-		return p;
-	}
-
-	public void drawBackground(Graphics g) {
-		g.setColor(getBackground());
-		g.fillRect(0, 0,
-				(int) (getBounds().width / getScale()),
-				(int) (getBounds().height / getScale()));
-	}
-
-	private void centralize(Drawing d, Dimension bounds) {
-		Point boundsCenter = new Point(bounds.width / 2, bounds.height / 2);
-		Rectangle r = ((StandardDrawing) d).displayBox();
-		Point drawingCenter = new Point(r.x + r.width / 2, r.y + r.height / 2);
-		int diffX = boundsCenter.x - drawingCenter.x;
-		int diffY = boundsCenter.y - drawingCenter.y;
-		if (diffX != 0 || diffY != 0) {
-			for (FigureEnumeration fe = d.figures(); fe.hasNextFigure();) {
-				fe.nextFigure().moveBy(diffX, diffY);
-			}
-		}
-	}
-
-	private void centralize(Drawing d) {
-		centralize(d, getUserSize());
-	}
-
-	public void setDrawing(Drawing d) {
-		super.setDrawing(d);
-
-		Rectangle r = ((StandardDrawing) d).displayBox();
-		//Dimension drawingSize = new Dimension(r.width, r.height);
-		Dimension viewportSize = new Dimension(r.width, r.height);
-		if (getParent() != null) {
-			viewportSize = getViewportSize();
-		}
-/*
-		Dimension userSize = new Dimension(viewportSize);
-		this.scale = 1.0;
-
-		while (drawingSize.width > userSize.width ||
-				drawingSize.height > userSize.height) {
-			this.scale = getScale() / 2.0;
-			userSize.width = userSize.width * 2;
-			userSize.height = userSize.height * 2;
-		}
-		centralize(d, userSize);
-*/
-		super.setPreferredSize(viewportSize);
-		super.setSize(viewportSize);
-		revalidate();
-	}
-
-	public Dimension getMinimumSize() {
-		return super.getSize();
-	}
-
-	public Dimension getPreferredSize() {
-		return getMinimumSize();
-	}
-
-	/**
-	 * Overridden to scale damage to screen coordinates.
-	 */
-	public void repairDamage() {
-		Rectangle damagedArea = getDamage();
-		if (damagedArea != null) {
-			repaint((int) (damagedArea.x * getScale()),
-					(int) (damagedArea.y * getScale()),
-					(int) (damagedArea.width * getScale()),
-					(int) (damagedArea.height * getScale()));
-			setDamage(null);
-		}
-	}
-
-	/**
-	 * Overridden to accumulate damage in an instance variable of this class.
-	 */
-	public void drawingInvalidated(DrawingChangeEvent e) {
-		Rectangle r = e.getInvalidatedRectangle();
-		if (getDamage() == null) {
-			setDamage(r);
-		}
-		else {
-			Rectangle damagedArea = getDamage();
-			damagedArea.add(r);
-			// the returned rectange may be a clone so we better set it again
-			setDamage(damagedArea);
-		}
-	}
-
-	/**
-	 * @return a new MouseEvent, the coordinates of which are transformed
-	 *         to compensate for the current zoom factor
-	 */
-	private MouseEvent createScaledEvent(MouseEvent e) {
-		return new MouseEvent(e.getComponent(),
-				e.getID(),
-				e.getWhen(),
-				e.getModifiers(),
-				(int) (e.getX() / getScale()),
-				(int) (e.getY() / getScale()),
-				e.getClickCount(),
-				e.isPopupTrigger());
-	}
-
-
-	protected MouseListener createMouseListener() {
-		return new StandardDrawingView.DrawingViewMouseListener() {
-			public void mousePressed(MouseEvent e) {
-				super.mousePressed(createScaledEvent(e));
-			}
-			public void mouseReleased(MouseEvent e) {
-				super.mouseReleased(createScaledEvent(e));
-			}
-		};
-	}
-
-	protected MouseMotionListener createMouseMotionListener() {
-		return new StandardDrawingView.DrawingViewMouseMotionListener() {
-			public void mouseDragged(MouseEvent e) {
-				super.mouseDragged(createScaledEvent(e));
-			}
-			public void mouseMoved(MouseEvent e) {
-				super.mouseMoved(createScaledEvent(e));
-			}
-		};
-	}
-
-	protected KeyListener createKeyListener() {
-		return new StandardDrawingView.DrawingViewKeyListener() {
-			public void keyPressed(KeyEvent e) {
-				super.keyPressed(e);
-				if (e.getKeyChar() == ' ') {
-					forceRedraw();
-				}
-				else if (e.getKeyChar() == 'o') {
-					setScale(getScale() / getZoomSpeed());
-				}
-				else if (e.getKeyChar() == 'i') {
-					setScale(getScale() * getZoomSpeed());
-				}
-				else if (e.getKeyChar() == 'c') {
-					centralize(drawing());
-				}
-				else {
-					super.keyPressed(e);
-				}
-			}
-		};
-	}
-
-	/**
-	 * Returns the current zoom speed
-	 */
-	public double getZoomSpeed()
-	{
-		return zoomSpeed;
-	}
-
-	/**
-	 * Set the zoom speed. Will be greater than 1.
-	 */
-	public void setZoomSpeed(double newZoomSpeed)
-	{
-		// check greater than 1. A smaller value would reverse the zooming
-		// operation, and a zero value would provoque divide by zero exceptions
-		zoomSpeed = Math.max(1.1, newZoomSpeed);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomTool.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomTool.java
deleted file mode 100644
index 2afca768b..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomTool.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)ZoomTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.Tool;
-import CH.ifa.draw.standard.AbstractTool;
-
-import java.awt.event.InputEvent;
-import java.awt.event.MouseEvent;
-
-/**
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomTool extends AbstractTool {
-
-	private Tool child;
-
-	public ZoomTool(DrawingEditor editor) {
-		super(editor);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		//  Added handling for SHIFTed and CTRLed BUTTON3_MASK so that normal
-		//  BUTTON3_MASK does zoomOut, SHIFTed BUTTON3_MASK does zoomIn
-		//  and CTRLed BUTTON3_MASK does deZoom
-		if ((e.getModifiers() & InputEvent.BUTTON1_MASK) != 0) {
-			if (child != null) {
-				return;
-			}
-			view().freezeView();
-			child = new ZoomAreaTracker(editor());
-			child.mouseDown(e, x, y);
-		}
-		else if ((e.getModifiers() & InputEvent.BUTTON2_MASK) != 0) {
-			((ZoomDrawingView) view()).deZoom(x, y);
-		}
-		else if ((e.getModifiers() & InputEvent.BUTTON3_MASK) != 0) {
-			if ((e.getModifiers() & InputEvent.SHIFT_MASK) != 0) {
-				((ZoomDrawingView)view()).zoomIn(x, y);
-			}
-			else if ((e.getModifiers() & InputEvent.CTRL_MASK) != 0) {
-
-				((ZoomDrawingView) view()).deZoom(x, y);
-			}
-			else {
-				((ZoomDrawingView)view()).zoomOut(x, y);
-			}
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (child != null) {
-			child.mouseDrag(e, x, y);
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (child != null) {
-			view().unfreezeView();
-			child.mouseUp(e, x, y);
-		}
-		child = null;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomUpdateStrategy.java
deleted file mode 100644
index b1a8a40e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/contrib/zoom/ZoomUpdateStrategy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)ZoomUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.contrib.zoom;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.Painter;
-
-import java.awt.*;
-
-/**
- * A variant of the BufferedUpdateStrategy that handles clipping
- * rectangles correctly in the presence of zooming.
- * @see CH.ifa.draw.standard.BufferedUpdateStrategy
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomUpdateStrategy implements Painter {
-
-	/**
-	 * The offscreen image
-	 */
-	transient private Image fOffscreen;
-	private int fImagewidth = -1;
-	private int fImageheight = -1;
-
-	/**
-	 * Draws the view contents.
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		// create the buffer if necessary
-		Dimension d = view.getSize();
-		if ((fOffscreen == null) || (d.width != fImagewidth)
-				|| (d.height != fImageheight)) {
-			fOffscreen = view.createImage(d.width, d.height);
-			fImagewidth = d.width;
-			fImageheight = d.height;
-		}
-
-		Graphics g2 = fOffscreen.getGraphics();
-		Rectangle r = g.getClipBounds();
-
-		if (g2 instanceof ScalingGraphics) {
-			ScalingGraphics s2 = (ScalingGraphics) g2;
-
-			// AWT sets clipping rectangles in screen coordinates, not user
-			// coordinates.  Therefore, we scale the clipping rectangle to
-			// user coordinates here, and then apply it to both buffers,
-			// which scale it back to screen coordinates.
-			if (r != null) {
-				// Make the rectangle slightly larger, to compensate
-				// for integer rounding errors.
-				r = new Rectangle((int) ((r.x - 2) / s2.getScale()),
-						(int) ((r.y - 2) / s2.getScale()),
-						(int) ((r.width + 4) / s2.getScale()),
-						(int) ((r.height + 4) / s2.getScale()));
-				g.setClip(r);
-			}
-		}
-		g2.setClip(r);
-
-		view.drawAll(g2);
-		g.drawImage(fOffscreen, 0, 0, view);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures.jdo b/JHotDraw/src/CH/ifa/draw/figures.jdo
deleted file mode 100644
index 340c305bc..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures.jdo
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.figures">
-    <class name="AttributeFigure">
-    </class>
-    <class name="ArrowTip">
-    </class>
-    <class name="ChopEllipseConnector">
-    </class>
-    <class name="ElbowConnection">
-    </class>
-    <class name="EllipseFigure">
-		<field name="fDisplayBox">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-		<field name="fPoints">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="FigureAttributes">
-		<field name="fMap">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="GroupFigure">
-    </class>
-    <class name="ImageFigure">
-    </class>
-    <class name="LineFigure">
-    </class>
-    <class name="NullConnector">
-    </class>
-    <class name="NullFigure">
-    </class>
-    <class name="NumberTextFigure">
-    </class>
-    <class name="PolyLineConnector">
-    </class>
-    <class name="PolyLineFigure">
-		<field name="fFrameColor">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="ShortestDistanceConnector">
-    </class>
-    <class name="RectangleFigure">
-		<field name="fDisplayBox">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="RoundRectangleFigure">
-    </class>
-    <class name="TextFigure">
-		<field name="fFont">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/figures/AbstractLineDecoration.java b/JHotDraw/src/CH/ifa/draw/figures/AbstractLineDecoration.java
deleted file mode 100644
index 3e50d5f65..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/AbstractLineDecoration.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)AbstractLineDecoration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.io.*;
-import java.awt.*;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * An standard implementation of a line decoration.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractLineDecoration implements LineDecoration {
-
-	static final long serialVersionUID = 1577970039258356627L;
-
-	private Color   fFillColor;
-	private Color   fBorderColor;
-	private transient Rectangle myBounds;
-
-	public AbstractLineDecoration() {
-	}
-
-   /**
-	* Draws the arrow tip in the direction specified by the given two
-	* points.. (template method)
-	*/
-	public void draw(Graphics g, int x1, int y1, int x2, int y2) {
-		// TBD: reuse the Polygon object
-		Polygon p = outline(x1, y1, x2, y2);
-		myBounds = p.getBounds();
-		if (getFillColor() == null) {
-			g.fillPolygon(p.xpoints, p.ypoints, p.npoints);
-		}
-		else {
-			Color drawColor = g.getColor();
-			g.setColor(getFillColor());
-			g.fillPolygon(p.xpoints, p.ypoints, p.npoints);
-			g.setColor(drawColor);
-		}
-
-		if (getBorderColor() != getFillColor()) {
-			Color drawColor = g.getColor();
-			g.setColor(getBorderColor());
-			g.drawPolygon(p.xpoints, p.ypoints, p.npoints);
-			g.setColor(drawColor);
-		}
-	}
-
-	/**
-	 * The LineDecoration has only a displayBox after it has been drawn
-	 * at least once. If it has not yet been drawn then a rectangle of size 0
-	 * is returned.
-	 * @return the display box of a LineDecoration.
-	 */
-	public Rectangle displayBox() {
-		if (myBounds != null) {
-			return myBounds;
-		}
-		else {
-			return new Rectangle(0, 0);
-		}
-	}
-
-   /**
-	* Hook method to calculates the outline of an arrow tip.
-	*/
-	public abstract Polygon outline(int x1, int y1, int x2, int y2);
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		if (getFillColor() != null) {
-			FigureAttributes.writeColor(dw, FigureAttributeConstant.FILL_COLOR.getName(), getFillColor());
-		}
-		else {
-			dw.writeString("no" + FigureAttributeConstant.FILL_COLOR.getName());
-		}
-
-		if (getBorderColor() != null) {
-			FigureAttributes.writeColor(dw, FigureAttributeConstant.FRAME_COLOR.getName(), getBorderColor());
-		}
-		else {
-			dw.writeString("no" + FigureAttributeConstant.FRAME_COLOR.getName());
-		}
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		String fillColorId = dr.readString();
-		// read color only if one has been written
-		if (fillColorId.equals(FigureAttributeConstant.FRAME_COLOR.getName())) {
-			setFillColor(FigureAttributes.readColor(dr));
-		}
-		String borderColorId = dr.readString();
-		// read color only if one has been written
-		if (borderColorId.equals("BorderColor")
-				||  borderColorId.equals(FigureAttributeConstant.FRAME_COLOR.getName())) {
-			setBorderColor(FigureAttributes.readColor(dr));
-		}
-	}
-
-	/**
-	 * Sets color with which arrow is filled
-	 */
-	public void setFillColor(Color fillColor) {
-		fFillColor = fillColor;
-	}
-
-	/**
-	 * Returns color with which arrow is filled
-	 */
-	public Color getFillColor() {
-		return fFillColor;
-	}
-
-	/**
-	 * Sets color of arrow's border
-	 */
-	public void setBorderColor(Color borderColor) {
-		fBorderColor = borderColor;
-	}
-
-	/**
-	 * Returns color of arrow's border
-	 */
-	public Color getBorderColor() {
-		return fBorderColor;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ArrowTip.java b/JHotDraw/src/CH/ifa/draw/figures/ArrowTip.java
deleted file mode 100644
index a855314be..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ArrowTip.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * @(#)ArrowTip.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.io.*;
-import java.awt.*;
-
-import CH.ifa.draw.util.*;
-
-/**
- * An arrow tip line decoration.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ArrowTip extends AbstractLineDecoration {
-
-	private double  fAngle;         // pointiness of arrow
-	private double  fOuterRadius;
-	private double  fInnerRadius;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -3459171428373823638L;
-	private int arrowTipSerializedDataVersion = 1;
-
-	public ArrowTip() {
-		this(0.40, 8, 8);  // this(0.35, 15, 12);
-	}
-
-   /**
-	* Constructs an arrow tip with the given angle and radius.
-	*/
-	public ArrowTip(double angle, double outerRadius, double innerRadius) {
-		setAngle(angle);
-		setOuterRadius(outerRadius);
-		setInnerRadius(innerRadius);
-	}
-	
-   /**
-	* Calculates the outline of an arrow tip.
-	*/
-	public Polygon outline(int x1, int y1, int x2, int y2) {
-		double dir = Math.PI/2 - Math.atan2(x2 - x1, y2 - y1);
-		return outline(x1, y1, dir);
-	}
-
-	private Polygon outline(int x, int y, double direction) {
-		Polygon shape = new Polygon();
-
-		shape.addPoint(x, y);
-		addPointRelative(shape, x, y, getOuterRadius(), direction - getAngle());
-		addPointRelative(shape, x, y, getInnerRadius(), direction);
-		addPointRelative(shape, x, y, getOuterRadius(), direction + getAngle());
-		shape.addPoint(x,y); // Closing the polygon (TEG 97-04-23)
-		return shape;
-	}
-
-	private void addPointRelative(Polygon shape, int x, int y, double radius, double angle) {
-		shape.addPoint(
-			x + (int) (radius * Math.cos(angle)),
-			y + (int) (radius * Math.sin(angle)));
-	}
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeDouble(getAngle());
-		dw.writeDouble(getOuterRadius());
-		dw.writeDouble(getInnerRadius());
-		super.write(dw);
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		setAngle(dr.readDouble());
-		setOuterRadius(dr.readDouble());
-		setInnerRadius(dr.readDouble());
-		super.read(dr);
-	}
-
-	/**
-	 * Sets point angle of arrow. A smaller angle leads to a pointier arrow.
-	 * The angle is measured between the arrow line and one of the points
-	 * at the side of the arrow. Thus, the total angle at the arrow tip
-	 * is the double of the angle specified.
-	 */
-	protected void setAngle(double newAngle) {
-		fAngle = newAngle;
-	}
-	
-	/**
-	 * Returns point angle of arrow. A smaller angle leads to a pointier arrow.
-	 * The angle is measured between the arrow line and one of the points
-	 * at the side of the arrow. Thus, the total angle at the arrow tip
-	 * is the double of the angle specified.
-	 */
-	protected double getAngle() {
-		return fAngle;
-	}
-
-	/**
-	 * Sets the inner radius
-	 */
-	protected void setInnerRadius(double newInnerRadius) {
-		fInnerRadius = newInnerRadius;
-	}
-
-	/**
-	 * Returns the inner radius
-	 */        
-	protected double getInnerRadius() {
-		return fInnerRadius;
-	}
-
-	/**
-	 * Sets the outer radius
-	 */
-	protected void setOuterRadius(double newOuterRadius) {
-		fOuterRadius = newOuterRadius;
-	}
-
-	/**
-	 * Returns the outer radius
-	 */
-	protected double getOuterRadius() {
-		return fOuterRadius;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/AttributeFigure.java b/JHotDraw/src/CH/ifa/draw/figures/AttributeFigure.java
deleted file mode 100644
index dbadb25f4..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/AttributeFigure.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * @(#)AttributeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-import java.awt.*;
-import java.io.*;
-
-/**
- * A figure that can keep track of an open ended set of attributes.
- * The attributes are stored in a dictionary implemented by
- * FigureAttributes.
- *
- * @see Figure
- * @see Handle
- * @see FigureAttributes
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AttributeFigure extends AbstractFigure {
-
-	/**
-	 * The attributes of a figure. Each figure can have
-	 * an open ended set of attributes. Attributes are
-	 * identified by name.
-	 * @see #getAttribute
-	 * @see #setAttribute
-	 */
-	private FigureAttributes        fAttributes;
-
-	/**
-	 * The default attributes associated with a figure.
-	 * If a figure doesn't have an attribute set, a default
-	 * value from this shared attribute set is returned.
-	 * @see #getAttribute
-	 * @see #setAttribute
-	 */
-	private static FigureAttributes fgDefaultAttributes = null;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -10857585979273442L;
-	private int attributeFigureSerializedDataVersion = 1;
-
-	protected AttributeFigure() { }
-
-	/**
-	 * Draws the figure in the given graphics. Draw is a template
-	 * method calling drawBackground followed by drawFrame.
-	 */
-	public void draw(Graphics g) {
-		Color fill = getFillColor();
-		if (!ColorMap.isTransparent(fill)) {
-			g.setColor(fill);
-			drawBackground(g);
-		}
-		Color frame = getFrameColor();
-		if (!ColorMap.isTransparent(frame)) {
-			g.setColor(frame);
-			drawFrame(g);
-		}
-	}
-
-	/**
-	 * Draws the background of the figure.
-	 * @see #draw
-	 */
-	protected void drawBackground(Graphics g) {
-	}
-
-	/**
-	 * Draws the frame of the figure.
-	 * @see #draw
-	 */
-	protected void drawFrame(Graphics g) {
-	}
-
-	/**
-	 * Gets the fill color of a figure. This is a convenience
-	 * method.
-	 * @see #getAttribute
-	 */
-	public Color getFillColor() {
-		return (Color) getAttribute(FigureAttributeConstant.FILL_COLOR);
-	}
-
-	/**
-	 * Gets the frame color of a figure. This is a convenience
-	 * method.
-	 * @see #getAttribute
-	 */
-	public Color getFrameColor() {
-		return (Color) getAttribute(FigureAttributeConstant.FRAME_COLOR);
-	}
-
-	//---- figure attributes ----------------------------------
-
-	private static void initializeAttributes() {
-		fgDefaultAttributes = new FigureAttributes();
-		fgDefaultAttributes.set(FigureAttributeConstant.FRAME_COLOR, Color.black);
-		fgDefaultAttributes.set(FigureAttributeConstant.FILL_COLOR,  new Color(0x70DB93));
-		fgDefaultAttributes.set(FigureAttributeConstant.TEXT_COLOR,  Color.black);
-		fgDefaultAttributes.set(FigureAttributeConstant.ARROW_MODE,  new Integer(0));
-		fgDefaultAttributes.set(FigureAttributeConstant.FONT_NAME,  "Helvetica");
-		fgDefaultAttributes.set(FigureAttributeConstant.FONT_SIZE,   new Integer(12));
-		fgDefaultAttributes.set(FigureAttributeConstant.FONT_STYLE,  new Integer(Font.PLAIN));
-	}
-
-	/**
-	 * Sets or adds a default value for a named attribute
-	 * @see #getAttribute
-	 */
-	public static Object setDefaultAttribute(String name, Object value) {
-		// save current value to return it
-		Object currentValue = getDefaultAttribute(name);
-
-		fgDefaultAttributes.set(FigureAttributeConstant.getConstant(name), value);
-		return currentValue;
-	}
-
-	/**
-	 * Initializes a  default value for a named attribute
-	 * The difference between this method and setDefaultAttribute is that
-	 * if the attribute is already set then it will not be changed.<BR>
-	 * The purpose is to allow more than one source requiring the attribute
-	 * to initialize it, but only the first initialization will be used.
-	 *
-	 * @see #getAttribute
-	 * @see #setDefaultAttribute
-	 */
-	public static Object initDefaultAttribute(String name, Object value) {
-		// get current value
-		Object currentValue = getDefaultAttribute(name);
-
-		// if it's already there skip the setting
-		if (currentValue != null) {
-			return currentValue;
-		}
-
-		fgDefaultAttributes.set(FigureAttributeConstant.getConstant(name), value);
-		return null;
-	}
-
-	/**
-	 * Gets a the default value for a named attribute
-	 * @see #getAttribute
-	 */
-	public static Object getDefaultAttribute(String name) {
-		if (fgDefaultAttributes == null) {
-			initializeAttributes();
-		}
-		return fgDefaultAttributes.get(FigureAttributeConstant.getConstant(name));
-	}
-
-	public static Object getDefaultAttribute(FigureAttributeConstant attributeConstant) {
-		if (fgDefaultAttributes == null) {
-			initializeAttributes();
-		}
-		return fgDefaultAttributes.get(attributeConstant);
-	}
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getAttribute(FigureAttributeConstant.getConstant(name));
-	}
-
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		if (fAttributes != null) {
-			if (fAttributes.hasDefined(attributeConstant)) {
-				return fAttributes.get(attributeConstant);
-			}
-		}
-		return getDefaultAttribute(attributeConstant);
-	}
-
-	/**
-	 * Sets the named attribute to the new value
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		setAttribute(FigureAttributeConstant.getConstant(name), value);
-	}
-
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		if (fAttributes == null) {
-			fAttributes = new FigureAttributes();
-		}
-		fAttributes.set(attributeConstant, value);
-		changed();
-	}
-
-	/**
-	 * Stores the Figure to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		if (fAttributes == null) {
-			dw.writeString("no_attributes");
-		}
-		else {
-			dw.writeString("attributes");
-			fAttributes.write(dw);
-		}
-	}
-
-	/**
-	 * Reads the Figure from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		String s = dr.readString();
-		if (s.toLowerCase().equals("attributes")) {
-			fAttributes = new FigureAttributes();
-			fAttributes.read(dr);
-		}
-	}
-
-	private void writeObject(ObjectOutputStream o) throws IOException {
-		// Filter out Popup menu: cannot serialize any associated action-Listeners
-		// Work-around for Java-Bug: 4240860
-		Object associatedMenu = getAttribute(Figure.POPUP_MENU);
-		if (associatedMenu != null) {
-			setAttribute(Figure.POPUP_MENU, null);
-		}
-
-		o.defaultWriteObject();
-
-		if (associatedMenu != null) {
-			setAttribute(Figure.POPUP_MENU, associatedMenu);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/BorderDecorator.java b/JHotDraw/src/CH/ifa/draw/figures/BorderDecorator.java
deleted file mode 100644
index 9dd80403e..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/BorderDecorator.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * @(#)BorderDecorator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * BorderDecorator decorates an arbitrary Figure with
- * a border.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class BorderDecorator extends DecoratorFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 1205601808259084917L;
-	private int borderDecoratorSerializedDataVersion = 1;
-
-	private Point myBorderOffset;
-	private Color myBorderColor;
-	private Color myShadowColor;
-
-	public BorderDecorator() {
-	}
-
-	public BorderDecorator(Figure figure) {
-		super(figure);
-	}
-
-	/**
-	 * Performs additional initialization code before the figure is decorated
-	 * Subclasses may override this method.
-	 */
-	protected void initialize() {
-		setBorderOffset(new Point(3,3));
-	}
-
-	public void setBorderOffset(Point newBorderOffset) {
-		myBorderOffset = newBorderOffset;
-	}
-		
-	public Point getBorderOffset() {
-		if (myBorderOffset == null) {
-			return new Point(0,0);
-		}
-		else {
-			return myBorderOffset;
-		}
-	}
-
-	/**
-	 * Draws a the figure and decorates it with a border.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-		super.draw(g);
-		g.setColor(Color.white);
-		g.drawLine(r.x, r.y, r.x, r.y + r.height);
-		g.drawLine(r.x, r.y, r.x + r.width, r.y);
-		g.setColor(Color.gray);
-		g.drawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
-		g.drawLine(r.x , r.y + r.height, r.x + r.width, r.y + r.height);
-	}
-
-	/**
-	 * Gets the displaybox including the border.
-	 */
-	public Rectangle displayBox() {
-		Rectangle r = getDecoratedFigure().displayBox();
-		r.grow(getBorderOffset().x, getBorderOffset().y);
-		return r;
-	}
-
-	/**
-	 * Invalidates the figure extended by its border.
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		Rectangle rect = e.getInvalidatedRectangle();
-		rect.grow(getBorderOffset().x, getBorderOffset().y);
-		super.figureInvalidated(new FigureChangeEvent(this, rect, e));
-	}
-
-	public Insets connectionInsets() {
-		Insets i = super.connectionInsets();
-		i.top -= getBorderOffset().y;
-		i.bottom -= getBorderOffset().y;
-		i.left -= getBorderOffset().x;
-		i.right -= getBorderOffset().x;
-
-		return i;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/BorderTool.java b/JHotDraw/src/CH/ifa/draw/figures/BorderTool.java
deleted file mode 100644
index 498afb490..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/BorderTool.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @(#)BorderTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-import java.awt.event.MouseEvent;
-import java.awt.event.InputEvent;
-import java.util.List;
-
-/**
- * BorderTool decorates the clicked figure with a BorderDecorator.
- *
- * @see BorderDecorator
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class BorderTool extends ActionTool {
-
-	public BorderTool(DrawingEditor editor) {
-		super(editor);
-	}
-
-	/**
-	 * Add the touched figure to the selection of an invoke action.
-	 * Overrides ActionTool's mouseDown to allow for peeling the border
-	 * if there is one already.
-	 * This is done by CTRLing the click
-	 * @see #action
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		// if not CTRLed then proceed normally
-		if ((e.getModifiers() & InputEvent.CTRL_MASK) == 0) {
-			super.mouseDown(e, x, y);
-		}
-		else {
-			Figure target = drawing().findFigure(x, y);
-			if ((target != null) && (target != target.getDecoratedFigure())) {
-				view().addToSelection(target);
-				reverseAction(target);
-			}
-		}
-	}
-
-	/**
-	* Decorates the clicked figure with a border.
-	*/
-	public void action(Figure figure) {
-//    	Figure replaceFigure = drawing().replace(figure, new BorderDecorator(figure));
-		
-		setUndoActivity(createUndoActivity());
-		List l = CollectionsFactory.current().createList();
-		l.add(figure);
-		l.add(new BorderDecorator(figure));
-		getUndoActivity().setAffectedFigures(new FigureEnumerator(l));
-		((BorderTool.UndoActivity)getUndoActivity()).replaceAffectedFigures();
-	}
-
-	/**
-	* Peels off the border from the clicked figure.
-	*/
-	public void reverseAction(Figure figure) {
-		setUndoActivity(createUndoActivity());
-		List l = CollectionsFactory.current().createList();
-		l.add(figure);
-		l.add(((DecoratorFigure)figure).peelDecoration());
-		getUndoActivity().setAffectedFigures(new FigureEnumerator(l));
-		((BorderTool.UndoActivity)getUndoActivity()).replaceAffectedFigures();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new BorderTool.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			getDrawingView().clearSelection();
-			return replaceAffectedFigures();
-		}
-
-		public boolean redo() {
-			if (!isRedoable()) {
-				return false;
-			}
-			getDrawingView().clearSelection();
-			return replaceAffectedFigures();
-		}
-		
-		public boolean replaceAffectedFigures() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			Figure oldFigure = fe.nextFigure();
-
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			Figure replaceFigure = fe.nextFigure();
-			
-			replaceFigure = getDrawingView().drawing().replace(oldFigure, replaceFigure);
-			List l = CollectionsFactory.current().createList();
-			l.add(replaceFigure);
-			l.add(oldFigure);
-			setAffectedFigures(new FigureEnumerator(l));
-			
-			return true;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ChopEllipseConnector.java b/JHotDraw/src/CH/ifa/draw/figures/ChopEllipseConnector.java
deleted file mode 100644
index f12059c3d..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ChopEllipseConnector.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)ChopEllipseConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-
-/**
- * A ChopEllipseConnector locates a connection point by
- * chopping the connection at the ellipse defined by the
- * figure's display box.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChopEllipseConnector extends ChopBoxConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -3165091511154766610L;
-
-	public ChopEllipseConnector() {
-	}
-
-	public ChopEllipseConnector(Figure owner) {
-		super(owner);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		Rectangle r = target.displayBox();
-		double angle = Geom.pointToAngle(r, from);
-		return Geom.ovalAngleToPoint(r, angle);
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ConnectedTextTool.java b/JHotDraw/src/CH/ifa/draw/figures/ConnectedTextTool.java
deleted file mode 100644
index 97dbdc75e..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ConnectedTextTool.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * @(#)ConnectedTextTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.event.MouseEvent;
-
-/**
- * Tool to create new or edit existing text figures.
- * A new text figure is connected with the clicked figure.
- *
- * @see CH.ifa.draw.standard.TextHolder
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ConnectedTextTool extends TextTool {
-
-	private Figure myConnectedFigure;
-
-	public ConnectedTextTool(DrawingEditor editor, Figure prototype) {
-		super(editor, prototype);
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder it can be edited otherwise
-	 * a new text figure is created.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-
-		if (getTypingTarget() != null) {
-			TextHolder textHolder = getTypingTarget();
-			setConnectedFigure(drawing().findFigureInsideWithout(x, y, textHolder.getRepresentingFigure()));
-			if ((getConnectedFigure() != null) && (textHolder != null) && (getConnectedFigure().getTextHolder() != textHolder)) {
-				textHolder.connect(getConnectedFigure().getDecoratedFigure());
-				getConnectedFigure().addDependendFigure(getAddedFigure());
-			}
-		}
-	}
-
-	protected void endEdit() {
-		super.endEdit();
-		if ((getUndoActivity() != null) && (getUndoActivity() instanceof ConnectedTextTool.UndoActivity)) {
-			((ConnectedTextTool.UndoActivity)getUndoActivity()).setConnectedFigure(getConnectedFigure());
-		}
-		else if ((getConnectedFigure() != null) && isDeleteTextFigure()) {
-			getConnectedFigure().removeDependendFigure(getAddedFigure());
-		}
-	}
-
-	protected void setConnectedFigure(Figure pressedFigure) {
-		myConnectedFigure = pressedFigure;
-	}
-
-	public Figure getConnectedFigure() {
-		return myConnectedFigure;
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder it can be edited otherwise
-	 * a new text figure is created.
-	 */
-	public void activate() {
-		super.activate();
-		setConnectedFigure(null);
-	}
-
-	protected Undoable createDeleteUndoActivity() {
-		FigureTransferCommand cmd = new DeleteCommand("Delete", editor());
-		return new DeleteUndoActivity(cmd, getConnectedFigure());
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new ConnectedTextTool.UndoActivity(view(), getTypingTarget().getText());
-	}
-
-	public static class UndoActivity extends TextTool.UndoActivity {
-		private Figure myConnectedFigure;
-
-		public UndoActivity(DrawingView newDrawingView, String newOriginalText) {
-			super(newDrawingView, newOriginalText);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-
-				if (currentFigure.getTextHolder() != null) {
-					// the text figure didn't exist before
-					if (!isValidText(getOriginalText())) {
-						currentFigure.getTextHolder().disconnect(getConnectedFigure());
-					}
-					// the text figure did exist but was remove
-					else if (!isValidText(getBackupText())) {
-						currentFigure.getTextHolder().connect(getConnectedFigure());
-					}
-				}
-			}
-
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					// the text figure did exist but was remove
-					if (!isValidText(getBackupText())) {
-						currentFigure.getTextHolder().disconnect(getConnectedFigure());
-					}
-					// the text figure didn't exist before
-					else if (!isValidText(getOriginalText())) {
-						currentFigure.getTextHolder().connect(getConnectedFigure());
-					}
-				}
-			}
-
-			return true;
-		}
-
-		public void setConnectedFigure(Figure newConnectedFigure) {
-			myConnectedFigure = newConnectedFigure;
-		}
-
-		public Figure getConnectedFigure() {
-			return myConnectedFigure;
-		}
-	}
-
-	/**
-	 * This class
-	 */
-	public static class DeleteUndoActivity extends DeleteCommand.UndoActivity {
-		private Figure myConnectedFigure;
-
-		public DeleteUndoActivity(FigureTransferCommand cmd, Figure newConnectedFigure) {
-			super(cmd);
-			setConnectedFigure(newConnectedFigure);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().connect(getConnectedFigure().getDecoratedFigure());
-				}
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().disconnect(getConnectedFigure().getDecoratedFigure());
-				}
-			}
-
-			return true;
-		}
-
-		public void setConnectedFigure(Figure newConnectedFigure) {
-			myConnectedFigure = newConnectedFigure;
-		}
-
-		public Figure getConnectedFigure() {
-			return myConnectedFigure;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ElbowConnection.java b/JHotDraw/src/CH/ifa/draw/figures/ElbowConnection.java
deleted file mode 100644
index 66dfd54b2..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ElbowConnection.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * @(#)ElbowConnection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.util.List;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A LineConnection that constrains a connection to
- * orthogonal lines.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ElbowConnection extends LineConnection {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 2193968743082078559L;
-	private int elbowConnectionSerializedDataVersion = 1;
-
-	public ElbowConnection() {
-		super();
-	}
-
-	public void updateConnection() {
-		super.updateConnection();
-		updatePoints();
-	}
-
-	public void layoutConnection() {
-	}
-
-	/**
-	 * Gets the handles of the figure.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(fPoints.size()*2);
-		handles.add(new ChangeConnectionStartHandle(this));
-		for (int i = 1; i < fPoints.size()-1; i++) {
-			handles.add(new NullHandle(this, locator(i)));
-		}
-		handles.add(new ChangeConnectionEndHandle(this));
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			handles.add(new ElbowHandle(this, i));
-		}
-		return new HandleEnumerator(handles);
-	}
-
-	public Locator connectedTextLocator(Figure f) {
-		return new ElbowTextLocator();
-	}
-
-	protected void updatePoints() {
-		willChange();
-		Point start = startPoint();
-		Point end = endPoint();
-		fPoints.clear();
-		fPoints.add(start);
-
-		if (start.x == end.x || start.y == end.y) {
-			fPoints.add(end);
-		}
-		else {
-
-			Rectangle r1 = getStartConnector().owner().displayBox();
-			Rectangle r2 = getEndConnector().owner().displayBox();
-
-			int dir = Geom.direction(r1.x + r1.width/2, r1.y + r1.height/2,
-						r2.x + r2.width/2, r2.y + r2.height/2);
-			if (dir == Geom.NORTH || dir == Geom.SOUTH) {
-				fPoints.add(new Point(start.x, (start.y + end.y)/2));
-				fPoints.add(new Point(end.x, (start.y + end.y)/2));
-			}
-			else {
-				fPoints.add(new Point((start.x + end.x)/2, start.y));
-				fPoints.add(new Point((start.x + end.x)/2, end.y));
-			}
-			fPoints.add(end);
-		}
-		changed();
-	}
-}
-
-class ElbowTextLocator extends AbstractLocator {
-	public Point locate(Figure owner) {
-		Point p = owner.center();
-		return new Point(p.x, p.y-10); // hack
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ElbowHandle.java b/JHotDraw/src/CH/ifa/draw/figures/ElbowHandle.java
deleted file mode 100644
index 90c2ebdb4..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ElbowHandle.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * @(#)ElbowHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-import java.awt.*;
-
-/**
- * A Handle to move an ElbowConnection left/right or up/down.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ElbowHandle extends AbstractHandle {
-
-	private int fSegment;
-	private int fLastX, fLastY;      // previous mouse position
-
-	public ElbowHandle(LineConnection owner, int segment) {
-		super(owner);
-		fSegment = segment;
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		fLastX = x;
-		fLastY = y;
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		LineConnection line = ownerConnection();
-		Point p1 = line.pointAt(fSegment);
-		Point p2 = line.pointAt(fSegment+1);
-		int ddx = x - fLastX;
-		int ddy = y - fLastY;
-
-		Point np1;
-		Point np2;
-		if (isVertical(p1, p2)) {
-			int cx = constrainX(p1.x + ddx);
-			np1 = new Point(cx, p1.y);
-			np2 = new Point(cx, p2.y);
-		}
-		else {
-			int cy = constrainY(p1.y + ddy);
-			np1 = new Point(p1.x, cy);
-			np2 = new Point(p2.x, cy);
-		}
-		line.setPointAt(np1, fSegment);
-		line.setPointAt(np2, fSegment+1);
-		fLastX = x;
-		fLastY = y;
-	}
-
-	private boolean isVertical(Point p1, Point p2) {
-		return p1.x == p2.x;
-	}
-
-	public Point locate() {
-		LineConnection line = ownerConnection();
-		int segment = Math.min(fSegment, line.pointCount()-2);
-		Point p1 = line.pointAt(segment);
-		Point p2 = line.pointAt(segment+1);
-		return new Point((p1.x + p2.x)/2, (p1.y + p2.y)/2);
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	private int constrainX(int x) {
-		LineConnection line = ownerConnection();
-		Figure startFigure = line.getStartConnector().owner();
-		Figure endFigure = line.getEndConnector().owner();
-		Rectangle start = startFigure.displayBox();
-		Rectangle end = endFigure.displayBox();
-		Insets i1 = startFigure.connectionInsets();
-		Insets i2 = endFigure.connectionInsets();
-
-		int r1x, r1width, r2x, r2width;
-		r1x = start.x + i1.left;
-		r1width = start.width - i1.left - i1.right-1;
-
-		r2x = end.x + i2.left;
-		r2width = end.width - i2.left - i2.right-1;
-
-		if (fSegment == 0) {
-			x = Geom.range(r1x, r1x + r1width, x);
-		}
-		if (fSegment == line.pointCount()-2) {
-			x = Geom.range(r2x, r2x + r2width, x);
-		}
-		return x;
-	}
-
-	private int constrainY(int y) {
-		LineConnection line = ownerConnection();
-		Figure startFigure = line.getStartConnector().owner();
-		Figure endFigure = line.getEndConnector().owner();
-		Rectangle start = startFigure.displayBox();
-		Rectangle end = endFigure.displayBox();
-		Insets i1 = startFigure.connectionInsets();
-		Insets i2 = endFigure.connectionInsets();
-
-		int r1y, r1height, r2y, r2height;
-		r1y = start.y + i1.top;
-		r1height = start.height - i1.top - i1.bottom-1;
-		r2y = end.y + i2.top;
-		r2height = end.height - i2.top - i2.bottom-1;
-
-		if (fSegment == 0) {
-			y = Geom.range(r1y, r1y + r1height, y);
-		}
-		if (fSegment == line.pointCount()-2) {
-			y = Geom.range(r2y, r2y + r2height, y);
-		}
-		return y;
-	}
-
-	private LineConnection ownerConnection() {
-		return (LineConnection)owner();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/EllipseFigure.java b/JHotDraw/src/CH/ifa/draw/figures/EllipseFigure.java
deleted file mode 100644
index c9f70e6ed..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/EllipseFigure.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)EllipseFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.io.IOException;
-import java.util.List;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * An ellipse figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class EllipseFigure extends AttributeFigure {
-
-	private Rectangle   fDisplayBox;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -6856203289355118951L;
-	private int ellipseFigureSerializedDataVersion = 1;
-
-	public EllipseFigure() {
-		this(new Point(0,0), new Point(0,0));
-	}
-
-	public EllipseFigure(Point origin, Point corner) {
-		basicDisplayBox(origin,corner);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-        /*
-         * JP, 25-May-03: Changed from (width-1, height-1) to (width, height),
-         * because figures were not filled completely (JDK 1.4.x). Might invalidate
-         * fix for #661878. If the problem is JDK-dependant, maybe the JDK version
-         * should be taken into account here?
-         */
-		g.fillOval(r.x, r.y, r.width, r.height);
-	}
-
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.drawOval(r.x, r.y, r.width-1, r.height-1);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = fDisplayBox;
-		int cx = r.width/2;
-		int cy = r.height/2;
-		return new Insets(cy, cx, cy, cx);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ChopEllipseConnector(this);
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/FigureAttributes.java b/JHotDraw/src/CH/ifa/draw/figures/FigureAttributes.java
deleted file mode 100644
index 732a374be..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/FigureAttributes.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * @(#)FigureAttributes.java
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-import java.awt.Color;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Iterator;
-
-/**
- * A container for a figure's attributes. The attributes are stored
- * as key/value pairs.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class   FigureAttributes
-		extends Object
-		implements Cloneable, Serializable {
-
-	private Map fMap;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -6886355144423666716L;
-	private int figureAttributesSerializedDataVersion = 1;
-
-	/**
-	 * Constructs the FigureAttributes.
-	 */
-	public FigureAttributes() {
-		fMap = CollectionsFactory.current().createMap();
-	}
-
-	/**
-	 * Gets the attribute with the given name.
-	 * @return attribute or null if the key is not defined
-	 */
-	public Object get(FigureAttributeConstant attributeConstant) {
-		return fMap.get(attributeConstant);
-	}
-
-	/**
-	 * Sets the attribute with the given name and
-	 * overwrites its previous value.
-	 */
-	public void set(FigureAttributeConstant attributeConstant, Object value) {
-		if (value != null) {
-			fMap.put(attributeConstant, value);
-		}
-		else {
-			fMap.remove(attributeConstant);
-		}
-	}
-
-	/**
-	 * Tests if an attribute is defined.
-	 */
-	public boolean hasDefined(FigureAttributeConstant attributeConstant) {
-		return fMap.containsKey(attributeConstant);
-	}
-
-	/**
-	 * Clones the attributes.
-	 */
-   public Object clone() {
-		try {
-			FigureAttributes a = (FigureAttributes) super.clone();
-			a.fMap = CollectionsFactory.current().createMap(fMap);
-			return a;
-		}
-		catch (CloneNotSupportedException e) {
-			throw new InternalError();
-		}
-	}
-
-	/**
-	 * Reads the attributes from a StorableInput.
-	 * FigureAttributes store the following types directly:
-	 * Color, Boolean, String, Int. Other attribute types
-	 * have to implement the Storable interface or they
-	 * have to be wrapped by an object that implements Storable.
-	 * @see Storable
-	 * @see #write
-	 */
-	public void read(StorableInput dr) throws IOException {
-		String s = dr.readString();
-		if (!s.toLowerCase().equals("attributes")) {
-			throw new IOException("Attributes expected");
-		}
-
-		fMap = CollectionsFactory.current().createMap();
-		int size = dr.readInt();
-		for (int i=0; i<size; i++) {
-			String key = dr.readString();
-			String valtype = dr.readString();
-			Object val = null;
-			if (valtype.equals("Color")) {
-				val = new Color(dr.readInt(), dr.readInt(), dr.readInt());
-			}
-			else if (valtype.equals("Boolean")) {
-				val = new Boolean(dr.readString());
-			}
-			else if (valtype.equals("String")) {
-				val = dr.readString();
-			}
-			else if (valtype.equals("Int")) {
-				val = new Integer(dr.readInt());
-			}
-			else if (valtype.equals("Storable")) {
-				val = dr.readStorable();
-			}
-			else if (valtype.equals(Figure.POPUP_MENU)) {
-				// read String but don't store it
-				continue;
-			}
-			else if (valtype.equals("UNKNOWN")) {
-				continue;
-			}
-			// try to get defined constant
-			FigureAttributeConstant attributeConstant = FigureAttributeConstant.getConstant(key);
-			set(attributeConstant, val);
-		}
-	}
-
-	/**
-	 * Writes the attributes to a StorableInput.
-	 * FigureAttributes store the following types directly:
-	 * Color, Boolean, String, Int. Other attribute types
-	 * have to implement the Storable interface or they
-	 * have to be wrapped by an object that implements Storable.
-	 * @see Storable
-	 * @see #write
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeString("attributes");
-
-		dw.writeInt(fMap.size());   // number of attributes
-		Iterator iter = fMap.keySet().iterator();
-		while (iter.hasNext()) {
-			FigureAttributeConstant fac = (FigureAttributeConstant)iter.next();
-			String attributeName = fac.getName();
-			Object attributeValue = fMap.get(fac);
-
-			dw.writeString(attributeName);
-
-			if (attributeValue instanceof String) {
-				dw.writeString("String");
-				dw.writeString((String)attributeValue);
-			}
-			else if (attributeValue instanceof Color) {
-				writeColor(dw, "Color", (Color)attributeValue);
-			}
-			else if (attributeValue instanceof Boolean) {
-				dw.writeString("Boolean");
-				if (((Boolean)attributeValue).booleanValue()) {
-					dw.writeString("TRUE");
-				}
-				else {
-					dw.writeString("FALSE");
-				}
-			}
-			else if (attributeValue instanceof Integer) {
-				dw.writeString("Int");
-				dw.writeInt(((Integer)attributeValue).intValue());
-			}
-			else if (attributeValue instanceof Storable) {
-				dw.writeString("Storable");
-				dw.writeStorable((Storable)attributeValue);
-			}
-			else if (attributeValue instanceof javax.swing.JPopupMenu) {
-				dw.writeString(Figure.POPUP_MENU);
-			}
-			else {
-				System.err.println("Unknown attribute: " + attributeValue);
-				dw.writeString("UNKNOWN");
-			}
-		}
-	}
-
-	public static void writeColor(StorableOutput dw, String colorName, Color color) {
-	   if (color != null) {
-			dw.writeString(colorName);
-			dw.writeInt(color.getRed());
-			dw.writeInt(color.getGreen());
-			dw.writeInt(color.getBlue());
-		}
-	}
-
-	public static Color readColor(StorableInput dr) throws IOException {
-		return new Color(dr.readInt(), dr.readInt(), dr.readInt());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/FontSizeHandle.java b/JHotDraw/src/CH/ifa/draw/figures/FontSizeHandle.java
deleted file mode 100644
index 2248b3e09..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/FontSizeHandle.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)FontSizeHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A Handle to change the font size by direct manipulation.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FontSizeHandle extends LocatorHandle {
-
-	public FontSizeHandle(Figure owner, Locator l) {
-		super(owner, l);
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		TextFigure textOwner = (TextFigure) owner();
-
-		FontSizeHandle.UndoActivity activity = (FontSizeHandle.UndoActivity)getUndoActivity();
-		int newSize = activity.getFont().getSize() + y-anchorY;
-		textOwner.setFont(new Font(activity.getFont().getName(), activity.getFont().getStyle(), newSize));
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		TextFigure textOwner = (TextFigure) owner();
-		FontSizeHandle.UndoActivity activity = (FontSizeHandle.UndoActivity)getUndoActivity();
-		// there has been no change so there is nothing to undo
-		if (textOwner.getFont().getSize() == activity.getOldFontSize()) {
-			setUndoActivity(null);
-		}
-		else {
-			activity.setFont(textOwner.getFont());
-		}
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		TextFigure textOwner = (TextFigure)owner();
-		return new FontSizeHandle.UndoActivity(newView, textOwner.getFont());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Font myFont;
-		private int  myOldFontSize;
-		
-		public UndoActivity(DrawingView newView, Font newFont) {
-			super(newView);
-			setFont(newFont);
-			setOldFontSize(getFont().getSize());
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			swapFont();
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-			swapFont();
-			return true;
-		}
-
-		protected void swapFont() {
-			setOldFontSize(replaceFontSize());
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				((TextFigure)fe.nextFigure()).setFont(getFont());
-			}
-		}
-		
-		private int replaceFontSize() {
-			int tempFontSize = getFont().getSize();
-			setFont(new Font(getFont().getName(), getFont().getStyle(), getOldFontSize()));
-			return tempFontSize;
-		}		
-		protected void setFont(Font newFont) {
-			myFont = newFont;
-		}
-		
-		public Font getFont() {
-			return myFont;
-		}
-		
-		protected void setOldFontSize(int newOldFontSize) {
-			myOldFontSize = newOldFontSize;
-		}
-		
-		public int getOldFontSize() {
-			return myOldFontSize;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/GroupCommand.java b/JHotDraw/src/CH/ifa/draw/figures/GroupCommand.java
deleted file mode 100644
index 4635759ae..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/GroupCommand.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)GroupCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-import java.util.List;
-
-/**
- * Command to group the selection into a GroupFigure.
- *
- * @see GroupFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class GroupCommand extends AbstractCommand {
-
-   /**
-	 * Constructs a group command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public GroupCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selection());
-		((GroupCommand.UndoActivity)getUndoActivity()).groupFigures();
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 1;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new GroupCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-
-			// orphan group figure(s)
-			getDrawingView().drawing().orphanAll(getAffectedFigures());
-
-			// create a new collection with the grouped figures as elements
-			List affectedFigures = CollectionsFactory.current().createList();
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				// add contained figures
-				getDrawingView().drawing().addAll(currentFigure.figures());
-				getDrawingView().addToSelectionAll(currentFigure.figures());
-
-				FigureEnumeration groupedFigures = currentFigure.figures();
-				while (groupedFigures.hasNextFigure()) {
-					affectedFigures.add(groupedFigures.nextFigure());
-				}
-			}
-
-			setAffectedFigures(new FigureEnumerator(affectedFigures));
-
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				groupFigures();
-				return true;
-			}
-
-			return false;
-		}
-
-		public void groupFigures() {
-			getDrawingView().drawing().orphanAll(getAffectedFigures());
-			getDrawingView().clearSelection();
-
-			// add new group figure instead
-			GroupFigure group = new GroupFigure();
-			group.addAll(getAffectedFigures());
-
-			Figure figure = getDrawingView().drawing().add(group);
-			getDrawingView().addToSelection(figure);
-
-			// create a new collection with the new group figure as element
-			List affectedFigures = CollectionsFactory.current().createList();
-			affectedFigures.add(figure);
-			setAffectedFigures(new FigureEnumerator(affectedFigures));
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/GroupFigure.java b/JHotDraw/src/CH/ifa/draw/figures/GroupFigure.java
deleted file mode 100644
index 12ff7a520..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/GroupFigure.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * @(#)GroupFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.util.List;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-/**
- * A Figure that groups a collection of figures.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class GroupFigure extends CompositeFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 8311226373023297933L;
-	private int groupFigureSerializedDataVersion = 1;
-
-   /**
-	* GroupFigures cannot be connected
-	*/
-	public boolean canConnect() {
-		return false;
-	}
-
-   /**
-	* Gets the display box. The display box is defined as the union
-	* of the contained figures.
-	*/
-	public Rectangle displayBox() {
-		FigureEnumeration fe = figures();
-		Rectangle r = fe.nextFigure().displayBox();
-
-		while (fe.hasNextFigure()) {
-			r.add(fe.nextFigure().displayBox());
-		}
-		return r;
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		// do nothing
-		// we could transform all components proportionally
-	}
-
-	public FigureEnumeration decompose() {
-		return new FigureEnumerator(fFigures);
-	}
-
-   /**
-	* Gets the handles for the GroupFigure.
-	*/
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new GroupHandle(this, RelativeLocator.northWest()));
-		handles.add(new GroupHandle(this, RelativeLocator.northEast()));
-		handles.add(new GroupHandle(this, RelativeLocator.southWest()));
-		handles.add(new GroupHandle(this, RelativeLocator.southEast()));
-		return new HandleEnumerator(handles);
-	}
-
-   /**
-	* Sets the attribute of all the contained figures.
-	* @deprecated see setAttribute(FigureAttributeConstant,Object)
-	*/
-	public void setAttribute(String name, Object value) {
-		super.setAttribute(name, value);
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().setAttribute(name, value);
-		}
-	}
-
-	/**
-	 * Sets the attribute of the GroupFigure as well as all contained Figures.
-	 */
-	public void setAttribute(FigureAttributeConstant fac, Object object){
-		super.setAttribute(fac, object);
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().setAttribute(fac, object);
-		}		
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/GroupHandle.java b/JHotDraw/src/CH/ifa/draw/figures/GroupHandle.java
deleted file mode 100644
index dfa1ff804..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/GroupHandle.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)GroupHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.NullHandle;
-
-/**
- * A Handle for a GroupFigure.
- *
- * @version <$CURRENT_VERSION$>
- */
-final class GroupHandle extends NullHandle {
-
-	public GroupHandle(Figure owner, Locator locator) {
-		super(owner, locator);
-	}
-
-	/**
-	 * Draws the Group handle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-		r.grow(-1, -1);
-		g.setColor(Color.white);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ImageFigure.java b/JHotDraw/src/CH/ifa/draw/figures/ImageFigure.java
deleted file mode 100644
index 54c586fb2..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ImageFigure.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * @(#)ImageFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.io.*;
-import java.util.List;
-import java.awt.image.ImageObserver;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A Figure that shows an Image.
- * Images shown by an image figure are shared by using the Iconkit.
- *
- * @see Iconkit
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ImageFigure
-		extends AttributeFigure implements ImageObserver {
-
-	private String   fFileName;
-	private transient Image fImage;
-	private Rectangle fDisplayBox;
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 148012030121282439L;
-	private int imageFigureSerializedDataVersion = 1;
-
-	public ImageFigure() {
-		fFileName = null;
-		fImage = null;
-		fDisplayBox = null;
-	}
-
-	public ImageFigure(Image image, String fileName, Point origin) {
-		fFileName = fileName;
-		fImage = image;
-		// fix for bug-id: 593080 (ImageFigure calculates the image rectangle wrongly)
-		basicDisplayBox(origin, new Point(origin.x + fImage.getWidth(this), origin.y + fImage.getHeight(this)));
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void draw(Graphics g) {
-		if (fImage == null) {
-			fImage = Iconkit.instance().getImage(fFileName);
-		}
-		if (fImage != null) {
-			g.drawImage(fImage, fDisplayBox.x, fDisplayBox.y, fDisplayBox.width, fDisplayBox.height, this);
-		}
-		else {
-			drawGhost(g);
-		}
-	}
-
-	private void drawGhost(Graphics g) {
-		g.setColor(Color.gray);
-		g.fillRect(fDisplayBox.x, fDisplayBox.y, fDisplayBox.width, fDisplayBox.height);
-	}
-
-   /**
-	* Handles asynchroneous image updates.
-	*/
-	public boolean imageUpdate(Image img, int flags, int x, int y, int w, int h) {
-		if ((flags & (FRAMEBITS|ALLBITS)) != 0) {
-			invalidate();
-			if (listener() != null) {
-				listener().figureRequestUpdate(new FigureChangeEvent(this));
-			}
-		}
-		return (flags & (ALLBITS|ABORT)) == 0;
-	}
-
-	/**
-	 * Releases a figure's resources. Release is called when
-	 * a figure is removed from a drawing. Informs the listeners that
-	 * the figure is removed by calling figureRemoved.
-	 */
-	public void release() {
-		fImage.flush();
-	}
-
-   /**
-	* Writes the ImageFigure to a StorableOutput. Only a reference to the
-	* image, that is its pathname is saved.
-	*/
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-		dw.writeString(fFileName);
-	}
-
-   /**
-	* Reads the ImageFigure from a StorableInput. It registers the
-	* referenced figure to be loaded from the Iconkit.
-	* @see Iconkit#registerImage
-	*/
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-		fFileName = dr.readString();
-		Iconkit.instance().registerImage(fFileName);
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-		Iconkit.instance().registerImage(fFileName);
-		fImage = null;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/InsertImageCommand.java b/JHotDraw/src/CH/ifa/draw/figures/InsertImageCommand.java
deleted file mode 100644
index 8f3b3a9c4..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/InsertImageCommand.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * @(#)InsertImageCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-import java.awt.*;
-import java.lang.ref.WeakReference;
-
-/**
- * Command to insert a named image.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class InsertImageCommand extends AbstractCommand {
-
-	private String  myImageName;
-
-	/**
-	 * Constructs an insert image command.
-	 * @param name the command name
-	 * @param newImageName the pathname of the image
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public InsertImageCommand(String name, String newImageName, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-		myImageName = newImageName;
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		((InsertImageCommand.UndoActivity)getUndoActivity()).insertImage();
-		view().checkDamage();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new InsertImageCommand.UndoActivity(view(), myImageName);
-	}
-
-	public class UndoActivity extends UndoableAdapter {
-
-		/**
-		 * Use weak reference so if the command is the last one which references
-		 * the ImageFigure then it might be garbage collected. Usually, the ImageFigure
-		 * is referenced from the drawing it is inserted and might be only garbage
-		 * collected after an undo operation (which removes the ImageFigure from
-		 * the drawing). If it has been garbage collected but is requested again
-		 * (e.g. during a redo operation) it is restored if possible.
-		 */
-		WeakReference	myAffectedImageFigure;
-		private String  myAffectedImageName;
-		
-		UndoActivity(DrawingView newDrawingView, String newAffectedImageName) {
-			super(newDrawingView);
-			myAffectedImageName = newAffectedImageName;
-			setUndoable(true);
-			setRedoable(true);			
-		}
-		
-		protected void setImageFigure(ImageFigure newImageFigure) {
-			myAffectedImageFigure = new WeakReference(newImageFigure);
-		}
-		
-		protected ImageFigure getImageFigure() {
-			// load image if it has not been loaded so far
-			if ((myAffectedImageFigure == null) || (myAffectedImageFigure.get() == null)) {
-				// ugly cast to component, but AWT wants a Component instead of an ImageObserver...
-				Image image = Iconkit.instance().registerAndLoadImage(
-					(Component)getDrawingView(), myAffectedImageName);
-				setImageFigure(new ImageFigure(
-					image, myAffectedImageName, getDrawingView().lastClick()));
-			}
-	
-			return (ImageFigure)myAffectedImageFigure.get();
-		}
-	
-		public boolean undo() {
-			if (super.undo()) {
-				getDrawingView().clearSelection();
-	
-				getDrawingView().drawing().orphan(getImageFigure());
-	
-				return true;
-			}
-			
-			return false;
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				insertImage();
-				return true;
-			}
-			
-			return false;
-		}
-
-		protected void insertImage() {
-			getDrawingView().add(getImageFigure());
-			getDrawingView().clearSelection();
-			getDrawingView().addToSelection(getImageFigure());
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java b/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
deleted file mode 100644
index 0364673b9..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * @(#)LineConnection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.util.List;
-import java.io.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A LineConnection is a standard implementation of the
- * ConnectionFigure interface. The interface is implemented with PolyLineFigure.
- *
- * @see ConnectionFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class LineConnection extends PolyLineFigure implements ConnectionFigure {
-
-	protected Connector    myStartConnector;
-	protected Connector    myEndConnector;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6883731614578414801L;
-	private int lineConnectionSerializedDataVersion = 1;
-
-	/**
-	 * Constructs a LineConnection. A connection figure has
-	 * an arrow decoration at the start and end.
-	 */
-	public LineConnection() {
-		super(4);
-		setStartDecoration(new ArrowTip());
-		setEndDecoration(new ArrowTip());
-	}
-
-	/**
-	 * Tests whether a figure can be a connection target.
-	 * ConnectionFigures cannot be connected and return false.
-	 */
-	public boolean canConnect() {
-		return false;
-	}
-
-	/**
-	 * Ensures that a connection is updated if the connection
-	 * was moved.
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		// don't move the start and end point since they are connected
-		for (int i = 1; i < fPoints.size()-1; i++) {
-			pointAt(i).translate(dx, dy);
-		}
-
-		updateConnection(); // make sure that we are still connected
-	}
-
-	/**
-	 * Sets the start figure of the connection.
-	 */
-	public void connectStart(Connector newStartConnector) {
-		setStartConnector(newStartConnector);
-		if (newStartConnector != null) {
-			startFigure().addDependendFigure(this);
-			startFigure().addFigureChangeListener(this);
-		}
-	}
-
-	/**
-	 * Sets the end figure of the connection.
-	 */
-	public void connectEnd(Connector newEndConnector) {
-		setEndConnector(newEndConnector);
-		if (newEndConnector != null) {
-			endFigure().addDependendFigure(this);
-			endFigure().addFigureChangeListener(this);
-			handleConnect(startFigure(), endFigure());
-		}
-	}
-
-	/**
-	 * Disconnects the start figure.
-	 */
-	public void disconnectStart() {
-		startFigure().removeFigureChangeListener(this);
-		startFigure().removeDependendFigure(this);
-		setStartConnector(null);
-	}
-
-	/**
-	 * Disconnects the end figure.
-	 */
-	public void disconnectEnd() {
-		handleDisconnect(startFigure(), endFigure());
-		endFigure().removeFigureChangeListener(this);
-		endFigure().removeDependendFigure(this);
-		setEndConnector(null);
-	}
-
-	/**
-	 * Tests whether a connection connects the same figures
-	 * as another ConnectionFigure.
-	 */
-	public boolean connectsSame(ConnectionFigure other) {
-		return other.getStartConnector() == getStartConnector()
-			&& other.getEndConnector() == getEndConnector();
-	}
-
-	/**
-	 * Handles the disconnection of a connection.
-	 * Override this method to handle this event.
-	 */
-	protected void handleDisconnect(Figure start, Figure end) {}
-
-	/**
-	 * Handles the connection of a connection.
-	 * Override this method to handle this event.
-	 */
-	protected void handleConnect(Figure start, Figure end) {}
-
-	/**
-	 * Gets the start figure of the connection.
-	 */
-	public Figure startFigure() {
-		if (getStartConnector() != null) {
-			return getStartConnector().owner();
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the end figure of the connection.
-	 */
-	public Figure endFigure() {
-		if (getEndConnector() != null) {
-			return getEndConnector().owner();
-		}
-		return null;
-	}
-
-	protected void setStartConnector(Connector newStartConnector) {
-		myStartConnector = newStartConnector;
-	}
-
-	/**
-	 * Gets the start figure of the connection.
-	 */
-	public Connector getStartConnector() {
-		return myStartConnector;
-	}
-
-	protected void setEndConnector(Connector newEndConnector) {
-		myEndConnector = newEndConnector;
-	}
-
-	/**
-	 * Gets the end figure of the connection.
-	 */
-	public Connector getEndConnector() {
-		return myEndConnector;
-	}
-
-	/**
-	 * Tests whether two figures can be connected.
-	 */
-	public boolean canConnect(Figure start, Figure end) {
-		return true;
-	}
-
-	/**
-	 * Sets the start point.
-	 */
-	public void startPoint(int x, int y) {
-		willChange();
-		if (fPoints.size() == 0) {
-			fPoints.add(new Point(x, y));
-		}
-		else {
-			fPoints.set(0, new Point(x, y));
-		}
-		changed();
-	}
-
-	/**
-	 * Sets the end point.
-	 */
-	public void endPoint(int x, int y) {
-		willChange();
-		if (fPoints.size() < 2) {
-			fPoints.add(new Point(x, y));
-		}
-		else {
-			fPoints.set(fPoints.size()-1, new Point(x, y));
-		}
-		changed();
-	}
-
-	/**
-	 * Gets the start point.
-	 */
-	public Point startPoint() {
-		Point p = pointAt(0);
-		return new Point(p.x, p.y);
-	}
-
-	/**
-	 * Gets the end point.
-	 */
-	public Point endPoint() {
-		if (fPoints.size() > 0) {
-			Point p = pointAt(fPoints.size()-1);
-			return new Point(p.x, p.y);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Gets the handles of the figure. It returns the normal
-	 * PolyLineHandles but adds ChangeConnectionHandles at the
-	 * start and end.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(fPoints.size());
-		handles.add(new ChangeConnectionStartHandle(this));
-		for (int i = 1; i < fPoints.size()-1; i++) {
-			handles.add(new PolyLineHandle(this, locator(i), i));
-		}
-		handles.add(new ChangeConnectionEndHandle(this));
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Sets the point and updates the connection.
-	 */
-	public void setPointAt(Point p, int i) {
-		super.setPointAt(p, i);
-		layoutConnection();
-	}
-
-	/**
-	 * Inserts the point and updates the connection.
-	 */
-	public void insertPointAt(Point p, int i) {
-		super.insertPointAt(p, i);
-		layoutConnection();
-	}
-
-	/**
-	 * Removes the point and updates the connection.
-	 */
-	public void removePointAt(int i) {
-		super.removePointAt(i);
-		layoutConnection();
-	}
-
-	/**
-	 * Updates the connection.
-	 */
-	public void updateConnection() {
-		if (getStartConnector() != null) {
-			Point start = getStartConnector().findStart(this);
-
-			if (start != null) {
-				startPoint(start.x, start.y);
-			}
-		}
-		if (getEndConnector() != null) {
-			Point end = getEndConnector().findEnd(this);
-
-			if (end != null) {
-				endPoint(end.x, end.y);
-			}
-		}
-	}
-
-	/**
-	 * Lays out the connection. This is called when the connection
-	 * itself changes. By default the connection is recalculated
-	 */
-	public void layoutConnection() {
-		updateConnection();
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		updateConnection();
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-	}
-
-	public void figureRequestRemove(FigureChangeEvent e) {
-	}
-
-	public void figureInvalidated(FigureChangeEvent e) {
-	}
-
-	public void figureRequestUpdate(FigureChangeEvent e) {
-	}
-
-	public void release() {
-		super.release();
-		handleDisconnect(startFigure(), endFigure());
-		if (getStartConnector() != null) {
-			startFigure().removeFigureChangeListener(this);
-			startFigure().removeDependendFigure(this);
-		}
-		if (getEndConnector() != null) {
-			endFigure().removeFigureChangeListener(this);
-			endFigure().removeDependendFigure(this);
-		}
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getStartConnector());
-		dw.writeStorable(getEndConnector());
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		Connector start = (Connector)dr.readStorable();
-		if (start != null) {
-			connectStart(start);
-		}
-		Connector end = (Connector)dr.readStorable();
-		if (end != null) {
-			connectEnd(end);
-		}
-		if ((start != null) && (end != null)) {
-			updateConnection();
-		}
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		if (getStartConnector() != null) {
-			connectStart(getStartConnector());
-		}
-		if (getEndConnector() != null) {
-			connectEnd(getEndConnector());
-		}
-	}
-
-	public void visit(FigureVisitor visitor) {
-		visitor.visitFigure(this);
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#removeFromContainer(CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	public void removeFromContainer(FigureChangeListener c) {
-		super.removeFromContainer(c);
-		release();
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/LineDecoration.java b/JHotDraw/src/CH/ifa/draw/figures/LineDecoration.java
deleted file mode 100644
index 09567f609..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/LineDecoration.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * @(#)LineDecoration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.util.Storable;
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Decorate the start or end point of a line or poly line figure.
- * LineDecoration is the base class for the different line decorations.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface LineDecoration
-				extends Storable, Cloneable, Serializable {
-
-	/**
-	 * Draws the decoration in the direction specified by the two points.
-	 */
-	public void draw(Graphics g, int x1, int y1, int x2, int y2);
-
-	/**
-	 * @return the display box of a LineDecoration.
-	 */
-	public Rectangle displayBox();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/LineFigure.java b/JHotDraw/src/CH/ifa/draw/figures/LineFigure.java
deleted file mode 100644
index 335a9c374..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/LineFigure.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * @(#)LineFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-
-/**
- * A line figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class LineFigure extends PolyLineFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 511503575249212371L;
-	private int lineFigureSerializedDataVersion = 1;
-
-	/**
-	 * Constructs a LineFigure with both start and end set to Point(0,0).
-	 */
-	public LineFigure() {
-		addPoint(0, 0);
-		addPoint(0, 0);
-	}
-
-	/**
-	 * Gets a copy of the start point.
-	 */
-	public Point startPoint() {
-		return pointAt(0);
-	}
-
-	/**
-	 * Gets a copy of the end point.
-	 */
-	public Point endPoint() {
-		return pointAt(1);
-	}
-
-	/**
-	 * Sets the start point.
-	 */
-	public void  startPoint(int x, int y) {
-		setPointAt(new Point(x,y), 0);
-	}
-
-	/**
-	 * Sets the end point.
-	 */
-	public void  endPoint(int x, int y) {
-		setPointAt(new Point(x,y), 1);
-	}
-
-	/**
-	 * Sets the start and end point.
-	 */
-	public void setPoints(Point start, Point end) {
-		setPointAt(start, 0);
-		setPointAt(end, 1);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		setPoints(origin, corner);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/NullConnector.java b/JHotDraw/src/CH/ifa/draw/figures/NullConnector.java
deleted file mode 100644
index 41f1a998b..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/NullConnector.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * @(#)Connector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.standard.AbstractConnector;
-import CH.ifa.draw.framework.Figure;
-
-public class NullConnector extends AbstractConnector {
-	// AbstractConnector implements already all methods but cannot be instantiated
-
-	private NullConnector() {
-		// do nothing: for JDO-compliance only
-	}
-
-	public NullConnector(Figure owner) {
-		super(owner);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/NullFigure.java b/JHotDraw/src/CH/ifa/draw/figures/NullFigure.java
deleted file mode 100644
index 408babdff..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/NullFigure.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * @(#)LineConnection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.standard.AbstractFigure;
-import CH.ifa.draw.standard.HandleEnumerator;
-
-import java.awt.*;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class NullFigure extends AbstractFigure {
-
-	private Rectangle myDisplayBox;
-
-	/**
-	 * Moves the figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #moveBy
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		myDisplayBox.translate(dx, dy);
-	}
-
-	/**
-	 * Changes the display box of a figure. This method is
-	 * always implemented in figure subclasses.
-	 * It only changes
-	 * the displaybox and does not announce any changes. It
-	 * is usually not called by the client. Clients typically call
-	 * displayBox to change the display box.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		myDisplayBox = new Rectangle(origin);
-		myDisplayBox.add(corner);
-	}
-
-	/**
-	 * Gets the display box of a figure
-	 * @see #basicDisplayBox
-	 */
-	public Rectangle displayBox() {
-		return new Rectangle(myDisplayBox);
-	}
-
-	/**
-	 * Draws the figure.
-	 * @param g the Graphics to draw into
-	 */
-	public void draw(Graphics g) {
-		// A NullFigure cannot be drawn: it has no graphical representation
-	}
-
-	/**
-	 * Returns the handles used to manipulate
-	 * the figure. Handles is a Factory Method for
-	 * creating handle objects.
-	 *
-	 * @return an type-safe iterator of handles
-	 * @see Handle
-	 */
-	public HandleEnumeration handles() {
-		return HandleEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Checks if the Figure should be considered as empty.
-	 */
-	public boolean isEmpty() {
-		return true;
-	}
-
-	/**
-	 * Returns an Enumeration of the figures contained in this figure
-	 */
-	public FigureEnumeration figures() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Returns the figure that contains the given point.
-	 */
-	public Figure findFigureInside(int x, int y) {
-		// A NullFigure does not contain other figures
-		return null;
-	}
-
-	/**
-	 * Returns a Clone of this figure
-	 */
-	public Object clone() {
-		return super.clone();
-	}
-
-	/**
-	 * Checks whether the given figure is contained in this figure.
-	 */
-	public boolean includes(Figure figure) {
-		// A NullFigure does not contain another figure
-		return false;
-	}
-
-	/**
-	 * Decomposes a figure into its parts. A figure is considered
-	 * as a part of itself.
-	 */
-	public FigureEnumeration decompose() {
-		return new SingleFigureEnumerator(this);
-	}
-
-	/**
-	 * Releases a figure's resources. Release is called when
-	 * a figure is removed from a drawing. Informs the listeners that
-	 * the figure is removed by calling figureRemoved.
-	 */
-	public void release() {
-		// A NullFigure does not occupy any resources
-	}
-
-	/**
-	 * Invalidates the figure. This method informs its listeners
-	 * that its current display box is invalid and should be
-	 * refreshed.
-	 */
-	public void invalidate() {
-		// A NullFigure does not have a display box
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-		return null;
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-		return null;
-	}
-
-	/**
-	 * Sets the named attribute to the new value
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-	}
-
-	/**
-	 * Sets the named attribute to the new value
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/NumberTextFigure.java b/JHotDraw/src/CH/ifa/draw/figures/NumberTextFigure.java
deleted file mode 100644
index fec1ef8ad..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/NumberTextFigure.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * @(#)NumberTextFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.Figure;
-
-/**
- * A TextFigure specialized to edit numbers.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class NumberTextFigure extends TextFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -4056859232918336475L;
-	private int numberTextFigureSerializedDataVersion = 1;
-
-	/**
-	 * Gets the number of columns to be used by the text overlay.
-	 * @see CH.ifa.draw.util.FloatingTextField
-	 */
-	public int overlayColumns() {
-		return Math.max(4, getText().length());
-	}
-
-	/**
-	 * Gets the numerical value of the contained text.
-	 * return the value or 0 in the case of an illegal number format.
-	 */
-	public int getValue() {
-		int value = 0;
-		try {
-			value = Integer.parseInt(getText());
-		}
-		catch (NumberFormatException e) {
-			value = 0;
-		}
-		return value;
-	}
-
-	/**
-	 * Sets the numberical value of the contained text.
-	 */
-	public void setValue(int value) {
-		setText(Integer.toString(value));
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/PolyLineConnector.java b/JHotDraw/src/CH/ifa/draw/figures/PolyLineConnector.java
deleted file mode 100644
index 47791e148..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/PolyLineConnector.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * @(#)PolyLineConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * PolyLineConnector finds connection points on a
- * PolyLineFigure.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PolyLineConnector extends ChopBoxConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6018435940519102865L;
-
-	public PolyLineConnector() {
-		super();
-	}
-
-	/**
-	 * Constructs a connector with the given owner figure.
-	 */
-	public PolyLineConnector(Figure owner) {
-		super(owner);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		PolyLineFigure p = (PolyLineFigure)owner();
-		// *** based on PolygonFigure's heuristic
-		Point ctr = p.center();
-		int cx = -1;
-		int cy = -1;
-		long len = Long.MAX_VALUE;
-
-		// Try for points along edge
-
-		for (int i = 0; i < p.pointCount()-1; i++) {
-			Point p1 = p.pointAt(i);
-			Point p2 = p.pointAt(i+1);
-			Point chop = Geom.intersect(p1.x,
-								 p1.y,
-								 p2.x,
-								 p2.y,
-								 from.x,
-								 from.y,
-								 ctr.x,
-								 ctr.y);
-			if (chop != null) {
-				long cl = Geom.length2(chop.x, chop.y, from.x, from.y);
-				if (cl < len) {
-					len = cl;
-					cx = chop.x;
-					cy = chop.y;
-				}
-			}
-		}
-		// if none found, pick closest vertex
-		//if (len ==  Long.MAX_VALUE) {
-		{ // try anyway
-			for (int i = 0; i < p.pointCount(); i++) {
-				Point pp = p.pointAt(i);
-				long l = Geom.length2(pp.x, pp.y, from.x, from.y);
-				if (l < len) {
-					len = l;
-					cx = pp.x;
-					cy = pp.y;
-				}
-			}
-		}
-		return new Point(cx, cy);
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/PolyLineFigure.java b/JHotDraw/src/CH/ifa/draw/figures/PolyLineFigure.java
deleted file mode 100644
index 1ba24034c..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/PolyLineFigure.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*
- * @(#)PolyLineFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.Connector;
-import CH.ifa.draw.framework.FigureAttributeConstant;
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.framework.Locator;
-import CH.ifa.draw.standard.AbstractFigure;
-import CH.ifa.draw.standard.HandleEnumerator;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-// JUnitDoclet end import
-
-/**
- * A poly line figure consists of a list of points.
- * It has an optional line decoration at the start and end.
- *
- * @see LineDecoration
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PolyLineFigure extends AbstractFigure {
-
-	public final static int ARROW_TIP_NONE  = 0;
-	public final static int ARROW_TIP_START = 1;
-	public final static int ARROW_TIP_END   = 2;
-	public final static int ARROW_TIP_BOTH  = 3;
-
-	protected List                fPoints;
-	protected LineDecoration      fStartDecoration = null;
-	protected LineDecoration      fEndDecoration = null;
-	protected Color               fFrameColor = Color.black;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7951352179906577773L;
-	private int polyLineFigureSerializedDataVersion = 1;
-
-	public PolyLineFigure() {
-		this(4);
-	}
-
-	public PolyLineFigure(int size) {
-		fPoints = CollectionsFactory.current().createList(size);
-	}
-
-	public PolyLineFigure(int x, int y) {
-		fPoints = CollectionsFactory.current().createList();
-		fPoints.add(new Point(x, y));
-	}
-
-	public Rectangle displayBox() {
-		Iterator iter = points();
-		if (iter.hasNext()) {
-			// avoid starting with origin 0,0 because that would lead to a too large rectangle
-			Rectangle r = new Rectangle((Point)iter.next());
-
-			while (iter.hasNext()) {
-				r.add((Point)iter.next());
-			}
-
-			return r;
-		}
-		else {
-			return new Rectangle();
-		}
-	}
-
-	public boolean isEmpty() {
-		return (size().width < 3) && (size().height < 3);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(fPoints.size());
-		for (int i = 0; i < fPoints.size(); i++) {
-			handles.add(new PolyLineHandle(this, locator(i), i));
-		}
-		return new HandleEnumerator(handles);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-	}
-
-	/**
-	 * Adds a node to the list of points.
-	 */
-	public void addPoint(int x, int y) {
-		fPoints.add(new Point(x, y));
-		changed();
-	}
-
-	public Iterator points() {
-		return fPoints.iterator();
-	}
-
-	public int pointCount() {
-		return fPoints.size();
-	}
-
-	protected void basicMoveBy(int dx, int dy) {
-		Iterator iter = points();
-		while (iter.hasNext()) {
-			((Point)iter.next()).translate(dx, dy);
-		}
-	}
-
-	/**
-	 * Changes the position of a node.
-	 */
-	public void setPointAt(Point p, int i) {
-		willChange();
-		fPoints.set(i, p);
-		changed();
-	}
-
-	/**
-	 * Insert a node at the given point.
-	 */
-	public void insertPointAt(Point p, int i) {
-		fPoints.add(i, p);
-		changed();
-	}
-
-	public void removePointAt(int i) {
-		willChange();
-		fPoints.remove(i);
-		changed();
-	}
-
-	/**
-	 * Splits the segment at the given point if a segment was hit.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int splitSegment(int x, int y) {
-		int i = findSegment(x, y);
-		if (i != -1) {
-			insertPointAt(new Point(x, y), i+1);
-		}
-		return i+1;
-	}
-
-	public Point pointAt(int i) {
-		return (Point)fPoints.get(i);
-	}
-
-	/**
-	 * Joins to segments into one if the given point hits a node
-	 * of the polyline.
-	 * @return true if the two segments were joined.
-	 */
-	public boolean joinSegments(int x, int y) {
-		for (int i= 1; i < fPoints.size()-1; i++) {
-			Point p = pointAt(i);
-			if (Geom.length(x, y, p.x, p.y) < 3) {
-				removePointAt(i);
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new PolyLineConnector(this);
-	}
-
-	/**
-	 * Sets the start decoration.
-	 */
-	public void setStartDecoration(LineDecoration l) {
-		fStartDecoration = l;
-	}
-
-	/**
-	 * Returns the start decoration.
-	 */
-	public LineDecoration getStartDecoration() {
-		return fStartDecoration;
-	}
-
-	/**
-	 * Sets the end decoration.
-	 */
-	public void setEndDecoration(LineDecoration l) {
-		fEndDecoration = l;
-	}
-
-	/**
-	 * Returns the end decoration.
-	 */
-	public LineDecoration getEndDecoration() {
-		return fEndDecoration;
-	}
-
-	public void draw(Graphics g) {
-		g.setColor(getFrameColor());
-		Point p1, p2;
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			p1 = pointAt(i);
-			p2 = pointAt(i+1);
-			drawLine(g, p1.x, p1.y, p2.x, p2.y);
-		}
-		decorate(g);
-	}
-
-	/**
-	 * Can be overriden in subclasses to draw different types of lines
-	 * (e.g. dotted lines)
-	 */
-	protected void drawLine(Graphics g, int x1, int y1, int x2, int y2) {
-		g.drawLine(x1, y1, x2, y2);
-	}
-
-	public boolean containsPoint(int x, int y) {
-		Rectangle bounds = displayBox();
-		bounds.grow(4,4);
-		if (!bounds.contains(x, y)) {
-			return false;
-		}
-
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			Point p1 = pointAt(i);
-			Point p2 = pointAt(i+1);
-			if (Geom.lineContainsPoint(p1.x, p1.y, p2.x, p2.y, x, y)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Gets the segment of the polyline that is hit by
-	 * the given point.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int findSegment(int x, int y) {
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			Point p1 = pointAt(i);
-			Point p2 = pointAt(i+1);
-			if (Geom.lineContainsPoint(p1.x, p1.y, p2.x, p2.y, x, y)) {
-				return i;
-			}
-		}
-		return -1;
-	}
-
-	private void decorate(Graphics g) {
-		if (getStartDecoration() != null) {
-			Point p1 = pointAt(0);
-			Point p2 = pointAt(1);
-			getStartDecoration().draw(g, p1.x, p1.y, p2.x, p2.y);
-		}
-		if (getEndDecoration() != null) {
-			Point p3 = pointAt(fPoints.size()-2);
-			Point p4 = pointAt(fPoints.size()-1);
-			getEndDecoration().draw(g, p4.x, p4.y, p3.x, p3.y);
-		}
-	}
-
-	/**
-	 * Gets the attribute with the given name.
-	 * PolyLineFigure maps "ArrowMode"to a
-	 * line decoration.
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getAttribute(FigureAttributeConstant.getConstant(name));
-	}
-
-	/**
-	 * Gets the attribute with the given name.
-	 * PolyLineFigure maps "ArrowMode"to a
-	 * line decoration.
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		if (attributeConstant.equals(FigureAttributeConstant.FRAME_COLOR)) {
-			return getFrameColor();
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.ARROW_MODE)) {
-			int value = 0;
-			if (getStartDecoration() != null) {
-				value |= ARROW_TIP_START;
-			}
-			if (getEndDecoration() != null) {
-				value |= ARROW_TIP_END;
-			}
-			return new Integer(value);
-		}
-		return super.getAttribute(attributeConstant);
-	}
-
-	/**
-	 * Sets the attribute with the given name.
-	 * PolyLineFigure interprets "ArrowMode"to set
-	 * the line decoration.
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		setAttribute(FigureAttributeConstant.getConstant(name), value);
-	}
-
-	/**
-	 * Sets the attribute with the given name.
-	 * PolyLineFigure interprets "ArrowMode"to set
-	 * the line decoration.
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		if (attributeConstant.equals(FigureAttributeConstant.FRAME_COLOR)) {
-			setFrameColor((Color)value);
-			changed();
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.ARROW_MODE)) {
-			Integer intObj = (Integer)value;
-			if (intObj != null) {
-				int decoration = intObj.intValue();
-				if ((decoration & ARROW_TIP_START) != 0) {
-					setStartDecoration(new ArrowTip());
-				}
-				else {
-					setStartDecoration(null);
-				}
-				if ((decoration & ARROW_TIP_END) != 0) {
-					setEndDecoration(new ArrowTip());
-				}
-				else {
-					setEndDecoration(null);
-				}
-			}
-			changed();
-		}
-		else {
-			super.setAttribute(attributeConstant, value);
-		}
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fPoints.size());
-		Iterator iter = points();
-		while (iter.hasNext()) {
-			Point p = (Point)iter.next();
-			dw.writeInt(p.x);
-			dw.writeInt(p.y);
-		}
-		dw.writeStorable(fStartDecoration);
-		dw.writeStorable(fEndDecoration);
-		dw.writeColor(fFrameColor);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		int size = dr.readInt();
-		fPoints = CollectionsFactory.current().createList(size);
-		for (int i=0; i<size; i++) {
-			int x = dr.readInt();
-			int y = dr.readInt();
-			fPoints.add(new Point(x,y));
-		}
-		setStartDecoration((LineDecoration)dr.readStorable());
-		setEndDecoration((LineDecoration)dr.readStorable());
-		fFrameColor = dr.readColor();
-	}
-
-	/**
-	 * Creates a locator for the point with the given index.
-	 */
-	public static Locator locator(int pointIndex) {
-		return new PolyLineLocator(pointIndex);
-	}
-
-	protected Color getFrameColor() {
-		return fFrameColor;
-	}
-
-	protected void setFrameColor(Color c) {
-		fFrameColor = c;
-	}
-
-	/**
-	 * Hook method to change the rectangle that will be invalidated
-	 */
-	protected Rectangle invalidateRectangle(Rectangle r) {
-		// SF-bug id: 533953: provide this method to customize invalidated rectangle
-		Rectangle parentR = super.invalidateRectangle(r);
-		if (getStartDecoration() != null) {
-			parentR.add(getStartDecoration().displayBox());
-		}
-		if (getEndDecoration() != null) {
-			parentR.add(getEndDecoration().displayBox());
-		}
-		return parentR;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/PolyLineHandle.java b/JHotDraw/src/CH/ifa/draw/figures/PolyLineHandle.java
deleted file mode 100644
index 86e5d2d85..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/PolyLineHandle.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)PolyLineHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.LocatorHandle;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A handle for a node on the polyline.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PolyLineHandle extends LocatorHandle {
-
-	private int fIndex;
-
-   /**
-	* Constructs a poly line handle.
-	* @param owner the owning polyline figure.
-	* @param l the locator
-	* @param index the index of the node associated with this handle.
-	*/
-	public PolyLineHandle(PolyLineFigure owner, Locator l, int index) {
-		super(owner, l);
-		fIndex = index;
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view, fIndex));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((PolyLineHandle.UndoActivity)getUndoActivity()).setOldPoint(new Point(x,y));
-	}
-
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		int currentIndex = ((PolyLineHandle.UndoActivity)getUndoActivity()).getPointIndex();
-		myOwner().setPointAt(new Point(x, y), currentIndex);
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		if ((x == anchorX) && (y == anchorY)) {
-			setUndoActivity(null);
-		}
-	}
-	
-	private PolyLineFigure myOwner() {
-		return (PolyLineFigure)owner();
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView, int newPointIndex) {
-		return new PolyLineHandle.UndoActivity(newView, newPointIndex);
-	}
-	
-	public static class UndoActivity extends UndoableAdapter {
-		private Point myOldPoint;
-		private int myPointIndex;
-
-		public UndoActivity(DrawingView newView, int newPointIndex) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-			setPointIndex(newPointIndex);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return movePointToOldLocation();
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return movePointToOldLocation();
-		}
-
-		protected boolean movePointToOldLocation() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-
-			PolyLineFigure figure = (PolyLineFigure)fe.nextFigure();
-			Point backupPoint = figure.pointAt(getPointIndex());
-			figure.setPointAt(getOldPoint(), getPointIndex());
-			setOldPoint(backupPoint);
-			return true;
-		}
-
-		public void setOldPoint(Point newOldPoint) {
-			myOldPoint = newOldPoint;
-		}
-		
-		public Point getOldPoint() {
-			return myOldPoint;
-		}
-
-		public void setPointIndex(int newPointIndex) {
-			myPointIndex = newPointIndex;
-		}
-		
-		public int getPointIndex() {
-			return myPointIndex;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/PolyLineLocator.java b/JHotDraw/src/CH/ifa/draw/figures/PolyLineLocator.java
deleted file mode 100644
index b01e27768..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/PolyLineLocator.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)PolyLineLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * A poly line figure consists of a list of points.
- * It has an optional line decoration at the start and end.
- *
- * @see LineDecoration
- *
- * @version <$CURRENT_VERSION$>
- */
-class PolyLineLocator extends AbstractLocator {
-	int fIndex;
-
-	public PolyLineLocator(int index) {
-		fIndex = index;
-	}
-
-	public Point locate(Figure owner) {
-		PolyLineFigure plf = (PolyLineFigure)owner;
-		// guard against changing PolyLineFigures -> temporary hack
-		if (fIndex < plf.pointCount()) {
-			return ((PolyLineFigure)owner).pointAt(fIndex);
-		}
-		return new Point(0, 0);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/RadiusHandle.java b/JHotDraw/src/CH/ifa/draw/figures/RadiusHandle.java
deleted file mode 100644
index 95fc8854b..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/RadiusHandle.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @(#)RadiusHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A Handle to manipulate the radius of a round corner rectangle.
- *
- * @version <$CURRENT_VERSION$>
- */
-class RadiusHandle extends AbstractHandle {
-
-	private static final int OFFSET = 4;
-
-	public RadiusHandle(RoundRectangleFigure owner) {
-		super(owner);
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((RadiusHandle.UndoActivity)getUndoActivity()).
-			setOldRadius(((RoundRectangleFigure)owner()).getArc());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		int dx = x-anchorX;
-		int dy = y-anchorY;
-		RoundRectangleFigure owner = (RoundRectangleFigure)owner();
-		Rectangle r = owner.displayBox();
-		Point originalRadius = ((RadiusHandle.UndoActivity)getUndoActivity()).getOldRadius();
-		int rx = Geom.range(0, r.width, 2*(originalRadius.x/2 + dx));
-		int ry = Geom.range(0, r.height, 2*(originalRadius.y/2 + dy));
-		owner.setArc(rx, ry);
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point currentRadius = ((RoundRectangleFigure)owner()).getArc();
-		Point originalRadius = ((RadiusHandle.UndoActivity)getUndoActivity()).getOldRadius();
-		// there has been no change so there is nothing to undo
-		if ((currentRadius.x == originalRadius.x) && (currentRadius.y == originalRadius.y)) {
-			setUndoActivity(null);
-		}
-	}
-
-	public Point locate() {
-		RoundRectangleFigure owner = (RoundRectangleFigure)owner();
-		Point radius = owner.getArc();
-		Rectangle r = owner.displayBox();
-		return new Point(r.x+radius.x/2+OFFSET, r.y+radius.y/2+OFFSET);
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new RadiusHandle.UndoActivity(newView);
-	}
-	
-	public static class UndoActivity extends UndoableAdapter {
-		private Point myOldRadius;
-		
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetRadius();
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetRadius();
-		}
-
-		protected boolean resetRadius() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			RoundRectangleFigure currentFigure = (RoundRectangleFigure)fe.nextFigure();
-			Point figureRadius = currentFigure.getArc();
-			currentFigure.setArc(getOldRadius().x, getOldRadius().y);
-			setOldRadius(figureRadius);
-			return true;
-		}
-		
-		protected void setOldRadius(Point newOldRadius) {
-			myOldRadius = newOldRadius;
-		}
-
-		public Point getOldRadius() {
-			return myOldRadius;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/RectangleFigure.java b/JHotDraw/src/CH/ifa/draw/figures/RectangleFigure.java
deleted file mode 100644
index f9cecb1d7..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/RectangleFigure.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * @(#)RectangleFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.io.IOException;
-import java.util.List;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.HandleEnumeration;
-
-
-/**
- * A rectangle figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class RectangleFigure extends AttributeFigure {
-
-	private Rectangle   fDisplayBox;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 184722075881789163L;
-	private int rectangleFigureSerializedDataVersion = 1;
-
-	public RectangleFigure() {
-		this(new Point(0,0), new Point(0,0));
-	}
-
-	public RectangleFigure(Point origin, Point corner) {
-		basicDisplayBox(origin,corner);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-		g.fillRect(r.x, r.y, r.width, r.height);
-	}
-
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.drawRect(r.x, r.y, r.width-1, r.height-1);
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/RoundRectangleFigure.java b/JHotDraw/src/CH/ifa/draw/figures/RoundRectangleFigure.java
deleted file mode 100644
index ef0047bca..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/RoundRectangleFigure.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * @(#)RoundRectangleFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import java.awt.*;
-import java.io.IOException;
-import java.util.List;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-
-/**
- * A round rectangle figure.
- *
- * @see RadiusHandle
- *
- * @version <$CURRENT_VERSION$>
- */
-public class RoundRectangleFigure extends AttributeFigure {
-
-	private Rectangle   fDisplayBox;
-	private int         fArcWidth;
-	private int         fArcHeight;
-	private static final int DEFAULT_ARC = 8;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 7907900248924036885L;
-	private int roundRectangleSerializedDataVersion = 1;
-
-	public RoundRectangleFigure() {
-		this(new Point(0,0), new Point(0,0));
-		fArcWidth = fArcHeight = DEFAULT_ARC;
-	}
-
-	public RoundRectangleFigure(Point origin, Point corner) {
-		basicDisplayBox(origin,corner);
-		fArcWidth = fArcHeight = DEFAULT_ARC;
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	/**
-	 * Sets the arc's witdh and height.
-	 */
-	public void setArc(int width, int height) {
-		willChange();
-		fArcWidth = width;
-		fArcHeight = height;
-		changed();
-	}
-
-	/**
-	 * Gets the arc's width and height.
-	 */
-	public Point getArc() {
-		return new Point(fArcWidth, fArcHeight);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-
-		handles.add(new RadiusHandle(this));
-
-		return new HandleEnumerator(handles);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-        /*
-         * JP, 25-May-03: Changed from (width-1, height-1) to (width, height),
-         * because figures were not filled completely (JDK 1.4.x). Might invalidate
-         * fix for #661878. If the problem is JDK-dependant, maybe the JDK version
-         * should be taken into account here?
-         */
-		g.fillRoundRect(r.x, r.y, r.width, r.height, fArcWidth, fArcHeight);
-	}
-
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.drawRoundRect(r.x, r.y, r.width-1, r.height-1, fArcWidth, fArcHeight);
-	}
-
-	public Insets connectionInsets() {
-		return new Insets(fArcHeight/2, fArcWidth/2, fArcHeight/2, fArcWidth/2);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ShortestDistanceConnector(this); // just for demo purposes
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-		dw.writeInt(fArcWidth);
-		dw.writeInt(fArcHeight);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-		fArcWidth = dr.readInt();
-		fArcHeight = dr.readInt();
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ScribbleTool.java b/JHotDraw/src/CH/ifa/draw/figures/ScribbleTool.java
deleted file mode 100644
index 6a24dc2e7..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ScribbleTool.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * @(#)ScribbleTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.event.MouseEvent;
-
-/**
- * Tool to scribble a PolyLineFigure
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ScribbleTool extends AbstractTool {
-
-	private PolyLineFigure  fScribble;
-	private int             fLastX, fLastY;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	public ScribbleTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void activate() {
-		super.activate();
-	}
-
-	public void deactivate() {
-		super.deactivate();
-		if (fScribble != null) {
-			if (fScribble.size().width < 4 || fScribble.size().height < 4) {
-				getActiveDrawing().remove(fScribble);
-				// nothing to undo
-				setUndoActivity(null);
-			}
-			fScribble = null;
-		}
-	}
-
-	private void point(int x, int y) {
-		if (fScribble == null) {
-			fScribble = new PolyLineFigure(x, y);
-			setAddedFigure(view().add(fScribble));
-		}
-		else if (fLastX != x || fLastY != y) {
-			fScribble.addPoint(x, y);
-		}
-
-		fLastX = x;
-		fLastY = y;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		if (e.getClickCount() >= 2) {
-			// use undo activity from paste command...
-			setUndoActivity(createUndoActivity());
-
-			// put created figure into a figure enumeration
-			getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getAddedFigure()));
-		}
-		else {
-			// use original event coordinates to avoid
-			// supress that the scribble is constrained to
-			// the grid
-			point(e.getX(), e.getY());
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (fScribble != null) {
-			point(e.getX(), e.getY());
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		super.mouseUp(e, x, y);
-		// deactivate tool only when mouseUp was also fired
-		if (e.getClickCount() >= 2) {
-			editor().toolDone();
-		}
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	private void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/ShortestDistanceConnector.java b/JHotDraw/src/CH/ifa/draw/figures/ShortestDistanceConnector.java
deleted file mode 100644
index bccea66ac..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/ShortestDistanceConnector.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * @(#)ShortestDistanceConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Geom;
-import java.awt.*;
-
-/**
- * A ShortestDistance locates connection points by
- * finding the shortest distance between the start and
- * end of the connection.
- * It doesn't connect to the areas defined by Figure.connectionInsets()
- *
- * @see Figure#connectionInsets
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ShortestDistanceConnector extends AbstractConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -2273446020593433887L;
-
-	public ShortestDistanceConnector() { // only used for Storable implementation
-		super();
-	}
-
-	public ShortestDistanceConnector(Figure owner) {
-		super(owner);
-	}
-
-	public Point findStart(ConnectionFigure connection) {
-		return findPoint(connection, true);
-	}
-
-	public Point findEnd(ConnectionFigure connection) {
-		return findPoint(connection, false);
-	}
-
-	protected Point findPoint(ConnectionFigure connection, boolean getStart) {
-		Figure startFigure = connection.getStartConnector().owner();
-		Figure endFigure = connection.getEndConnector().owner();
-
-		Rectangle r1 = startFigure.displayBox();
-		Rectangle r2 = endFigure.displayBox();
-
-		Insets i1 = startFigure.connectionInsets();
-		Insets i2 = endFigure.connectionInsets();
-
-		Point p1, p2;
-		Point start = null, end = null, s = null, e = null;
-		long len2 = Long.MAX_VALUE, l2;
-		int x1, x2, y1, y2; // connection points
-		int xmin, xmax, ymin, ymax;
-
-		// X-dimension
-		// constrain width connection insets
-		int r1x, r1width, r2x, r2width, r1y, r1height, r2y, r2height;
-		r1x = r1.x + i1.left;
-		r1width = r1.width - i1.left - i1.right-1;
-		r2x = r2.x + i2.left;
-		r2width = r2.width - i2.left - i2.right-1;
-
-		// find x connection point
-		if (r1x + r1width < r2x) {
-			x1 = r1x + r1width;
-			x2 = r2x;
-		}
-		else if (r1x > r2x + r2width) {
-			x1 = r1x;
-			x2 = r2x + r2width;
-		}
-		else {
-			xmax = Math.max(r1x, r2x);
-			xmin = Math.min(r1x+r1width, r2x+r2width);
-			x1 = x2 = (xmax + xmin) /2;
-		}
-
-		// Y-Dimension
-		// constrain with connection insets
-		r1y = r1.y + i1.top;
-		r1height = r1.height - i1.top - i1.bottom-1;
-		r2y = r2.y + i2.top;
-		r2height = r2.height - i2.top - i2.bottom-1;
-
-		// y connection point
-		if (r1y + r1height < r2y) {
-			y1 = r1y + r1height;
-			y2 = r2y;
-		}
-		else if (r1y > r2y + r2height) {
-			y1 = r1y;
-			y2 = r2y + r2height;
-		}
-		else {
-			ymax = Math.max(r1y, r2y);
-			ymin = Math.min(r1y+r1height, r2y+r2height);
-			y1 = y2 = (ymax + ymin) /2;
-		}
-		// find shortest connection
-		for (int i = 0; i < 4; i++) {
-			switch(i) {
-			case 0:
-				// EAST-WEST
-				p1 = Geom.east(r1);
-				p2 = Geom.west(r2);
-				s = new Point(p1.x, y1);
-				e = new Point(p2.x, y2);
-				break;
-			case 1:
-				// WEST-EAST
-				p1 = Geom.west(r1);
-				p2 = Geom.east(r2);
-				s = new Point(p1.x, y1);
-				e = new Point(p2.x, y2);
-				break;
-			case 2:
-				// NORTH-SOUTH
-				p1 = Geom.north(r1);
-				p2 = Geom.south(r2);
-				s = new Point(x1, p1.y);
-				e = new Point(x2, p2.y);
-				break;
-			case 3:
-				// SOUTH-NORTH
-				p1 = Geom.south(r1);
-				p2 = Geom.north(r2);
-				s = new Point(x1, p1.y);
-				e = new Point(x2, p2.y);
-				break;
-			}
-			l2 = Geom.length2(s.x, s.y, e.x, e.y);
-			if (l2 < len2) {
-				start = s;
-				end = e;
-				len2 = l2;
-			}
-		}
-		if (getStart) {
-			return start;
-		}
-		return end;
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/TextFigure.java b/JHotDraw/src/CH/ifa/draw/figures/TextFigure.java
deleted file mode 100644
index 3da10c69e..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/TextFigure.java
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- * @(#)TextFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.ColorMap;
-import CH.ifa.draw.util.StorableInput;
-import CH.ifa.draw.util.StorableOutput;
-
-import java.awt.*;
-import java.io.*;
-import java.util.List;
-
-/**
- * A text figure.
- *
- * @see TextTool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class TextFigure
-	extends AttributeFigure
-	implements FigureChangeListener, TextHolder {
-
-	private int fOriginX;
-	private int fOriginY;
-
-	// cache of the TextFigure's size
-	transient private boolean fSizeIsDirty = true;
-	transient private int fWidth;
-	transient private int fHeight;
-
-	private String fText;
-	private Font fFont;
-	private boolean fIsReadOnly;
-
-	private Figure fObservedFigure = null;
-	private OffsetLocator fLocator = null;
-
-	private static String fgCurrentFontName = "Helvetica";
-	private static int fgCurrentFontSize = 12;
-	private static int fgCurrentFontStyle = Font.PLAIN;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 4599820785949456124L;
-	private int textFigureSerializedDataVersion = 1;
-
-	public TextFigure() {
-		fOriginX = 0;
-		fOriginY = 0;
-		fFont = createCurrentFont();
-		setAttribute(FigureAttributeConstant.FILL_COLOR, ColorMap.color("None"));
-		fText = "";
-		fSizeIsDirty = true;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#moveBy(int, int)
-	 */
-	public void moveBy(int x, int y) {
-		willChange();
-		basicMoveBy(x, y);
-		if (getLocator() != null) {
-			getLocator().moveBy(x, y);
-		}
-		changed();
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fOriginX += x;
-		fOriginY += y;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	public void basicDisplayBox(Point newOrigin, Point newCorner) {
-		fOriginX = newOrigin.x;
-		fOriginY = newOrigin.y;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#displayBox()
-	 */
-	public Rectangle displayBox() {
-		Dimension extent = textExtent();
-		return new Rectangle(fOriginX, fOriginY, extent.width, extent.height);
-	}
-
-	/**
-	 * @see CH.ifa.draw.standard.TextHolder#textDisplayBox()
-	 */
-	public Rectangle textDisplayBox() {
-		return displayBox();
-	}
-
-	/**
-	 * Tests whether this figure is read only.
-	 */
-	public boolean readOnly() {
-		return fIsReadOnly;
-	}
-
-	/**
-	 * Sets the read only status of the text figure.
-	 */
-	public void setReadOnly(boolean isReadOnly) {
-		fIsReadOnly = isReadOnly;
-	}
-
-	/**
-	 * Gets the font.
-	 * @see CH.ifa.draw.standard.TextHolder#getFont()
-	 */
-	public Font getFont() {
-		return fFont;
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 * @see CH.ifa.draw.standard.TextHolder#getRepresentingFigure()
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-
-	/**
-	 * Sets the font.
-	 */
-	public void setFont(Font newFont) {
-		willChange();
-		fFont = newFont;
-		markDirty();
-		changed();
-	}
-
-	/**
-	 * Updates the location whenever the figure changes itself.
-	 * @see CH.ifa.draw.framework.Figure#changed()
-	 */
-	public void changed() {
-		super.changed();
-		//updateLocation();
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 *
-	 * @see CH.ifa.draw.framework.Figure#getAttribute(java.lang.String)
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getAttribute(FigureAttributeConstant.getConstant(name));
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 * @see CH.ifa.draw.framework.Figure#getAttribute(CH.ifa.draw.framework.FigureAttributeConstant)
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		Font font = getFont();
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_SIZE)) {
-			return new Integer(font.getSize());
-		}
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_STYLE)) {
-			return new Integer(font.getStyle());
-		}
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_NAME)) {
-			return font.getName();
-		}
-		return super.getAttribute(attributeConstant);
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 *
-	 * @see CH.ifa.draw.framework.Figure#setAttribute(java.lang.String, java.lang.Object)
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		setAttribute(FigureAttributeConstant.getConstant(name), value);
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 * @see CH.ifa.draw.framework.Figure#setAttribute(CH.ifa.draw.framework.FigureAttributeConstant, java.lang.Object)
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		Font font = getFont();
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_SIZE)) {
-			Integer s = (Integer) value;
-			setFont(new Font(font.getName(), font.getStyle(), s.intValue()));
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.FONT_STYLE)) {
-			Integer s = (Integer) value;
-			int style = font.getStyle();
-			if (s.intValue() == Font.PLAIN) {
-				style = Font.PLAIN;
-			}
-			else {
-				style = style ^ s.intValue();
-			}
-			setFont(new Font(font.getName(), style, font.getSize()));
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.FONT_NAME)) {
-			String n = (String) value;
-			setFont(new Font(n, font.getStyle(), font.getSize()));
-		}
-		else {
-			super.setAttribute(attributeConstant, value);
-		}
-	}
-
-	/**
-	 * Gets the text shown by the text figure.
-	 * @see CH.ifa.draw.standard.TextHolder#getText()
-	 */
-	public String getText() {
-		return fText;
-	}
-
-	/**
-	 * Sets the text shown by the text figure.
-	 * @see CH.ifa.draw.standard.TextHolder#setText(java.lang.String)
-	 */
-	public void setText(String newText) {
-		if (newText == null || !newText.equals(fText)) {
-			willChange();
-			fText = newText;
-			markDirty();
-			changed();
-		}
-	}
-
-	/**
-	 * Tests whether the figure accepts typing.
-	 * @see CH.ifa.draw.standard.TextHolder#acceptsTyping()
-	 */
-	public boolean acceptsTyping() {
-		return !fIsReadOnly;
-	}
-
-	/**
-	 * @see CH.ifa.draw.figures.AttributeFigure#drawBackground(java.awt.Graphics)
-	 */
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-		g.fillRect(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * @see CH.ifa.draw.figures.AttributeFigure#drawFrame(java.awt.Graphics)
-	 */
-	public void drawFrame(Graphics g) {
-		g.setFont(fFont);
-		g.setColor((Color) getAttribute(FigureAttributeConstant.TEXT_COLOR));
-		FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(fFont);
-		Rectangle r = displayBox();
-		g.drawString(getText(), r.x, r.y + metrics.getAscent());
-	}
-
-	protected Dimension textExtent() {
-		if (!fSizeIsDirty) {
-			return new Dimension(fWidth, fHeight);
-		}
-		FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(fFont);
-		fWidth = metrics.stringWidth(getText());
-		fHeight = metrics.getHeight();
-		fSizeIsDirty = false;
-		return new Dimension(fWidth, fHeight);
-	}
-
-	protected void markDirty() {
-		fSizeIsDirty = true;
-	}
-
-	/**
-	 * Gets the number of columns to be overlaid when the figure is edited.
-	 * @see CH.ifa.draw.standard.TextHolder#overlayColumns()
-	 */
-	public int overlayColumns() {
-		int length = getText().length();
-		int columns = 20;
-		if (length != 0) {
-			columns = getText().length() + 3;
-		}
-		return columns;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#handles()
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new FontSizeHandle(this, RelativeLocator.southWest()));
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.Storable#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		Rectangle r = displayBox();
-		dw.writeInt(r.x);
-		dw.writeInt(r.y);
-		dw.writeString(getText());
-		dw.writeString(fFont.getName());
-		dw.writeInt(fFont.getStyle());
-		dw.writeInt(fFont.getSize());
-		dw.writeBoolean(fIsReadOnly);
-		dw.writeStorable(getObservedFigure());
-		dw.writeStorable(getLocator());
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.Storable#read(CH.ifa.draw.util.StorableInput)
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		markDirty();
-		basicDisplayBox(new Point(dr.readInt(), dr.readInt()), null);
-		setText(dr.readString());
-		fFont = new Font(dr.readString(), dr.readInt(), dr.readInt());
-		fIsReadOnly = dr.readBoolean();
-
-		setObservedFigure((Figure) dr.readStorable());
-		if (getObservedFigure() != null) {
-			getObservedFigure().addFigureChangeListener(this);
-		}
-		setLocator((OffsetLocator) dr.readStorable());
-	}
-
-	private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
-		s.defaultReadObject();
-
-		if (getObservedFigure() != null) {
-			getObservedFigure().addFigureChangeListener(this);
-		}
-		markDirty();
-	}
-
-	/**
-	 * @see CH.ifa.draw.standard.TextHolder#connect(CH.ifa.draw.framework.Figure)
-	 */
-	public void connect(Figure figure) {
-		if (getObservedFigure() != null) {
-			getObservedFigure().removeFigureChangeListener(this);
-		}
-
-		setObservedFigure(figure);
-		setLocator(new OffsetLocator(getObservedFigure().connectedTextLocator(this)));
-		getObservedFigure().addFigureChangeListener(this);
-		willChange();
-		updateLocation();
-		changed();
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureChanged(FigureChangeEvent e) {
-		willChange();
-		updateLocation();
-		changed();
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureRemoved(FigureChangeEvent e) {
-		if (listener() != null) {
-			Rectangle rect = invalidateRectangle(displayBox());
-			listener().figureRemoved(new FigureChangeEvent(this, rect, e));
-		}
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.FigureChangeListener#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-	}
-
-	/**
-	 * Updates the location relative to the connected figure.
-	 * The TextFigure is centered around the located point.
-	 */
-	protected void updateLocation() {
-		if (getLocator() != null) {
-			Point p = getLocator().locate(getObservedFigure());
-
-			p.x -= size().width / 2 + fOriginX;
-			p.y -= size().height / 2 + fOriginY;
-			if (p.x != 0 || p.y != 0) {
-				//willChange();
-				basicMoveBy(p.x, p.y);
-				//changed();
-			}
-		}
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#release()
-	 */
-	public void release() {
-		super.release();
-		disconnect(getObservedFigure());
-	}
-
-	/**
-	 * Disconnects a text holder from a connect figure.
-	 * @see CH.ifa.draw.standard.TextHolder#disconnect(CH.ifa.draw.framework.Figure)
-	 */
-	public void disconnect(Figure disconnectFigure) {
-		if (disconnectFigure != null) {
-			disconnectFigure.removeFigureChangeListener(this);
-		}
-		setLocator(null);
-		setObservedFigure(null);
-	}
-
-	protected void setObservedFigure(Figure newObservedFigure) {
-		fObservedFigure = newObservedFigure;
-	}
-
-	public Figure getObservedFigure() {
-		return fObservedFigure;
-	}
-
-	protected void setLocator(OffsetLocator newLocator) {
-		fLocator = newLocator;
-	}
-
-	protected OffsetLocator getLocator() {
-		return fLocator;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Figure#getTextHolder()
-	 */
-	public TextHolder getTextHolder() {
-		return this;
-	}
-
-	/**
-	 * Creates the current font to be used for new text figures.
-	 */
-	static public Font createCurrentFont() {
-		return new Font(fgCurrentFontName, fgCurrentFontStyle, fgCurrentFontSize);
-	}
-
-	/**
-	 * Sets the current font name
-	 */
-	static public void setCurrentFontName(String name) {
-		fgCurrentFontName = name;
-	}
-
-	/**
-	 * Sets the current font size.
-	 */
-	static public void setCurrentFontSize(int size) {
-		fgCurrentFontSize = size;
-	}
-
-	/**
-	 * Sets the current font style.
-	 */
-	static public void setCurrentFontStyle(int style) {
-		fgCurrentFontStyle = style;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/figures/TextTool.java b/JHotDraw/src/CH/ifa/draw/figures/TextTool.java
deleted file mode 100644
index af3ede003..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/TextTool.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * @(#)TextTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.FloatingTextField;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * Tool to create new or edit existing text figures.
- * The editing behavior is implemented by overlaying the
- * Figure providing the text with a FloatingTextField.<p>
- * A tool interaction is done once a Figure that is not
- * a TextHolder is clicked.
- *
- * @see TextHolder
- * @see FloatingTextField
- *
- * @version <$CURRENT_VERSION$>
- */
-public class TextTool extends CreationTool {
-
-	private FloatingTextField   myTextField;
-	private TextHolder  myTypingTarget;
-
-	/**
-	 * The selected figure is different from the TextHolder as the TextHolder
-	 * may be included in a DecoratorFigure. Thus, the DecoratorFigure is selected
-	 * while the TextFigure is edited.
-	 */
-	private Figure mySelectedFigure;
-
-	public TextTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder it can be edited otherwise
-	 * a new text figure is created.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y)
-	{
-		setView((DrawingView)e.getSource());
-
-		if (getTypingTarget() != null) {
-			editor().toolDone();
-			return;
-		}
-
-		TextHolder textHolder = null;
-		Figure pressedFigure = drawing().findFigureInside(x, y);
-		if (pressedFigure != null) {
-			textHolder = pressedFigure.getTextHolder();
-			setSelectedFigure(pressedFigure);
-		}
-
-		if ((textHolder != null) && textHolder.acceptsTyping()) {
-			// do not create a new TextFigure but edit existing one
-			beginEdit(textHolder);
-		}
-		else {
-			super.mouseDown(e, x, y);
-			// update view so the created figure is drawn before the floating text
-			// figure is overlaid. (Note, fDamage should be null in StandardDrawingView
-			// when the overlay figure is drawn because a JTextField cannot be scrolled)
-			view().checkDamage();
-			beginEdit(getCreatedFigure().getTextHolder());
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (!isActive()) {
-			editor().toolDone();
-		}
-	}
-
-	/**
-	 * Terminates the editing of a text figure.
-	 */
-	public void deactivate() {
-		endEdit();
-        super.deactivate();
-	}
-
-	/**
-	 * Sets the text cursor.
-	 */
-	public void activate() {
-		super.activate();
-		// JDK1.1 TEXT_CURSOR has an incorrect hot spot
-		//view().setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
-	}
-
-	/**
-	 * Test whether the text tool is currently activated and is displaying
-	 * a overlay TextFigure for accepting input.
-	 *
-	 * @return true, if the text tool has a accepting target TextFigure for its input, false otherwise
-	 */
-	public boolean isActive() {
-		return (getTypingTarget() != null);
-	}
-
-	protected void beginEdit(TextHolder figure) {
-		if (getFloatingTextField() == null) {
-			setFloatingTextField(createFloatingTextField());
-		}
-
-		if (figure != getTypingTarget() && getTypingTarget() != null) {
-			endEdit();
-		}
-
-		getFloatingTextField().createOverlay((Container)view(), figure.getFont());
-		getFloatingTextField().setBounds(fieldBounds(figure), figure.getText());
-
-		setTypingTarget(figure);
-	}
-
-	protected void endEdit() {
-		if (getTypingTarget() != null) {
-			if (getAddedFigure() != null) {
-				if (!isDeleteTextFigure()) {
-					// figure has been created and not immediately deleted
-					setUndoActivity(createPasteUndoActivity());
-					getUndoActivity().setAffectedFigures(
-							new SingleFigureEnumerator(getAddedFigure())
-					);
-					getTypingTarget().setText(getFloatingTextField().getText());
-				}
-			}
-			else if (isDeleteTextFigure()) {
-				// delete action
-				setUndoActivity(createDeleteUndoActivity());
-				getUndoActivity().setAffectedFigures(
-						new SingleFigureEnumerator(getSelectedFigure())
-				);
-				// perform delete operation of DeleteCommand.UndoActivity
-				getUndoActivity().redo();
-			}
-			else {
-				// put affected figure into a figure enumeration
-				setUndoActivity(createUndoActivity());
-				getUndoActivity().setAffectedFigures(
-					new SingleFigureEnumerator(getTypingTarget().getRepresentingFigure()));
-				getTypingTarget().setText(getFloatingTextField().getText());
-				((TextTool.UndoActivity)getUndoActivity()).setBackupText(getTypingTarget().getText());
-			}
-
-			setTypingTarget(null);
-			getFloatingTextField().endOverlay();
-		}
-		else {
-			setUndoActivity(null);
-		}
-		setAddedFigure(null);
-		setCreatedFigure(null);
-		setSelectedFigure(null);
-	}
-
-	protected boolean isDeleteTextFigure() {
-		return getFloatingTextField().getText().length() == 0;
-	}
-
-	private Rectangle fieldBounds(TextHolder figure) {
-		Rectangle box = figure.textDisplayBox();
-		int nChars = figure.overlayColumns();
-		Dimension d = getFloatingTextField().getPreferredSize(nChars);
-		return new Rectangle(box.x, box.y, d.width, d.height);
-	}
-
-	protected void setTypingTarget(TextHolder newTypingTarget) {
-		myTypingTarget = newTypingTarget;
-	}
-
-	protected TextHolder getTypingTarget() {
-		return myTypingTarget;
-	}
-
-	private void setSelectedFigure(Figure newSelectedFigure) {
-		mySelectedFigure = newSelectedFigure;
-	}
-
-	protected Figure getSelectedFigure() {
-		return mySelectedFigure;
-	}
-
-	private FloatingTextField createFloatingTextField() {
-		return new FloatingTextField();
-	}
-
-	private void setFloatingTextField(FloatingTextField newFloatingTextField) {
-		myTextField = newFloatingTextField;
-	}
-
-	protected FloatingTextField getFloatingTextField() {
-		return myTextField;
-	}
-
-	protected Undoable createDeleteUndoActivity() {
-		FigureTransferCommand cmd = new DeleteCommand("Delete", editor());
-		return new DeleteCommand.UndoActivity(cmd);
-	}
-
-	protected Undoable createPasteUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new TextTool.UndoActivity(view(), getTypingTarget().getText());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private String myOriginalText;
-		private String myBackupText;
-
-		public UndoActivity(DrawingView newDrawingView, String newOriginalText) {
-			super(newDrawingView);
-			setOriginalText(newOriginalText);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-			setText(getOriginalText());
-
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-			setText(getBackupText());
-
-			return true;
-		}
-
-		protected boolean isValidText(String toBeChecked) {
-			return ((toBeChecked != null) && (toBeChecked.length() > 0));
-		}
-
-		protected void setText(String newText) {
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().setText(newText);
-				}
-			}
-		}
-
-		public void setBackupText(String newBackupText) {
-			myBackupText = newBackupText;
-		}
-
-		public String getBackupText() {
-			return myBackupText;
-		}
-
-		public void setOriginalText(String newOriginalText) {
-			myOriginalText = newOriginalText;
-		}
-
-		public String getOriginalText() {
-			return myOriginalText;
-		}
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/figures/UngroupCommand.java b/JHotDraw/src/CH/ifa/draw/figures/UngroupCommand.java
deleted file mode 100644
index d204a0d04..000000000
--- a/JHotDraw/src/CH/ifa/draw/figures/UngroupCommand.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * @(#)UngroupCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.figures;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * Command to ungroup the selected figures.
- *
- * @see GroupCommand
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class UngroupCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a group command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public UngroupCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		// selection of group figures
-		getUndoActivity().setAffectedFigures(view().selection());
-		view().clearSelection();
-
-		((UngroupCommand.UndoActivity)getUndoActivity()).ungroupFigures();
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		FigureEnumeration fe = view().selection();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-			currentFigure = currentFigure.getDecoratedFigure();
-
-			if (!(currentFigure instanceof GroupFigure)) {
-				return false;
-			}
-		}
-
-		return view().selectionCount() > 0;
-
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new UngroupCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			getDrawingView().clearSelection();
-
-			FigureEnumeration groupFigures = getAffectedFigures();
-			while (groupFigures.hasNextFigure()) {
-				Figure groupFigure = groupFigures.nextFigure();
-				// orphan individual figures from the group
-				getDrawingView().drawing().orphanAll(groupFigure.figures());
-
-				Figure figure = getDrawingView().drawing().add(groupFigure);
-				getDrawingView().addToSelection(figure);
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				getDrawingView().drawing().orphanAll(getAffectedFigures());
-				getDrawingView().clearSelection();
-				ungroupFigures();
-				return true;
-			}
-			return false;
-		}
-
-		protected void ungroupFigures() {
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure selected = fe.nextFigure();
-				Figure group = getDrawingView().drawing().orphan(selected);
-
-				getDrawingView().drawing().addAll(group.figures());
-				getDrawingView().addToSelectionAll(group.figures());
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework.jdo b/JHotDraw/src/CH/ifa/draw/framework.jdo
deleted file mode 100644
index 78221389f..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework.jdo
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.framework">
-    <class name="Figure">
-    </class>
-    <class name="FigureChangeListener">
-		<extension vendor-name="FastObjects" key="implementation" value="java.lang.Object"/>
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/framework/ConnectionFigure.java b/JHotDraw/src/CH/ifa/draw/framework/ConnectionFigure.java
deleted file mode 100644
index d85d8c5aa..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/ConnectionFigure.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * @(#)ConnectionFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.Point;
-
-/**
- * Figures to connect Connectors provided by Figures.
- * A ConnectionFigure knows its start and end Connector.
- * It uses the Connectors to locate its connection points.<p>
- * A ConnectionFigure can have multiple segments. It provides
- * operations to split and join segments.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * Strategy is used encapsulate the algorithm to locate the connection point.
- * ConnectionFigure is the Strategy context and Connector is the Strategy.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld026.htm>Observer</a></b><br>
- * Observer is used to track changes of the connected figures. A connection
- * figure registers itself as listeners or observers of the source and
- * target connector.
- * <hr>
- *
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public interface ConnectionFigure extends Figure, FigureChangeListener {
-
-	/**
-	 * Sets the start Connector of the connection.
-	 * @param start the start connector of the connection
-	 */
-	public void connectStart(Connector start);
-
-	/**
-	 * Sets the end Connector of the connection.
-	 * @param end the end connector of the connection
-	 */
-	public void connectEnd(Connector end);
-
-	/**
-	 * Updates the connection
-	 */
-	public void updateConnection();
-
-	/**
-	 * Disconnects the start figure from the dependent figure
-	 */
-	public void disconnectStart();
-
-	/**
-	 * Disconnects the end figure from the dependent figure
-	 */
-	public void disconnectEnd();
-
-	/**
-	 * Gets the start Connector
-	 */
-	public Connector getStartConnector();
-
-	/**
-	 * Gets the end Connector.
-	 */
-	public Connector getEndConnector();
-
-	/**
-	 * Checks if two figures can be connected. Implement this method
-	 * to constrain the allowed connections between figures.
-	 */
-	public boolean canConnect(Figure start, Figure end);
-
-	/**
-	 * Checks if the ConnectionFigure connects the same figures.
-	 */
-	public boolean connectsSame(ConnectionFigure other);
-
-	/**
-	 * Sets the start point.
-	 */
-	public void startPoint(int x, int y);
-
-	/**
-	 * Sets the end point.
-	 */
-	public void endPoint(int x, int y);
-
-	/**
-	 * Gets the start point.
-	 */
-	public Point startPoint();
-
-	/**
-	 * Gets the end point.
-	 */
-	public Point endPoint();
-
-	/**
-	 * Sets the position of the point at the given position
-	 */
-	public void setPointAt(Point p, int index);
-
-	/**
-	 * Gets the Point at the given position
-	 */
-	public Point pointAt(int index);
-
-	/**
-	 * Gets the number of points or nodes of the connection
-	 */
-	public int pointCount();
-
-	/**
-	 * Splits the hit segment.
-	 * @param x the x position where the figure should be split
-	 * @param y the y position where the figure should be split
-	 * @return the index of the splitting point
-	 */
-	public int splitSegment(int x, int y);
-
-
-	/**
-	 * Joins the hit segments.
-	 * @param x the position where the figure should be joined.
-	 * @param y the position where the figure should be joined.
-	 * @return whether the segment was joined
-	 */
-	public boolean joinSegments(int x, int y);
-	
-	/**
-	 * Gets the start figure of the connection.
-	 */
-	public Figure startFigure();
-  
-	/**
-	 * Gets the end figure of the connection.
-	 */
-	public Figure endFigure();    
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Connector.java b/JHotDraw/src/CH/ifa/draw/framework/Connector.java
deleted file mode 100644
index 4c16b18fb..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Connector.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * @(#)Connector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.*;
-import java.io.Serializable;
-
-import CH.ifa.draw.util.*;
-
-/**
- * Connectors know how to locate a connection point on a figure.
- * A Connector knows its owning figure and can determine either
- * the start or the endpoint of a given connection figure. A connector
- * has a display box that describes the area of a figure it is
- * responsible for. A connector can be visible but it doesn't have
- * to be.<br>
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld004.htm>Strategy</a></b><br>
- * Connector implements the strategy to determine the connections points.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld016.htm>Factory Method</a></b><br>
- * Connectors are created by the Figure's factory method connectorAt.
- * <hr>
- *
- * @see Figure#connectorAt
- * @see ConnectionFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Connector extends Serializable, Storable {
-
-	/**
-	 * Finds the start point for the connection.
-	 */
-	public abstract Point findStart(ConnectionFigure connection);
-
-	/**
-	 * Finds the end point for the connection.
-	 */
-	public abstract Point findEnd(ConnectionFigure connection);
-
-	/**
-	 * Gets the connector's owner.
-	 */
-	public abstract Figure owner();
-
-	/**
-	 * Gets the display box of the connector.
-	 */
-	public abstract Rectangle displayBox();
-
-	/**
-	 * Tests if a point is contained in the connector.
-	 */
-	public abstract boolean containsPoint(int x, int y);
-
-	/**
-	 * Draws this connector. Connectors don't have to be visible
-	 * and it is OK leave this method empty.
-	 */
-	public abstract void draw(Graphics g);
-
-	/**
-	 * Requests that the connector should show itself or hide itself.  The
-	 * ConnectionFigure which desires to connect to this Connector is passed in.
-	 * If a connector should show itself it should do so when draw is called, if
-	 * so desired.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Cursor.java b/JHotDraw/src/CH/ifa/draw/framework/Cursor.java
deleted file mode 100644
index 38500e16f..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Cursor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * @(#)Cursor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * This interface has the purpose to reduce the dependency of JHotDraw on AWT
- * classes and interfaces.
- * See {@link CH.ifa.draw.standard.AWTCursor} for an example of implementation
- * for this interface.
- * 
- * <p>Created on: 08/05/2003.</p>
- * 
- * @version $Revision$
- * @author <a href="mailto:ricardo_padilha@users.sourceforge.net">Ricardo 
- * Sangoi Padilha</a>
- * @see CH.ifa.draw.standard.AWTCursor
- */
-public interface Cursor {
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Drawing.java b/JHotDraw/src/CH/ifa/draw/framework/Drawing.java
deleted file mode 100644
index 97994fdc4..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Drawing.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * @(#)Drawing.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.*;
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.Serializable;
-
-/**
- * Drawing is a container for figures.
- * <p>
- * Drawing sends out DrawingChanged events to DrawingChangeListeners
- * whenever a part of its area was invalidated.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld026.htm>Observer</a></b><br>
- * The Observer pattern is used to decouple the Drawing from its views and
- * to enable multiple views.<hr>
- *
- * @see Figure
- * @see DrawingView
- * @see FigureChangeListener
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-
-public interface Drawing
-		extends Storable, FigureChangeListener, Serializable {
-
-	/**
-	 * Releases the drawing and its contained figures.
-	 */
-	public void release();
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order back to front over the figures.
-	 */
-	public FigureEnumeration figures();
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order back to front over the figures
-	 * that lie within the absolute bounds.
-	 */
-	public FigureEnumeration figures(Rectangle viewRectangle);
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order front to back over the figures.
-	 */
-	public FigureEnumeration figuresReverse();
-
-	/**
-	 * Finds a top level Figure. Use this call for hit detection that
-	 * should not descend into the figure's children.
-	 */
-	public Figure findFigure(int x, int y);
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 */
-	public Figure findFigure(Rectangle r);
-
-	/**
-	 * Finds a top level Figure, but supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 * @param x the x coordinate
-	 * @param y the y coordinate
-	 * @param without the figure to be ignored during
-	 * the find.
-	 */
-	public Figure findFigureWithout(int x, int y, Figure without);
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 * It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 */
-	public Figure findFigure(Rectangle r, Figure without);
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. Use this method to implement <i>click-through</i>
-	 * hit detection, that is, you want to detect the inner most
-	 * figure containing the given point.
-	 */
-	public Figure findFigureInside(int x, int y);
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 * @param x the x coordinate
-	 * @param y the y coordinate
-	 * @param without the figure to be ignored during
-	 * the find.
-	 */
-	public Figure findFigureInsideWithout(int x, int y, Figure without);
-
-	/**
-	 * Checks if the composite figure has the argument as one of
-	 * its children.
-	 *
-	 * @param figure figure to be searched in all descendants
-	 * @return true if the figure is part of this Drawing, else otherwise
-	 */
-	public boolean includes(Figure figure);
-
-	/**
-	 * Check whether a given figure is a (direct) child figure of this CompositeFigure.
-	 *
-	 * @param figure figure to be searched in all direct descendents
-	 * @return true if the figure is a direct child of this Drawing, else otherwise
-	 */
-	public boolean containsFigure(Figure figure);
-
-	/**
-	 * Adds a listener for this drawing.
-	 */
-	public void addDrawingChangeListener(DrawingChangeListener listener);
-
-	/**
-	 * Removes a listener from this drawing.
-	 */
-	public void removeDrawingChangeListener(DrawingChangeListener listener);
-
-	/**
-	 * Gets the listeners of a drawing.
-	 *
-	 * @return new iterator of all registered change listener
-	 */
-	public Iterator drawingChangeListeners();
-
-	/**
-	 * Adds a figure and sets its container to refer to this drawing.
-	 *
-	 * @param figure to be added to the drawing
-	 * @return the figure that was inserted (might be different from the figure specified).
-	 */
-	public Figure add(Figure figure);
-
-	/**
-	 * Adds a list of figures.
-	 *
-	 * @deprecated use addAll(FigureEnumeration) instead
-	 */
-	public void addAll(List newFigures);
-
-	/**
-	 * Adds a FigureEnumeration of figures.
-	 *
-	 * @param fe (unused) enumeration containing all figures to be added
-	 * @see #add
-	 */
-	public void addAll(FigureEnumeration fe);
-
-	/**
-	 * Removes the figure from the drawing and releases it.
-	 *
-	 * @param figure that is part of the drawing and should be removed
-	 * @return the figure that has been removed (might be different from the figure specified)
-	 */
-	public Figure remove(Figure figure);
-
-	/**
-	 * Removes a figure from the figure list, but
-	 * doesn't release it. Use this method to temporarily
-	 * manipulate a figure outside of the drawing.
-	 *
-	 * @param figure that is part of the drawing and should be added
-	 */
-	public Figure orphan(Figure figure);
-
-	/**
-	 * Removes a list of figures from the figure's list
-	 * without releasing the figures.
-	 *
-	 * @see #orphan
-	 * @deprecated use orphanAll(FigureEnumeration) instead
-	 */
-	public void orphanAll(List orphanFigures);
-
-	/**
-	 * Removes a FigureEnumeration of figures from the figure's list
-	 * without releasing the figures.
-	 * @see #orphan
-	 */
-	public void orphanAll(FigureEnumeration fe);
-
-	/**
-	 * Removes a list of figures .
-	 *
-	 * @see #remove
-	 * @deprecated use removeAll(FigureEnumeration) instead
-	 */
-	public void removeAll(List figures);
-
-	/**
-	 * Removes a FigureEnumeration of figures.
-	 * @see #remove
-	 */
-	public void removeAll(FigureEnumeration fe);
-
-	/**
-	 * Replaces a figure in the drawing without removing it from the drawing.
-	 * The figure to be replaced must be part of the drawing.
-	 *
-	 * @param figure figure to be replaced
-	 * @param replacement figure that should replace the specified figure
-	 * @return the figure that has been inserted (might be different from the figure specified)
-	 */
-	public Figure replace(Figure figure, Figure replacement);
-
-	/**
-	 * Sends a figure to the back of the drawing.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public void sendToBack(Figure figure);
-
-	/**
-	 * Brings a figure to the front.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public void bringToFront(Figure figure);
-
-	/**
-	 * Sends a figure to a certain layer within a drawing. Each figure
-	 * lays in a unique layer and the layering order decides which
-	 * figure is drawn on top of another figure. Figures with a higher
-	 * layer number have usually been added later and may overlay
-	 * figures in lower layers. Layers are counted from to (the number
-	 * of figures - 1).
-	 * The figure is removed from its current layer (if it has been already
-	 * part of this drawing) and is transferred to the specified layers after
-	 * all figures between the original layer and the new layer are shifted to
-	 * one layer below to fill the layer sequence. It is not possible to skip a
-	 * layer number and if the figure is sent to a layer beyond the latest layer
-	 * it will be added as the last figure to the drawing and its layer number
-	 * will be set to the be the one beyond the latest layer so far.
-	 *
-	 * @param figure figure to be sent to a certain layer
-	 * @param layerNr target layer of the figure
-	 */
-	public void sendToLayer(Figure figure, int layerNr);
-
-	/**
-	 * Gets the layer for a certain figure (first occurrence). The number
-	 * returned is the number of the layer in which the figure is placed.
-	 *
-	 * @param figure figure to be queried for its layering place
-	 * @return number of the layer in which the figure is placed and -1 if the
-	 *			figure could not be found.
-	 * @see #sendToLayer
-	 */
-	public int getLayer(Figure figure);
-
-	/**
-	 * Gets the figure from a certain layer.
-	 *
-	 * @param layerNr number of the layer which figure should be returned
-	 * @return figure from the layer specified, null, if the layer nr was outside
-	 *			the number of possible layer (0...(number of figures - 1))
-	 * @see #sendToLayer
-	 */
-	public Figure getFigureFromLayer(int layerNr);
-
-	/**
-	 * Draws all the figures back to front.
-	 */
-	public void draw(Graphics g);
-
-	/**
-	 * Draws only the given figures.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe);
-
-	/**
-	 * Acquires the drawing lock.
-	 */
-	public void lock();
-
-	/**
-	 * Releases the drawing lock.
-	 */
-	public void unlock();
-
-	/**
-	 * Used to optimize rendering.  Rendering of many objects may
-	 * be slow until this method is called.  The view rectangle
-	 * should at least approximately enclose the CompositeFigure.
-	 * If the view rectangle is too small or too large, performance
-	 * may suffer.
-	 */
-	public void init(Rectangle viewRectangle);
-
-	public String getTitle();
-	public void setTitle(String name);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeEvent.java b/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeEvent.java
deleted file mode 100644
index d9a68d020..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeEvent.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)DrawingChangeEvent.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.Rectangle;
-import java.util.EventObject;
-
-/**
- * The event passed to DrawingChangeListeners.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DrawingChangeEvent extends EventObject {
-
-	private Rectangle myRectangle;
-
-	/**
-	 *  Constructs a drawing change event.
-	 */
-	public DrawingChangeEvent(Drawing newSource, Rectangle newRect) {
-		super(newSource);
-		myRectangle = newRect;
-	}
-
-	/**
-	 *  Gets the changed drawing
-	 */
-	public Drawing getDrawing() {
-		return (Drawing)getSource();
-	}
-
-	/**
-	 *  Gets the changed rectangle
-	 */
-	public Rectangle getInvalidatedRectangle() {
-		return myRectangle;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeListener.java b/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeListener.java
deleted file mode 100644
index cb7facea1..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/DrawingChangeListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)DrawingChangeListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * Listener interested in Drawing changes.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface DrawingChangeListener {
-
-	/**
-	 *  Sent when an area is invalid
-	 */
-	public void drawingInvalidated(DrawingChangeEvent e);
-
-    /**
-     *  Sent when the drawing Title has changed
-     */
-    public void drawingTitleChanged(DrawingChangeEvent e);
-	/**
-	 *  Sent when the drawing wants to be refreshed
-	 */
-	public void drawingRequestUpdate(DrawingChangeEvent e);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/DrawingEditor.java b/JHotDraw/src/CH/ifa/draw/framework/DrawingEditor.java
deleted file mode 100644
index 4e08605da..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/DrawingEditor.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * @(#)DrawingEditor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.UndoManager;
-
-/**
- * DrawingEditor defines the interface for coordinating
- * the different objects that participate in a drawing editor.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld022.htm>Mediator</a></b><br>
- * DrawingEditor is the mediator. It decouples the participants
- * of a drawing editor.
- *
- * @see Tool
- * @see DrawingView
- * @see Drawing
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface DrawingEditor extends FigureSelectionListener {
-
-	/**
-	 * Gets the editor's drawing view.
-	 */
-	public DrawingView view();
-
-	public DrawingView[] views();
-	/**
-	 * Gets the editor's drawing.
-	 */
-//	public Drawing drawing();
-
-	/**
-	 * Gets the editor's current tool.
-	 */
-	public Tool tool();
-
-	/**
-	 * Informs the editor that a tool has done its interaction.
-	 * This method can be used to switch back to the default tool.
-	 */
-	public void toolDone();
-
-	/**
-	 * Informs that the current figure selection has changed.
-	 * Override this method to handle selection changes.
-	 */
-	public void figureSelectionChanged(DrawingView view);
-
-	public void addViewChangeListener(ViewChangeListener vsl);
-	public void removeViewChangeListener(ViewChangeListener vsl);
-
-	/**
-	 * Shows a status message in the editor's user interface
-	 */
-	public void showStatus(String string);
-
-	public UndoManager getUndoManager();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/DrawingView.java b/JHotDraw/src/CH/ifa/draw/framework/DrawingView.java
deleted file mode 100644
index 107c0cace..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/DrawingView.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * @(#)DrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.*;
-import java.awt.image.ImageObserver;
-import java.util.Collection;
-
-/**
- * DrawingView renders a Drawing and listens to its changes.
- * It receives user input and delegates it to the current tool.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld026.htm>Observer</a></b><br>
- * DrawingView observes drawing for changes via the DrawingListener interface.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld032.htm>State</a></b><br>
- * DrawingView plays the role of the StateContext in
- * the State pattern. Tool is the State.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * DrawingView is the StrategyContext in the Strategy pattern
- * with regard to the UpdateStrategy. <br>
- * DrawingView is the StrategyContext for the PointConstrainer.
- *
- * @see Drawing
- * @see Painter
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface DrawingView extends ImageObserver, DrawingChangeListener {
-
-	/**
-	 * Sets the view's editor.
-	 */
-	public void setEditor(DrawingEditor editor);
-
-	/**
-	 * Gets the current tool.
-	 */
-	public Tool tool();
-
-	/**
-	 * Gets the drawing.
-	 */
-	public Drawing drawing();
-
-	/**
-	 * Sets and installs another drawing in the view.
-	 */
-	public void setDrawing(Drawing d);
-
-	/**
-	 * Gets the editor.
-	 */
-	public DrawingEditor editor();
-
-	/**
-	 * Adds a figure to the drawing.
-	 * @return the added figure.
-	 */
-	public Figure add(Figure figure);
-
-	/**
-	 * Removes a figure from the drawing.
-	 * @return the removed figure
-	 */
-	public Figure remove(Figure figure);
-
-	/**
-	 * Adds a collections of figures to the drawing.
-	 */
-	public void addAll(Collection figures);
-
-	/**
-	 * Gets the size of the drawing.
-	 */
-	public Dimension getSize();
-
-	/**
-	 * Gets the minimum dimension of the drawing.
-	 */
-	public Dimension getMinimumSize();
-
-	/**
-	 * Gets the preferred dimension of the drawing..
-	 */
-	public Dimension getPreferredSize();
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public void setDisplayUpdate(Painter updateStrategy);
-
-	/**
-	 * Gets the current display update strategy.
-	 * @see Painter
-	 */
-	public Painter getDisplayUpdate();
-
-	/**
-	 * Gets an enumeration over the currently selected figures.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selection();
-
-	/**
-	 * Gets the currently seleced figures in Z order.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @see #selection
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selectionZOrdered();
-
-	/**
-	 * Gets the number of selected figures.
-	 */
-	public int selectionCount();
-
-	/**
-	 * Test whether a given figure is selected.
-	 */
-	public boolean isFigureSelected(Figure checkFigure);
-
-	/**
-	 * Adds a figure to the current selection.
-	 */
-	public void addToSelection(Figure figure);
-
-	/**
-	 * Adds a collections of figures to the current selection.
-	 */
-	public void addToSelectionAll(Collection figures);
-
-	/**
-	 * Adds a FigureEnumeration to the current selection.
-	 */
-	public void addToSelectionAll(FigureEnumeration fe);
-
-	/**
-	 * Removes a figure from the selection.
-	 */
-	public void removeFromSelection(Figure figure);
-
-	/**
-	 * If a figure isn't selected it is added to the selection.
-	 * Otherwise it is removed from the selection.
-	 */
-	public void toggleSelection(Figure figure);
-
-	/**
-	 * Clears the current selection.
-	 */
-	public void clearSelection();
-
-	/**
-	 * Gets the current selection as a FigureSelection. A FigureSelection
-	 * can be cut, copied, pasted.
-	 */
-	public FigureSelection getFigureSelection();
-
-	/**
-	 * Finds a handle at the given coordinates.
-	 * @return the hit handle, null if no handle is found.
-	 */
-	public Handle findHandle(int x, int y);
-
-	/**
-	 * Gets the position of the last click inside the view.
-	 */
-	public Point lastClick();
-
-	/**
-	 * Sets the current point constrainer.
-	 */
-	public void setConstrainer(PointConstrainer p);
-
-	/**
-	 * Gets the current grid setting.
-	 */
-	public PointConstrainer getConstrainer();
-
-	/**
-	 * Checks whether the drawing has some accumulated damage
-	 */
-	public void checkDamage();
-
-	/**
-	 * Repair the damaged area
-	 */
-	public void repairDamage();
-
-	/**
-	 * Paints the drawing view. The actual drawing is delegated to
-	 * the current update strategy.
-	 * @see Painter
-	 */
-	public void paint(Graphics g);
-
-	/**
-	 * Creates an image with the given dimensions
-	 */
-	public Image createImage(int width, int height);
-
-	/**
-	 * Gets a graphic to draw into
-	 */
-	public Graphics getGraphics();
-
-	/**
-	 * Gets the background color of the DrawingView
-	 */
-	public Color getBackground();
-
-	/**
-	 * Sets the background color of the DrawingView
-	 */
-	public void setBackground(Color c);
-
-	/**
-	 * Draws the contents of the drawing view.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void drawAll(Graphics g);
-
-	/**
-	 * Draws the given figures.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe);
-
-	/**
-	 * Draws the currently active handles.
-	 */
-	public void drawHandles(Graphics g);
-
-	/**
-	 * Draws the drawing.
-	 */
-	public void drawDrawing(Graphics g);
-
-	/**
-	 * Draws the background. If a background pattern is set it
-	 * is used to fill the background. Otherwise the background
-	 * is filled in the background color.
-	 */
-	public void drawBackground(Graphics g);
-
-	/**
-	 * Sets the cursor of the DrawingView
-	 */
-	public void setCursor(Cursor c);
-
-	/**
-	 * Freezes the view by acquiring the drawing lock.
-	 * @see Drawing#lock
-	 */
-	public void freezeView();
-
-	/**
-	 * Unfreezes the view by releasing the drawing lock.
-	 * @see Drawing#unlock
-	 */
-	public void unfreezeView();
-
-	/**
-	 * Add a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void addFigureSelectionListener(FigureSelectionListener fsl);
-
-	/**
-	 * Remove a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void removeFigureSelectionListener(FigureSelectionListener fsl);
-
-	/**
-	 * Returns a FigureEnumeration of connection figures
-	 */
-	public FigureEnumeration getConnectionFigures(Figure inFigure);
-
-	/**
-	 * Inserts figures in a drawing at given offset. Optional check for connection figures
-	 *
-	 *  @return enumeration which has been added to the drawing. The figures in the enumeration
-	 *          can have changed during adding them (e.g. they could have been decorated).
-	 */
-	public FigureEnumeration insertFigures(FigureEnumeration inFigures, int dx, int dy, boolean bCheck);
-
-	/**
-	 * Check whether the DrawingView is interactive, i.e. whether it accepts user input
-	 * and whether it can display a drawing.
-	 */
-	public boolean isInteractive();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Figure.java b/JHotDraw/src/CH/ifa/draw/framework/Figure.java
deleted file mode 100644
index a01a9adee..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Figure.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * @(#)Figure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.standard.TextHolder;
-
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * The interface of a graphical figure. A figure knows
- * its display box and can draw itself. A figure can be
- * composed of several figures. To interact and manipulate
- * with a figure it can provide Handles and Connectors.<p>
- * A figure has a set of handles to manipulate its shape or attributes.
- * A figure has one or more connectors that define how
- * to locate a connection point.<p>
- * Figures can have an open ended set of attributes.
- * An attribute is identified by a string.<p>
- * Default implementations for the Figure interface are provided
- * by AbstractFigure.<p>
- *
- * Figures can have <a name="dependent_figure">dependent figure</a>s. The existence od dependent
- * figures depend on another figure. This is the case for figures
- * such as ConnectedTextFigures and LineDecoration. Thus, they are
- * "externally" dependent on a figure in contrast to (internally)
- * contained figures. This means, "normal" figures (figures that
- * are not containers) can still have dependent figures. Dependent
- * figures are especially important if the figure which the depend
- * on is deleted because they should be removed as well (cascading delete).
- *
- * @see Handle
- * @see Connector
- * @see CH.ifa.draw.standard.AbstractFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Figure
-				extends Storable, Cloneable, Serializable {
-
-	/**
-	 * Constant that allows to identify a popup menu assigned
-	 * as an attribute.
-	 */
-	public static String POPUP_MENU = "POPUP_MENU";
-
-	/**
-	 * Moves the Figure to a new location.
-	 * @param dx the x delta
-	 * @param dy the y delta
-	 */
-	public void moveBy(int dx, int dy);
-
-	/**
-	 * Changes the display box of a figure. This method is
-	 * always implemented in figure subclasses. It only changes
-	 * the displaybox and does not announce any changes. It
-	 * is usually not called by the client. Clients typically call
-	 * displayBox to change the display box.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void basicDisplayBox(Point origin, Point corner);
-
-	/**
-	 * Changes the display box of a figure. Clients usually
-	 * invoke this method. It changes the display box
-	 * and announces the corresponding changes.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void displayBox(Point origin, Point corner);
-
-	/**
-	 * Gets the display box of a figure
-	 * @see #basicDisplayBox
-	 */
-	public Rectangle displayBox();
-
-	/**
-	 * Draws the figure.
-	 * @param g the Graphics to draw into
-	 */
-	public void draw(Graphics g);
-
-	/**
-	 * Returns the handles used to manipulate
-	 * the figure. Handles is a Factory Method for
-	 * creating handle objects.
-	 *
-	 * @return an type-safe iterator of handles
-	 * @see Handle
-	 */
-	public HandleEnumeration handles();
-
-	/**
-	 * Gets the size of the figure
-	 */
-	public Dimension size();
-
-	/**
-	 * Gets the figure's center
-	 */
-	public Point center();
-
-	/**
-	 * Checks if the Figure should be considered as empty.
-	 */
-	public boolean isEmpty();
-
-	/**
-	 * Returns an Enumeration of the figures contained in this figure
-	 */
-	public FigureEnumeration figures();
-
-	/**
-	 * Returns the figure that contains the given point.
-	 */
-	public Figure findFigureInside(int x, int y);
-
-	/**
-	 * Checks if a point is inside the figure.
-	 */
-	public boolean containsPoint(int x, int y);
-
-	/**
-	 * Returns a Clone of this figure
-	 */
-	public Object clone();
-
-	/**
-	 * Changes the display box of a figure. This is a
-	 * convenience method. Implementors should only
-	 * have to override basicDisplayBox
-	 * @see #displayBox
-	 */
-	public void displayBox(Rectangle r);
-
-	/**
-	 * Checks whether the given figure is contained in this figure.
-	 */
-	public boolean includes(Figure figure);
-
-	/**
-	 * Decomposes a figure into its parts. A figure is considered
-	 * as a part of itself.
-	 */
-	public FigureEnumeration decompose();
-
-	/**
-	 * Sets the Figure's container and registers the container
-	 * as a figure change listener. A figure's container can be
-	 * any kind of FigureChangeListener. A figure is not restricted
-	 * to have a single container.
-	 */
-	public void addToContainer(FigureChangeListener c);
-
-	/**
-	 * Removes a figure from the given container and unregisters
-	 * it as a change listener.
-	 */
-	public void removeFromContainer(FigureChangeListener c);
-
-	/**
-	 * Add a <a href="#dependent_figure">dependent figure</a>.
-	 */
-	public void addDependendFigure(Figure newDependendFigure);
-
-	/**
-	 * Remove a <a href="#dependent_figure">dependent figure</a>.
-	 */
-	public void removeDependendFigure(Figure oldDependendFigure);
-
-	/**
-	 * Get an enumeration of all <a href="#dependent_figure">dependent figures</a>.
-	 */
-	public FigureEnumeration getDependendFigures();
-
-	/**
-	 * Gets the Figure's listeners.
-	 */
-	public FigureChangeListener listener();
-
-	/**
-	 * Adds a listener for this figure.
-	 */
-	public void addFigureChangeListener(FigureChangeListener l);
-
-	/**
-	 * Removes a listener for this figure.
-	 */
-	public void removeFigureChangeListener(FigureChangeListener l);
-
-	/**
-	 * Releases a figure's resources. Release is called when
-	 * a figure is removed from a drawing. Informs the listeners that
-	 * the figure is removed by calling figureRemoved.
-	 */
-	public void release();
-
-	/**
-	 * Invalidates the figure. This method informs its listeners
-	 * that its current display box is invalid and should be
-	 * refreshed.
-	 */
-	public void invalidate();
-
-	/**
-	 * Informes that a figure is about to change such that its
-	 * display box is affected.
-	 * Here is an example of how it is used together with changed()
-	 * <pre>
-	 * public void move(int x, int y) {
-	 *      willChange();
-	 *      // change the figure's location
-	 *      changed();
-	 *  }
-	 * </pre>
-	 * @see #invalidate
-	 * @see #changed
-	 */
-	public void willChange();
-
-	/**
-	 * Informes that a figure has changed its display box.
-	 * This method also triggers an update call for its
-	 * registered observers.
-	 * @see #invalidate
-	 * @see #willChange
-	 *
-	 */
-	public void changed();
-
-	/**
-	 * Checks if this figure can be connected
-	 */
-	public boolean canConnect();
-
-	/**
-	 * Gets a connector for this figure at the given location.
-	 * A figure can have different connectors at different locations.
-	 */
-	public Connector connectorAt(int x, int y);
-
-	/**
-	 * Sets whether the connectors should be visible.
-	 * Connectors can be optionally visible. Implement
-	 * this method and react on isVisible to turn the
-	 * connectors on or off.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure connection);
-
-	/**
-	 * Returns the connection inset. This is only a hint that
-	 * connectors can use to determine the connection location.
-	 * The inset defines the area where the display box of a
-	 * figure should not be connected.
-	 *
-	 */
-	public Insets connectionInsets();
-
-	/**
-	 * Returns the locator used to located connected text.
-	 */
-	public Locator connectedTextLocator(Figure text);
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name);
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant);
-
-	/**
-	 * Sets the named attribute to the new value
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value);
-
-	/**
-	 * Sets the named attribute to the new value
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value);
-
-	/**
-	 * Gets the z value (back-to-front ordering) of this figure.
-	 * Z values are not guaranteed to not skip numbers.
-	 */
-	public int getZValue();
-
-	/**
-	 * Sets the z value (back-to-front ordering) of this figure.
-	 * Z values are not guaranteed to not skip numbers.
-	 */
-	public void setZValue(int z);
-
-	public void visit(FigureVisitor visitor);
-
-	/**
-	 * Some figures have the ability to hold text. This method returns
-	 * the adjunctant TextHolder.
-	 * @return
-	 */
-	public TextHolder getTextHolder();
-
-	/**
-	 * Get the underlying figure in case the figure has been decorated.
-	 * If the figure has not been decorated the figure itself is returned.
-	 * The DecoratorFigure does not release the the decorated figure but
-	 * just returns it (in contrast to {@link CH.ifa.draw.standard.DecoratorFigure.peelDecoration}).
-	 *
-	 * @return underlying, "real" without DecoratorFigure
-	 * @see CH.ifa.draw.standard.DecoratorFigure
-	 */
-	public Figure getDecoratedFigure();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureAttributeConstant.java b/JHotDraw/src/CH/ifa/draw/framework/FigureAttributeConstant.java
deleted file mode 100644
index e9187866b..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureAttributeConstant.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * @(#)FigureAttributeConstant.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.io.Serializable;
-
-/**
- * A FigureAttribute is a constant for accessing a special figure attribute. It
- * does not contain a value but just defines a unique attribute ID. Therefore,
- * they provide a type-safe way of defining attribute constants.
- * (SourceForge feature request ID: <>)
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class FigureAttributeConstant implements Serializable, Cloneable {
-
-	public static final String FRAME_COLOR_STR = "FrameColor";
-	public static final FigureAttributeConstant FRAME_COLOR = new FigureAttributeConstant(FRAME_COLOR_STR, 1);
-
-	public static final String FILL_COLOR_STR = "FillColor";
-	public static final FigureAttributeConstant FILL_COLOR = new FigureAttributeConstant(FILL_COLOR_STR, 2);
-
-	public static final String TEXT_COLOR_STR = "TextColor";
-	public static final FigureAttributeConstant TEXT_COLOR = new FigureAttributeConstant(TEXT_COLOR_STR, 3);
-
-	public static final String ARROW_MODE_STR = "ArrowMode";
-	public static final FigureAttributeConstant ARROW_MODE = new FigureAttributeConstant(ARROW_MODE_STR, 4);
-
-	public static final String FONT_NAME_STR = "FontName";
-	public static final FigureAttributeConstant FONT_NAME = new FigureAttributeConstant(FONT_NAME_STR, 5);
-
-	public static final String FONT_SIZE_STR = "FontSize";
-	public static final FigureAttributeConstant FONT_SIZE = new FigureAttributeConstant(FONT_SIZE_STR, 6);
-
-	public static final String FONT_STYLE_STR = "FontStyle";
-	public static final FigureAttributeConstant FONT_STYLE = new FigureAttributeConstant(FONT_STYLE_STR, 7);
-
-	public static final String URL_STR = "URL";
-	public static final FigureAttributeConstant URL = new FigureAttributeConstant(URL_STR, 8);
-
-	public static final String LOCATION_STR = "Location";
-	public static final FigureAttributeConstant LOCATION = new FigureAttributeConstant(LOCATION_STR, 9);
-	
-	public static final String XALIGNMENT_STR = "XAlignment";
-	public static final FigureAttributeConstant XALIGNMENT = new FigureAttributeConstant(XALIGNMENT_STR, 10);
-	
-	public static final String YALIGNMENT_STR = "YAlignment";
-	public static final FigureAttributeConstant YALIGNMENT = new FigureAttributeConstant(YALIGNMENT_STR, 11);
-	
-	public static final String TOP_MARGIN_STR = "TopMargin";
-	public static final FigureAttributeConstant TOP_MARGIN = new FigureAttributeConstant(TOP_MARGIN_STR, 12);
-	
-	public static final String RIGHT_MARGIN_STR = "RightMargin";
-	public static final FigureAttributeConstant RIGHT_MARGIN = new FigureAttributeConstant(RIGHT_MARGIN_STR, 13);
-	
-	public static final String BOTTOM_MARGIN_STR = "BottomMargin";
-	public static final FigureAttributeConstant BOTTOM_MARGIN = new FigureAttributeConstant(BOTTOM_MARGIN_STR, 14);
-	
-	public static final String LEFT_MARGIN_STR = "LeftMargin";
-	public static final FigureAttributeConstant LEFT_MARGIN = new FigureAttributeConstant(LEFT_MARGIN_STR, 15);
-	
-	public static final String POPUP_MENU_STR = "PopupMenu";
-	public static final FigureAttributeConstant POPUP_MENU = new FigureAttributeConstant(POPUP_MENU_STR, 16);
-	
-	private static FigureAttributeConstant[] attributeConstants;
-
-	private int myID;
-	private String myName;
-
-	private FigureAttributeConstant(String newName, int newID) {
-		setName(newName);
-		setID(newID);
-		addConstant(this);
-	}
-
-	public FigureAttributeConstant(String newName) {
-		this(newName, attributeConstants.length+1);
-	}
-
-	private void setName(String newName) {
-		myName = newName;
-	}
-
-	public String getName() {
-		return myName;
-	}
-
-	private void setID(int newID) {
-		myID = newID;
-	}
-
-	public int getID() {
-		return myID;
-	}
-
-	public boolean equals(Object compareObject) {
-		if (compareObject == null) {
-			return false;
-		}
-		if (!(compareObject instanceof FigureAttributeConstant)) {
-			return false;
-		}
-		FigureAttributeConstant compareAttribute = (FigureAttributeConstant)compareObject;
-
-		if (compareAttribute.getID() != getID()) {
-			return false;
-		}
-
-		if ((compareAttribute.getName() == null) && (getName() == null)) {
-			return true;
-		}
-		if ((compareAttribute.getName() != null) && (getName() != null)) {
-			return getName().equals(compareAttribute.getName());
-		}
-
-		return false;
-	}
-
-	public int hashCode() {
-		return getID();
-	}
-
-	/**
-	 * Constants are put into the place according to their ID, thus, it is
-	 * recommended to have subsequent attribute IDs.
-	 */
-	private static void addConstant(FigureAttributeConstant newConstant) {
-		int idPos = newConstant.getID() - 1;
-		// attribute IDs must be unique, thus no two attributes
-		// with the same ID can be added
-		if ((idPos < attributeConstants.length) && (attributeConstants[idPos] != null)) {
-			throw new JHotDrawRuntimeException("No unique FigureAttribute ID: " + newConstant.getID());
-		}
-		// increase capacity if necessary
-		if (idPos >= attributeConstants.length) {
-			FigureAttributeConstant[] tempStrs = new FigureAttributeConstant[idPos + 1];
-			System.arraycopy(attributeConstants, 0, tempStrs, 0, attributeConstants.length);
-			attributeConstants = tempStrs;
-		}
-		attributeConstants[idPos] = newConstant;
-	}
-
-	/**
-	 * @return an existing constant for a given name or create a new one
-	 */
-	public static FigureAttributeConstant getConstant(String constantName) {
-		for (int i = 0; i < attributeConstants.length; i++) {
-			FigureAttributeConstant currentAttr = getConstant(i);
-			if ((currentAttr != null) && (currentAttr.getName() != null) && (currentAttr.getName().equals(constantName))) {
-				return currentAttr;
-			}
-		}
-		return new FigureAttributeConstant(constantName);
-	}
-
-	public static FigureAttributeConstant getConstant(int constantId) {
-		return attributeConstants[constantId];
-	}
-
-	{
-		// use static initializer to create List before any constant is created
-		// initialize List only for the first constant (during debugging it
-		// appeared that the static initializer is invoked for any constant)
-		if (attributeConstants == null) {
-			attributeConstants = new FigureAttributeConstant[64];
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureChangeEvent.java b/JHotDraw/src/CH/ifa/draw/framework/FigureChangeEvent.java
deleted file mode 100644
index 63afb950d..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureChangeEvent.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * @(#)FigureChangeEvent.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.Rectangle;
-import java.util.EventObject;
-
-/**
- * FigureChange event passed to FigureChangeListeners.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FigureChangeEvent extends EventObject {
-
-	private Rectangle myRectangle;
-	private FigureChangeEvent myNestedEvent;
-
-	private static final Rectangle EMPTY_RECTANGLE = new Rectangle(0, 0, 0, 0);
-
-   /**
-	* Constructs an event for the given source Figure. The rectangle is the
-	* area to be invalvidated.
-	*/
-	public FigureChangeEvent(Figure newSource, Rectangle newRect) {
-		super(newSource);
-		myRectangle = newRect;
-	}
-
-	public FigureChangeEvent(Figure newSource) {
-		super(newSource);
-		myRectangle = EMPTY_RECTANGLE;
-	}
-
-	public FigureChangeEvent(Figure newSource, Rectangle newRect, FigureChangeEvent nestedEvent) {
-		this(newSource, newRect);
-		myNestedEvent = nestedEvent;
-	}
-
-	/**
-	 *  Gets the changed figure
-	 */
-	public Figure getFigure() {
-		return (Figure)getSource();
-	}
-
-	/**
-	 *  Gets the changed rectangle
-	 */
-	public Rectangle getInvalidatedRectangle() {
-		return myRectangle;
-	}
-
-	public FigureChangeEvent getNestedEvent() {
-		return myNestedEvent;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureChangeListener.java b/JHotDraw/src/CH/ifa/draw/framework/FigureChangeListener.java
deleted file mode 100644
index a1466bf0f..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureChangeListener.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * @(#)FigureChangeListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.util.EventListener;
-
-/**
- * Listener interested in Figure changes.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureChangeListener extends EventListener {
-
-	/**
-	 * Sent when an area is invalid
-	 */
-	public void figureInvalidated(FigureChangeEvent e);
-
-	/**
-	 * Sent when a figure changed
-	 */
-	public void figureChanged(FigureChangeEvent e);
-
-	/**
-	 * Sent when a figure was removed
-	 */
-	public void figureRemoved(FigureChangeEvent e);
-
-	/**
-	 * Sent when requesting to remove a figure.
-	 */
-	public void figureRequestRemove(FigureChangeEvent e);
-
-	/**
-	 * Sent when an update should happen.
-	 *
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureEnumeration.java b/JHotDraw/src/CH/ifa/draw/framework/FigureEnumeration.java
deleted file mode 100644
index dc38d53a3..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureEnumeration.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)FigureEnumeration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * Interface for Enumerations that access Figures.
- * It provides a method nextFigure, that hides the down casting
- * from client code.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureEnumeration {
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure();
-	public boolean hasNextFigure();
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureSelection.java b/JHotDraw/src/CH/ifa/draw/framework/FigureSelection.java
deleted file mode 100644
index dd95e3d29..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureSelection.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)FigureSelection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * FigureSelection enables to transfer the selected figures
- * to a clipboard.<p>
- * Will soon be converted to the JDK 1.1 Transferable interface.
- *
- * @see CH.ifa.draw.util.Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public interface FigureSelection {
-
-	/**
-	 * Gets the type of the selection.
-	 */
-	public String getType();
-
-	/**
-	 * Gets the data of the selection. The result is returned
-     * as a FigureEnumeration of Figures.
-	 *
-	 * @return a copy of the figure selection.
-	 */
-	public Object getData(String type);
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureSelectionListener.java b/JHotDraw/src/CH/ifa/draw/framework/FigureSelectionListener.java
deleted file mode 100644
index f4dbf7ab3..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureSelectionListener.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * @(#)FigureSelectionListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * Listener interested in DrawingView selection changes.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureSelectionListener {
-	/**
-	 * Sent when the figure selection has changed.
-	 * @param view DrawingView
-	 */
-	public void figureSelectionChanged(DrawingView view);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/FigureVisitor.java b/JHotDraw/src/CH/ifa/draw/framework/FigureVisitor.java
deleted file mode 100644
index 9b799d457..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/FigureVisitor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * @(#)FigureVisitor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureVisitor {
-	public void visitFigure(Figure hostFigure);
-	public void visitHandle(Handle hostHandle);
-	public void visitFigureChangeListener(FigureChangeListener hostFigureChangeListener);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Handle.java b/JHotDraw/src/CH/ifa/draw/framework/Handle.java
deleted file mode 100644
index 66be2c103..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Handle.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Handle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import CH.ifa.draw.util.Undoable;
-
-/**
- * Handles are used to change a figure by direct manipulation.
- * Handles know their owning figure and they provide methods to
- * locate the handle on the figure and to track changes.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld004.htm>Adapter</a></b><br>
- * Handles adapt the operations to manipulate a figure to a common interface.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Handle {
-
-	public static final int HANDLESIZE = 8;
-
-	/**
-	 * Locates the handle on the figure. The handle is drawn
-	 * centered around the returned point.
-	 */
-	public Point locate();
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 */
-	public void invokeStart(int  x, int  y, DrawingView view);
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @deprecated As of version 4.1, use invokeStart(x, y, drawingView)
-	 */
-	public void invokeStart(int  x, int  y, Drawing drawing);
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view);
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param dx x delta of this step
-	 * @param dy y delta of this step
-	 * @deprecated As of version 4.1,
-	 * use invokeStep(x, y, anchorX, anchorY, drawingView)
-	 */
-	public void invokeStep (int dx, int dy, Drawing drawing);
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view);
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @deprecated As of version 4.1,
-	 * use invokeEnd(x, y, anchorX, anchorY, drawingView).
-	 */
-	public void invokeEnd(int dx, int dy, Drawing drawing);
-
-	/**
-	 * Gets the handle's owner.
-	 */
-	public Figure owner();
-
-	/**
-	 * Gets the display box of the handle.
-	 */
-	public Rectangle displayBox();
-
-	/**
-	 * Tests if a point is contained in the handle.
-	 */
-	public boolean containsPoint(int x, int y);
-
-	/**
-	 * Draws this handle.
-	 */
-	public void draw(Graphics g);
-
-	/**
-	 * Returns an Undoable to be used by the Undo/Redo infrastructure.
-	 * @return Undoable
-	 */
-	public Undoable getUndoActivity();
-
-	/**
-	 * Sets an Undoable to be used by the Undo/Redo infrastructure.
-	 * @param newUndoableActivity
-	 */
-	public void setUndoActivity(Undoable newUndoableActivity);
-
-	/**
-	 * Returns the preferred Cursor for this Handle.
-	 * @return Cursor
-	 */
-	public Cursor getCursor();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/HandleEnumeration.java b/JHotDraw/src/CH/ifa/draw/framework/HandleEnumeration.java
deleted file mode 100644
index 0fa17a821..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/HandleEnumeration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)HandleEnumeration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.util.List;
-
-/**
- * Interface for Enumerations that access Handles.
- * It provides a method nextHandle, that hides the down casting
- * from client code.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface HandleEnumeration {
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Handle nextHandle();
-	public boolean hasNextHandle();
-
-	/**
-	 * Returns a list with all elements currently available in the enumeration.
-	 * That means, elements retrieved already by calling nextHandle() are not
-	 * contained. This method does not change the position of the enumeration.
-	 * Warning: this method is not necessarily synchronized so this enumeration should not
-	 * be modified at the same time!
-	 *
-	 * @return list with all elements currently available in the enumeration.
-	 */
-	public List toList();
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/JHotDrawException.java b/JHotDraw/src/CH/ifa/draw/framework/JHotDrawException.java
deleted file mode 100644
index d86e21d5c..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/JHotDrawException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)JHotDrawException.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * A JHotDRaw Exception.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class JHotDrawException extends Exception {
-
-	private Exception myNestedException;
-
-	public JHotDrawException(String msg) {
-		super(msg);
-	}
-
-	public JHotDrawException(Exception nestedException) {
-		this(nestedException.getLocalizedMessage());
-		setNestedException(nestedException);
-		nestedException.fillInStackTrace();
-	}
-
-	protected void setNestedException(Exception newNestedException) {
-		myNestedException = newNestedException;
-	}
-
-	public Exception getNestedException() {
-		return myNestedException;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/JHotDrawRuntimeException.java b/JHotDraw/src/CH/ifa/draw/framework/JHotDrawRuntimeException.java
deleted file mode 100644
index 3821eca33..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/JHotDrawRuntimeException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)JHotDrawRuntimeException.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-/**
- * A JHotDraw RuntimeException.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class JHotDrawRuntimeException extends RuntimeException {
-
-	private Exception myNestedException;
-
-	public JHotDrawRuntimeException(String msg) {
-		super(msg);
-	}
-
-	public JHotDrawRuntimeException(Exception nestedException) {
-		this(nestedException.getLocalizedMessage());
-		setNestedException(nestedException);
-		nestedException.fillInStackTrace();
-	}
-
-	protected void setNestedException(Exception newNestedException) {
-		myNestedException = newNestedException;
-	}
-
-	public Exception getNestedException() {
-		return myNestedException;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Locator.java b/JHotDraw/src/CH/ifa/draw/framework/Locator.java
deleted file mode 100644
index 6e3aa0944..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Locator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Locator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.Storable;
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Locators can be used to locate a position on a figure.<p>
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * Locator encapsulates the strategy to locate a handle on a figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Locator extends Storable, Serializable, Cloneable {
-
-	/**
-	 * Locates a position on the passed figure.
-	 * @return a point on the figure.
-	 */
-	public Point locate(Figure owner);
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Painter.java b/JHotDraw/src/CH/ifa/draw/framework/Painter.java
deleted file mode 100644
index 417a20df8..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Painter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)Painter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Painter defines the interface for drawing a layer
- * into a DrawingView.<p>
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * Painter encapsulates an algorithm to render something in
- * the DrawingView. The DrawingView plays the role of the StrategyContext.
- * <hr>
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Painter extends Serializable {
-
-	/**
-	 * Draws into the given DrawingView.
-	 */
-	public void draw(Graphics g, DrawingView view);
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/PointConstrainer.java b/JHotDraw/src/CH/ifa/draw/framework/PointConstrainer.java
deleted file mode 100644
index e33ec9e2c..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/PointConstrainer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)PointConstrainer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.awt.*;
-
-/**
- * Interface to constrain a Point. This can be used to implement
- * different kinds of grids.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * DrawingView is the StrategyContext.<br>
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface PointConstrainer {
-	/**
-	 * Constrains the given point.
-	 * @return constrained point.
-	 */
-	public Point constrainPoint(Point p);
-
-	/**
-	 * Gets the x offset to move an object.
-	 */
-	public int getStepX();
-
-	/**
-	 * Gets the y offset to move an object.
-	 */
-	public int getStepY();
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/Tool.java b/JHotDraw/src/CH/ifa/draw/framework/Tool.java
deleted file mode 100644
index cfd5ba19e..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/Tool.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * @(#)Tool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import CH.ifa.draw.util.Undoable;
-import java.awt.event.MouseEvent;
-import java.awt.event.KeyEvent;
-
-/**
- * A tool defines a mode of the drawing view. All input events
- * targeted to the drawing view are forwarded to its current tool.<p>
- * Tools inform their editor when they are done with an interaction
- * by calling the editor's toolDone() method.
- * The Tools are created once and reused. They
- * are initialized/deinitialized with activate()/deactivate().
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld032.htm>State</a></b><br>
- * Tool plays the role of the State. In encapsulates all state
- * specific behavior. DrawingView plays the role of the StateContext.
- *
- * A tool can be in the following states: <br>
- * disabled<->enabled[unusable<->usable[active<->inactive]]
- * <->always_usable[active<->inactive]<->disabled
- * <br> where each square bracket indicates a state nesting level
- * and arrows possible state transitions.
- * Unusable tools are always inactive as well and disabled tools
- * are always unusable as well.
- * State changes are propagated to registered ToolListeners.
- *
- * @see DrawingView
- * 
- * @version <$CURRENT_VERSION$>
- */
-public interface Tool {
-
-	/**
-	 * An active tool is the currently selected tool in the
-	 * DrawingView. A tool can be activated/deactivated
-	 * by calling the activate()/deactivate() method.
-	 *
-	 * @return true if the tool is the selected tool in the DrawingView, false otherwise
-	 * @see #isEnabled
-	 * @see #isUsable
-	 */
-	public boolean isActive();
-
-	/**
-	 * Activates the tool for the given view. This method is called
-	 * whenever the user switches to this tool. Use this method to
-	 * reinitialize a tool.
-	 * Note, a valid view must be present in order for the tool to accept activation
-	 */
-	public void activate();
-
-	/**
-	 * Deactivates the tool. This method is called whenever the user
-	 * switches to another tool. Use this method to do some clean-up
-	 * when the tool is switched. Subclassers should always call
-	 * super.deactivate.
-	 */
-	public void deactivate();
-
-	/**
-	 * Handles mouse down events in the drawing view.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y);
-
-	/**
-	 * Handles mouse drag events in the drawing view.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y);
-
-	/**
-	 * Handles mouse up in the drawing view.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y);
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y);
-
-	/**
-	 * Handles key down events in the drawing view.
-	 */
-	public void keyDown(KeyEvent evt, int key);
-
-	/**
-	 * A tool must be enabled in order to use it and to activate/deactivate it.
-	 * Typically, the program enables or disables a tool.
-	 *
-	 * @see #isUsable
-	 * @see #isActive
-	 */
-	public boolean isEnabled();
-	public void setEnabled(boolean enableUsableCheck);
-
-	/**
-	 * A usable tool is a enabled and either active or inactive.
-	 * Typically, the tool should be able to determine itself whether it is
-	 * usable or not.
-	 *
-	 * @see #isEnabled
-	 * @see #isUsable
-	 */
-	public boolean isUsable();
-	public void setUsable(boolean newIsUsable);
-	
-	public DrawingEditor editor();
-	
-	public Undoable getUndoActivity();
-
-	public void setUndoActivity(Undoable newUndoableActivity);
-	
-	public void addToolListener(ToolListener newToolListener);
-	public void removeToolListener(ToolListener oldToolListener);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/ToolListener.java b/JHotDraw/src/CH/ifa/draw/framework/ToolListener.java
deleted file mode 100644
index bf08b79d5..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/ToolListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * @(#)ToolListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.framework;
-
-import java.util.EventObject;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface ToolListener {
-	public void toolEnabled(EventObject toolEvent);
-	public void toolDisabled(EventObject toolEvent);
-	public void toolUsable(EventObject toolEvent);
-	public void toolUnusable(EventObject toolEvent);
-	public void toolActivated(EventObject toolEvent);
-	public void toolDeactivated(EventObject toolEvent);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/framework/ViewChangeListener.java b/JHotDraw/src/CH/ifa/draw/framework/ViewChangeListener.java
deleted file mode 100644
index 8c375a986..000000000
--- a/JHotDraw/src/CH/ifa/draw/framework/ViewChangeListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package CH.ifa.draw.framework;
-
-import java.util.EventListener;
-
-/**
- * Title:
- * Description:
- * Copyright:    Copyright (c) 2001
- * Company:
- * @author      SourceForge(dnoyeb) aka C.L.Gilbert
- * @version     1.0
- * @since       10/14/01
- */
-public interface ViewChangeListener extends EventListener {
-
-	/**
-	 * Sent when the active view has changed.
-	 * @param newView view
-	 */
-	public void viewSelectionChanged(DrawingView oldView, DrawingView newView);
-	
-	/**
-	 * Sent when a new view is created.  This should only be fired after the view
-	 * has a peer.  I believe that means the view has a component chain all the way
-	 * to a heavyweight container.
-	 * @param view view
-	 */
-	public void viewCreated(DrawingView view);
-
-	/**
-	 * Send when an existing view is about to be destroyed.  After processing this
-	 * event, the view is not guaranteed to contain any appropriate data.  You
-	 * must not use it.
-	 */
-	public void viewDestroying(DrawingView view);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/images/ATEXT1.gif b/JHotDraw/src/CH/ifa/draw/images/ATEXT1.gif
deleted file mode 100644
index b14778e95e10b55060a08916082862f666f1cba8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 195
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQt_d|bM;<_eTR3moM@?#5n_@ypLo|&?%9_Rl@rs_Z>?SX;^>OmAEs~S@jNiI
z%e_*uSZCgA&Ceg|>|(xZu*}-`V1va^joIfjN<N;ty2xls+_Pz0re&<Lx+J!oZKGeU
iZa|Slah{c;Us!lmg{etZZXJK}w4{QzStf!E4Aubb*Hkb7

diff --git a/JHotDraw/src/CH/ifa/draw/images/ATEXT2.gif b/JHotDraw/src/CH/ifa/draw/images/ATEXT2.gif
deleted file mode 100644
index 61025ef8ccd944517bf878bf5327b9258155b4dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 185
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ}v(bM;;arIKA=E*)u{Yf&X!si4G_GexU;*_?H{f9DnF=N(uOAkoxnWHK+$
zSorC*Qvw}dn_i_|xw!fHZQlLylUu!oj-Lp4BH12tHRVclCHwkyu|7htOZ2rKON7Z)
Xn-%4|=UN%IXQXyWOfVE=V6X-N_zX=F

diff --git a/JHotDraw/src/CH/ifa/draw/images/ATEXT3.gif b/JHotDraw/src/CH/ifa/draw/images/ATEXT3.gif
deleted file mode 100644
index c44b27069cc020bad96a8ce4660ff5cbeab512ee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu3j}bM;<_MW1)ndtB|kx20FnsZS&`EPl_l13#C(F_~RtU#>rK{dXomn}uim
zgI+J4aY~|p$`O}dvxldeWc6ZATPl3?W;chwf6h8}RgK#9Dy?qe>~Fbm%ULcK=O=_z
d%Czv;n%B3u`&G7ORW(j14G5d&F37-O4FHD@QNjQK

diff --git a/JHotDraw/src/CH/ifa/draw/images/BORDDEC1.gif b/JHotDraw/src/CH/ifa/draw/images/BORDDEC1.gif
deleted file mode 100644
index ef8d3911724b94100918c4f80cb79f716c3a3c95..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 173
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJud$bM;<_eZ^+~AG8;67*)ot=yR`J^&yKXLuQj+?)%DJr`MnBcbRpy%|iKj
zx;I<<_Q*`HwNcgmYsyYP)mnHlq5Mz5tCkasB(m)O-SXb{>rBr<>+7%goHKj&KSWZZ
LS%O`Vfx#L8?I%qp

diff --git a/JHotDraw/src/CH/ifa/draw/images/BORDDEC2.gif b/JHotDraw/src/CH/ifa/draw/images/BORDDEC2.gif
deleted file mode 100644
index 6c4228539e266d9da591147bc78ab4c4e82b0b2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh691vWbM;;arIKH-6C{d+HZ;y(A@`(YUBQb<?o#DzJ@3EX^Y=i)hA)r4mS`xi
zHujb(cD>EJs^w=(MB-+xTSbod+ADn2oHH-oxOp<VddfSgIh{53FE6eU*#A4tph1FN
Ikb%J(04`Zd`Tzg`

diff --git a/JHotDraw/src/CH/ifa/draw/images/BORDDEC3.gif b/JHotDraw/src/CH/ifa/draw/images/BORDDEC3.gif
deleted file mode 100644
index 206a1d1898bc2274178a3203077e1dee04282ff5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK-K>bM;<_MW1)Pe^8!t*QG1bs!HwED%FBR?`~eQ(B5BDQQW_vKx50>BCW@3
zo(I+mTv!pZDq6{P*~&6$)7Zj$%@sa+ljRfpZ|-@x#QMzCXtwpApJeR1;dgld_ww9I
Yj<W33rp&gk=6HQci3t+yf(#7S0D=Tk0{{R3

diff --git a/JHotDraw/src/CH/ifa/draw/images/CONN1.gif b/JHotDraw/src/CH/ifa/draw/images/CONN1.gif
deleted file mode 100644
index f0f6e4d34b8aa9c4e1007066159e167a5fc68286..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 171
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJKFybM;<_eTSF6SLjf<EY>#FgX!7JRZmZ+zLPk;>FlGQx4cB=y<=arx6P*i
zV}sAUlEo`Zykzax-B=U$y4Y@a+>Ld{g=Xm)cYbc+SsT0M>F>~YXU;w_NRN0MY%I|z
K!7j+aU=08fj7_Tm

diff --git a/JHotDraw/src/CH/ifa/draw/images/CONN2.gif b/JHotDraw/src/CH/ifa/draw/images/CONN2.gif
deleted file mode 100644
index 470fc08f7147fa0435a78b9a7ac266a8accb3916..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh6853NbM;;arIM=kaT0#BGwLpJOi5q8DgD``IoX$^*S+7p<=Qqe-zgLC);TH*
z&Rnvm$$ef)mxNRDnb$(gzDDdl6)85gizzv2-Go1q^6}5t`QOz|dN<vfg~1vCF;GQg

diff --git a/JHotDraw/src/CH/ifa/draw/images/CONN3.gif b/JHotDraw/src/CH/ifa/draw/images/CONN3.gif
deleted file mode 100644
index 0fbe78372d9e711df3ad1bac6b1b20dac3b49a40..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh691vWbM;<_MW1)D#J=dfyJg~Ii=}B@`{KCm7f3TNx4r+9@AR$&&f|}+lpToF
zRrcb_^^@mrUlFzb#v0F6M+!@$MW1?pUX^j@!)p#R?cE(FQ8M*m9$A~T|MR9AG)S-u
IGB8*J0JL^SvH$=8

diff --git a/JHotDraw/src/CH/ifa/draw/images/DIAMOND1.gif b/JHotDraw/src/CH/ifa/draw/images/DIAMOND1.gif
deleted file mode 100644
index 44440dc3b928a05b8f00f0bb3b6e387bae69ecd4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu?96bM;<_eTOY8m^ISwHY!{Wt9pED?#kN}jsBcXTCrWf>hys=Ur`pm)cFEy
zOH$s><Bt+%kDXQHGJWbx>&pEPK74T0n|(e#$Iv3ScH7<=*5ajGCzq&(_qD(CD6h0B
ev{$Vy)y{3}D9g$=jYyi5C@C>bf?be-!5RQhqfdkY

diff --git a/JHotDraw/src/CH/ifa/draw/images/DIAMOND2.gif b/JHotDraw/src/CH/ifa/draw/images/DIAMOND2.gif
deleted file mode 100644
index 0c6f48d4c7209ee40e812dd620b754323f7bf823..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 180
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKG**bM;;arIKCm4;b6rWM`VK+4&}-DtOhotTP95-yM44yMODwG!GpyRa+^K
z%+)VFmZ{~roZY+RT<nGADO|k?%G<1^CoeuJzhzEe)b=}}Te*(3Jv%??=e++j9P=}b
SQnL%v?L8#A#MlKH7_0%tXiYKz

diff --git a/JHotDraw/src/CH/ifa/draw/images/DIAMOND3.gif b/JHotDraw/src/CH/ifa/draw/images/DIAMOND3.gif
deleted file mode 100644
index d54e8e69b3b7ff0c70f18a8443a16eee89c40513..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 187
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQt+X{bM;<_MW1)DpBJ!;O!qoaR<=N6n%wMTU!oSTGTHT;!{2iD1hzfAxknW_
z+UCrS+ADtXXXmeFj!Gvx9?RKlwp94&&2GGJGVAo3wG+c1?mjhn-Lnf-bDFn*no+D1
amaC%aRbAee6W17*ry(&>j9rj{!5RSHkx&)@

diff --git a/JHotDraw/src/CH/ifa/draw/images/ELLIPSE1.gif b/JHotDraw/src/CH/ifa/draw/images/ELLIPSE1.gif
deleted file mode 100644
index 5c51d07a69d156218046418b238df2278e9887ed..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 199
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQuCp~bM;<_eago_KTxldZ1Ry_K2K~>k=n0A(|;dx;A;8vW6GK<ITlAaJ5Mwh
zZvEWKur2ktC+n$<z3C=1-aPVou%RNSX2$s!C9`h3dSzPPJF+arfAb=rzf#LjeYcdU
mtxyPSY-*`ADD%=N3efJ!HJ>!OyEtWLvZTaZ33fpS25SJ~$XA5`

diff --git a/JHotDraw/src/CH/ifa/draw/images/ELLIPSE2.gif b/JHotDraw/src/CH/ifa/draw/images/ELLIPSE2.gif
deleted file mode 100644
index 9046010b39eca172d44fd7daea792f92ee183382..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;;arIKHc2R?K>`N1%!WtnWmzI3bHxZL}9&$Ow<q*=|mu<W)(zsHiU
zGUmvLom1PNzn(j7w-%2^Zrp;?3oT~p%$|G3P;W(Cxvk&p1hZQ2Ez5YywBDcpZdq3p
flUd%RRFzX8+^kXBn%kc+QAkT-x){441A{dH{xDG(

diff --git a/JHotDraw/src/CH/ifa/draw/images/ELLIPSE3.gif b/JHotDraw/src/CH/ifa/draw/images/ELLIPSE3.gif
deleted file mode 100644
index 18254b0ce00a8d0418c1b805e09dd901c144f51d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 202
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQvadBbM;<_MV~Ds_%+&6uK7k^R}|J<w2Ea(jO_hwKFoRcd^WLs?rRpdop@w;
z?9tzZV>2(hv(8(x%73fKQqlcR1`@3rv(LXU37HdfdzR?>^kY~4d3EUAEq-tBlU)|A
p&`@1pSKeC5uieyHSv<kKK%}U?&2#4TNwac|Bo>IV3o<ZR0|2XbQvUz|

diff --git a/JHotDraw/src/CH/ifa/draw/images/ERASER1.gif b/JHotDraw/src/CH/ifa/draw/images/ERASER1.gif
deleted file mode 100644
index af7b09da732c121e08b1f3c37d8396029c89c4c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 183
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJlX#bM;<_eTRQX@@w!pw<}zJwsuV?Q<ipd`m1>sPMb_^{_nlf|6PdB_TW?v
z5v8dyW>I|V-g2FjSC-B8w%zw&LqyD;q}sHUom*ubFU~6~R_`r(!u|YI)dRcl*_ovU
UO*O5qF`cnO620Q=f(#7S0Nn{o1ONa4

diff --git a/JHotDraw/src/CH/ifa/draw/images/ERASER2.gif b/JHotDraw/src/CH/ifa/draw/images/ERASER2.gif
deleted file mode 100644
index 7432c0cd56ad3ee70669a35d8496feab7a1e17fb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 173
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJud$bM;;arIKC$6)bY^r_D+<FUtJA_Ti@!UlR5+ynOfi<$rb0zOC5@gSOm!
zvrKAQgU_6GGo%7zZ5Mni+0!-W-g}cfGR>1r{l7QIxm|DncF0UXnEzH4hupL3zu}S+
L%@XW_3=Gx)qf|`W

diff --git a/JHotDraw/src/CH/ifa/draw/images/ERASER3.gif b/JHotDraw/src/CH/ifa/draw/images/ERASER3.gif
deleted file mode 100644
index da9b2b7589ed49fa13fdb7591c29210073886828..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 179
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJTLzbM;<_MW1)PKP}wneBF2U&$X+%HWj?y`%0tBS?_ZHoAp~}d|>h5Z9RCa
zcgbu~`;HYRQBA7-yPxO3o>R3yL8M&g*s)WOi$A6(*Ik%rwl1@&S@6sETgCSeUDmBn
SE3IzOk(B6^U>9Uyum%9sj!~Wf

diff --git a/JHotDraw/src/CH/ifa/draw/images/HTMLAREA1.gif b/JHotDraw/src/CH/ifa/draw/images/HTMLAREA1.gif
deleted file mode 100644
index 6d9cbc532221767f9b00de02c6f1a421cf165f07..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 194
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQvRXAbM;<_eP?(7Kk-E-C3Bvd5R>w=X{%P$$~R0fTph^&{(gH*_F<)K4Tom7
zYHWHKc35utjY77CyO&K%^$p4lR+;uXt1C6W;Qboq>DT?Y>^dbk?d->IHgodtYM1(J
hHMg|XYIJCLcJ_oTwN9AWEIesyt7LsWyC4IDH2|A#RBr$P

diff --git a/JHotDraw/src/CH/ifa/draw/images/HTMLAREA2.gif b/JHotDraw/src/CH/ifa/draw/images/HTMLAREA2.gif
deleted file mode 100644
index 9063e2d7997bea69f0e7dad6b936a6498b0b7502..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQv9L8bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)nrW-Ie0fuIe*RWrANNX;{=+f}
z+f#n^cqaBnF4SvOn{w_)b<)&ho<Fqyd2RQfAL+d<cJZ4n;`3x~FF3ek&-Qh@PnQH&
d+c&D!i?p(<s75*)^+!&aB-!51F37-O4FL3wQDguB

diff --git a/JHotDraw/src/CH/ifa/draw/images/HTMLAREA3.gif b/JHotDraw/src/CH/ifa/draw/images/HTMLAREA3.gif
deleted file mode 100644
index 72dc3096ad38e82696712e5270e4375443bf9b15..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 203
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB((s|dbM;<_MQ3;aKhYw?pE>Qt%C5}SyZSwnz9eqCwD|oWJ_U_P9WzCyo{fQ=
z<ub2k?TP<jULCf^{Z-Jc;;PyMGtHuxC~Otd+j9M}(A1Quu$g@8Z$8kx<KcbpN<~hd
qQ(<j}Ph)Okeo~QWi3PjD<SPAX2BkA*sXI-d=bhQt$1cdgU=09EYE{Po

diff --git a/JHotDraw/src/CH/ifa/draw/images/LINE1.gif b/JHotDraw/src/CH/ifa/draw/images/LINE1.gif
deleted file mode 100644
index a9fbbccb6be1885a78e4c1d52ea310b73032e99e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 165
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh67`|MbM;<_eTS>xDRd}Y7MpkHc(3ZKE|r8`Stm~A*PZ{lv)MGZhh1b_)xpE-
z+jsTOyRf3<`--Ub5pO2kyi=4L$6qe#)zq)?S<C13qGHES<$veBUsjRHcKEoA5`#4W
D4N*%l

diff --git a/JHotDraw/src/CH/ifa/draw/images/LINE2.gif b/JHotDraw/src/CH/ifa/draw/images/LINE2.gif
deleted file mode 100644
index e991acf489dd5f1296d17070922d3903db2600fd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 158
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh68xdTbM;;arIM=iaT;C+%;qIn%uHWBEoSzj4cU{U*S)vde#~6T+hp?99M|*u
vD{2^Lx<usfigsFj`1SJ@chl^BUTbvL_QfV`xv-{e)56SLHs|9qN(|Nj7&b!E

diff --git a/JHotDraw/src/CH/ifa/draw/images/LINE3.gif b/JHotDraw/src/CH/ifa/draw/images/LINE3.gif
deleted file mode 100644
index 5436bf18983f1419d3d293ea7be69e63a7ea418e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 164
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh68WLQbM;<_MV~F$V_$UM-7@hp$Fj7peR16O+B&-}s?P6ZnPYp;@2K|QCi&YN
zZ%7-ts<o7Ot&Q?MFC%7oyDck5-|)|Cv7`D1oNIlj@ASNCy?fr_>vlc&iaHn=tO2d<
BMDG9q

diff --git a/JHotDraw/src/CH/ifa/draw/images/OCONN1.gif b/JHotDraw/src/CH/ifa/draw/images/OCONN1.gif
deleted file mode 100644
index 14283bbdc772bac4caaeea1efdbdcdafb4b5fa2a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 172
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK7#)bM;<_eTP&3E3_+I7HbPJpO*f6ZNtm5nO?^>bDy@{ae4B+hwj3B`FkRL
zTTFiCEnZRLb=P*?jWuDnOKwHDDjGV!6SO>iC$h=2w(!uGU7_pF#(rA&Jz~|bl_|MR
KqU?eU4Aua{6-=)H

diff --git a/JHotDraw/src/CH/ifa/draw/images/OCONN2.gif b/JHotDraw/src/CH/ifa/draw/images/OCONN2.gif
deleted file mode 100644
index 4c8b94a457b036e4d7cdb0f6db780634fc2702b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh6853NbM;;arIKB9;xy`RXOzt}pPJsywB}Wtw)y<8%ii1g-`XDNJ7pJdvyc>z
z#o`qS9>MF}-^wmNFY(RYCC)hE@h0g#`wSN7Y+iX~+aXQk=)F@HzMtmI!e9*m#Oy=A

diff --git a/JHotDraw/src/CH/ifa/draw/images/OCONN3.gif b/JHotDraw/src/CH/ifa/draw/images/OCONN3.gif
deleted file mode 100644
index 3b9e94e4c1f754a248aa1db6e4ee0b0f10ee8a8f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh691vWbM;<_MW2_Pk3G?QcT4As8Edr)CKYJSG6=hxx8`)vx&Ld!GnX$u+o7o(
z)GDm!cu@61%ZjM=H`Z{Txa(DZ@6was9K{SVlXlMGTRSmh>*`v!y_F)CO?ta0hnqE;
J3o<ZR0|0^!O56Yd

diff --git a/JHotDraw/src/CH/ifa/draw/images/POLYGON1.gif b/JHotDraw/src/CH/ifa/draw/images/POLYGON1.gif
deleted file mode 100644
index 19a954ae68ce4362ee4baefc4ffe6395b434c22c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;<_eTOY;nKja6ntY;{uZv4xlyhdE!>y~AWhb%co;H#%(2%JrS{j@i
z%FWAgj(vSa_rsV|^8;OtEB8Ox@ZM2x_W9>;%-mv=6R&Y)tO|2<z4*L3vpnrxm1lvu
eja+ecl!J$DX<kQPOk~pJ#CnP8;_QM94Aua?L{2yW

diff --git a/JHotDraw/src/CH/ifa/draw/images/POLYGON2.gif b/JHotDraw/src/CH/ifa/draw/images/POLYGON2.gif
deleted file mode 100644
index b7fa7a90265da375f38d14818857eba50678fb29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 179
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJTLzbM;;arIKC$uNkKZZK%zND!aUL--44%4=AL4J$tGkKJUPSf)kl%YqXLt
z9TRz3cU*$&Lx|GkWv@?ryy04VYlik4MrF<2g*~^nOgxkNe8taa7v&~zvX<3V|5%eE
S)Y#P0Y9Y}n&MwHnU=096^-o&>

diff --git a/JHotDraw/src/CH/ifa/draw/images/POLYGON3.gif b/JHotDraw/src/CH/ifa/draw/images/POLYGON3.gif
deleted file mode 100644
index 85b9f2a5b0b7fe9eaf19970060e299763553b1d4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 189
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQuLw0bM;<_MW1&pKQGW1X`UPVYGsxt;|s0LpDex4Phnb=efhxc_hLB*I}V+E
z?!nx{W^>8tn$WXlCzQfg+bZsRu%V*nQQGO7#%rQEEiE&`LR`w<U)#JhxZa&%s%}|9
bMVeZ^WlLs#XRCH$SEathWHEL@1_o;Y+pka;

diff --git a/JHotDraw/src/CH/ifa/draw/images/RECT1.gif b/JHotDraw/src/CH/ifa/draw/images/RECT1.gif
deleted file mode 100644
index 2b5701d12e2f0a0eb3cb1b396c5dd777528b18af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQv9L8bM;<_eago_KTzkp*{E>&TCYyTJWciUCcMmA0`DGoKiZn`cA1b=r%deX
zr`>BScB_5ZSyDLR*yHy{-d62D(q7@CH@*Jo8-ck;64vGLPEkD@`m#VhPi~d^``XIj
c>IVKgp*-=X%q(M<gbDGIol`{E1sNEu0V&l{A^-pY

diff --git a/JHotDraw/src/CH/ifa/draw/images/RECT2.gif b/JHotDraw/src/CH/ifa/draw/images/RECT2.gif
deleted file mode 100644
index 20468af429a22ff746851f75c49d8241ff34d266..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK!E=bM;;ar4lO%evP&#6Fd)G^GuGOH+k2&lHOA}E4vF$-8>MP<E$gqzdhc-
zBBr)%x7@pzS)NlvG|o?ss%k%8u;V4`q|;lC)6UM#Dh+>LE%N=0XX#1VDeQ0LYqQ03
Py)v9MnmQ!~85pbq%PUIL

diff --git a/JHotDraw/src/CH/ifa/draw/images/RECT3.gif b/JHotDraw/src/CH/ifa/draw/images/RECT3.gif
deleted file mode 100644
index d94e65cf42c31f8e2ff4448fce603db77788788c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQv9L8bM;<_MW3HY$8+@gU-P}Kxo(Ljqo#WKmz>2$2j1z${Wn{n?;&!iNP@>`
znX;wx-o>we_83i`o>~~~thn#NhKe4hS>366=CO-5mB^SKc-t~PVav~T^Nt^XsZ>_f
cpxjiKTisa8k=|>Zla(eJF-3%3kb%J(04^0y#{d8T

diff --git a/JHotDraw/src/CH/ifa/draw/images/RRECT1.gif b/JHotDraw/src/CH/ifa/draw/images/RRECT1.gif
deleted file mode 100644
index cf2c152cdc40f5a1bb7d7342a84611d86c36d020..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu3j}bM;<_eago_KTzkp*{E>&7-RD5scNT+N^)<f?`r!K@oe*K0rg<seh1~%
z;!UdMde_%;r2euvuN+kNs%rm(C&@l~v(JXSHQ0S9AnRu8mQLT(YuE4cYZmwYUS7;!
d@7NgD;wF?QT#%V%?wL3#L9%;Vz90jGH2_seQFj0U

diff --git a/JHotDraw/src/CH/ifa/draw/images/RRECT2.gif b/JHotDraw/src/CH/ifa/draw/images/RRECT2.gif
deleted file mode 100644
index 99f9d8048f9739836626e1fdc79cc47c317aaa8b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKr8<bM;;arIKAW%o=Tp*L-KQPe`_&q4E4|i7w;Ilkb#!PH$WAYP+UX|M6%)
zjh>Yi0r!iZ7I`+xuQ;(Jr7HPE!Ht)^lTL5_%;`LHE@SAuP|^Ie{-xJ!XV<@Z7*&<+
Uot+co6_KH3-qtHA$iQF?030+;Z2$lO

diff --git a/JHotDraw/src/CH/ifa/draw/images/RRECT3.gif b/JHotDraw/src/CH/ifa/draw/images/RRECT3.gif
deleted file mode 100644
index bf5eef360c1390e7719dc9d097974fec2f0224bc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQv9L8bM;<_MW3HY$8+@gU-P}Kxo(Ljqo#WKmz>2$2j1z${Wn{n?;&z1PlC&6
znX;wx-o>we_8jv&d2-W<wF?CvY^d;YV?6I#ynXe&cMj`>de|0hDw$LESNG6q!ICn+
cx~ityl48r60^{85^uCNql95xr1Q{5t0gLERrT_o{

diff --git a/JHotDraw/src/CH/ifa/draw/images/SCRIBBL1.gif b/JHotDraw/src/CH/ifa/draw/images/SCRIBBL1.gif
deleted file mode 100644
index 48a6d954e4f68001665ca9606774e7010fcde40a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK!E=bM;<_eTP&3#~xEWv88pv^hs&2)~Oa0E&8?T)9U_@dk*VPS=aXYYKBO_
z$6_0;>NBTx-Bv}dzws#f^xLYv7v^VcmdKvmB5OFOZtl%(Ka6ioJ74_t*WDRKpI#)%
SyGFJ|NJ?}_unRIUSOWmsUQ-tU

diff --git a/JHotDraw/src/CH/ifa/draw/images/SCRIBBL2.gif b/JHotDraw/src/CH/ifa/draw/images/SCRIBBL2.gif
deleted file mode 100644
index fea78ceee88f17051bbd0c81491a683d98839a9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 169
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh68E9ObM;;arIM=iaX%_At2Hh5U|RNSm8$q6`O;0Fvi5#__TOOv%Xh7HQ7Xz>
zWnN-4jc2S*S@W&whQbyr)uP=eu9Q40{nTf<QRJ@4;ZsSstaUQaUoN$t`A;_Sp9H%g
H1A{dHgKkMb

diff --git a/JHotDraw/src/CH/ifa/draw/images/SCRIBBL3.gif b/JHotDraw/src/CH/ifa/draw/images/SCRIBBL3.gif
deleted file mode 100644
index ac467864796f2e16ddaa31120ee541662ac03ab9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ%j%bM;<_MW1(ki9NyiXv@?EYSRwPT(>@bS)|9YyFBkV_Wj=}_V#+x&LWqV
z!WqFrtt+nbK6@Ogs@qa_`fZi(bpr_wncM5O1`3+I-FW@^_Q<zA_P2Kb+#6E=@}qoZ
UL6%rpRZ38VM7J2bAOnLn08gAzhX4Qo

diff --git a/JHotDraw/src/CH/ifa/draw/images/SEL1.gif b/JHotDraw/src/CH/ifa/draw/images/SEL1.gif
deleted file mode 100644
index 0d0bb054559fb9355ca17b4212a3aa6451bb342d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK-K>bM;<_eTS_p9!xHkZSs*`nU!2w_j=1JHL2!!?`t34?A~_2f4Wkw%i-{g
z!dx%;j@;1L-o+KUdwS;Sw^f~IH(0FciCvf~YAR`BRU20Rxiimr?vyoiCtF{7ELZN|
YU|d&a>txi<AKx1%F<~NuAOnLn0Jtkoz5oCK

diff --git a/JHotDraw/src/CH/ifa/draw/images/SEL2.gif b/JHotDraw/src/CH/ifa/draw/images/SEL2.gif
deleted file mode 100644
index 025ac9c3c10aa410e37cd2be2d4733088b6134ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKr8<bM;;arIKCK&rhzszh&axDP1d0E-c`llbf;m>7QeA4a;}+7I>(5l^BS=
z_fY<sqpZG3?bp*;Ht`}mqL0NKEx7UYtl!+!qFn96-xl02ewp^P?0&$hulr`T-0-Op
Vs>sRm_K$9BZ<Xln6J%hp1^`3XQilKl

diff --git a/JHotDraw/src/CH/ifa/draw/images/SEL3.gif b/JHotDraw/src/CH/ifa/draw/images/SEL3.gif
deleted file mode 100644
index fcbe6603d7f53d9a49ba0e451de047e2f7d03d53..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu?96bM;<_MW1)D`*SG7{_LG+S@wW=nNZdy6`SL??{<ZpJ!N*og?*1?>(Tzx
z;&Yy~EPTQBGh}C!WRmF%p}?I9S2-N@W}nY^UN|@C_MPmC=p%DZdhcHP@!ZMFZ-dK}
fs`49iwH5RmN_|@@+6rUadvY2ircW1SV6X-Nve{HT

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEMPLATE.gif b/JHotDraw/src/CH/ifa/draw/images/TEMPLATE.gif
deleted file mode 100644
index 4b09907701246543b02aa42d8c2aa26ebd2a5c72..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 152
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh;`^b&bM;<_eTR4dmuvEo&ZtwWTo=PNWzEY&hF1Hw)?BXK{oPD-gR!(w{-PyC
pC+FDCyRahUm$6(|*qT7=Cro>73;be~kEfkAF>cOG<`ZPF1^}o8K6d~B

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEMPLAT_.gif b/JHotDraw/src/CH/ifa/draw/images/TEMPLAT_.gif
deleted file mode 100644
index 223cd29ecaf5a6e2720660fe7d5cde747df69b9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 151
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh;`5=wbM;<_MW1)Pf1vIcozbP<xh{SAwl^G84Bwn9{rBuc-f_EmJ>OnG>^dNs
pbTY?kzRD6^t(?H6E3&^XKH9YFHv0|hb<>un$FUtgCZoh)4FEt=L<#@^

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXT1.gif b/JHotDraw/src/CH/ifa/draw/images/TEXT1.gif
deleted file mode 100644
index 5ebb27c4c703e4e4b53220d98652727cee9208b6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;<_eTR3moM@?#5n_@ypLo|&?%9-0mrftk*tu;{`}r*jZ&*a`bvSmN
zZNHM5V7u(h=FhI}!N~&Yud4PxxS#B!H~XybTf^$rlj^oi-aYkMug2>+SKFq)@|LJo
g%~bT3Z7Ps2))I}V&#L23oSY!pI9-fgkb%J(077h1?f?J)

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXT2.gif b/JHotDraw/src/CH/ifa/draw/images/TEXT2.gif
deleted file mode 100644
index 7c1fbdee0ede5090c8b4365c8e14f0bad6e43a5c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ%j%bM;;arIKCWMZT9_HuHPjI7K00SwU1+`m#;;W!}Gi_Wyu_`}X3a9Y*4M
z&lhdA(@s9$+2rc#eQ%@Y8>Wf3o@nco^)0&naVHaVb=YC8;Jc06b1s{@>18@CHLdW-
T@f4{oNl~e-?r9TbV6X-NV2Dkk

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXT3.gif b/JHotDraw/src/CH/ifa/draw/images/TEXT3.gif
deleted file mode 100644
index 5f316eb149e76d2badcfff6069f3ea64a3f76271..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK-K>bM;<_MW1)ndtB|kx20FnsZS)c?t_%~fuBp?sO&GY|7<*ewU|wdk)493
ztMj2LZahyt-*hC2WpCA3qPXwDhKiby!kx?Vd}r_l<*fd;PVN7d;yFfTzOncI`)PQU
Y3bPxhTBgP3)O6?h22E@gWMHrc0DUG-K>z>%

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXTAREA1.gif b/JHotDraw/src/CH/ifa/draw/images/TEXTAREA1.gif
deleted file mode 100644
index 1b210e93658f8b842965f810ef2e905f835280a9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 159
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB67r$JbM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF46C^WCI~m5<lYZ<+4M*|_0q
xU&KeviN~H#cy8sC9h4@lz1wQ{z2>i0ZPO;EFYr5>xBI^K4w-ouv-kxWtN~D0M@|3$

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXTAREA2.gif b/JHotDraw/src/CH/ifa/draw/images/TEXTAREA2.gif
deleted file mode 100644
index 5ae72ea0ed2120f1f5a08849cf156adb1e888969..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 152
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB;`^b&bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW^*;a1xm@DR+2fPnHcggW
pb;C+Y`><;9Qy#7Q%NpM}S%o%76-4ArYASy&ESd30iC>Vx8UU#BK2-n!

diff --git a/JHotDraw/src/CH/ifa/draw/images/TEXTAREA3.gif b/JHotDraw/src/CH/ifa/draw/images/TEXTAREA3.gif
deleted file mode 100644
index 23f4ce93a5fa0be469cd32b9a4825b6bdc40b33b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 160
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB68fRRbM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6b#Kxk(ad-nnTntJ|2s
ycFb68qSxtyE7kV`0;4v+YI4&IUjAO|n$S+;l$~2+XJ5&9bF+3!?bLP-25SImd`GPS

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOBACK1.gif b/JHotDraw/src/CH/ifa/draw/images/TOBACK1.gif
deleted file mode 100644
index 567e489b72e480d175b2157361e77f34ab9aaf35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;<_eTNT5$8)5~v@2W=TX!R6QQXa-*M-YAam@Mi_tDk`AH;;Eyj`ZU
z9pRZc!C-0o&euP40+X+LdCBc}SzU3*+xFaxEm3p-O6{Gy?9WeauP3{t{=Cb%y3{v1
gwcbc9IX2g^$)>|0&#}5++cRZqv+)cQK?VkE0EH1${{R30

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOBACK2.gif b/JHotDraw/src/CH/ifa/draw/images/TOBACK2.gif
deleted file mode 100644
index 6917725772fb5159a45302490e4007968e91e5f0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 184
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKY{-bM;;arIKAW+!}2&)fs26Tom0sC3w}jFPh~CPVCY@cg?}S$6aSxo0?DR
zSK+>Ss)@qOwGS;bemYf{hp+d6*rsUd$(th_GS(*FQ+ZQy<$GB7mJ+?by~Vj-)kVW9
V9cq(W(lhcqEgGZx*##LGtN|`bOXL6m

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOBACK3.gif b/JHotDraw/src/CH/ifa/draw/images/TOBACK3.gif
deleted file mode 100644
index 0734a255fa3c12e374155bb0c5effe6db129004b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 195
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQt_d|bM;<_MV~Dq_%+%b(!CCp&C`6eFVcKv%-&l+a_S#m-nUMot4#Y@kj3J_
z^hdoeOO-FaJj^juj$0t?u-4?*C*Q4a&pN;1io~6e_O*x1nyyy=nq<67R^<G--KF*p
ifuZ$Ajp;3w2~ufYd9DRT*<RgKDl`gaNeVJBSOWmZtyEe7

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOFRONT1.gif b/JHotDraw/src/CH/ifa/draw/images/TOFRONT1.gif
deleted file mode 100644
index e598010f002f95e097b07407e0dc4ca5290067b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 196
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu(35bM;<_eTNT5$8)5~v@2W=TX!R6QQXa-*M-YAtziD%ef_`#T``?$ZCbn;
zl1j3Pp8S(fI{)lA@G8^WNoxP$wG}>M%jI5dsoL9C*L&|=$df&8&rk0<t9$)vX0^Rg
ig?wmijgWC$nQK&9Prg&fL~W1M=_!(3vn2%?7_0%%2vd&$

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOFRONT2.gif b/JHotDraw/src/CH/ifa/draw/images/TOFRONT2.gif
deleted file mode 100644
index aaa1758c47e6d990f9f4766d43c9a29d76230c75..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 185
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ}v(bM;;arIKAW+!}2&)fs26Tom0sC3w}jFPh~CR%|wi{y%R<wuj6u3rC*R
zr`)fcRGz(MzMESWtj5;PRMmR)L%@r_6Hjk3UUy1QbveVg6K7jbFPv&s^q1x17d0=D
X@CH+z<kpO!>Mlq1rU{aQ3=Gx)<a$m%

diff --git a/JHotDraw/src/CH/ifa/draw/images/TOFRONT3.gif b/JHotDraw/src/CH/ifa/draw/images/TOFRONT3.gif
deleted file mode 100644
index 7420d65229120749ee2d9e1486bdb6c65fb26c1b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 197
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQuU$1bM;<_MV~Dq_%+%b(!CCp&C`6eFVcKv%-&l+a_STHw;77Obvv`P;OL@r
zN2LGedG}uqU+F48qf5KOwJP%Xlk2ytW}bhM>vd*c<7UTaw_dG2Zd)8#TXOuFYPGFH
j5r<BrLUToHd}^9%muEpsPI6uM6c@>Y*&^(M3=Gx)s%TZQ

diff --git a/JHotDraw/src/CH/ifa/draw/images/TRIANGLE1.gif b/JHotDraw/src/CH/ifa/draw/images/TRIANGLE1.gif
deleted file mode 100644
index d3e40b57d567538f6daf9e555ea1dcb581595cd4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu?96bM;<_eTR3;`9CY<Fv^wr(D3F}mwRPjiR|oGE4C^4JkppQFin`R(d@v1
z=Zb9BUe_l*`{Gim9e*`LdD^}Q8*cp6n0-FOWK#6)YctN8`m+8%`)tiFX)WHsr}DM7
fh2=sKHU`lW-DR#h%6`d{k|evQiLnbZFjxZsl^9UM

diff --git a/JHotDraw/src/CH/ifa/draw/images/TRIANGLE2.gif b/JHotDraw/src/CH/ifa/draw/images/TRIANGLE2.gif
deleted file mode 100644
index b6a48fdbe47c51d90395eef9902b26465af45c4b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ%j%bM;;arIKCW4@{_4*f8;-@rpG+eAPA2Pda(><*P+zZ>P^*P~h?8K%V`r
zz>`uRlh%iQ?wsOLdYMn>r?uGr!>Z+Ka>2Xz8NGXGGr2T3K~$yp`hr{8VYitR|7-cB
UO0?8eq(zywbc?VHGB8*J0ORmZ@&Et;

diff --git a/JHotDraw/src/CH/ifa/draw/images/TRIANGLE3.gif b/JHotDraw/src/CH/ifa/draw/images/TRIANGLE3.gif
deleted file mode 100644
index 6fbdab7df54ee05e19389064b599f127fa7a21b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu3j}bM;<_MW1)PKQOs;iFvMyflc=5O$#{}#K+#dl;i#0>e_PIycvrH`&|{)
z-FWyyH!NExQna&fK_*}EM9HZ^Efqd`vjx?cSn;xLp3l7OEpJVt{g)}B^JYC<Wvf(N
dR}p4gQ_|38SJ9H?RGDio88cOkU66sn8UR={OnCqR

diff --git a/JHotDraw/src/CH/ifa/draw/images/URL1.gif b/JHotDraw/src/CH/ifa/draw/images/URL1.gif
deleted file mode 100644
index 18fecf8b5402640df3d39a92367d0d6f0c22d2f5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 222
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ4RaStOExQG&D5)XJBCX&+s2i{RgxD|NpN8
z(gD)zz%uzmgXikK4tA9l-(qhlp4ifQrdi;G+lm~ISuz>j$9d-bn7D5C)HPdPOIBOm
z`#57ws>WRYbvt<kIh0nta8G!$E^^VNk5(~>OFpz5$=iMZWP6R@`s+viPO4<()Xl32
z%5tqYYjQTJs*$U1_OjrasF~K`Y8&GiF||KNB_)kxc68cgeeF!;3XPc=3;PN-<oio(
L5oZ@<V6X-Ncz|8<

diff --git a/JHotDraw/src/CH/ifa/draw/images/URL2.gif b/JHotDraw/src/CH/ifa/draw/images/URL2.gif
deleted file mode 100644
index b328f34f69ecd307f0bcd83c4f944fa77108a87f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 216
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ4RaStOExQG&D5)XJBCX&+s2i{RgxD|NpN8
z(gD)zz|#An!E^Oq2c?pf^H;9-%5Rvc{8@pecms>&+>BgrwerO-Hs^MUJS=>%mSfAM
zw39hjmJSoujkmhmUe$S(6}+)yO+4RISE2Sb4|0x&+1>Zc+g-M_N$t{G32vdluO?-Y
z^+weeLFFwLp0PZA=}A2*sR?#@rm50Ah8`0gW%YE^-93xgwe&MQ<_Alx6K5A>V6X-N
DBkohz

diff --git a/JHotDraw/src/CH/ifa/draw/images/URL3.gif b/JHotDraw/src/CH/ifa/draw/images/URL3.gif
deleted file mode 100644
index cae0fdfbfda19073ee60e002c714f17fd0a8da03..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 230
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ4RaStOExQG&D5)XJBCX&+s2i{RgxD|NpN8
z(gD)zz%u(ogXikK4vRh?n4EB}Rz;mL`lkWElY-vDsll&Wh09l`XRYc{@OE<k%jX>a
zy7j@;zC9~mT5`Qy<@Y#!)83#>b`L%^3;1qTJJ#rMV_U%4VhJz(L+^g<kqevrtG-r2
z*<3PBt5HcVzA2z1F1D>fqn>?gcJ8FYKpii3y_vJUjSQ!%G^)(em(SHpTrR^igJF$N
T`{dFc%hV<Ih_MSYFjxZsJRDuP

diff --git a/JHotDraw/src/CH/ifa/draw/images/ZOOM1.gif b/JHotDraw/src/CH/ifa/draw/images/ZOOM1.gif
deleted file mode 100644
index 19846a6b4d508c26a6eab125e89211221bcf8337..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 149
zcmZ?wbhEHblwgoxc+3C-`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|F8Iu
z&o?n8RiQkyBtya7(>H)Y2V@4wGzJ!n4<|fV@3nY+cK3gAg{}oGHX2+F>9f|wy|yb*
l-)&mH|Ngp7#zNUHI-zcETt=BfM$^yB6nm|WG8bg91^^%4H`f3F

diff --git a/JHotDraw/src/CH/ifa/draw/images/ZOOM2.gif b/JHotDraw/src/CH/ifa/draw/images/ZOOM2.gif
deleted file mode 100644
index 6f98416d189b60f397f6dadb8cdf7ee998840895..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 130
zcmZ?wbhEHblwgoxc+3C-`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBV*cTT=jy!{ug~uOufWlhT*2T!i)qoTO>(c+&9^x`_wP01v-@{QWM(Xy&^1~4
TQ%IE7#Is9FypFmsFjxZs#+5ei

diff --git a/JHotDraw/src/CH/ifa/draw/images/ZOOM3.gif b/JHotDraw/src/CH/ifa/draw/images/ZOOM3.gif
deleted file mode 100644
index c512db3d8d2c620a556c77fbb02cf5e5ed420c0f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 949
zcmZ?wbh9u|lwgox_|5<V`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|L?}Y
zz>r$Zz_8!p`+iOi1_nk31_qXQVGRHO|Nmd3<<|r<kZHmnkYNmm-i9%BybWUzvH!lG
znSp`fx8wKy6Q=yx|LQD+KJqb)VgK7OkQRmvD6KR<f?>(qFos9M-}lEeGB6w!`o5nb
zGmIhOPx8TKdO!Cgi!Uf-VBlb2V9*KtzMt8dfdOP5$gny3nIMWmVSWU|57q!T#}H#9
zhPPqPRxu3w#W#Q7&%odSmIt}%4{HE}6$1lE9fQY*FoxSApX*`rAUO`v&-FYP{?>!o
zh6<m-^s##o8e|9yBLhS3z0dU)AHo>se1Z4{WL}#%NEU*b7`P8JFt9OLGB7YO#yT+Y
zeGOx1c^Ag;xbpXYmL(e+8JHNrVjww?8heHfjXT~!%mcAOYL3J>FxbR8FdTRn#$a^u
zJ6IpcK7p@c3@2h77)lrz7(i-4`atG^_#k<Z3(mX?V*rW0co)Vn_d3Xb3=9nK!x-+c
zq&9-g1%)k$|8K!}l<)z$1!Q)?r!WSPIv2F?0m;F_2gC-24~SO3_ql%h2XI(4Sp5IK
zAH?<v2w?z)H^@DpG~<z9;!>1Y9#dSD9OLW}lR4*o7=r}^149J^1H%Mg2Zo7@A@RiF
z=KvN5>Ei*%n*&%L#0O!JA3);BW=AZA=>7ly|8oTf28OkZzwh@E;{c~oP|WifBs4M@
zBs3~)O=(p8$pSKlK?g*F@&p6NBnEi~36Bj64mLBeC`Fvuu<&p@2b+?`hlWK*yCn3p
zrp(y5*sY(5(TC;dMwR2;Y@SI|IzBaePv`Uwv(fyp^z00U$a7nM3N@TzHWB``Ml)Fb
z!a}BcHrKAti!aVHubs5SQ*dF(a;5rnG8sWjyt-L7_FdtclI^xC{_wgpzrN-KZ%MJX
Z>)m}(`|g~a_jx>-TlEjJGcqz*0|2%6KxF^`

diff --git a/JHotDraw/src/CH/ifa/draw/images/pspbrwse.jbf b/JHotDraw/src/CH/ifa/draw/images/pspbrwse.jbf
deleted file mode 100644
index 412902ade2fab1b81d220a2717e8c91f2685093e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21230
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
F1OVlMK6?NF

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo b/JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo
deleted file mode 100644
index aa4500a1f..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw.jdo
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.samples.javadraw">
-    <class name="BouncingDrawing">
-    </class>
-    <class name="AnimationDecorator">
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/AnimationDecorator.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/AnimationDecorator.java
deleted file mode 100644
index daf0041fc..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/AnimationDecorator.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * @(#)AnimationDecorator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class AnimationDecorator extends DecoratorFigure implements Animatable {
-
-	private int fXVelocity;
-	private int fYVelocity;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 7894632974364110685L;
-	private int animationDecoratorSerializedDataVersion = 1;
-
-	public AnimationDecorator() { }
-
-	public AnimationDecorator(Figure figure) {
-		super(figure);
-		fXVelocity = 4;
-		fYVelocity = 4;
-	}
-
-	public void velocity(int xVelocity, int yVelocity) {
-		fXVelocity = xVelocity;
-		fYVelocity = yVelocity;
-	}
-
-	public Point velocity() {
-		return new Point(fXVelocity, fYVelocity);
-	}
-
-	public void animationStep() {
-		int xSpeed = fXVelocity;
-		int ySpeed = fYVelocity;
-		Rectangle box = displayBox();
-
-		if ((box.x + box.width > 300) && (xSpeed > 0))
-			xSpeed = -xSpeed;
-
-		if ((box.y + box.height > 300) && (ySpeed > 0))
-			ySpeed = -ySpeed;
-
-		if ((box.x < 0) && (xSpeed < 0))
-			xSpeed = -xSpeed;
-
-		if ((box.y < 0) && (ySpeed < 0))
-			ySpeed = -ySpeed;
-
-		velocity(xSpeed, ySpeed);
-		moveBy(xSpeed, ySpeed);
-	}
-
-	// guard concurrent access to display box
-
-	public synchronized void basicMoveBy(int x, int y) {
-		super.basicMoveBy(x, y);
-	}
-
-	public synchronized void basicDisplayBox(Point origin, Point corner) {
-		super.basicDisplayBox(origin, corner);
-	}
-
-	public synchronized Rectangle displayBox() {
-		return super.displayBox();
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fXVelocity);
-		dw.writeInt(fYVelocity);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fXVelocity = dr.readInt();
-		fYVelocity = dr.readInt();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/Animator.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/Animator.java
deleted file mode 100644
index e9acdfb8e..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/Animator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @(#)Animator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Animatable;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class Animator extends Thread {
-
-	private DrawingView     fView;
-	private Animatable      fAnimatable;
-
-	private volatile boolean             fIsRunning;
-	private static final int    DELAY = 1000 / 16;
-
-	public Animator(Animatable animatable, DrawingView view) {
-		super("Animator");
-		fView = view;
-		fAnimatable = animatable;
-	}
-
-	public void start() {
-		super.start();
-		fIsRunning = true;
-	}
-
-	public void end() {
-		fIsRunning = false;
-	}
-
-	public void run() {
-		while (fIsRunning) {
-			long tm = System.currentTimeMillis();
-			fView.freezeView();
-			fAnimatable.animationStep();
-			fView.checkDamage();
-			fView.unfreezeView();
-
-			// Delay for a while
-			try {
-				tm += DELAY;
-				Thread.sleep(Math.max(0, tm - System.currentTimeMillis()));
-			}
-			catch (InterruptedException e) {
-				break;
-			}
-		}
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/BouncingDrawing.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/BouncingDrawing.java
deleted file mode 100644
index bfb98f112..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/BouncingDrawing.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * @(#)BouncingDrawing.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.Animatable;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class BouncingDrawing extends StandardDrawing implements Animatable {
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -8566272817418441758L;
-	private int bouncingDrawingSerializedDataVersion = 1;
-
-	public synchronized Figure add(Figure figure) {
-		if (!(figure instanceof AnimationDecorator) &&
-			!(figure instanceof ConnectionFigure)) {
-			figure = new AnimationDecorator(figure);
-		}
-		return super.add(figure);
-	}
-
-	public synchronized Figure remove(Figure figure) {
-		Figure f = super.remove(figure);
-		if (f instanceof AnimationDecorator) {
-			return ((AnimationDecorator) f).peelDecoration();
-		}
-		return f;
-	}
-
-	/**
-	 * @param figure figure to be replaced
-	 * @param replacement figure that should replace the specified figure
-	 * @return the figure that has been inserted (might be different from the figure specified)
-	 */
-	public synchronized Figure replace(Figure figure, Figure replacement) {
-		if (!(replacement instanceof AnimationDecorator) &&
-			!(replacement instanceof ConnectionFigure)) {
-			replacement = new AnimationDecorator(replacement);
-		}
-		return super.replace(figure, replacement);
-	}
-
-	public void animationStep() {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			
-			if(!(f instanceof ConnectionFigure)) {
-				((AnimationDecorator) f).animationStep();
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/FollowURLTool.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/FollowURLTool.java
deleted file mode 100644
index c582b3d69..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/FollowURLTool.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * @(#)FollowURLTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import javax.swing.JApplet;
-import java.awt.event.*;
-import java.net.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.AbstractTool;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-class FollowURLTool extends AbstractTool {
-	 private JApplet         fApplet;
-
-	 FollowURLTool(DrawingEditor newDrawingEditor, JApplet applet) {
-		super(newDrawingEditor);
-		fApplet = applet;
-	 }
-
-	/**
-	 * Handles mouse move events in the drawing view.
-	 */
-	public void mouseMove(MouseEvent e, int x, int y) {
-		String urlstring = null;
-		Figure figure = drawing().findFigureInside(x,y);
-		if (figure != null) {
-			urlstring = (String) figure.getAttribute(FigureAttributeConstant.URL);
-		}
-		if (urlstring != null) {
-			fApplet.showStatus(urlstring);
-		}
-		else {
-			fApplet.showStatus("");
-		}
-	}
-
-	/**
-	 * Handles mouse up in the drawing view
-	 * assuming mouseUp came from active drawing.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		Figure figure = getActiveDrawing().findFigureInside(x, y);
-		if (figure == null) {
-			return;
-		}
-		String urlstring = (String) figure.getAttribute(FigureAttributeConstant.URL);
-		if (urlstring == null) {
-			return;
-		}
-
-		try {
-			URL url = new URL(fApplet.getDocumentBase(), urlstring);
-			fApplet.getAppletContext().showDocument(url);
-		}
-		catch (MalformedURLException exception) {
-			fApplet.showStatus(exception.toString());
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApp.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApp.java
deleted file mode 100644
index 6ed086d2e..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApp.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * @(#)JavaDrawApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.application.*;
-import CH.ifa.draw.contrib.*;
-import CH.ifa.draw.contrib.html.HTMLTextAreaFigure;
-import CH.ifa.draw.contrib.html.HTMLTextAreaTool;
-import CH.ifa.draw.contrib.zoom.ZoomDrawingView;
-import CH.ifa.draw.contrib.zoom.ZoomTool;
-
-import javax.swing.*;
-import java.awt.*;
-import java.io.*;
-import java.net.URL;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class JavaDrawApp extends MDI_DrawApplication {
-
-	private Animator            fAnimator;
-	private static String       fgSampleImagesPath = "/CH/ifa/draw/samples/javadraw/sampleimages";
-	private static String       fgSampleImagesResourcePath = fgSampleImagesPath + "/";
-
-	JavaDrawApp() {
-		super("JHotDraw");
-	}
-
-	/**
-	 * Expose constructor for benefit of subclasses.
-	 *
-	 * @param title The window title for this application's frame.
-	 */
-	public JavaDrawApp(String title) {
-		super(title);
-	}
-
-	/**
-	 * Factory method which create a new instance of this
-	 * application.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new JavaDrawApp();
-	}
-
-	protected DrawingView createDrawingView(Drawing newDrawing) {
-		Dimension d = getDrawingViewSize();
-		DrawingView newDrawingView = new ZoomDrawingView(this, d.width, d.height);
-		newDrawingView.setDrawing(newDrawing);
-		// notify listeners about created view when the view is added to the desktop
-		//fireViewCreatedEvent(newDrawingView);
-		return newDrawingView;
-	}
-
-	//-- application life cycle --------------------------------------------
-
-	public void destroy() {
-		super.destroy();
-		endAnimation();
-	}
-
-	//-- DrawApplication overrides -----------------------------------------
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new ZoomTool(this);
-		palette.add(createToolButton(IMAGES + "ZOOM", "Zoom Tool", tool));
-
-		tool = new UndoableTool(new TextTool(this, new TextFigure()));
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new UndoableTool(new ConnectedTextTool(this, new TextFigure()));
-		palette.add(createToolButton(IMAGES + "ATEXT", "Connected Text Tool", tool));
-
-		tool = new URLTool(this);
-		palette.add(createToolButton(IMAGES + "URL", "URL Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new RectangleFigure()));
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new RoundRectangleFigure()));
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new EllipseFigure()));
-		palette.add(createToolButton(IMAGES + "ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new UndoableTool(new PolygonTool(this));
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new TriangleFigure()));
-		palette.add(createToolButton(IMAGES + "TRIANGLE", "Triangle Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new DiamondFigure()));
-		palette.add(createToolButton(IMAGES + "DIAMOND", "Diamond Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new LineFigure()));
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-
-		tool = new UndoableTool(new ConnectionTool(this, new LineConnection()));
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new UndoableTool(new ConnectionTool(this, new ElbowConnection()));
-		palette.add(createToolButton(IMAGES + "OCONN", "Elbow Connection Tool", tool));
-
-		tool = new UndoableTool(new ScribbleTool(this));
-		palette.add(createToolButton(IMAGES + "SCRIBBL", "Scribble Tool", tool));
-
-		tool = new UndoableTool(new BorderTool(this));
-		palette.add(createToolButton(IMAGES + "BORDDEC", "Border Tool", tool));
-
-		Component button = new JButton("Hello World");
-		tool = new CreationTool(this, new ComponentFigure(button));
-		palette.add(createToolButton(IMAGES + "RECT", "Component Tool", tool));
-
-		tool = new TextAreaTool(this, new TextAreaFigure());
-		palette.add(createToolButton(IMAGES + "TEXTAREA", "TextArea Tool", tool));
-
-		GraphicalCompositeFigure fig = new GraphicalCompositeFigure();
-		fig.setLayouter(new SimpleLayouter(fig));
-		tool = new CreationTool(this, fig);
-		palette.add(createToolButton(IMAGES + "RECT", "Container Figure Tool", tool));
-
-		tool = new CompositeFigureCreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Nested Figure Tool", tool));
-
-		tool = new HTMLTextAreaTool(this, new HTMLTextAreaFigure());
-		palette.add(createToolButton(IMAGES + "TEXTAREA", "HTML TextArea Tool", tool));
-
-		LineConnection lineConnection = new LineConnection();
-		lineConnection.setStartDecoration(null);
-		tool = new UndoableTool(new SplitConnectionTool(this, lineConnection));
-		palette.add(createToolButton(IMAGES + "OCONN", "Split Connection Tool", tool));
-	}
-
-	protected Tool createSelectionTool() {
-		return new MySelectionTool(this);
-	}
-
-	protected void createMenus(JMenuBar mb) {
-		super.createMenus(mb);
-		addMenuIfPossible(mb, createAnimationMenu());
-		addMenuIfPossible(mb, createImagesMenu());
-		addMenuIfPossible(mb, createWindowMenu());
-	}
-
-	protected JMenu createAnimationMenu() {
-		CommandMenu menu = new CommandMenu("Animation");
-		Command cmd = new AbstractCommand("Start Animation", this) {
-			public void execute() {
-				startAnimation();
-			}
-		};
-		menu.add(cmd);
-
-		cmd = new AbstractCommand("Stop Animation", this) {
-			public void execute() {
-				endAnimation();
-			}
-		};
-		menu.add(cmd);
-		return menu;
-	}
-
-	protected JMenu createWindowMenu() {
-		CommandMenu menu = new CommandMenu("Window");
-		Command cmd = new AbstractCommand("New View", this) {
-			public void execute() {
-				newView();
-			}
-		};
-		menu.add(cmd);
-
-		cmd = new AbstractCommand("New Window", this, false) {
-			public void execute() {
-				newWindow(createDrawing());
-			}
-		};
-		menu.add(cmd);
-
-		menu.addSeparator();
-		menu.add(new WindowMenu("Window List", (MDIDesktopPane)getDesktop(), this));
-		return menu;
-	}
-
-	protected JMenu createImagesMenu() {
-		CommandMenu menu = new CommandMenu("Images");
-		URL url = getClass().getResource(fgSampleImagesPath);
-		if (url == null) {
-			throw new JHotDrawRuntimeException("Could not locate images: " + fgSampleImagesPath);
-		}
-		File imagesDirectory = new File(url.getFile());
-
-		try {
-			String[] list = imagesDirectory.list();
-			for (int i = 0; i < list.length; i++) {
-				String name = list[i];
-				String path = fgSampleImagesResourcePath+name;
-				menu.add(new UndoableCommand(
-					new InsertImageCommand(name, path, this)));
-			}
-		}
-		catch (Exception e) {
-			// do nothing
-		}
-		return menu;
-	}
-
-	protected Drawing createDrawing() {
-		Drawing dwg = new BouncingDrawing();
-        dwg.setTitle(getDefaultDrawingTitle());
-		return dwg;
-		//return new StandardDrawing();
-	}
-
-	//---- animation support --------------------------------------------
-
-	public void startAnimation() {
-		if (view().drawing() instanceof Animatable && fAnimator == null) {
-			fAnimator = new Animator((Animatable)view().drawing(), view());
-			fAnimator.start();
-		}
-	}
-
-	public void endAnimation() {
-		if (fAnimator != null) {
-			fAnimator.end();
-			fAnimator = null;
-		}
-	}
-
-	protected JMenu createDebugMenu() {
-		CommandMenu menu = (CommandMenu)super.createDebugMenu();
-
-		Command cmd = new AbstractCommand("Clipping Update", this) {
-			public void execute() {
-				this.view().setDisplayUpdate(new ClippingUpdateStrategy());
-			}
-		};
-		menu.add(cmd);
-
-		return menu;
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		JavaDrawApp window = new JavaDrawApp();
-		window.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApplet.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApplet.java
deleted file mode 100644
index 602655c6c..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawApplet.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)JavaDrawApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.applet.*;
-import CH.ifa.draw.contrib.*;
-
-import javax.swing.*;
-import java.awt.event.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class JavaDrawApplet extends DrawApplet {
-
-    transient private JButton   fAnimationButton;
-	transient private Animator        fAnimator;
-
-	//-- applet life cycle --------------------------------------------
-
-	public void destroy() {
-		super.destroy();
-		endAnimation();
-	}
-
-	//-- DrawApplet overrides -----------------------------------------
-
-	protected void createTools(JPanel palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new ConnectedTextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "ATEXT", "Connected Text Tool", tool));
-
-		tool = new URLTool(this);
-		palette.add(createToolButton(IMAGES + "URL", "URL Tool", tool));
-
-		tool = new CreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new RoundRectangleFigure());
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new EllipseFigure());
-		palette.add(createToolButton(IMAGES + "ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new CreationTool(this, new TriangleFigure());
-		palette.add(createToolButton(IMAGES + "TRIANGLE", "Triangle Tool", tool));
-
-		tool = new CreationTool(this, new DiamondFigure());
-		palette.add(createToolButton(IMAGES + "DIAMOND", "Diamond Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new ConnectionTool(this, new ElbowConnection());
-		palette.add(createToolButton(IMAGES + "OCONN", "Elbow Connection Tool", tool));
-
-		tool = new ScribbleTool(this);
-		palette.add(createToolButton(IMAGES + "SCRIBBL", "Scribble Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new BorderTool(this);
-		palette.add(createToolButton(IMAGES + "BORDDEC", "Border Tool", tool));
-	}
-
-	protected void createButtons(JPanel panel) {
-		super.createButtons(panel);
-		fAnimationButton = new JButton("Start Animation");
-		fAnimationButton.addActionListener(
-			new ActionListener() {
-				public void actionPerformed(ActionEvent event) {
-					toggleAnimation();
-				}
-			}
-		);
-		panel.add(fAnimationButton);
-	}
-
-	protected Drawing createDrawing() {
-		return new BouncingDrawing();
-	}
-
-	//-- animation support ----------------------------------------------
-
-	public void startAnimation() {
-		if ((drawing() instanceof Animatable) && (fAnimator == null)) {
-			fAnimator = new Animator((Animatable)drawing(), view());
-			fAnimator.start();
-			fAnimationButton.setText("End Animation");
-		}
-	}
-
-	public void endAnimation() {
-		if (fAnimator != null) {
-			fAnimator.end();
-			fAnimator = null;
-			fAnimationButton.setText("Start Animation");
-		}
-	}
-
-	public void toggleAnimation() {
-		if (fAnimator != null)
-			endAnimation();
-		else
-			startAnimation();
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html b/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html
deleted file mode 100644
index 5c0d1c80e..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawAppletHelp.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-
-<head>
-  <title>JavaDraw Help</title>
-</head>
-
-<body>
-<H1>JavaDraw Help</H1>
-<HR>
-JavaDraw provides <a href=#tools>tools</a>, <a href=#handles>handles</a>,
-and <a href=#commands>commands</a> to manipulate a drawing.
-<P>
-<H3><a name=tools>Tools</a></H3>
-The tools on the left create or manipulate figures.
-<Table Border=0>
-<TR><TD><img src="../../images/SEL1.gif"><TD>selects, moves or resizes a figure; the shift-key
-toggles the selection. Dragging the selection tool in the background
-selects the figures within the dragged rectangle.
-<TR><TD><img src="../../images/TEXT1.gif"><TD>creates a new or edits an existing text figure</TR>
-<TR><TD><img src="../../images/ATEXT1.gif"><TD>creates a new text figure and attaches it to the clicked figure. Once
-a text figure is attached it remains connected to the figure.</TR>
-<TR><TD><img src="../../images/URL1.gif"><TD>edits a figure's URL attribute; the URL thus associated
-with a figure is followed when the figure is clicked in
-the <a href="../../../../../JavaDrawViewer.html">viewer applet</a></TR>
-<TR><TD><img src="../../images/RECT1.gif"><TD>creates a rectangle figure</TR>
-<TR><TD><img src="../../images/RRECT1.gif"><TD>creates a round rectangle figure</TR>
-<TR><TD><img src="../../images/ELLIPSE1.gif"><TD>creates an ellipse figure</TR>
-<TR><TD><img src="../../images/LINE1.gif"><TD>creates a line figure</TR>
-<TR><TD><img src="../../images/CONN1.gif"><TD>creates or adjusts connections between figures. A connection
-is split into segments by dragging a point on the connection. To join two segments click the end point of a segment</TR>
-<TR><TD><img src="../../images/OCONN1.gif"><TD>creates an elbow connection and offers the same features as the ordinary connection tool</TR>
-<TR><TD><img src="../../images/SCRIBBL1.gif"><TD>creates a scribble figure; dragging the mouse creates
-a smooth line while successive clicks yields a polyline figure</TR>
-<TR><TD><img src="../../images/BORDDEC1.gif"><TD>decorates the clicked figure with a border</TR>
-</Table>
-
-
-<H3><a name=handles>Handles</a></H3>
-When selected figures provide different handles to manipulate them.
-<ul>
-<li>
-the filled red handles enable to manipulate the shape of a figure
-<li>
-the blue circle handle is a connection handle. It allows to create connections
-between figures.
-<li>
-the framed red handles are null handles. They only show the selection status
-of a figure but don't support any manipulation.
-<li>
-the green handles are shown on connections. They enable to
-reconnect them with another figure.
-<li>
-the yellow handle enables to change the font size of a text figure or the
-size of the radius of a rounded rectangle.
-</ul>
-<H3><a name=commands>Commands</a></H3>
-Commands are invoked from the button bar at the bottom (applet) or
-from the menu bar at the top (application).
-<P>
-The standard commands that are provided include, cut, copy, paste,
-duplicate, delete, group, ungroup, bring to front, and send to back.
-<P>
-<H3>Attributes</H3>
-Attributes, such as fill color, text color or arrow tip, can be changed
-through the attributes menu (stand-alone) or the pop up menues (applet).
-
-<hr>
-Comments or questions to <a href="mailto:erich_gamma@acm.org">Erich Gamma</a>
-</html>
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawViewer.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawViewer.java
deleted file mode 100644
index c3a3eb078..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/JavaDrawViewer.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * @(#)JavaDrawViewer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.*;
-
-import javax.swing.JApplet;
-import java.awt.*;
-import java.io.*;
-import java.net.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class JavaDrawViewer extends JApplet implements DrawingEditor {
-
-	private Drawing         fDrawing;
-	private Tool            fTool;
-	private StandardDrawingView fView;
-	private transient 		UndoManager myUndoManager;
-
-	public void init() {
-		setUndoManager(new UndoManager());
-		getContentPane().setLayout(new BorderLayout());
-		fView = new StandardDrawingView(this, 400, 370);
-		getContentPane().add("Center", fView);
-		setTool(new FollowURLTool(this, this));
-
-		String filename = getParameter("Drawing");
-		if (filename != null) {
-			loadDrawing(filename);
-			fView.setDrawing(fDrawing);
-		}
-		else {
-			showStatus("Unable to load drawing");
-		}
-	}
-
-	public void addViewChangeListener(ViewChangeListener vsl)  {
-	}
-
-	public void removeViewChangeListener(ViewChangeListener vsl) {
-	}
-
-	private void loadDrawing(String filename) {
-		try {
-			URL url = new URL(getCodeBase(), filename);
-			InputStream stream = url.openStream();
-			StorableInput reader = new StorableInput(stream);
-			fDrawing = (Drawing)reader.readStorable();
-		}
-		catch (IOException e) {
-			fDrawing = createDrawing();
-			System.err.println("Error when Loading: " + e);
-			showStatus("Error when Loading: " + e);
-		}
-	}
-
-	protected Drawing createDrawing() {
-		return new StandardDrawing();
-	}
-
-	/**
-	 * Gets the editor's drawing view.
-	 */
-	public DrawingView view() {
-		return fView;
-	}
-
-	public DrawingView[] views() {
-		return new DrawingView[] { view() };
-	}
-
-	/**
-	 * Gets the editor's drawing.
-	 */
-	public Drawing drawing() {
-		return fDrawing;
-	}
-
-	/**
-	 * Gets the current the tool (there is only one):
-	 */
-	public Tool tool() {
-		return fTool;
-	}
-
-	/**
-     * Sets the current the tool
-     */
-	public void setTool(Tool newTool) {
-		fTool = newTool;
-	}
-
-    /**
-	 * Sets the editor's default tool. Do nothing since we only have one tool.
-	 */
-	public void toolDone() {}
-
-	/**
-	 * Ignore selection changes, we don't show any selection
-	 */
-	public void figureSelectionChanged(DrawingView view) {}
-
-	protected void setUndoManager(UndoManager newUndoManager) {
-		myUndoManager = newUndoManager;
-	}
-
-	public UndoManager getUndoManager() {
-		return myUndoManager;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/MySelectionTool.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/MySelectionTool.java
deleted file mode 100644
index ed21e927d..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/MySelectionTool.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)MySelectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import java.awt.event.MouseEvent;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * A SelectionTool that interprets double clicks to inspect the clicked figure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class MySelectionTool extends SelectionTool {
-
-	public MySelectionTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Handles mouse down events and starts the corresponding tracker.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		if (e.getClickCount() == 2) {
-			Figure figure = drawing().findFigure(e.getX(), e.getY());
-			if (figure != null) {
-				inspectFigure(figure);
-				return;
-			}
-		}
-		super.mouseDown(e, x, y);
-	}
-
-	protected void inspectFigure(Figure f) {
-		System.out.println("inspect figure"+f);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/PatternPainter.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/PatternPainter.java
deleted file mode 100644
index 869db577f..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/PatternPainter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)PatternPainter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * PatternDrawer a background that can be added to a drawing.
- *
- * @see DrawingView
- * @see Painter
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PatternPainter
-		implements Painter {
-
-	private Image   fImage;
-
-	public PatternPainter(Image image) {
-		fImage = image;
-	}
-
-	public void draw(Graphics g, DrawingView view) {
-		drawPattern(g, fImage, view);
-	}
-
-	/**
-	 * Draws a pattern background pattern by replicating an image.
-	 */
-	private void drawPattern(Graphics g, Image image, DrawingView view) {
-		int iwidth = image.getWidth(view);
-		int iheight = image.getHeight(view);
-		Dimension d = view.getSize();
-		int x = 0;
-		int y = 0;
-
-		while (y < d.height) {
-			while (x < d.width) {
-				g.drawImage(image, x, y, view);
-				x += iwidth;
-			}
-			y += iheight;
-			x = 0;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/URLTool.java b/JHotDraw/src/CH/ifa/draw/samples/javadraw/URLTool.java
deleted file mode 100644
index 32b078cef..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/javadraw/URLTool.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * @(#)URLTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.javadraw;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.util.FloatingTextField;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A tool to attach URLs to figures.
- * The URLs are stored in the figure's "URL" attribute.
- * The URL text is entered with a FloatingTextField.
- *
- * @see CH.ifa.draw.util.FloatingTextField
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class URLTool extends AbstractTool {
-
-	private FloatingTextField   fTextField;
-	private Figure              fURLTarget;
-
-	public URLTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y)
-	{
-		super.mouseDown(e,x,y);
-		Figure pressedFigure = drawing().findFigureInside(x, y);
-		if (pressedFigure != null) {
-			beginEdit(pressedFigure);
-			return;
-		}
-		endEdit();
-		editor().toolDone();
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-	}
-
-	public void deactivate(DrawingView view) {
-		super.deactivate();
-		endEdit();
-	}
-
-	private void beginEdit(Figure figure) {
-		if (fTextField == null) {
-			fTextField = new FloatingTextField();
-			fTextField.addActionListener(
-				new ActionListener() {
-					public void actionPerformed(ActionEvent event) {
-						endEdit();
-					}
-				}
-			);
-		}
-
-		if ((figure != fURLTarget) && (fURLTarget != null)) {
-			endEdit();
-		}
-		if (figure != fURLTarget) {
-			fTextField.createOverlay((Container)view());
-			fTextField.setBounds(fieldBounds(figure), getURL(figure));
-			fURLTarget = figure;
-		}
-	}
-
-	private void endEdit() {
-		if (fURLTarget != null) {
-			setURL(fURLTarget, fTextField.getText());
-			fURLTarget = null;
-			fTextField.endOverlay();
-		}
-	}
-
-	private Rectangle fieldBounds(Figure figure) {
-		Rectangle box = figure.displayBox();
-		int nChars = Math.max(20, getURL(figure).length());
-		Dimension d = fTextField.getPreferredSize(nChars);
-		box.x = Math.max(0, box.x + (box.width - d.width)/2);
-		box.y = Math.max(0, box.y + (box.height - d.height)/2);
-		return new Rectangle(box.x, box.y, d.width, d.height);
-	}
-
-	private String getURL(Figure figure) {
-		String url = (String) figure.getAttribute(FigureAttributeConstant.URL);
-		if (url == null) {
-			url = "";
-		}
-		return url;
-	}
-
-	private void setURL(Figure figure, String url) {
-		figure.setAttribute(FigureAttributeConstant.URL, url);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/DUKE.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/DUKE.gif
deleted file mode 100644
index 4f31ce593f3d96d76ebbb515cd98d83fbca46bda..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2012
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/Juggler0.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/Juggler0.gif
deleted file mode 100644
index 577f7a9f03200f81d1ed3931620cb0045dca83d0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3090
zcmZ?wbh9u|oWM}a@STC-|NsBrzkh%K{{8dk&+py4ckSA>bLY+-J9cdE-o0D5Ze6=}
z?b4-7=ggTiWy+MEo}QMLmg?&2;^N}$?Cj*^<fy2qpr9ZxFE1x2Cre99LqkJNO-)5b
zMF|NB0RaIH4i31{_pV)gfA8M&YuE0bJ9q8av2%O(uAMXI-mzoX_U=8mb?dRUYxgc)
zdTi;^y>sTQ?de(C(z18Tl&w8IORKBr6c=x8X_=CpJtaALX?Au`R8&h)(3GgCYA>%A
zFRyARryeh_7AL1-OUr6Y%VI;rVol9tMaB1CUfGI@_ne%9BqWLz6)gn>-a9!ZOGqek
zaJ;v)%$AUd5)eoh5OCt)h~nT#=HLioVDMsKFl1m*WMB|rVE7*u^gYPye~{OEFQ@Nb
zPXCjmS`0P6M|o9iDozRV>hW^=U!7fTY52c5xy91(dv;W{q2~AGpkhtMVnvCy)x}GT
zv*%<d&q<Ez3G(_srR9H5_5YUQ7AMPOO~oih2`>qO|JTm#ozk<lr{(|BDaB5f|ErV#
z7e}pass6uq&i|g`|1H^GiW1d^is#lY-8!Y`|K7F#=d}EvQavTesoGN0QbNE`faBQG
zIseyA`M<QMC&;PV$?)9Pwg1oU{l9h2ob0Hj)!E6Gn#G0^*_r}dd#a~IIkk8h{=au_
z@0^~kQ(FEXTiX-mRPCgxD8OMU!Ex{0v13c8%*hU#lI+zIWLfQH*y5y^Y$)NRC{S%F
zQEVu1?bzO>)yXYhn$=E<#g-D+_O3m*b?Mrc>^a3zL6(|5QI=7L5<!{*UWy$5pI<w+
zc22RA;@Y0#DcN38h63mIuH8DP<@@{R|KHye;9$6S?b!eS-x)X<-hcl-WzHN90RaXM
z4nsrB@9)3AKX>i<v2*8o=G?2E@_y;o=Tny6ORnC^q4~UL&b^i?_q>v?2^dB(2t03@
za?L5~o@G!rgMc9e$MdyYvkfipDOx_4FuW(A*}@^=#K7@9DEYmj<yr~Ndy0nlBsAY!
zI(@fv+N)`}R8e!UqUKTw#s8L0?+q=VD{4NMP-I|W&|zR;U;yO>29Ey>j2to^8x|aF
z<`CA3Ik92k;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-qGM<~3oSdu?yej78rlqH+8zi5a
zv+^VJ+1U!rGa3pH9~V$`uDR1t$i#APu?X{qAAwK1E^7tMja&Jt*_B~Qgk)WYBTJU3
zX2RjN-do8o*EX{`KA7<<bj|IJ;cYDr-qRT-uFU`3wRchTyGSPI53gkZOl^%{qVSF{
zj>qiX!^MUy#@BvtJ(4`D^L9|5)>Pda%k=fm*Dy}~B&zA%^l3*Rv-<>%-1SEUbd3w{
zEeow!BcP}d)sVr=(GhU)@M^AG2A&=lZMJy{h+Sk5NJwOE=QqjdVo0oN?Ff9L7pn8W
z{B}qm1A|(|f`@OeuFm<O@7t4~SJ%p~o-?!l*rvx?f2Ofm9E=fl=1^!BowWDr6ake#
z-!Jhm?=3yd^LgU+E217pKFn>_-5MYj@!02MVsWtLM`xbmLXKeGhzzr&kWhuf!(3@A
zHH0~=DpbYtT&`?z>N30crAct^+-J?9j%lWcxYzn-H2HeEX+E725|;UNYDC(~r_*A}
zUOt_k(5CrpM#{9zXEQUFt$a2sXWPqXvkRoYFmh^6VR$l~QQ|?or~H}#HtB{%jP6_s
zZXeFG@l09bC7HLw@z~;&JrCVvr1LTl+Rv~un8ca0gYm`k1~;qY#<4*Sn#%-RSehi~
zHNAQzZB+7K^We&vO)T!Kb0$2@T9I*Og(}OIq^<^cqdgy2N*DcTe7$@_(MyL7|5FSY
z+*MaB)LxMPVo~?T_0I}sXe}1FoZ!mk@SC4adg21Mb-S7#Fl}G3E08TpLE!Ky-7RN|
zx^;IuND4AN`*+#Fjb#d>zI6Tx#sdoM?OAR6-B*6%*4=rgiCb@Tz@1Y&1SADEupf>x
zVUlB?{Lqc_{EWifJ)e_Y4;>MYxAE2!zkJDSDX-uI#{*Jx+yyy`P5!j0Fo^8VUS6DX
zluOqzehxSP_6VQT8iJe~iVp~dsI*_;YHv7pYQa86_OPvIk_yjko{@A&Q!M%oj|*do
zK*3s}uZmx8FdVsPuvstRe=7H7-^-ggIXmX~o>ng?Hu!EYD<Cj&SHk{_UA_fxWVNJa
z?wdGiq#yU;mQg5p_eI}ATcqJpcl?9R&e8Q!E0q`~2z<HNuq%-{Y}bW5CVEZG0iEw8
zu73((kk;wbWZ`dYXkRzc&Z%VUwDwhP>n&87YR>G;U^<}I@OYB9zCdQeAA32O2NyW{
zCp2=%8ub_)TAT3Ri%ntm<1Jp_Gj=l_;GVajw_A%}@cs`I1Kl<Oh1#5eBdU)YI?Rup
z4^298*j}z-YTyI^w4(})oK_ci9%eO&cznU#?vo;ac?M%}Wbz54HCI=fTTCchS9Qof
zs6vGM-MgfD9aCj?nRf>S_$xB~VHf@X?qRDzOCxvOjpH`w8dtJrw1yfikyUAF6-|oS
zkha#rU!CbVcY6v$@bec<iV_Dq-0mpy<}x_j+&gG-Tz5%PAj?#VBLbYqG!?W@?vT4B
z_i%^ThYw;iy*b$aHTEeREE1U!!J;S;*kRIhQ10FhNnT+irsks)d6OKRWX%)yt(m}(
zZ2sh~0>c6(zN&K)yn^y}T#cQn2F@Z&XSm3oyU?b;L0S6JjROb7jF{XNnA(yO4$B2>
zRbNx{K%#2OP31o0j(;b4CUAG&wx8s{X{VDcd06A967R+~y$g?}86+53xmE~>Xe9O(
zi8M>|DIVszb5Z|0_tNh=f=vt;4$j=8eAJ19;eW4ANu$t=1UBOz3w+%QHgo?|Xm=2q
zpwX(}kmqy4dGVbF7TXg^+)tVv3@;irtvG2czCOT_A!EVrm<>saPlMdWr6zK^Oj8n`
zlEI?8{{mkgPYaXiizN;$2@I?b511|-da=^%1A}=S8(;X5ICYVQOc$RX5)m*y!EDgb
zTgB2OSU=;4N>UbwV-F+OqaDW_7{2v$`y61B+99>p=0I3hLYCCk0*AjYM%R0Em_<&y
zNFUw69@^@nz{t?RE^(=V-TKBtfpiXM=~)-}b46Gp7*98_h&VJbvMgs{S@GJ#Y?WZ_
zfknlij@<JUHDY9DP>}u0;4FP;L!0TAL>}J{?v`d&41E7H4lqexU|`c?V7z?FWwWT}
z0al{~M!yELEqj8GIUUoSkUL|sd_aeu{jZID1ylGK1PYYGEV2bpBxy-(aL{Axt(w5#
zk>Ibu;BIjyv9G9vS(;Ol;nOA)?I=a%JtyY2>Ms($|1)UGibyX8_8V1OLmn{gUnp{n
zZHKnN&#YBS92pwZm;@LY1s*W)>^LCSP?!)=apUk#57xU}O$}Tpd=Ck8I<THNxs-uN
zNOThen?aHwPo&A?5V;8lnD_(|Icq+KG`w9`wo#>l!(u^$gY5k~dIF4dgO)IeoC%s_
zJ0V)tc{Q`d3>^lsfQD|C2aG&^mtL;nS<7YOz{s{@KJy80LG}{K|K5B7t0!3p+-h-Q
z*ddU3KyPD71J{zP6>>WoCi5yWaJBqY<n$1o&UWE4n~egK(2N5tDh!Nldm<HC7BCz%
zkyUS!Nth(6`DNktC&9gUc3x&qWa!fU#2|KjC1dkC59S*@%T2S7Tv{R45tCp0($6~K
z3jaaVRm>kA^l<FH%&cMN)+ejZr14wnOxt9}u-u7kU!?pvD$?C@db3ztbd=YgGi9#n
zp1>gEz?hMCVrAgjx6L97OdH%9m=zk*8GRUTWGpgw;z?+X({{MXezIg8ckcuykA`bE
zT~918j&0zSIl>^iW19ohhIdU<q^@!>{BRI*V2t8-VdOLCU~ZFH?lSqu1McsY4ih*Z
zJ&T!Lqabi%C8L1D=UKPs92ZR}-f=zT;ptBnjC?B&9Fb38WH&j$=;6QX(!_fVoDm77
zj57`}2{kY<CzLTT9Wb9-<;TD*@!&aE!~rI)2e~{x4(EA2cHg?buZ+#*zy&7B-8V!X
zzA{J5Wte%jY6?ri&GpI(jEV6M7b?5Uwn^`ME4;vgktLz=jb6h$jt#%Beq5u<^?5G?
zyGO%~(AXb`tM@VTG%)zd&Tn8&2xEwB@4Octl(;Wi>^*D8-Z$y`)qA3+y%&kAT~~ho
z_r2f$z9*mB`$3au>BHBy3<@1>rgjJZq}w$AyzrlQpMAogSI_7D61`UI%*4cC4FGbG
BE@%J%

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/backgrnd.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/backgrnd.gif
deleted file mode 100644
index 602f909c9784eeaeca9896a78116ea9555007e2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2443
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
Q3+vUg`y?D;VPUWa03CMQ`~Uy|

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/beans.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/beans.gif
deleted file mode 100644
index 4a0370f09c9a0738190af806989f58e66f882b4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7012
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/bg1.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/bg1.gif
deleted file mode 100644
index d54150cd9ed3fb7b1737d16b24dd39950b914af9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2164
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/javacentral.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/javacentral.gif
deleted file mode 100644
index bbba907bb45e0a98aef00d8fe8444345a2d72e24..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 37239
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif
deleted file mode 100644
index 7f255f52f968dda6d4bbdeccd75dacee6a2873e5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5009
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
XGsk0&*4Qv=G@iM@v)WEjfWaC7_FX~{

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/rain.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/rain.gif
deleted file mode 100644
index 2fdf8fb88e2908cbd5591dc60e942971c15ebb61..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7664
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
H1A{dHTx~5P

diff --git a/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/view.gif b/JHotDraw/src/CH/ifa/draw/samples/javadraw/sampleimages/view.gif
deleted file mode 100644
index 5d562671099522cc034b6c3b0adf523e7e135d6c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 121144
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%0DX)JNABa2|56y0}{+V;|?dCt0UWt_dq-
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

diff --git a/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapApplication.java b/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapApplication.java
deleted file mode 100644
index 407e18c88..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapApplication.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * @(#)MiniMapApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.samples.minimap;
-
-import CH.ifa.draw.contrib.Desktop;
-import CH.ifa.draw.contrib.SplitPaneDrawApplication;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapApplication extends SplitPaneDrawApplication {
-
-	protected Desktop createDesktop() {
-		return new MiniMapDesktop();
-	}
-
-	public static void main(String[] args) {
-		MiniMapApplication window = new MiniMapApplication();
-		window.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapDesktop.java b/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapDesktop.java
deleted file mode 100644
index 0e6d2a2f7..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/minimap/MiniMapDesktop.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * @(#)MiniMapDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.samples.minimap;
-
-import CH.ifa.draw.contrib.SplitPaneDesktop;
-import CH.ifa.draw.contrib.MiniMapView;
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.util.Iconkit;
-import CH.ifa.draw.figures.ImageFigure;
-
-import javax.swing.*;
-import java.awt.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapDesktop extends SplitPaneDesktop {
-
-	private String imageName = "/CH/ifa/draw/samples/javadraw/sampleimages/view.gif";
-
-	protected Component createRightComponent(DrawingView view) {
-		Image image = Iconkit.instance().registerAndLoadImage(
-			(Component)view, imageName);
-		view.add(new ImageFigure(image, imageName, new Point(0,0)));
-		view.checkDamage();
-//		((CH.ifa.draw.standard.StandardDrawingView)view).checkMinimumSize();
-		return super.createRightComponent(view);
-	}
-
-	protected Component createLeftComponent(DrawingView view) {
-		JPanel blankPanel = new JPanel();
-//		blankPanel.setPreferredSize(new Dimension(200, 200));
-
-		MiniMapView mmv = new MiniMapView(view, (JScrollPane)getRightComponent());
-//		mmv.setPreferredSize(new Dimension(200, 200));
-
-		JSplitPane leftSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, blankPanel, mmv);
-		leftSplitPane.setOneTouchExpandable(true);
-		leftSplitPane.setDividerLocation(200);
-//		leftSplitPane.setPreferredSize(new Dimension(200, 400));
-//		leftSplitPane.resetToPreferredSizes();
-
-		return leftSplitPane;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/net.jdo b/JHotDraw/src/CH/ifa/draw/samples/net.jdo
deleted file mode 100644
index 0872b17d8..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/net.jdo
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.samples.net">
-    <class name="NodeFigure">
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/samples/net/NetApp.java b/JHotDraw/src/CH/ifa/draw/samples/net/NetApp.java
deleted file mode 100644
index 466f18dae..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/net/NetApp.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * @(#)NetApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.net;
-
-import javax.swing.JToolBar;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.application.DrawApplication;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class NetApp extends DrawApplication {
-
-	public NetApp() {
-		super("Net");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new NodeFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new NodeFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Create Org Unit", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		DrawApplication window = new NetApp();
-		window.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/net/NodeFigure.java b/JHotDraw/src/CH/ifa/draw/samples/net/NodeFigure.java
deleted file mode 100644
index e78c111dc..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/net/NodeFigure.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)NodeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.net;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-
-import java.util.*;
-import java.util.List;
-import java.awt.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class NodeFigure extends TextFigure {
-	private static final int BORDER = 6;
-	private List        fConnectors;
-	private boolean     fConnectorsVisible;
-
-	public NodeFigure() {
-		initialize();
-		fConnectors = null;
-	}
-
-	public Rectangle displayBox() {
-		Rectangle box = super.displayBox();
-		int d = BORDER;
-		box.grow(d, d);
-		return box;
-	}
-
-	public boolean containsPoint(int x, int y) {
-		// add slop for connectors
-		if (fConnectorsVisible) {
-			Rectangle r = displayBox();
-			int d = LocatorConnector.SIZE/2;
-			r.grow(d, d);
-			return r.contains(x, y);
-		}
-		return super.containsPoint(x, y);
-	}
-
-	private void drawBorder(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor(getFrameColor());
-		g.drawRect(r.x, r.y, r.width-1, r.height-1);
-	}
-
-	public void draw(Graphics g) {
-		super.draw(g);
-		drawBorder(g);
-		drawConnectors(g);
-	}
-
-	public HandleEnumeration handles() {
-		ConnectionFigure prototype = new LineConnection();
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new ConnectionHandle(this, RelativeLocator.east(), prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.west(), prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.south(), prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.north(), prototype));
-
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		return new HandleEnumerator(handles);
-	}
-
-	private void drawConnectors(Graphics g) {
-		if (fConnectorsVisible) {
-			Iterator iter = connectors();
-			while (iter.hasNext()) {
-				((Connector)iter.next()).draw(g);
-			}
-		}
-	}
-
-	/**
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection) {
-		fConnectorsVisible = isVisible;
-		invalidate();
-	}
-
-	/**
-	 */
-	public Connector connectorAt(int x, int y) {
-		return findConnector(x, y);
-	}
-
-	/**
-	 */
-	private Iterator connectors() {
-		if (fConnectors == null) {
-			createConnectors();
-		}
-		return fConnectors.iterator();
-	}
-
-	private void createConnectors() {
-		fConnectors = CollectionsFactory.current().createList(4);
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.north()) );
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.south()) );
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.west()) );
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.east()) );
-	}
-
-	private Connector findConnector(int x, int y) {
-		// return closest connector
-		long min = Long.MAX_VALUE;
-		Connector closest = null;
-		Iterator iter = connectors();
-		while (iter.hasNext()) {
-			Connector c = (Connector)iter.next();
-			Point p2 = Geom.center(c.displayBox());
-			long d = Geom.length2(x, y, p2.x, p2.y);
-			if (d < min) {
-				min = d;
-				closest = c;
-			}
-		}
-		return closest;
-	}
-
-	private void initialize() {
-		setText("node");
-		Font fb = new Font("Helvetica", Font.BOLD, 12);
-		setFont(fb);
-		createConnectors();
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApp.java b/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApp.java
deleted file mode 100644
index 518c59960..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApp.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * @(#)NothingApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.nothing;
-
-import javax.swing.JToolBar;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.contrib.*;
-import CH.ifa.draw.application.*;
-
-/**
- * A very basic example for demonstraing JHotDraw's capabilities. It contains only
- * a few additional tools apart from the selection tool already provided by its superclass.
- * It uses only a single document interface (SDI) and not a multiple document interface (MDI)
- * because the applicateion frame is derived DrawApplication rather than MDI_DrawApplication.
- * To enable MDI for this application, NothingApp must inherit from MDI_DrawApplication
- * and be recompiled.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class NothingApp extends DrawApplication {
-
-	public NothingApp() {
-		super("Nothing");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES+"TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES+"RECT", "Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new RoundRectangleFigure());
-		palette.add(createToolButton(IMAGES+"RRECT", "Round Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new EllipseFigure());
-		palette.add(createToolButton(IMAGES+"ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES+"LINE", "Line Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES+"POLYGON", "Polygon Tool", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES+"CONN", "Connection Tool", tool));
-
-		tool = new ConnectionTool(this, new ElbowConnection());
-		palette.add(createToolButton(IMAGES+"OCONN", "Elbow Connection Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		DrawApplication window = new NothingApp();
-		window.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApplet.java b/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApplet.java
deleted file mode 100644
index 17e5dad44..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/nothing/NothingApplet.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * @(#)NothingApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.nothing;
-
-import javax.swing.JPanel;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.applet.*;
-import CH.ifa.draw.contrib.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class NothingApplet extends DrawApplet {
-
-	//-- DrawApplet overrides -----------------------------------------
-
-	protected void createTools(JPanel palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new RoundRectangleFigure());
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new EllipseFigure());
-		palette.add(createToolButton(IMAGES + "ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new ConnectionTool(this, new ElbowConnection());
-		palette.add(createToolButton(IMAGES + "OCONN", "Elbow Connection Tool", tool));
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplet.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplet.java
deleted file mode 100644
index cb928c2da..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplet.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * @(#)PertApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import javax.swing.JPanel;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.applet.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class PertApplet extends DrawApplet {
-
-	private final static String PERTIMAGES = "/CH/ifa/draw/samples/pert/images/";
-
-	protected void createTools(JPanel palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES+"TEXT", "Text Tool", tool));
-
-		tool = new PertFigureCreationTool(this);
-		palette.add(createToolButton(PERTIMAGES+"PERT", "Task Tool", tool));
-
-		tool = new ConnectionTool(this, new PertDependency());
-		palette.add(createToolButton(IMAGES+"CONN", "Dependency Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES+"LINE", "Line Tool", tool));
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertAppletHelp.html b/JHotDraw/src/CH/ifa/draw/samples/pert/PertAppletHelp.html
deleted file mode 100644
index 3288502a5..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertAppletHelp.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<html>
-
-<head>
-  <title>Pert Help</title>
-</head>
-
-<body>
-<H1>PERT Help</H1>
-<HR>
-PERT provides tools, handles, and commands to manipulate a PERT diagram.
-<P>
-A task is shown as a box with a line for the task's name, a line for
-the task's duration, and a line for the task's earliest end time.
-Only the task's name and its duration are editable. The end time
-is calculated automatically by PERT.
-<P>
-Circular dependencies are shown in red.
-<P>
-<H3>Tools</H3>
-The tool palette on the left offers several tools that either create
-new figures or manipulate existing ones.
-<Table Border=0>
-<TR><TD><img src="../../images/SEL1.gif"><TD>selects, moves or resizes a figure; the shift-key
-toggles the selection. Dragging the selection tool in the background
-selects the figures within the dragged rectangle.
-<TR><TD><img src="../../images/PERT1.gif"><TD>creates a new task</TR>
-<TR><TD><img src="../../images/TEXT1.gif"><TD>creates a new or edits an existing text figure</TR>
-<TR><TD><img src="../../images/CONN1.gif"><TD>creates or adjusts connections
-between figures. A connection
-is split into segments by dragging a point on the connection. To join two
-segments click the
-end point of a segment</TR>
-<TR><TD><img src="../../images/LINE1.gif"><TD>creates a line figure</TR>
-</Table>
-
-
-<H3>Handles</H3>
-When selected figures offer different handles to manipulate them.
-<ul>
-<li>
-the blue circle handle is a connection handle. It allows to create connections
-between figures.
-<li>
-the framed red handles are null handles. They only show the selection status
-of a figure but don't support any manipulation.
-<li>
-the green handles are shown on connections. They enable to
-reconnect them with another figure.
-<li>
-the yellow handle enables to change the font size of a text figure or the
-size of the radius of a rounded rectangle.
-</ul>
-
-<H3>Commands</H3>
-Commands are invoked from the button bar at the bottom (applet) or
-from the menu bar at the top (application).
-<P>
-The standard commands that are provided include, cut, copy, paste,
-duplicate, delete, group, ungroup, bring to front, and send to back.
-<P>
-<H3>Attributes</H3>
-Attributes, such as fill color, text color or arrow tip, can be changed
-through the attributes menu (stand-alone) or the pop up menues (applet).
-
-<p>
-
-</html>
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplication.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplication.java
deleted file mode 100644
index 7eb3d524f..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertApplication.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)PertApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import javax.swing.JToolBar;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.application.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class PertApplication extends DrawApplication {
-
-	static private final String PERTIMAGES = "/CH/ifa/draw/samples/pert/images/";
-
-	public PertApplication() {
-		super("PERT Editor");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		// the generic but slower version
-		//tool = new CreationTool(new PertFigure());
-		//palette.add(createToolButton(PERTIMAGES + "PERT", "Task Tool", tool));
-
-		tool = new PertFigureCreationTool(this);
-		palette.add(createToolButton(PERTIMAGES + "PERT", "Task Tool", tool));
-
-		tool = new ConnectionTool(this, new PertDependency());
-		palette.add(createToolButton(IMAGES + "CONN", "Dependency Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES + "Line", "Line Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		PertApplication pert = new PertApplication();
-		pert.open();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertDependency.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertDependency.java
deleted file mode 100644
index a1bc417e6..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertDependency.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * @(#)PertDependency.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import java.awt.*;
-import java.util.List;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.standard.*;
-// JUnitDoclet end import
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class PertDependency extends LineConnection {
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7959500008698525009L;
-	private int pertDependencySerializedDataVersion = 1;
-
-	public PertDependency() {
-		setEndDecoration(new ArrowTip());
-		setStartDecoration(null);
-	}
-
-	public void handleConnect(Figure start, Figure end) {
-		PertFigure source = (PertFigure)start;
-		PertFigure target = (PertFigure)end;
-		if (source.hasCycle(target)) {
-			setAttribute(FigureAttributeConstant.FRAME_COLOR, Color.red);
-		}
-		else {
-			target.addPreTask(source);
-			source.addPostTask(target);
-			source.notifyPostTasks();
-		}
-	}
-
-	public void handleDisconnect(Figure start, Figure end) {
-		PertFigure source = (PertFigure)start;
-		PertFigure target = (PertFigure)end;
-		if (target != null) {
-			target.removePreTask(source);
-			target.updateDurations();
-		}
-		if (source != null) {
-			source.removePostTask(target);
-		}
-   }
-
-	public boolean canConnect(Figure start, Figure end) {
-		return ((start instanceof PertFigure) && (end instanceof PertFigure));
-	}
-
-	public HandleEnumeration handles() {
-		List handles = super.handles().toList();
-		// don't allow to reconnect the starting figure
-		handles.set(0, new NullHandle(this, PolyLineFigure.locator(0)));
-		return new HandleEnumerator(handles);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigure.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigure.java
deleted file mode 100644
index 3b006fe96..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigure.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * @(#)PertFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.figures.*;
-import CH.ifa.draw.util.*;
-
-import java.awt.*;
-import java.io.*;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class PertFigure extends CompositeFigure {
-	private static final int BORDER = 3;
-	private Rectangle fDisplayBox;
-	private List fPreTasks;
-	private List fPostTasks;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7877776240236946511L;
-	private int pertFigureSerializedDataVersion = 1;
-
-	public PertFigure() {
-		initialize();
-	}
-
-	public int start() {
-		int start = 0;
-		Iterator iter = fPreTasks.iterator();
-		while (iter.hasNext()) {
-			PertFigure f = (PertFigure)iter.next();
-			start = Math.max(start, f.end());
-		}
-		return start;
-	}
-
-	public int end() {
-		return asInt(2);
-	}
-
-	public int duration() {
-		return asInt(1);
-	}
-
-	public void setEnd(int value) {
-		setInt(2, value);
-	}
-
-	public void addPreTask(PertFigure figure) {
-		if (!fPreTasks.contains(figure)) {
-			fPreTasks.add(figure);
-		}
-	}
-
-	public void addPostTask(PertFigure figure) {
-		if (!fPostTasks.contains(figure)) {
-			fPostTasks.add(figure);
-		}
-	}
-
-	public void removePreTask(PertFigure figure) {
-		fPreTasks.remove(figure);
-	}
-
-	public void removePostTask(PertFigure figure) {
-		fPostTasks.remove(figure);
-	}
-
-	private int asInt(int figureIndex) {
-		NumberTextFigure t = (NumberTextFigure)figureAt(figureIndex);
-		return t.getValue();
-	}
-
-	private String taskName() {
-		TextFigure t = (TextFigure)figureAt(0);
-		return t.getText();
-	}
-
-	private void setInt(int figureIndex, int value) {
-		NumberTextFigure t = (NumberTextFigure)figureAt(figureIndex);
-		t.setValue(value);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x, y);
-		super.basicMoveBy(x, y);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-		layout();
-	}
-
-	private void drawBorder(Graphics g) {
-		super.draw(g);
-
-		Rectangle r = displayBox();
-
-		Figure f = figureAt(0);
-		Rectangle rf = f.displayBox();
-		g.setColor(Color.gray);
-		g.drawLine(r.x, r.y+rf.height+2, r.x+r.width, r.y + rf.height+2);
-		g.setColor(Color.white);
-		g.drawLine(r.x, r.y+rf.height+3, r.x+r.width, r.y + rf.height+3);
-
-		g.setColor(Color.white);
-		g.drawLine(r.x, r.y, r.x, r.y + r.height);
-		g.drawLine(r.x, r.y, r.x + r.width, r.y);
-		g.setColor(Color.gray);
-		g.drawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
-		g.drawLine(r.x , r.y + r.height, r.x + r.width, r.y + r.height);
-	}
-
-	public void draw(Graphics g) {
-		drawBorder(g);
-		super.draw(g);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new ConnectionHandle(this, RelativeLocator.east(),
-								new PertDependency())
-						   );
-		return new HandleEnumerator(handles);
-	}
-
-	private void initialize() {
-		fPostTasks = CollectionsFactory.current().createList();
-		fPreTasks = CollectionsFactory.current().createList();
-		fDisplayBox = new Rectangle(0, 0, 0, 0);
-
-		Font f = new Font("Helvetica", Font.PLAIN, 12);
-		Font fb = new Font("Helvetica", Font.BOLD, 12);
-
-		TextFigure name = new TextFigure();
-		name.setFont(fb);
-		name.setText("Task");
-		//name.setAttribute(FigureAttributeConstant.TEXT_COLOR.getName(), Color.white);
-		add(name);
-
-		NumberTextFigure duration = new NumberTextFigure();
-		duration.setValue(0);
-		duration.setFont(fb);
-		add(duration);
-
-		NumberTextFigure end = new NumberTextFigure();
-		end.setValue(0);
-		end.setFont(f);
-		end.setReadOnly(true);
-		add(end);
-	}
-
-	private void layout() {
-		Point partOrigin = new Point(fDisplayBox.x, fDisplayBox.y);
-		partOrigin.translate(BORDER, BORDER);
-		Dimension extent = new Dimension(0, 0);
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-
-			Dimension partExtent = f.size();
-			Point corner = new Point(
-								partOrigin.x+partExtent.width,
-								partOrigin.y+partExtent.height);
-			f.basicDisplayBox(partOrigin, corner);
-
-			extent.width = Math.max(extent.width, partExtent.width);
-			extent.height += partExtent.height;
-			partOrigin.y += partExtent.height;
-		}
-		fDisplayBox.width = extent.width + 2*BORDER;
-		fDisplayBox.height = extent.height + 2*BORDER;
-	}
-
-	private boolean needsLayout() {
-		Dimension extent = new Dimension(0, 0);
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			extent.width = Math.max(extent.width, f.size().width);
-		}
-		int newExtent = extent.width + 2*BORDER;
-		return newExtent != fDisplayBox.width;
-	}
-
-	public void update(FigureChangeEvent e) {
-		if (e.getFigure() == figureAt(1)) {
-			// duration has changed
-			updateDurations();
-		}
-		if (needsLayout()) {
-			layout();
-			changed();
-		}
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		update(e);
-	}
-
-
-	public void figureRemoved(FigureChangeEvent e) {
-		update(e);
-	}
-
-	public void notifyPostTasks() {
-		Iterator iter = fPostTasks.iterator();
-		while (iter.hasNext()) {
-			((PertFigure)iter.next()).updateDurations();
-		}
-	}
-
-	public void updateDurations() {
-		int newEnd = start()+duration();
-		if (newEnd != end()) {
-			setEnd(newEnd);
-			notifyPostTasks();
-		}
-	}
-
-	public boolean hasCycle(Figure start) {
-		if (start == this) {
-			return true;
-		}
-		Iterator iter = fPreTasks.iterator();
-		while (iter.hasNext()) {
-			if (((PertFigure)iter.next()).hasCycle(start)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-
-		writeTasks(dw, fPreTasks);
-		writeTasks(dw, fPostTasks);
-	}
-
-	public void writeTasks(StorableOutput dw, List l) {
-		dw.writeInt(l.size());
-		Iterator iter = l.iterator();
-		while (iter.hasNext()) {
-			dw.writeStorable((Storable)iter.next());
-		}
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-		layout();
-		fPreTasks = readTasks(dr);
-		fPostTasks = readTasks(dr);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = fDisplayBox;
-		int cx = r.width/2;
-		int cy = r.height/2;
-		return new Insets(cy, cx, cy, cx);
-	}
-
-	public List readTasks(StorableInput dr) throws IOException {
-		int size = dr.readInt();
-		List l = CollectionsFactory.current().createList(size);
-		for (int i=0; i<size; i++) {
-			l.add(dr.readStorable());
-		}
-		return l;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigureCreationTool.java b/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigureCreationTool.java
deleted file mode 100644
index 027351ff5..000000000
--- a/JHotDraw/src/CH/ifa/draw/samples/pert/PertFigureCreationTool.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * @(#)PertFigureCreationTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.samples.pert;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-
-/**
- * A more efficient version of the generic Pert creation
- * tool that is not based on cloning.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PertFigureCreationTool extends CreationTool {
-
-	public PertFigureCreationTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Creates a new PertFigure.
-	 */
-	protected Figure createFigure() {
-		return new PertFigure();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT1.gif b/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT1.gif
deleted file mode 100644
index f69744556b8a98b0f903febf45498dd09fcde923..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK-K>bM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF1(sB5u8|!Jh*P2E`k`vPmdj
z>=3r9_m<Nuzj;!{KmE(A(`?(#buKO1(zZKp#m^aG;!Be>mi~FR?XC~!)lJLJeyY=G
ZXw<aPYVYXm((dl<maLvADagQJ4FJ?UQ3?P6

diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT2.gif b/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT2.gif
deleted file mode 100644
index eb9f10ef03f573d2d7c08a805dee7264cabd6ef1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK!E=bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW_0GOA^<6__frm_*&x-pD
z!8T0Y0SiB~{Qg>VVwDQlT(#{ni^8R2qGnyox76{SeADf_ua9H;^AAh!RIPneY#h>H
Qq}1GEQyb1M$iQF?0Mukk*8l(j

diff --git a/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT3.gif b/JHotDraw/src/CH/ifa/draw/samples/pert/images/PERT3.gif
deleted file mode 100644
index aac7c5e3ad403e29fb246df6eb318f71ef45be0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 188
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQuv|4bM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6aqI*=!x51P2|dZUzy5
zqXRO=duM<0P*rO+U+{j>QO?y@vUP4V+wZ=-?CDAs<Fg)L#Pf3dPkEfOeARpLbws&Y
av}lo)rFXlrW0ygv$pp!k$&!K$4AubpX-<Lw

diff --git a/JHotDraw/src/CH/ifa/draw/standard.jdo b/JHotDraw/src/CH/ifa/draw/standard.jdo
deleted file mode 100644
index 62c33480a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard.jdo
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="CH.ifa.draw.standard">
-    <class name="AbstractFigure">
-		<field name="fListener" persistence-modifier="persistent">
-		</field>
-    </class>
-    <class name="CompositeFigure">
-<!--
-		<field name="fFigures">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
--->
-    </class>
-    <class name="ChopBoxConnector">
-    </class>
-    <class name="DecoratorFigure">
-    </class>
-    <class name="LocatorConnector">
-    </class>
-    <class name="PeripheralLocator">
-    </class>
-    <class name="OffsetLocator">
-    </class>
-    <class name="RelativeLocator">
-    </class>
-    <class name="StandardDrawing">
-    </class>
-  </package>
-</jdo>
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AWTCursor.java b/JHotDraw/src/CH/ifa/draw/standard/AWTCursor.java
deleted file mode 100644
index a01ee1129..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AWTCursor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)AWTCursor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.standard;
-
-import java.awt.Cursor;
-
-/**
- * Default implementation of the {@link CH.ifa.draw.framework.Cursor} interface
- * for AWT/Swing.
- * 
- * <p>Created on: 08/05/2003.</p>
- * 
- * @version $Revision$
- * @author <a href="mailto:ricardo_padilha@users.sourceforge.net">Ricardo 
- * Sangoi Padilha</a>
- * @see CH.ifa.draw.framework.Cursor
- */
-public class AWTCursor extends Cursor implements CH.ifa.draw.framework.Cursor {
-
-	/**
-	 * Constructor for <code>AWTCursor</code>.
-	 * @param type
-	 * @see Cursor#Cursor(int)
-	 */
-	public AWTCursor(int type) {
-		super(type);
-	}
-
-	/**
-	 * Constructor for <code>AWTCursor</code>.
-	 * @param name
-	 * @see Cursor#Cursor(java.lang.String)
-	 */
-	public AWTCursor(String newName) {
-		super(newName);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractCommand.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractCommand.java
deleted file mode 100644
index 45152da20..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractCommand.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * @(#)AbstractCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Command;
-import CH.ifa.draw.util.CommandListener;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.*;
-
-/**
- * @author Helge Horch
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractCommand implements Command, FigureSelectionListener {
-
-	private String  myName;
-	private Undoable myUndoableActivity;
-	private boolean myIsViewRequired;
-	private AbstractCommand.EventDispatcher myEventDispatcher;
-
-	/**
-	 * the DrawingEditor this command applies to
-	 */
-	private DrawingEditor myDrawingEditor;
-
-	/**
-	 * Constructs a command with the given name that applies to the given view.
-	 * @param newName java.lang.String
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public AbstractCommand(String newName, DrawingEditor newDrawingEditor) {
-		this(newName, newDrawingEditor, true);
-	}
-
-	public AbstractCommand(String newName, DrawingEditor newDrawingEditor, boolean newIsViewRequired) {
-		setName(newName);
-		setDrawingEditor(newDrawingEditor);
-		getDrawingEditor().addViewChangeListener(createViewChangeListener());
-		myIsViewRequired = newIsViewRequired;
-		setEventDispatcher(createEventDispatcher());
-	}
-
-	protected void viewSelectionChanged(DrawingView oldView, DrawingView newView) {
-		if (oldView != null) {
-			oldView.removeFigureSelectionListener(this);
-		}
-		if (newView != null) {
-			newView.addFigureSelectionListener(this);
-		}
-		if (isViewRequired()) {
-			boolean isOldViewInteractive = (oldView != null) && oldView.isInteractive();
-			boolean isNewViewInteractive = (newView != null) && newView.isInteractive();
-			// old view was not interactive aware while new view is now interactive aware
-			if (!isOldViewInteractive && isNewViewInteractive) {
-				getEventDispatcher().fireCommandExecutableEvent();
-			}
-			// old view was interactive aware while new view is not
-			else if (isOldViewInteractive && !isNewViewInteractive) {
-				getEventDispatcher().fireCommandNotExecutableEvent();
-			}
-		}
-	}
-
-	/**
-	 * Sent when a new view is created
-	 */
-	protected void viewCreated(DrawingView view) {
-	}
-
-	/**
-	 * Send when an existing view is about to be destroyed.
-	 */
-	protected void viewDestroying(DrawingView view) {
-	}
-
-	/**
-	 * @param view a DrawingView
-	 */
-	public void figureSelectionChanged(DrawingView view) {
-	}
-
-	/**
-	 * @return DrawingEditor associated with this command
-	 */
-	public DrawingEditor getDrawingEditor() {
-		return myDrawingEditor;
-	}
-
-	private void setDrawingEditor(DrawingEditor newDrawingEditor) {
-		myDrawingEditor = newDrawingEditor;
-	}
-
-	/**
-	 * Convenience method
-	 *
-	 * @return DrawingView currently active in the editor
-	 */
-	public DrawingView view() {
-		return getDrawingEditor().view();
-	}
-
-	/**
-	 * Gets the command name.
-	 */
-	public String name() {
-		return myName;
-	}
-
-	public void setName(String newName) {
-		myName = newName;
-	}
-
-	/**
-	 * Releases resources associated with this command
-	 */
-	public void dispose() {
-		if (view() != null) {
-			view().removeFigureSelectionListener(this);
-		}
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void execute() {
-		if (view() == null) {
-			throw new JHotDrawRuntimeException("execute should NOT be getting called when view() == null");
-		}
-	}
-
-	/**
-	 * Tests if the command can be executed. The view must be valid when this is
-	 * called. Per default, a command is executable if at
-	 * least one figure is selected in the current activated
-	 * view.
-	 */
-	public boolean isExecutable() {
-		// test whether there is a view required and whether an existing view
-		// accepts user input
-		if (isViewRequired()) {
-			if ((view() == null) || !view().isInteractive()) {
-				return false;
-			}
-		}
-		return isExecutableWithView();
-	}
-
-	protected boolean isViewRequired() {
-		return myIsViewRequired;
-	}
-
-	protected boolean isExecutableWithView() {
-		return true;
-	}
-
-	public Undoable getUndoActivity() {
-		return myUndoableActivity;
-	}
-
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		myUndoableActivity = newUndoableActivity;
-	}
-
-	public void addCommandListener(CommandListener newCommandListener) {
-		getEventDispatcher().addCommandListener(newCommandListener);
-	}
-
-	public void removeCommandListener(CommandListener oldCommandListener) {
-		getEventDispatcher().removeCommandListener(oldCommandListener);
-	}
-
-	private void setEventDispatcher(AbstractCommand.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractCommand.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	protected AbstractCommand.EventDispatcher createEventDispatcher() {
-		return new AbstractCommand.EventDispatcher(this);
-	}
-
-    protected ViewChangeListener createViewChangeListener() {
-        return new ViewChangeListener() {
-            public void viewSelectionChanged(DrawingView oldView, DrawingView newView){
-                AbstractCommand.this.viewSelectionChanged(oldView, newView);
-            }
-            public void viewCreated(DrawingView view){
-                AbstractCommand.this.viewCreated(view);
-            }
-            public void viewDestroying(DrawingView view){
-                AbstractCommand.this.viewDestroying(view);
-            }
-        };
-    }
-
-	public static class EventDispatcher {
-		private List myRegisteredListeners;
-		private Command myObservedCommand;
-
-		public EventDispatcher(Command newObservedCommand) {
-			myRegisteredListeners = CollectionsFactory.current().createList();
-			myObservedCommand = newObservedCommand;
-		}
-
-		public void fireCommandExecutedEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((CommandListener)iter.next()).commandExecuted(new EventObject(myObservedCommand));
-			}
-		}
-
-		public void fireCommandExecutableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((CommandListener)iter.next()).commandExecutable(new EventObject(myObservedCommand));
-			}
-		}
-
-		public void fireCommandNotExecutableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((CommandListener)iter.next()).commandNotExecutable(new EventObject(myObservedCommand));
-			}
-		}
-
-		public void addCommandListener(CommandListener newCommandListener) {
-			if (!myRegisteredListeners.contains(newCommandListener)) {
-				myRegisteredListeners.add(newCommandListener);
-			}
-		}
-
-		public void removeCommandListener(CommandListener oldCommandListener) {
-			if (myRegisteredListeners.contains(oldCommandListener)) {
-				myRegisteredListeners.remove(oldCommandListener);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractConnector.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractConnector.java
deleted file mode 100644
index b0c84d898..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractConnector.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)AbstractConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * AbstractConnector provides default implementation for
- * the Connector interface.
- *
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractConnector implements Connector {
-	/**
-	 * the owner of the connector
-	 */
-	private Figure      fOwner;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -5170007865562687545L;
-	private int abstractConnectorSerializedDataVersion = 1;
-
-	/**
-	 * Constructs a connector that has no owner. It is only
-	 * used internally to resurrect a connectors from a
-	 * StorableOutput. It should never be called directly.
-	 */
-	public AbstractConnector() {
-		fOwner = null;
-	}
-
-	/**
-	 * Constructs a connector with the given owner figure.
-	 */
-	public AbstractConnector(Figure owner) {
-		fOwner = owner;
-	}
-
-	/**
-	 * Gets the connector's owner.
-	 * Which is the figure this is attached too and NOT the connection it may be
-	 * attached too.
-	 *
-	 */
-	public Figure owner() {
-		return fOwner;
-	}
-
-	public Point findStart(ConnectionFigure connection) {
-		return findPoint(connection);
-	}
-
-	public Point findEnd(ConnectionFigure connection) {
-		return findPoint(connection);
-	}
-
-	/**
-	 * Gets the connection point. Override when the connector
-	 * does not need to distinguish between the start and end
-	 * point of a connection.
-	 */
-	protected Point findPoint(ConnectionFigure connection) {
-		return Geom.center(displayBox());
-	}
-
-	/**
-	 * Gets the display box of the connector.
-	 */
-	public Rectangle displayBox() {
-		return owner().displayBox();
-	}
-
-	/**
-	 * Tests if a point is contained in the connector.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return owner().containsPoint(x, y);
-	}
-
-	/**
-	 * Draws this connector. By default connectors are invisible.
-	 */
-	public void draw(Graphics g) {
-		// invisible by default
-	}
-
-	/**
-	 * Stores the connector and its owner to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeStorable(owner());
-	}
-
-	/**
-	 * Reads the connector and its owner from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		fOwner = (Figure)dr.readStorable();
-	}
-
-	/**
-	 * Requests that the connector should show itself or hide itself.  The
-	 * ConnectionFigure which desires to connect to this Connector is passed in.
-	 * It a connector should show itself it should do so when draw is called, if
-	 * so desired.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection) {
-		//invisible by default
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractFigure.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractFigure.java
deleted file mode 100644
index ceb9eb2b9..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractFigure.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * @(#)AbstractFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-import java.awt.*;
-import java.util.List;
-import java.io.*;
-
-/**
- * AbstractFigure provides default implementations for
- * the Figure interface.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld036.htm>Template Method</a></b><br>
- * Template Methods implement default and invariant behavior for
- * figure subclasses.
- * <hr>
- *
- * @see Figure
- * @see Handle
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractFigure implements Figure {
-
-	/**
-	 * The listeners for a figure's changes.
-	 * It is only one listener but this one can be a (chained) MultiCastFigureChangeListener
-	 * @see #invalidate
-	 * @see #changed
-	 * @see #willChange
-	 */
-	private transient FigureChangeListener fListener;
-
-	/**
-	 * The dependend figures which have been added to this container.
-	 */
-	private List myDependendFigures;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -10857585979273442L;
-	private int abstractFigureSerializedDataVersion = 1;
-	private int _nZ;
-
-	protected AbstractFigure() {
-		 myDependendFigures = CollectionsFactory.current().createList();
-	}
-
-	/**
-	 * Moves the figure by the given offset.
-	 */
-	public void moveBy(int dx, int dy) {
-		willChange();
-		basicMoveBy(dx, dy);
-		changed();
-	}
-
-	/**
-	 * Moves the figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #moveBy
-	 */
-	protected abstract void basicMoveBy(int dx, int dy);
-
-	/**
-	 * Changes the display box of a figure. Clients usually
-	 * call this method. It changes the display box
-	 * and announces the corresponding change.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void displayBox(Point origin, Point corner) {
-		willChange();
-		basicDisplayBox(origin, corner);
-		changed();
-	}
-
-	/**
-	 * Sets the display box of a figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #displayBox
-	 */
-	public abstract void basicDisplayBox(Point origin, Point corner);
-
-	/**
-	 * Gets the display box of a figure.
-	 */
-	public abstract Rectangle displayBox();
-
-	/**
-	 * Returns the handles of a Figure that can be used
-	 * to manipulate some of its attributes.
-	 * @return a type-safe iterator of handles
-	 * @see Handle
-	 */
-	public abstract HandleEnumeration handles();
-
-	/**
-	 * Returns an Enumeration of the figures contained in this figure.
-	 * @see CompositeFigure
-	 */
-	public FigureEnumeration figures() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Gets the size of the figure. A convenience method.
-	 */
-	public Dimension size() {
-		return new Dimension(displayBox().width, displayBox().height);
-	}
-
-	/**
-	 * Checks if the figure is empty. The default implementation returns
-	 * true if the width or height of its display box is < 3
-	 * @see Figure#isEmpty
-	 */
-	public boolean isEmpty() {
-		return (size().width < 3) || (size().height < 3);
-	}
-
-	/**
-	 * Returns the figure that contains the given point.
-	 * In contrast to containsPoint it returns its
-	 * innermost figure that contains the point.
-	 *
-	 * @see #containsPoint
-	 */
-	public Figure findFigureInside(int x, int y) {
-		if (containsPoint(x, y)) {
-			return this;
-		}
-		return null;
-	}
-
-	/**
-	 * Checks if a point is inside the figure.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return displayBox().contains(x, y);
-	}
-
-	/**
-	 * Changes the display box of a figure. This is a
-	 * convenience method. Implementors should only
-	 * have to override basicDisplayBox
-	 * @see #displayBox
-	 */
-	public void displayBox(Rectangle r) {
-		displayBox(new Point(r.x, r.y), new Point(r.x+r.width, r.y+r.height));
-	}
-
-	/**
-	 * Checks whether the given figure is contained in this figure.
-	 */
-	public boolean includes(Figure figure) {
-		return figure == this;
-	}
-
-	/**
-	 * Decomposes a figure into its parts. It returns a FigureEnumeration
-	 * that contains itself.
-	 * @return an Enumeration with itself as the only element.
-	 */
-	public FigureEnumeration decompose() {
-		List figures = CollectionsFactory.current().createList(1);
-		figures.add(this);
-		return new FigureEnumerator(figures);
-	}
-
-	/**
-	 * Sets the Figure's container and registers the container
-	 * as a figure change listener. A figure's container can be
-	 * any kind of FigureChangeListener. A figure is not restricted
-	 * to have a single container.
-	 */
-	public void addToContainer(FigureChangeListener c) {
-		addFigureChangeListener(c);
-		invalidate();
-	}
-
-	/**
-	 * Removes a figure from the given container and unregisters
-	 * it as a change listener.
-	 */
-	public void removeFromContainer(FigureChangeListener c) {
-		invalidate();
-		removeFigureChangeListener(c);
-	}
-
-	/**
-	 * Adds a listener for this figure.
-	 */
-	public synchronized void addFigureChangeListener(FigureChangeListener l) {
-		fListener = FigureChangeEventMulticaster.add(listener(), l);
-	}
-
-	/**
-	 * Removes a listener for this figure.
-	 */
-	public synchronized void removeFigureChangeListener(FigureChangeListener l) {
-		fListener = FigureChangeEventMulticaster.remove(listener(), l);
-	}
-
-	/**
-	 * Gets the figure's listners.
-	 */
-	public synchronized FigureChangeListener listener() {
-		return fListener;
-	}
-
-	/**
-	 * A figure is released from the drawing. You never call this
-	 * method directly. Release notifies its listeners.
-	 * @see Figure#release
-	 */
-	public void release() {
-		if (listener() != null) {
-			listener().figureRemoved(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Invalidates the figure. This method informs the listeners
-	 * that the figure's current display box is invalid and should be
-	 * refreshed.
-	 */
-	public void invalidate() {
-		if (listener() != null) {
-			Rectangle r = invalidateRectangle(displayBox());
-			listener().figureInvalidated(new FigureChangeEvent(this, r));
-		}
-	}
-
-	/**
-	 * Hook method to change the rectangle that will be invalidated
-	 */
-	protected Rectangle invalidateRectangle(Rectangle r) {
-		r.grow(Handle.HANDLESIZE, Handle.HANDLESIZE);
-		return r;
-	}
-
-	/**
-	 * Informes that a figure is about to change something that
-	 * affects the contents of its display box.
-	 *
-	 * @see Figure#willChange
-	 */
-	public void willChange() {
-		// call invalidate before the change occurs to invalidate the old display area
-		invalidate();
-	}
-
-	/**
-	 * Informs that a figure changed the area of its display box.
-	 *
-	 * @see FigureChangeEvent
-	 * @see Figure#changed
-	 */
-	public void changed() {
-		invalidate();
-		if (listener() != null) {
-			listener().figureChanged(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Gets the center of a figure. A convenice
-	 * method that is rarely overridden.
-	 */
-	public Point center() {
-		return Geom.center(displayBox());
-	}
-
-	/**
-	 * Checks if this figure can be connected. By default
-	 * AbstractFigures can be connected.
-	 */
-	public boolean canConnect() {
-		return true;
-	}
-
-	/**
-	 * Returns the connection inset. The connection inset
-	 * defines the area where the display box of a
-	 * figure can't be connected. By default the entire
-	 * display box can be connected.
-	 *
-	 */
-	public Insets connectionInsets() {
-		return new Insets(0, 0, 0, 0);
-	}
-
-	/**
-	 * Returns the Figures connector for the specified location.
-	 * By default a ChopBoxConnector is returned.
-	 * @see ChopBoxConnector
-	 */
-	public Connector connectorAt(int x, int y) {
-		return new ChopBoxConnector(this);
-	}
-
-	/**
-	 * Sets whether the connectors should be visible.
-	 * By default they are not visible
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure connector) {
-	}
-
-	/**
-	 * Returns the locator used to located connected text.
-	 */
-	public Locator connectedTextLocator(Figure text) {
-		return RelativeLocator.center();
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * By default figures don't have any attributes so getAttribute
-	 * returns null.
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return null;
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * By default figures don't have any attributes getAttribute
-	 * returns null.
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		return null;
-	}
-
-	/**
-	 * Sets the named attribute to the new value. By default
-	 * figures don't have any attributes and the request is ignored.
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-	}
-
-	/**
-	 * Sets the named attribute to the new value. By default
-	 * figures don't have any attributes and the request is ignored.
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-	}
-
-	/**
-	 * Clones a figure. Creates a clone by using the storable
-	 * mechanism to flatten the Figure to stream followed by
-	 * resurrecting it from the same stream.
-	 *
-	 * @see Figure#clone
-	 */
-	public Object clone() {
-		Object clone = null;
-		ByteArrayOutputStream output = new ByteArrayOutputStream(200);
-		try {
-			ObjectOutput writer = new ObjectOutputStream(output);
-			writer.writeObject(this);
-			writer.close();
-		}
-		catch (IOException e) {
-			System.err.println("Class not found: " + e);
-		}
-
-		InputStream input = new ByteArrayInputStream(output.toByteArray());
-		try {
-			ObjectInput reader = new ObjectInputStream(input);
-			clone = reader.readObject();
-		}
-		catch (IOException e) {
-			System.err.println(e.toString());
-		}
-		catch (ClassNotFoundException e) {
-			System.err.println("Class not found: " + e);
-		}
-		return clone;
-	}
-
-	/**
-	 * Stores the Figure to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-	}
-
-	/**
-	 * Reads the Figure from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-	}
-
-	/**
-	 * Gets the z value (back-to-front ordering) of this figure.
-	 */
-	public int getZValue() {
-	  return _nZ;
-	}
-
-	/**
-	 * Sets the z value (back-to-front ordering) of this figure.
-	 */
-	public void setZValue(int z) {
-	  _nZ = z;
-	}
-
-	public void visit(FigureVisitor visitor) {
-		// remember original listener as listeners might be changed by a visitor
-		// (e.g. by calling addToContainer() or removeFromContainer())
-		//FigureChangeListener originalListener = listener();
-		FigureEnumeration fe = getDependendFigures();
-
-		visitor.visitFigure(this);
-
-		FigureEnumeration visitFigures = figures();
-		while (visitFigures.hasNextFigure()) {
-			visitFigures.nextFigure().visit(visitor);
-		}
-
-		HandleEnumeration visitHandles = handles();
-		while (visitHandles.hasNextHandle()) {
-			visitor.visitHandle(visitHandles.nextHandle());
-		}
-/*
-		originalListener = listener();
-		if (originalListener != null) {
-			visitor.visitFigureChangeListener(originalListener);
-		}
-*/
-
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().visit(visitor);
-			// or visitor.visitDependendFigure(fe.nextFigure());
-		}
-	}
-
-	public synchronized FigureEnumeration getDependendFigures() {
-		return new FigureEnumerator(myDependendFigures);
-	}
-
-	public synchronized void addDependendFigure(Figure newDependendFigure) {
-		myDependendFigures.add(newDependendFigure);
-	}
-
-	public synchronized void removeDependendFigure(Figure oldDependendFigure) {
-		myDependendFigures.remove(oldDependendFigure);
-	}
-
-	public TextHolder getTextHolder() {
-		return null;
-	}
-
-	public Figure getDecoratedFigure() {
-		return this;
-	}	
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractHandle.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractHandle.java
deleted file mode 100644
index c901ea18f..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractHandle.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * @(#)AbstractHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * AbstractHandle provides defaulf implementation for the Handle interface.
- *
- * @see CH.ifa.draw.framework.Figure
- * @see CH.ifa.draw.framework.Handle
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractHandle implements Handle {
-
-	/**
-	 * The standard size of a handle.
-	 */
-	public static final int HANDLESIZE = 8;
-
-	private Figure fOwner;
-	private Undoable myUndoableActivity;
-	
-	/**
-	 * Constructor for <code>AbstractHandle</code>.
-	 * Initializes the owner of the figure.
-	 * @param owner
-	 */
-	public AbstractHandle(Figure owner) {
-		fOwner = owner;
-	}
-
-	/**
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 * @see CH.ifa.draw.framework.Handle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeStart(int x, int  y, DrawingView view) {
-		invokeStart(x, y, view.drawing());
-	}
-
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeStart(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStart(x, y, drawingView)
-	 */
-	public void invokeStart(int  x, int  y, Drawing drawing) { }
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		invokeStep(x-anchorX, y-anchorY, view.drawing());
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param dx x delta of this step
-	 * @param dy y delta of this step
-	 * @see CH.ifa.draw.framework.Handle#invokeStep(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStep(x, y, anchorX, anchorY, drawingView)
-	 */
-	public void invokeStep(int dx, int dy, Drawing drawing) { }
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		invokeEnd(x-anchorX, y-anchorY, view.drawing());
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @see CH.ifa.draw.framework.Handle#invokeEnd(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeEnd(x, y, anchorX, anchorY, drawingView).
-	 */
-	public void invokeEnd(int dx, int dy, Drawing drawing) { }
-
-	/**
-	 * Gets the handle's owner.
-	 * @see CH.ifa.draw.framework.Handle#owner()
-	 */
-	public Figure owner() {
-		return fOwner;
-	}
-
-	/**
-	 * Gets the display box of the handle.
-	 * @see CH.ifa.draw.framework.Handle#displayBox()
-	 */
-	public Rectangle displayBox() {
-		Point p = locate();
-		return new Rectangle(
-				p.x - HANDLESIZE / 2,
-				p.y - HANDLESIZE / 2,
-				HANDLESIZE,
-				HANDLESIZE);
-	}
-
-	/**
-	 * Tests if a point is contained in the handle.
-	 * @see CH.ifa.draw.framework.Handle#containsPoint(int, int)
-	 */
-	public boolean containsPoint(int x, int y) {
-		return displayBox().contains(x, y);
-	}
-
-	/**
-	 * Draws this handle.
-	 * @see CH.ifa.draw.framework.Handle#draw(java.awt.Graphics)
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.white);
-		g.fillRect(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getUndoActivity()
-	 */
-	public Undoable getUndoActivity() {
-		return myUndoableActivity;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 */
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		myUndoableActivity = newUndoableActivity;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		return new AWTCursor(AWTCursor.DEFAULT_CURSOR);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractLocator.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractLocator.java
deleted file mode 100644
index b9861b097..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractLocator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)AbstractLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-import java.io.IOException;
-
-
-/**
- * AbstractLocator provides default implementations for
- * the Locator interface.
- *
- * @see Locator
- * @see Handle
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractLocator implements Locator, Storable, Cloneable {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7742023180844048409L;
-
-	protected AbstractLocator() {
-	}
-
-	public Object clone() {
-		try {
-			return super.clone();
-		}
-		catch (CloneNotSupportedException e) {
-			throw new InternalError();
-		}
-	}
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AbstractTool.java b/JHotDraw/src/CH/ifa/draw/standard/AbstractTool.java
deleted file mode 100644
index 362ba8484..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AbstractTool.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*
- * @(#)AbstractTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseEvent;
-import java.util.EventObject;
-import java.util.Iterator;
-import java.util.List;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * Default implementation support for Tools.
- *
- * @see DrawingView
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public abstract class AbstractTool implements Tool {
-
-	private DrawingEditor     myDrawingEditor;
-
-	/**
-	 * The position of the initial mouse down.
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 */
-    private int myAnchorX;
-    private int myAnchorY;
-
-	/**
-	 * A tool can have a drawing view on which it operates
-	 * independingly of the currently active drawing view.
-	 * For example, if a tool can be used
-	 */
-	private DrawingView     myDrawingView;
-
-	private Undoable myUndoActivity;
-	private AbstractTool.EventDispatcher myEventDispatcher;
-
-	private boolean myIsUsable;
-
-	/**
-	 * Flag to indicate whether to perform usable checks or not
-	 */
-	private boolean myIsEnabled;
-
-	/**
-	 * Constructs a tool for the given view.
-	 */
-	public AbstractTool(DrawingEditor newDrawingEditor) {
-		setEditor(newDrawingEditor);
-		setEventDispatcher(createEventDispatcher());
-		setEnabled(true);
-		checkUsable();
-		editor().addViewChangeListener(createViewChangeListener());
-	}
-
-	/**
-	 * Activates the tool for use on the given view. This method is called
-	 * whenever the user switches to this tool. Use this method to
-	 * reinitialize a tool.
-	 * Since tools will be disabled unless it is useable, there will always
-	 * be an active view when this is called. based on isUsable()
-	 * Tool should never be activated if the view is null.
-	 * Ideally, the dditor should take care of that.
-	 */
-	public void activate() {
-		if (getActiveView() != null) {
-			getActiveView().clearSelection();
-			getActiveView().checkDamage();
-			getEventDispatcher().fireToolActivatedEvent();
-		}
-	}
-
-	/**
-	 * Deactivates the tool. This method is called whenever the user
-	 * switches to another tool. Use this method to do some clean-up
-	 * when the tool is switched. Subclassers should always call
-	 * super.deactivate.
-	 * An inactive tool should never be deactivated
-	 */
-	public void deactivate() {
-		if (isActive()) {
-			if (getActiveView() != null) {
-				getActiveView().setCursor(new AWTCursor(java.awt.Cursor.DEFAULT_CURSOR));
-			}
-			getEventDispatcher().fireToolDeactivatedEvent();
-		}
-	}
-
-	/**
-	 * Fired when the selected view changes.
-	 * Subclasses should always call super.  ViewSelectionChanged() this allows
-	 * the tools state to be updated and referenced to the new view.
-	 */
-	protected void viewSelectionChanged(DrawingView oldView, DrawingView newView) {
-		if (isActive()) {
-			deactivate();
-			activate();
-		}
-
-		checkUsable();
-	}
-
-	/**
-	 * Sent when a new view is created
-	 */
-	protected void viewCreated(DrawingView view) {
-	}
-
-	/**
-	 * Send when an existing view is about to be destroyed.
-	 */
-	protected void viewDestroying(DrawingView view) {
-	}
-
-	/**
-	 * Handles mouse down events in the drawing view.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-        setAnchorX(x);
-        setAnchorY(y);
-		setView((DrawingView)e.getSource());
-	}
-
-	/**
-	 * Handles mouse drag events in the drawing view.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Handles mouse up in the drawing view.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-//		setView(null);//This must be fixed!!! the view should not be held onto after mouse up??
-//unlike super.mousedown which is usually called immediately after a sub classes mouse down
-//method starts, super.mouseup should probably be called last before the method ends?
-//it must if its going to set the view to null.  getting messy.
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-	}
-
-	/**
-	 * Handles key down events in the drawing view.
-	 */
-	public void keyDown(KeyEvent evt, int key) {
-	}
-
-	/**
-	 * Gets the tool's drawing.
-	 */
-	public Drawing drawing() {
-		return view().drawing();
-	}
-
-	public Drawing getActiveDrawing() {
-	    return getActiveView().drawing();
-	}
-
-	/**
-	 * Gets the tool's editor.
-	 */
-	public DrawingEditor editor() {
-		return myDrawingEditor;
-	}
-
-	protected void setEditor(DrawingEditor newDrawingEditor) {
-		myDrawingEditor = newDrawingEditor;
-	}
-
-	/**
-	 * Gets the tool's view (convienence method).
-	 */
-	public DrawingView view() {
-		return myDrawingView;
-	}
-
-	protected void setView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-
-	public DrawingView getActiveView() {
-		return editor().view();
-	}
-
-	/**
-	 * Tests if the tool can be used or "executed."
-	 */
-	public boolean isUsable() {
-		return isEnabled() && myIsUsable;
-	}
-
-	public void setUsable(boolean newIsUsable) {
-		// perform notification only if the usable state of the tool has changed
-		if (isUsable() != newIsUsable) {
-			myIsUsable = newIsUsable;
-			if (isUsable()) {
-				getEventDispatcher().fireToolUsableEvent();
-			}
-			else {
-				getEventDispatcher().fireToolUnusableEvent();
-			}
-		}
-	}
-
-	public void setEnabled(boolean newIsEnabled) {
-		// perform notification only if the usable state of the tool has changed
-		if (isEnabled() != newIsEnabled) {
-			myIsEnabled = newIsEnabled;
-			if (isEnabled()) {
-				getEventDispatcher().fireToolEnabledEvent();
-			}
-			else {
-				getEventDispatcher().fireToolDisabledEvent();
-				setUsable(false);
-				deactivate();
-			}
-		}
-	}
-
-	public boolean isEnabled() {
-		return myIsEnabled;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 * @see #mouseDown
-	 */
-	protected void setAnchorX(int newAnchorX) {
-		myAnchorX = newAnchorX;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 *
-	 * @return the anchor X coordinate for the interaction
-	 * @see #mouseDown
-	 */
-	protected int getAnchorX() {
-		return myAnchorX;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 * @see #mouseDown
-	 */
-	protected void setAnchorY(int newAnchorY) {
-		myAnchorY = newAnchorY;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 *
-	 * @return the anchor Y coordinate for the interaction
-	 * @see #mouseDown
-	 */
-	protected int getAnchorY() {
-		return myAnchorY;
-	}
-
-	public Undoable getUndoActivity() {
-		return myUndoActivity;
-	}
-
-	public void setUndoActivity(Undoable newUndoActivity) {
-		myUndoActivity = newUndoActivity;
-	}
-
-	public boolean isActive() {
-		return (editor().tool() == this) && isUsable();
-	}
-
-	public void addToolListener(ToolListener newToolListener) {
-		getEventDispatcher().addToolListener(newToolListener);
-	}
-
-	public void removeToolListener(ToolListener oldToolListener) {
-		getEventDispatcher().removeToolListener(oldToolListener);
-	}
-
-	private void setEventDispatcher(AbstractTool.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractTool.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	protected AbstractTool.EventDispatcher createEventDispatcher() {
-		return new AbstractTool.EventDispatcher(this);
-	}
-
-    protected ViewChangeListener createViewChangeListener() {
-        return new ViewChangeListener() {
-            public void viewSelectionChanged(DrawingView oldView, DrawingView newView){
-	    		AbstractTool.this.viewSelectionChanged(oldView, newView);
-		    }
-    		public void viewCreated(DrawingView view){
-	    		AbstractTool.this.viewCreated(view);
-		    }
-    		public void viewDestroying(DrawingView view){
-	    		AbstractTool.this.viewDestroying(view);
-		    }
-        };
-    }
-
-	protected void checkUsable() {
-		if (isEnabled()) {
-			setUsable((getActiveView() != null) && getActiveView().isInteractive());
-		}
-	}
-
-	public static class EventDispatcher {
-		private List myRegisteredListeners;
-		private Tool myObservedTool;
-
-		public EventDispatcher(Tool newObservedTool) {
-			myRegisteredListeners = CollectionsFactory.current().createList();
-			myObservedTool = newObservedTool;
-		}
-
-		public void fireToolUsableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolUsable(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolUnusableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolUnusable(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolActivatedEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolActivated(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolDeactivatedEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolDeactivated(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolEnabledEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolEnabled(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolDisabledEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolDisabled(new EventObject(myObservedTool));
-			}
-		}
-
-		public void addToolListener(ToolListener newToolListener) {
-			if (!myRegisteredListeners.contains(newToolListener)) {
-				myRegisteredListeners.add(newToolListener);
-			}
-		}
-
-		public void removeToolListener(ToolListener oldToolListener) {
-			if (myRegisteredListeners.contains(oldToolListener)) {
-				myRegisteredListeners.remove(oldToolListener);
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ActionTool.java b/JHotDraw/src/CH/ifa/draw/standard/ActionTool.java
deleted file mode 100644
index 320ae5a3c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ActionTool.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)ActionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-
-import java.awt.event.MouseEvent;
-
-/**
- * A tool that performs an action when it is active and
- * the mouse is clicked.
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class ActionTool extends AbstractTool {
-
-	public ActionTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Add the touched figure to the selection an invoke action
-	 * @see #action
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		Figure target = drawing().findFigure(x, y);
-		if (target != null) {
-			view().addToSelection(target);
-			action(target);
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		editor().toolDone();
-	}
-
-	/**
-	 * Performs an action with the touched figure.
-	 */
-	public abstract void action(Figure figure);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/AlignCommand.java b/JHotDraw/src/CH/ifa/draw/standard/AlignCommand.java
deleted file mode 100644
index 80f39276d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/AlignCommand.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * @(#)AlignCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.util.*;
-import java.awt.*;
-
-/**
- * Align a selection of figures relative to each other.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class AlignCommand extends AbstractCommand {
-
-	public static abstract class Alignment {
-		/**
-		 * align left sides
-		 */
-		public final static Alignment LEFTS = new Alignment("Lefts") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(anchor.x-rr.x, 0);
-			}
-		};
-
-		/**
-		 * align centers (horizontally)
-		 */
-		public final static Alignment CENTERS = new Alignment("Centers") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy((anchor.x+anchor.width/2) - (rr.x+rr.width/2), 0);
-			}
-		};
-
-		/**
-		 * align right sides
-		 */
-		public final static Alignment RIGHTS = new Alignment("Rights") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy((anchor.x+anchor.width) - (rr.x+rr.width), 0);
-			}
-		};
-
-		/**
-		 * align tops
-		 */
-		public final static Alignment TOPS = new Alignment("Tops") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(0, anchor.y-rr.y);
-			}
-		};
-
-		/**
-		 * align middles (vertically)
-		 */
-		public final static Alignment MIDDLES = new Alignment("Middles") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(0, (anchor.y+anchor.height/2) - (rr.y+rr.height/2));
-			}
-		};
-
-		/**
-		 * align bottoms
-		 */
-		public final static Alignment BOTTOMS = new Alignment("Bottoms") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(0, (anchor.y+anchor.height) - (rr.y+rr.height));
-			}
-		};
-
-		private String myDescription;
-
-		private Alignment(String newDescription) {
-			setDescription(newDescription);
-		}
-
-		public String toString() {
-			return getDescription();
-		}
-
-		public String getDescription() {
-			return myDescription;
-		}
-
-		private void setDescription(String newDescription) {
-			myDescription = newDescription;
-		}
-
-		public abstract void moveBy(Figure f, Rectangle anchor);
-	}
-
-	private Alignment myAlignment;
-
-	/**
-	 * Constructs an alignment command.
-	 * @param newAlignment the alignment operation (LEFTS, CENTERS, RIGHTS, etc.)
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public AlignCommand(Alignment newAlignment, DrawingEditor newDrawingEditor) {
-		super(newAlignment.getDescription(), newDrawingEditor);
-		setAlignment(newAlignment);
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 1;
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		// get selected figures in the order the figures have been selected
-		getUndoActivity().setAffectedFigures(view().selection());
-		((AlignCommand.UndoActivity)getUndoActivity()).alignAffectedFigures(getAlignment());
-		view().checkDamage();
-	}
-
-	protected void setAlignment(Alignment newAlignment) {
-		myAlignment = newAlignment;
-	}
-
-	public Alignment getAlignment() {
-		return myAlignment;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new AlignCommand.UndoActivity(view(), getAlignment());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Hashtable myOriginalPoints;
-		private Alignment myAppliedAlignment;
-
-		public UndoActivity(DrawingView newView, Alignment newAlignment) {
-			super(newView);
-			myOriginalPoints = new Hashtable();
-			setAppliedAlignment(newAlignment);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				Point originalPoint = getOriginalPoint(f);
-				Point currentPoint = f.displayBox().getLocation();
-				// substract current lcoation to get to 0,0 and then move to original location
-				f.moveBy(-currentPoint.x + originalPoint.x,
-						 -currentPoint.y + originalPoint.y);
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			if (!isRedoable()) {
-				return false;
-			}
-			alignAffectedFigures(getAppliedAlignment());
-			return true;
-		}
-
-		protected void setAppliedAlignment(Alignment newAlignment) {
-			myAppliedAlignment = newAlignment;
-		}
-
-		public Alignment getAppliedAlignment() {
-			return myAppliedAlignment;
-		}
-
-		protected void addOriginalPoint(Figure f) {
-			myOriginalPoints.put(f, f.displayBox().getLocation());
-		}
-
-		public Point getOriginalPoint(Figure f) {
-			return (Point)myOriginalPoints.get(f);
-		}
-
-		public void alignAffectedFigures(Alignment applyAlignment) {
-			FigureEnumeration fe = getAffectedFigures();
-			Figure anchorFigure = fe.nextFigure();
-			Rectangle r = anchorFigure.displayBox();
-
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				applyAlignment.moveBy(f, r);
-			}
-		}
-
-		public void setAffectedFigures(FigureEnumeration fe) {
-			// first make copy of FigureEnumeration in superclass
-			super.setAffectedFigures(fe);
-			// then get new FigureEnumeration of copy to save aligment
-			FigureEnumeration copyFe = getAffectedFigures();
-			while (copyFe.hasNextFigure()) {
-				addOriginalPoint(copyFe.nextFigure());
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/BoxHandleKit.java b/JHotDraw/src/CH/ifa/draw/standard/BoxHandleKit.java
deleted file mode 100644
index d87f69ec5..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/BoxHandleKit.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * @(#)BoxHandleKit.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-import java.util.List;
-
-/**
- * A set of utility methods to create Handles for the common
- * locations on a figure's display box.
- *
- * @see Handle
- *
- * @version <$CURRENT_VERSION$>
- */
-
- // TBD: use anonymous inner classes (had some problems with JDK 1.1)
-
-public class BoxHandleKit {
-
-	/**
-	 * Fills the given collection with handles at each corner of a
-	 * figure.
-	 */
-	static public void addCornerHandles(Figure f, List handles) {
-		handles.add(southEast(f));
-		handles.add(southWest(f));
-		handles.add(northEast(f));
-		handles.add(northWest(f));
-	}
-
-	/**
-	 * Fills the given collection with handles at each corner
-	 * and the north, south, east, and west of the figure.
-	 */
-	static public void addHandles(Figure f, List handles) {
-		addCornerHandles(f, handles);
-		handles.add(south(f));
-		handles.add(north(f));
-		handles.add(east(f));
-		handles.add(west(f));
-	}
-
-	static public Handle south(Figure owner) {
-		return new SouthHandle(owner);
-	}
-
-	static public Handle southEast(Figure owner) {
-		return new SouthEastHandle(owner);
-	}
-
-	static public Handle southWest(Figure owner) {
-		return new SouthWestHandle(owner);
-	}
-
-	static public Handle north(Figure owner) {
-		return new NorthHandle(owner);
-	}
-
-	static public Handle northEast(Figure owner) {
-		return new NorthEastHandle(owner);
-	}
-
-	static public Handle northWest(Figure owner) {
-		return new NorthWestHandle(owner);
-	}
-
-	static public Handle east(Figure owner) {
-		return new EastHandle(owner);
-	}
-
-	static public Handle west(Figure owner) {
-		return new WestHandle(owner);
-	}
-}
-
-class ResizeHandle extends LocatorHandle {
-	ResizeHandle(Figure owner, Locator loc) {
-		super(owner, loc);
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((ResizeHandle.UndoActivity)getUndoActivity()).setOldDisplayBox(owner().displayBox());
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle oldDisplayBox = ((ResizeHandle.UndoActivity)getUndoActivity()).getOldDisplayBox();
-		if (owner().displayBox().equals(oldDisplayBox)) {
-			// display box hasn't change so there is nothing to undo
-			setUndoActivity(null);
-		}
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView view) {
-		return new ResizeHandle.UndoActivity(view);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Rectangle myOldDisplayBox;
-
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetDisplayBox();
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetDisplayBox();
-		}
-
-		private boolean resetDisplayBox() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			Figure currentFigure = fe.nextFigure();
-
-			Rectangle figureDisplayBox = currentFigure.displayBox();
-			currentFigure.displayBox(getOldDisplayBox());
-			setOldDisplayBox(figureDisplayBox);
-			return true;
-		}
-
-		protected void setOldDisplayBox(Rectangle newOldDisplayBox) {
-			myOldDisplayBox = newOldDisplayBox;
-		}
-
-		public Rectangle getOldDisplayBox() {
-			return myOldDisplayBox;
-		}
-	}
-}
-
-class NorthEastHandle extends ResizeHandle {
-	NorthEastHandle(Figure owner) {
-		super(owner, RelativeLocator.northEast());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, Math.min(r.y + r.height, y)),
-			new Point(Math.max(r.x, x), r.y + r.height)
-		);
-	}
-}
-
-class EastHandle extends ResizeHandle {
-	EastHandle(Figure owner) {
-		super(owner, RelativeLocator.east());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, r.y), new Point(Math.max(r.x, x), r.y + r.height)
-		);
-	}
-}
-
-class NorthHandle extends ResizeHandle {
-	NorthHandle(Figure owner) {
-		super(owner, RelativeLocator.north());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, Math.min(r.y + r.height, y)),
-			new Point(r.x + r.width, r.y + r.height)
-		);
-	}
-}
-
-class NorthWestHandle extends ResizeHandle {
-	NorthWestHandle(Figure owner) {
-		super(owner, RelativeLocator.northWest());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(Math.min(r.x + r.width, x), Math.min(r.y + r.height, y)),
-			new Point(r.x + r.width, r.y + r.height)
-		);
-	}
-}
-
-class SouthEastHandle extends ResizeHandle {
-	SouthEastHandle(Figure owner) {
-		super(owner, RelativeLocator.southEast());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, r.y),
-			new Point(Math.max(r.x, x), Math.max(r.y, y))
-		);
-	}
-}
-
-class SouthHandle extends ResizeHandle {
-	SouthHandle(Figure owner) {
-		super(owner, RelativeLocator.south());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, r.y),
-			new Point(r.x + r.width, Math.max(r.y, y))
-		);
-	}
-}
-
-class SouthWestHandle extends ResizeHandle {
-	SouthWestHandle(Figure owner) {
-		super(owner, RelativeLocator.southWest());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(Math.min(r.x + r.width, x), r.y),
-			new Point(r.x + r.width, Math.max(r.y, y))
-		);
-	}
-}
-
-class WestHandle extends ResizeHandle {
-	WestHandle(Figure owner) {
-		super(owner, RelativeLocator.west());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(Math.min(r.x + r.width, x), r.y),
-			new Point(r.x + r.width, r.y + r.height)
-		);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/BringToFrontCommand.java b/JHotDraw/src/CH/ifa/draw/standard/BringToFrontCommand.java
deleted file mode 100644
index 2b228c4c0..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/BringToFrontCommand.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * @(#)BringToFrontCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * BringToFrontCommand brings the selected figures in the front of
- * the other figures.
- *
- * @see SendToBackCommand
- * @version <$CURRENT_VERSION$>
- */
-public class BringToFrontCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a bring to front command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public BringToFrontCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selection());
-		FigureEnumeration fe = getUndoActivity().getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			view().drawing().bringToFront(fe.nextFigure());
-		}
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	protected Undoable createUndoActivity() {
-		return new BringToFrontCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends SendToBackCommand.UndoActivity {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-		}
-
-		protected void sendToCommand(Figure f) {
-			getDrawingView().drawing().bringToFront(f);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/BufferedUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/standard/BufferedUpdateStrategy.java
deleted file mode 100644
index d5e91a173..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/BufferedUpdateStrategy.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * @(#)BufferedUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * The BufferedUpdateStrategy implements an update
- * strategy that first draws a view into a buffer
- * followed by copying the buffer to the DrawingView.
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public class BufferedUpdateStrategy implements Painter {
-
-	/**
-	* The offscreen image
-	*/
-	transient private Image   fOffscreen;
-	private int     fImagewidth = -1;
-	private int     fImageheight = -1;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6489532222954612824L;
-	private int bufferedUpdateSerializedDataVersion = 1;
-
-	/**
-	* Draws the view contents.
-	*/
-	public void draw(Graphics g, DrawingView view) {
-		// create the buffer if necessary
-		Dimension d = view.getSize();
-		if ((fOffscreen == null) || (d.width != fImagewidth)
-			|| (d.height != fImageheight)) {
-			fOffscreen = view.createImage(d.width, d.height);
-			fImagewidth = d.width;
-			fImageheight = d.height;
-		}
-
-		// let the view draw on offscreen buffer
-		Graphics g2 = fOffscreen.getGraphics();
-		view.drawAll(g2);
-
-		g.drawImage(fOffscreen, 0, 0, view);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChangeAttributeCommand.java b/JHotDraw/src/CH/ifa/draw/standard/ChangeAttributeCommand.java
deleted file mode 100644
index 050f4b8fa..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChangeAttributeCommand.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)ChangeAttributeCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.util.Hashtable;
-
-/**
- * Command to change a named figure attribute.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ChangeAttributeCommand extends AbstractCommand {
-
-	private FigureAttributeConstant fAttribute;
-	private Object      fValue;
-
-	/**
-	 * Constructs a change attribute command.
-	 * @param name the command name
-	 * @param attribute the attribute to be changed
-	 * @param value the new attribute value
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public ChangeAttributeCommand(String name, FigureAttributeConstant attribute,
-						   Object value, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-		fAttribute = attribute;
-		fValue = value;
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selection());
-		FigureEnumeration fe = getUndoActivity().getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().setAttribute(fAttribute, fValue);
-		}
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new ChangeAttributeCommand.UndoActivity(view(), fAttribute, fValue);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private FigureAttributeConstant myUndoAttribute;
-		private Hashtable	            myOriginalValues;
-		private Object                  myUndoValue;
-
-		public UndoActivity(DrawingView newDrawingView, FigureAttributeConstant newUndoAttribute, Object newUndoValue) {
-			super(newDrawingView);
-			myOriginalValues = new Hashtable();
-			setAttribute(newUndoAttribute);
-			setBackupValue(newUndoValue);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				if (getOriginalValue(f) != null) {
-					f.setAttribute(getAttribute(), getOriginalValue(f));
-				}
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			if (!isRedoable()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				if (getBackupValue() != null) {
-					f.setAttribute(getAttribute(), getBackupValue());
-				}
-			}
-
-			return true;
-		}
-
-		protected void addOriginalValue(Figure affectedFigure, Object newOriginalValue) {
-			myOriginalValues.put(affectedFigure, newOriginalValue);
-		}
-
-		protected Object getOriginalValue(Figure lookupAffectedFigure) {
-			return myOriginalValues.get(lookupAffectedFigure);
-		}
-
-		protected void setAttribute(FigureAttributeConstant newUndoAttribute) {
-			myUndoAttribute = newUndoAttribute;
-		}
-
-		public FigureAttributeConstant getAttribute() {
-			return myUndoAttribute;
-		}
-
-		protected void setBackupValue(Object newUndoValue) {
-			myUndoValue = newUndoValue;
-		}
-
-		public Object getBackupValue() {
-			return myUndoValue;
-		}
-
-		public void release() {
-			super.release();
-			myOriginalValues = null;
-		}
-
-		public void setAffectedFigures(FigureEnumeration fe) {
-			// first make copy of FigureEnumeration in superclass
-			super.setAffectedFigures(fe);
-			// then get new FigureEnumeration of copy to save attributes
-			FigureEnumeration copyFe = getAffectedFigures();
-			while (copyFe.hasNextFigure()) {
-				Figure f = copyFe.nextFigure();
-				Object attributeValue = f.getAttribute(getAttribute());
-				if (attributeValue != null) {
-					addOriginalValue(f, attributeValue);
-				}
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionEndHandle.java b/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionEndHandle.java
deleted file mode 100644
index 191fe8507..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionEndHandle.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * @(#)ChangeConnectionEndHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Point;
-
-/**
- * A handle to reconnect the end point of
- * a connection to another figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChangeConnectionEndHandle extends ChangeConnectionHandle {
-
-	/**
-	 * Constructs the connection handle.
-	 */
-	public ChangeConnectionEndHandle(ConnectionFigure owner) {
-		super(owner);
-	}
-
-	/**
-	 * Gets the end figure of a connection.
-	 */
-	protected Connector target() {
-		return getConnection().getEndConnector();
-	}
-
-	/**
-	 * Disconnects the end figure.
-	 */
-	protected void disconnect() {
-		getConnection().disconnectEnd();
-	}
-
-	/**
-	 * Sets the end of the connection.
-	 */
-	protected void connect(Connector c) {
-		getConnection().connectEnd(c);
-	}
-
-	/**
-	 * Sets the end point of the connection.
-	 */
-	protected void setPoint(int x, int y) {
-		getConnection().endPoint(x, y);
-	}
-
-	/**
-	 * Returns the end point of the connection.
-	 */
-	public Point locate() {
-		return getConnection().endPoint();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new ChangeConnectionEndHandle.UndoActivity(newView);
-	}
-
-	public static class UndoActivity extends ChangeConnectionHandle.UndoActivity {
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-		}
-
-		protected Connector replaceConnector(ConnectionFigure connection) {
-			Connector tempEndConnector = connection.getEndConnector();
-			connection.connectEnd(getOldConnector());
-			return tempEndConnector;
-		}
-	}
-
-    protected boolean canConnectTo(Figure figure) {
-        return getConnection().canConnect(source().owner(), figure);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionHandle.java b/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionHandle.java
deleted file mode 100644
index c3586fd6c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionHandle.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * @(#)ChangeConnectionHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * ChangeConnectionHandle factors the common code for handles
- * that can be used to reconnect connections.
- *
- * @see ChangeConnectionEndHandle
- * @see ChangeConnectionStartHandle
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class ChangeConnectionHandle extends AbstractHandle {
-
-	private Connector         fOriginalTarget;
-	private Figure            myTarget;
-	private ConnectionFigure  myConnection;
-	private Point             fStart;
-
-	/**
-	 * Initializes the change connection handle.
-	 */
-	protected ChangeConnectionHandle(ConnectionFigure owner) {
-		super(owner);
-		setConnection(owner);
-		setTargetFigure(null);
-	}
-
-	/**
-	 * Returns the target connector of the change.
-	 */
-	protected abstract Connector target();
-
-	/**
-	 * Disconnects the connection.
-	 */
-	protected abstract void disconnect();
-
-	/**
-	 * Connect the connection with the given figure.
-	 */
-	protected abstract void connect(Connector c);
-
-	/**
-	 * Sets the location of the target point.
-	 */
-	protected abstract void setPoint(int x, int y);
-
-	/**
-	 * Gets the side of the connection that is unaffected by
-	 * the change.
-	 */
-	protected Connector source() {
-		if (target() == getConnection().getStartConnector()) {
-			return getConnection().getEndConnector();
-		}
-		return getConnection().getStartConnector();
-	}
-
-	/**
-	 * Disconnects the connection.
-	 */
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		fOriginalTarget = target();
-		fStart = new Point(x, y);
-
-		setUndoActivity(createUndoActivity(view));
-		((ChangeConnectionHandle.UndoActivity)getUndoActivity()).setOldConnector(target());
-
-		disconnect();
-	}
-
-	/**
-	 * Finds a new target of the connection.
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point p = new Point(x, y);
-		Figure f = findConnectableFigure(x, y, view.drawing());
-		// track the figure containing the mouse
-		if (f != getTargetFigure()) {
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(false, null);
-			}
-			setTargetFigure(f);
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(true, getConnection());
-			}
-		}
-
-		Connector target = findConnectionTarget(p.x, p.y, view.drawing());
-		if (target != null) {
-			p = Geom.center(target.displayBox());
-		}
-		setPoint(p.x, p.y);
-	}
-
-	/**
-	 * Connects the figure to the new target. If there is no
-	 * new target the connection reverts to its original one.
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Connector target = findConnectionTarget(x, y, view.drawing());
-		if (target == null) {
-			target = fOriginalTarget;
-		}
-
-		setPoint(x, y);
-		connect(target);
-		getConnection().updateConnection();
-
-		Connector oldConnector = ((ChangeConnectionHandle.UndoActivity)
-			getUndoActivity()).getOldConnector();
-		// there has been no change so there is nothing to undo
-		if ((oldConnector == null)
-				|| (target() == null)
-				|| (oldConnector.owner() == target().owner())) {
-			setUndoActivity(null);
-		}
-		else {
-			getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getConnection()));
-		}
-
-		if (getTargetFigure() != null) {
-			getTargetFigure().connectorVisibility(false, null);
-			setTargetFigure(null);
-		}
-	}
-
-	private Connector findConnectionTarget(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-
-		if ((target != null)
-			&& target.canConnect()
-			 && target != fOriginalTarget
-			 && !target.includes(owner())
-            /*
-    		 * JP, 25-May-03: Fix for ignored direction when checking
-    		 * connectability. Old version didn't take direction of
-             * connection into account, which could result in incorrect
-             * drawing if syntax rules were a concern.
-             * 
-             * See also new canConnectTo() method below.
-             * 
-             * Was:
-             * 
-    		 * && getConnection().canConnect(source().owner(), target)) {
-    		 */
-			&& canConnectTo(target)) {
-				return findConnector(x, y, target);
-		}
-		return null;
-	}
-
-    /**
-     * Called to check whether this end of the connection can connect to the
-     * given target figure. Needs to be overriden by the start and end changers
-     * to take the connection's direction into account during the check. JHD 5.4
-     * beta and before did not do this.
-     */
-    protected abstract boolean canConnectTo(Figure figure);
-    
-	protected Connector findConnector(int x, int y, Figure f) {
-		return f.connectorAt(x, y);
-	}
-
-	/**
-	 * Draws this handle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.green);
-		g.fillRect(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-	private Figure findConnectableFigure(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (!figure.includes(getConnection()) && figure.canConnect()) {
-				if (figure.containsPoint(x, y)) {
-					return figure;
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected void setConnection(ConnectionFigure newConnection) {
-		myConnection = newConnection;
-	}
-	
-	protected ConnectionFigure getConnection() {
-		return myConnection;
-	}
-	
-	protected void setTargetFigure(Figure newTarget) {
-		myTarget = newTarget;
-	}
-	
-	protected Figure getTargetFigure() {
-		return myTarget;
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected abstract Undoable createUndoActivity(DrawingView newView);
-	
-	public static abstract class UndoActivity extends UndoableAdapter {
-		private Connector myOldConnector;
-		
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			swapConnectors();
-			return true;
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			swapConnectors();
-			return true;
-		}
-
-		private void swapConnectors() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (fe.hasNextFigure()) {
-				ConnectionFigure connection = (ConnectionFigure)fe.nextFigure();
-				setOldConnector(replaceConnector(connection));
-				connection.updateConnection();
-			}
-		}
-
-		protected abstract Connector replaceConnector(ConnectionFigure connection);
-				
-		public void setOldConnector(Connector newOldConnector) {
-			myOldConnector = newOldConnector;
-		}
-		
-		public Connector getOldConnector() {
-			return myOldConnector;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionStartHandle.java b/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionStartHandle.java
deleted file mode 100644
index 8b15e185e..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChangeConnectionStartHandle.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * @(#)ChangeConnectionStartHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Undoable;
-import java.awt.Point;
-
-/**
- * Handle to reconnect the
- * start of a connection to another figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChangeConnectionStartHandle extends ChangeConnectionHandle {
-
-	/**
-	 * Constructs the connection handle for the given start figure.
-	 */
-	public ChangeConnectionStartHandle(ConnectionFigure owner) {
-		super(owner);
-	}
-
-	/**
-	 * Gets the start figure of a connection.
-	 */
-	protected Connector target() {
-		return getConnection().getStartConnector();
-	}
-
-	/**
-	 * Disconnects the start figure.
-	 */
-	protected void disconnect() {
-		getConnection().disconnectStart();
-	}
-
-	/**
-	 * Sets the start of the connection.
-	 */
-	protected void connect(Connector c) {
-		getConnection().connectStart(c);
-	}
-
-	/**
-	 * Sets the start point of the connection.
-	 */
-	protected void setPoint(int x, int y) {
-		getConnection().startPoint(x, y);
-	}
-
-	/**
-	 * Returns the start point of the connection.
-	 */
-	public Point locate() {
-		return getConnection().startPoint();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new ChangeConnectionStartHandle.UndoActivity(newView);
-	}
-
-	public static class UndoActivity extends ChangeConnectionHandle.UndoActivity {
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-		}
-		
-		protected Connector replaceConnector(ConnectionFigure connection) {
-			Connector tempStartConnector = connection.getStartConnector();
-			connection.connectStart(getOldConnector());
-			return tempStartConnector;
-		}
-	}
-    
-    protected boolean canConnectTo(Figure figure) {
-        return getConnection().canConnect(figure, source().owner());
-}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ChopBoxConnector.java b/JHotDraw/src/CH/ifa/draw/standard/ChopBoxConnector.java
deleted file mode 100644
index 2a2312fe2..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ChopBoxConnector.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)ChopBoxConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-
-/**
- * A ChopBoxConnector locates connection points by
- * choping the connection between the centers of the
- * two figures at the display box.
- *
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChopBoxConnector extends AbstractConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -1461450322712345462L;
-
-	public ChopBoxConnector() { // only used for Storable implementation
-	}
-
-	public ChopBoxConnector(Figure owner) {
-		super(owner);
-	}
-
-	public Point findStart(ConnectionFigure connection) {
-		Figure startFigure = connection.getStartConnector().owner();
-		Rectangle r2 = connection.getEndConnector().displayBox();
-		Point r2c = null;
-
-		if (connection.pointCount() == 2) {
-			r2c = new Point(r2.x + r2.width/2, r2.y + r2.height/2);
-		 }
-		 else {
-			r2c = connection.pointAt(1);
-		}
-
-		return chop(startFigure, r2c);
-	}
-
-	public Point findEnd(ConnectionFigure connection) {
-		Figure endFigure = connection.getEndConnector().owner();
-		Rectangle r1 = connection.getStartConnector().displayBox();
-		Point r1c = null;
-
-		if (connection.pointCount() == 2) {
-			r1c = new Point(r1.x + r1.width/2, r1.y + r1.height/2);
-		}
-		else {
-			r1c = connection.pointAt(connection.pointCount()-2);
-		}
-
-		return chop(endFigure, r1c);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		Rectangle r = target.displayBox();
-		return Geom.angleToPoint(r, (Geom.pointToAngle(r, from)));
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/CompositeFigure.java b/JHotDraw/src/CH/ifa/draw/standard/CompositeFigure.java
deleted file mode 100644
index f6fca82c8..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/CompositeFigure.java
+++ /dev/null
@@ -1,734 +0,0 @@
-/*
- * @(#)CompositeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.*;
-
-/**
- * A Figure that is composed of several figures. A CompositeFigure
- * doesn't define any layout behavior. It is up to subclassers to
- * arrange the contained figures.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld012.htm>Composite</a></b><br>
- * CompositeFigure enables to treat a composition of figures like
- * a single figure.<br>
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public abstract class CompositeFigure
-				extends AbstractFigure
-				implements FigureChangeListener {
-
-	/**
-	 * The figures that this figure is composed of
-	 * @see #add
-	 * @see #remove
-	 */
-	protected List fFigures;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 7408153435700021866L;
-	private int compositeFigureSerializedDataVersion = 1;
-	private transient QuadTree  _theQuadTree;
-	protected int _nLowestZ;
-	protected int _nHighestZ;
-
-	protected CompositeFigure() {
-		fFigures = CollectionsFactory.current().createList();
-		_nLowestZ = 0;
-		_nHighestZ = 0;
-	}
-
-	/**
-	 * Adds a figure to the list of figures. Initializes the
-	 * the figure's container.
-	 *
-	 * @param figure to be added to the drawing
-	 * @return the figure that was inserted (might be different from the figure specified).
-	 */
-	public Figure add(Figure figure) {
-		if (!containsFigure(figure)) {
-			figure.setZValue(++_nHighestZ);
-			fFigures.add(figure);
-			figure.addToContainer(this);
-			_addToQuadTree(figure);
-		}
-		return figure;
-	}
-
-	/**
-	 * Adds a list of figures.
-	 *
-	 * @see #add
-	 * @deprecated use addAll(FigureEnumeration) instead
-	 */
-	public void addAll(List newFigures) {
-		addAll(new FigureEnumerator(newFigures));
-	}
-
-	/**
-	 * Adds a FigureEnumeration of figures.
-	 *
-	 * @see #add
-	 * @param fe (unused) enumeration containing all figures to be added
-	 */
-	public void addAll(FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			add(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Removes a figure from the composite.
-	 *
-	 * @param figure that is part of the drawing and should be removed
-	 * @return the figure that has been removed (might be different from the figure specified)
-	 * @see #removeAll
-	 */
-	public Figure remove(Figure figure) {
-		Figure orphanedFigure = orphan(figure);
-		if (orphanedFigure != null) {
-			orphanedFigure.release();
-		}
-		return orphanedFigure;
-	}
-
-	/**
-	 * Removes a list of figures.
-	 *
-	 * @see #remove
-	 * @deprecated use removeAll(FigureEnumeration) instead
-	 */
-	public void removeAll(List figures) {
-		removeAll(new FigureEnumerator(figures));
-	}
-
-	/**
-	 * Removes a FigureEnumeration of figures.
-	 * @see #remove
-	 */
-	public void removeAll(FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			remove(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Removes all children.
-	 * @see #remove
-	 */
-	public void removeAll() {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure.removeFromContainer(this);
-		}
-		fFigures.clear();
-
-		_clearQuadTree();
-		_nLowestZ = 0;
-		_nHighestZ = 0;
-	}
-
-	/**
-	 * Removes a figure from the figure list, but
-	 * doesn't release it. Use this method to temporarily
-	 * manipulate a figure outside of the drawing.
-	 *
-	 * @param figure that is part of the drawing and should be added
-	 */
-	public synchronized Figure orphan(Figure figure) {
-		figure.removeFromContainer(this);
-		fFigures.remove(figure);
-		_removeFromQuadTree(figure);
-		return figure;
-	}
-
-	/**
-	 * Removes a list of figures from the figure's list
-	 * without releasing the figures.
-	 *
-	 * @see #orphan
-	 * @deprecated use orphanAll(FigureEnumeration) instead
-	 */
-	public void orphanAll(List newFigures) {
-		orphanAll(new FigureEnumerator(newFigures));
-	}
-
-	public void orphanAll(FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			orphan(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Replaces a figure in the drawing without
-	 * removing it from the drawing.
-	 *
-	 * @param figure figure to be replaced
-	 * @param replacement figure that should replace the specified figure
-	 * @return the figure that has been inserted (might be different from the figure specified)
-	 */
-	public synchronized Figure replace(Figure figure, Figure replacement) {
-		int index = fFigures.indexOf(figure);
-		if (index != -1) {
-			replacement.setZValue(figure.getZValue());
-			replacement.addToContainer(this);   // will invalidate figure
-			figure.removeFromContainer(this);
-			fFigures.set(index, replacement);
-			figure.changed();
-			replacement.changed();
-		}
-		return replacement;
-	}
-
-	/**
-	 * Sends a figure to the back of the drawing.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public synchronized void sendToBack(Figure figure) {
-		if (containsFigure(figure)) {
-			fFigures.remove(figure);
-			fFigures.add(0, figure);
-			_nLowestZ--;
-			figure.setZValue(_nLowestZ);
-			figure.changed();
-		}
-	}
-
-	/**
-	 * Brings a figure to the front.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public synchronized void bringToFront(Figure figure) {
-		if (containsFigure(figure)) {
-			fFigures.remove(figure);
-			fFigures.add(figure);
-			_nHighestZ++;
-			figure.setZValue(_nHighestZ);
-			figure.changed();
-		}
-	}
-
-	/**
-	 * Sends a figure to a certain layer within a drawing. Each figure
-	 * lays in a unique layer and the layering order decides which
-	 * figure is drawn on top of another figure. Figures with a higher
-	 * layer number have usually been added later and may overlay
-	 * figures in lower layers. Layers are counted from to (the number
-	 * of figures - 1).
-	 * The figure is removed from its current layer (if it has been already
-	 * part of this drawing) and is transferred to the specified layers after
-	 * all figures between the original layer and the new layer are shifted to
-	 * one layer below to fill the layer sequence. It is not possible to skip a
-	 * layer number and if the figure is sent to a layer beyond the latest layer
-	 * it will be added as the last figure to the drawing and its layer number
-	 * will be set to the be the one beyond the latest layer so far.
-	 *
-	 * @param figure figure to be sent to a certain layer
-	 * @param layerNr target layer of the figure
-	 */
-	public void sendToLayer(Figure figure, int layerNr) {
-		if (containsFigure(figure)) {
-			if (layerNr >= fFigures.size()) {
-				layerNr = fFigures.size() - 1;
-			}
-			Figure layerFigure = getFigureFromLayer(layerNr);
-			int layerFigureZValue = layerFigure.getZValue();
-			int figureLayer = getLayer(figure);
-			// move figure forward
-			if (figureLayer < layerNr) {
-				assignFiguresToPredecessorZValue(figureLayer + 1, layerNr);
-			}
-			else if (figureLayer > layerNr) {
-				assignFiguresToSuccessorZValue(layerNr, figureLayer - 1);
-			}
-
-			fFigures.remove(figure);
-			fFigures.add(layerNr, figure);
-			figure.setZValue(layerFigureZValue);
-			figure.changed();
-		}
-	}
-
-	private void assignFiguresToPredecessorZValue(int lowerBound, int upperBound) {
-		// cannot shift figures to a lower layer if the lower bound is
-		// already the first layer.
-		if (upperBound >= fFigures.size()) {
-			upperBound = fFigures.size() - 1;
-		}
-
-		for (int i = upperBound; i >= lowerBound; i--) {
-			Figure currentFigure = (Figure)fFigures.get(i);
-			Figure predecessorFigure = (Figure)fFigures.get(i - 1);
-			currentFigure.setZValue(predecessorFigure.getZValue());
-		}
-	}
-
-	private void assignFiguresToSuccessorZValue(int lowerBound, int upperBound) {
-		if (upperBound >= fFigures.size()) {
-			upperBound = fFigures.size() - 1;
-		}
-
-		for (int i = upperBound; i >= lowerBound; i--) {
-			Figure currentFigure = (Figure)fFigures.get(i);
-			Figure successorFigure = (Figure)fFigures.get(i + 1);
-			currentFigure.setZValue(successorFigure.getZValue());
-		}
-	}
-
-	/**
-	 * Gets the layer for a certain figure (first occurrence). The number
-	 * returned is the number of the layer in which the figure is placed.
-	 *
-	 * @param figure figure to be queried for its layering place
-	 * @return number of the layer in which the figure is placed and -1 if the
-	 *			figure could not be found.
-	 * @see #sendToLayer
-	 */
-	public int getLayer(Figure figure) {
-		if (!containsFigure(figure)) {
-			return -1;
-		}
-		else {
-			return fFigures.indexOf(figure);
-		}
-	}
-
-	/**
-	 * Gets the figure from a certain layer.
-	 *
-	 * @param layerNr number of the layer which figure should be returned
-	 * @return figure from the layer specified, null, if the layer nr was outside
-	 *			the number of possible layer (0...(number of figures - 1))
-	 * @see #sendToLayer
-	 */
-	public Figure getFigureFromLayer(int layerNr) {
-		if ((layerNr >= 0) && (layerNr < fFigures.size())) {
-			return (Figure)fFigures.get(layerNr);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Draws all the contained figures
-	 * @see Figure#draw
-	 */
-	public void draw(Graphics g) {
-		draw(g, figures());
-	}
-
-	/**
-	 * Draws only the given figures
-	 * @see Figure#draw
-	 */
-	public void draw(Graphics g, FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().draw(g);
-		}
-	}
-
-	/**
-	 * Gets a figure at the given index.
-	 */
-	public Figure figureAt(int i) {
-		return (Figure)fFigures.get(i);
-	}
-
-	/**
-	 * Returns an Enumeration for accessing the contained figures.
-     * The enumeration is a snapshot of the current contained figures
-     * and is not a "live" enumeration and does not take subsequent
-     * changes of the CompositeFigure into account.
-	 * The figures are returned in the drawing order.
-	 */
-	public FigureEnumeration figures() {
-		return new FigureEnumerator(CollectionsFactory.current().createList(fFigures));
-	}
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order back to front over the figures
-	 * that lie within the given bounds.
-	 */
-	public FigureEnumeration figures(Rectangle viewRectangle) {
-		if (_theQuadTree != null) {
-
-			FigureEnumeration fe =
-				_theQuadTree.getAllWithin(new Bounds(viewRectangle).asRectangle2D());
-
-			List l2 = CollectionsFactory.current().createList();
-
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				//int z = fFigures.indexOf(f);
-				l2.add(new OrderedFigureElement(f, f.getZValue()));
-			}
-
-			Collections.sort(l2);
-
-			List l3 = CollectionsFactory.current().createList();
-
-			for (Iterator iter = l2.iterator(); iter.hasNext(); ) {
-				OrderedFigureElement ofe = (OrderedFigureElement)iter.next();
-				l3.add(ofe.getFigure());
-			}
-
-			return new FigureEnumerator(l3);
-		}
-
-		return figures();
-	}
-
-	/**
-	 * Gets number of child figures.
-	 */
-	public int figureCount() {
-		return fFigures.size();
-	}
-
-	/**
-	 * Check whether a given figure is a child figure of this CompositeFigure.
-	 */
-	public boolean containsFigure(Figure checkFigure) {
-		return fFigures.contains(checkFigure);
-	}
-
-    /**
-	 * Returns an Enumeration for accessing the contained figures
-	 * in the reverse drawing order.
-	 */
-	public final FigureEnumeration figuresReverse() {
-		return new ReverseFigureEnumerator(CollectionsFactory.current().createList(fFigures));
-	}
-
-	/**
-	 * Finds a top level Figure. Use this call for hit detection that
-	 * should not descend into the figure's children.
-	 */
-	public Figure findFigure(int x, int y) {
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure.containsPoint(x, y)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 */
-	public Figure findFigure(Rectangle r) {
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			Rectangle fr = figure.displayBox();
-			if (r.intersects(fr)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a top level Figure, but supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 * @param x the x coordinate
-	 * @param y the y coordinate
-	 * @param without the figure to be ignored during
-	 * the find.
-	 */
-	public Figure findFigureWithout(int x, int y, Figure without) {
-		if (without == null) {
-			return findFigure(x, y);
-		}
-
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure.containsPoint(x, y) && !figure.includes(without)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 * It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 */
-	public Figure findFigure(Rectangle r, Figure without) {
-		if (without == null) {
-			return findFigure(r);
-		}
-
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			Rectangle fr = figure.displayBox();
-			if (r.intersects(fr) && !figure.includes(without)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. Use this method to implement <i>click-through</i>
-	 * hit detection, that is, you want to detect the inner most
-	 * figure containing the given point.
-	 */
-	public Figure findFigureInside(int x, int y) {
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure().findFigureInside(x, y);
-			if (figure != null) {
-				return figure;
-			}
-		}
-
-		// bug-fix: 661878
-		if (containsPoint(x, y)) {
-			return this;
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 */
-	public Figure findFigureInsideWithout(int x, int y, Figure without) {
-		if (without == null) {
-			return findFigureInside(x, y);
-		}
-
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure != without) {
-				Figure found = figure.findFigureInside(x, y);
-				if ((found != null) &&  !figure.includes(without)) {
-					return found;
-				}
-			}
-		}
-
-		if (containsPoint(x, y)) {
-			return this;
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Checks if the composite figure has the argument as one of
-	 * its children.
-	 * @return true if the figure is part of this CompositeFigure, else otherwise
-	 */
-	public boolean includes(Figure figure) {
-		if (super.includes(figure)) {
-			return true;
-		}
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			if (f.includes(figure)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Moves all the given figures by x and y. Doesn't announce
-	 * any changes. Subclassers override
-	 * basicMoveBy. Clients usually call moveBy.
-	 * @see #moveBy
-	 */
-	protected void basicMoveBy(int x, int y) {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().moveBy(x,y);
-		}
-	}
-
-	/**
-	 * Releases the figure and all its children.
-	 */
-	public void release() {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure.release();
-		}
-		// bug-fix: 661879 (CompositeFigure.release releasing itself before containees)
-		super.release();
-	}
-
-	/**
-	 * Propagates the figureInvalidated event to my listener.
-	 * @see FigureChangeListener
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureInvalidated(e);
-		}
-	}
-
-	/**
-	 * Propagates the removeFromDrawing request up to the container.
-	 * @see FigureChangeListener
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestRemove(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Propagates the requestUpdate request up to the container.
-	 * @see FigureChangeListener
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestUpdate(e);
-		}
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		_removeFromQuadTree(e.getFigure());
-		_addToQuadTree(e.getFigure());
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRemoved(e);
-		}
-	}
-
-	/**
-	 * Writes the contained figures to the StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(figureCount());
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			dw.writeStorable(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Reads the contained figures from StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		int size = dr.readInt();
-		fFigures = CollectionsFactory.current().createList(size);
-		for (int i=0; i<size; i++) {
-			add((Figure)dr.readStorable());
-		}
-		init(displayBox());
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure.addToContainer(this);
-		}
-
-		init(new Rectangle(0, 0));
-	}
-
-	/**
-	 * Used to optimize rendering.  Rendering of many objects may
-	 * be slow until this method is called.  The view rectangle
-	 * should at least approximately enclose the CompositeFigure.
-	 * If the view rectangle is too small or too large, performance
-	 * may suffer.
-	 *
-	 * Don't forget to call this after loading or creating a
-	 * new CompositeFigure.  If you forget, drawing performance may
-	 * suffer.
-	 */
-	public void init(Rectangle viewRectangle) {
-		_theQuadTree = new QuadTree(new Bounds(viewRectangle).asRectangle2D());
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			_addToQuadTree(fe.nextFigure());
-		}
-	}
-
-	private void _addToQuadTree(Figure f) {
-		if (_theQuadTree != null) {
-			// Bugfix: Make sure the rectangle is not zero width or height.
-			// Otherwise, the quadTree search in this.figures(Rectangle)
-			// will be incorrect. [John Yu, 2002/05/23]
-			Rectangle r = f.displayBox();
-			if (r.height == 0) {
-				r.grow(0, 1);
-			}
-			if (r.width == 0) {
-				r.grow(1, 0);
-			}
-
-			_theQuadTree.add(f, new Bounds(r).asRectangle2D());
-		}
-	}
-
-	private void _removeFromQuadTree(Figure f) {
-		if (_theQuadTree != null) {
-			_theQuadTree.remove(f);
-		}
-	}
-
-	private void _clearQuadTree() {
-		if (_theQuadTree != null) {
-			_theQuadTree.clear();
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ConnectionHandle.java b/JHotDraw/src/CH/ifa/draw/standard/ConnectionHandle.java
deleted file mode 100644
index 3cad43609..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ConnectionHandle.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * @(#)ConnectionHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.util.Vector;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * A handle to connect figures.
- * The connection object to be created is specified by a prototype.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld029.htm>Prototype</a></b><br>
- * ConnectionHandle creates the connection by cloning a prototype.
- * <hr>
- *
- * @see ConnectionFigure
- * @see Object#clone
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ConnectionHandle extends LocatorHandle {
-
-	/**
-	 * the currently created connection
-	 */
-	private ConnectionFigure myConnection;
-
-	/**
-	 * the prototype of the connection to be created
-	 */
-	private ConnectionFigure fPrototype;
-
-	/**
-	 * the current target
-	 */
-	private Figure myTargetFigure;
-
-	/**
-	 * Constructs a handle with the given owner, locator, and connection prototype
-	 */
-	public ConnectionHandle(Figure owner, Locator l, ConnectionFigure prototype) {
-		super(owner, l);
-		fPrototype = prototype;
-	}
-
-	/**
-	 * Creates the connection
-	 */
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setConnection(createConnection());
-
-		setUndoActivity(createUndoActivity(view));
-		Vector v = new Vector();
-		v.add(getConnection());
-		getUndoActivity().setAffectedFigures(new FigureEnumerator(v));
-
-		Point p = locate();
-		getConnection().startPoint(p.x, p.y);
-		getConnection().endPoint(p.x, p.y);
-		view.drawing().add(getConnection());
-	}
-
-	/**
-	 * Tracks the connection.
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point p = new Point(x,y);
-		Figure f = findConnectableFigure(x, y, view.drawing());
-		// track the figure containing the mouse
-		if (f != getTargetFigure()) {
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(false, null);
-			}
-			setTargetFigure(f);
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(true, getConnection());
-			}
-		}
-
-		Connector target = findConnectionTarget(p.x, p.y, view.drawing());
-		if (target != null) {
-			p = Geom.center(target.displayBox());
-		}
-		getConnection().endPoint(p.x, p.y);
-	}
-
-	/**
-	 * Connects the figures if the mouse is released over another
-	 * figure.
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Connector target = findConnectionTarget(x, y, view.drawing());
-		if (target != null) {
-			getConnection().connectStart(startConnector());
-			getConnection().connectEnd(target);
-			getConnection().updateConnection();
-		}
-		else {
-			view.drawing().remove(getConnection());
-			setUndoActivity(null);
-		}
-		setConnection(null);
-		if (getTargetFigure() != null) {
-			getTargetFigure().connectorVisibility(false, null);
-			setTargetFigure(null);
-		}
-	}
-
-	private Connector startConnector() {
-		Point p = locate();
-		return owner().connectorAt(p.x, p.y);
-	}
-
-	/**
-	 * Creates the ConnectionFigure. By default the figure prototype is
-	 * cloned.
-	 */
-	protected ConnectionFigure createConnection() {
-		return (ConnectionFigure)fPrototype.clone();
-	}
-
-	/**
-	 * Factory method for undo activity.
-	 */
-	protected Undoable createUndoActivity(DrawingView view) {
-		return new PasteCommand.UndoActivity(view);
-	}
-
-	/**
-	 * Finds a connection end figure.
-	 */
-	protected Connector findConnectionTarget(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-		if ((target != null) && target.canConnect()
-			 && !target.includes(owner())
-			 && getConnection().canConnect(owner(), target)) {
-				return findConnector(x, y, target);
-		}
-		return null;
-	}
-
-	private Figure findConnectableFigure(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (!figure.includes(getConnection()) && figure.canConnect() 
-				&& figure.containsPoint(x, y)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	protected Connector findConnector(int x, int y, Figure f) {
-		return f.connectorAt(x, y);
-	}
-
-
-	/**
-	 * Draws the connection handle, by default the outline of a
-	 * blue circle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor(Color.blue);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	protected void setConnection(ConnectionFigure newConnection) {
-		myConnection = newConnection;
-	}
-	
-	protected ConnectionFigure getConnection() {
-		return myConnection;
-	}
-
-	protected Figure getTargetFigure() {
-		return myTargetFigure;
-	}
-
-	protected void setTargetFigure(Figure newTargetFigure) {
-		myTargetFigure = newTargetFigure;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		return new AWTCursor(java.awt.Cursor.HAND_CURSOR);
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ConnectionTool.java b/JHotDraw/src/CH/ifa/draw/standard/ConnectionTool.java
deleted file mode 100644
index 78fb73d04..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ConnectionTool.java
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * @(#)ConnectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * A tool that can be used to connect figures, to split
- * connections, and to join two segments of a connection.
- * ConnectionTools turns the visibility of the Connectors
- * on when it enters a figure.
- * The connection object to be created is specified by a prototype.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld029.htm>Prototype</a></b><br>
- * ConnectionTools creates the connection by cloning a prototype.
- * <hr>
- *
- * @see ConnectionFigure
- * @see Object#clone
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ConnectionTool extends AbstractTool {
-
-	/**
-	 * the anchor point of the interaction
-	 */
-	private Connector   myStartConnector;
-	private Connector   myEndConnector;
-	private Connector   myTargetConnector;
-
-	private Figure myTarget;
-
-	/**
-	 * the currently created figure
-	 */
-	private ConnectionFigure  myConnection;
-
-	/**
-	 * the currently manipulated connection point
-	 */
-	private int  fSplitPoint;
-
-	/**
-	 * the currently edited connection
-	 */
-	private ConnectionFigure  fEditedConnection;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	/**
-	 * the prototypical figure that is used to create new
-	 * connections.
-	 */
-	private ConnectionFigure  fPrototype;
-
-
-	public ConnectionTool(DrawingEditor newDrawingEditor, ConnectionFigure newPrototype) {
-		super(newDrawingEditor);
-		fPrototype = newPrototype;
-	}
-
-	/**
-	 * Handles mouse move events in the drawing view.
-	 */
-	public void mouseMove(MouseEvent e, int x, int y) {
-		trackConnectors(e, x, y);
-	}
-
-	/**
-	 * Manipulates connections in a context dependent way. If the
-	 * mouse down hits a figure start a new connection. If the mousedown
-	 * hits a connection split a segment or join two segments.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		int ex = e.getX();
-		int ey = e.getY();
-
-        /*
-         * JP, 25-May-03: Swapped checking for underlying figure and
-         * existing connection. If figure is checked first (old version),
-         * it is not possible to insert new points into a connection that
-         * crosses or otherwise goes through an existing figure. New
-         * version checks for connection first.
-         */
-		ConnectionFigure connection = findConnection(ex, ey, drawing());
-		if (connection != null) {
-			if (!connection.joinSegments(ex, ey)) {
-				fSplitPoint = connection.splitSegment(ex, ey);
-				fEditedConnection = connection;
-			}
-			else {
-				fEditedConnection = null;
-			}
-		}
-		else {
-			setTargetFigure(findConnectionStart(ex, ey, drawing()));
-			if (getTargetFigure() != null) {
-				setStartConnector(findConnector(ex, ey, getTargetFigure()));
-				if (getStartConnector() != null) {
-					setConnection(createConnection());
-					getConnection().startPoint(ex, ey);
-					getConnection().endPoint(ex, ey);
-					setAddedFigure(view().add(getConnection()));
-				}
-			}
-		}
-	}
-
-	/**
-	 * Adjust the created connection or split segment.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		Point p = new Point(e.getX(), e.getY());
-		if (getConnection() != null) {
-			trackConnectors(e, x, y);
-			if (getTargetConnector() != null) {
-				p = Geom.center(getTargetConnector().displayBox());
-			}
-			getConnection().endPoint(p.x, p.y);
-		}
-		else if (fEditedConnection != null) {
-			Point pp = new Point(x, y);
-			fEditedConnection.setPointAt(pp, fSplitPoint);
-		}
-	}
-
-	/**
-	 * Connects the figures if the mouse is released over another
-	 * figure.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		Figure c = null;
-		if (getStartConnector() != null) {
-			c = findTarget(e.getX(), e.getY(), drawing());
-		}
-
-		if (c != null) {
-			setEndConnector(findConnector(e.getX(), e.getY(), c));
-			if (getEndConnector() != null) {
-				getConnection().connectStart(getStartConnector());
-				getConnection().connectEnd(getEndConnector());
-				getConnection().updateConnection();
-
-				setUndoActivity(createUndoActivity());
-				getUndoActivity().setAffectedFigures(
-					new SingleFigureEnumerator(getAddedFigure()));
-			}
-		}
-		else if (getConnection() != null) {
-			view().remove(getConnection());
-		}
-
-		setConnection(null);
-		setStartConnector(null);
-		setEndConnector(null);
-		setAddedFigure(null);
-		editor().toolDone();
-	}
-
-	public void deactivate() {
-		super.deactivate();
-		if (getTargetFigure() != null) {
-			getTargetFigure().connectorVisibility(false, null);
-		}
-	}
-
-	/**
-	 * Creates the ConnectionFigure. By default the figure prototype is
-	 * cloned.
-	 */
-	protected ConnectionFigure createConnection() {
-		return (ConnectionFigure)fPrototype.clone();
-	}
-
-	/**
-	 * Finds a connectable figure target.
-	 */
-	protected Figure findSource(int x, int y, Drawing drawing) {
-		return findConnectableFigure(x, y, drawing);
-	}
-
-	/**
-	 * Finds a connectable figure target at the current mouse location that can
-	 * 1.  Connect to things
-	 * 2.  Is not already connected to the current Connection (no self connection)
-	 * 3.  The current Connection can make a connection between it and the start
-	 *     figure.
-	 */
-	protected Figure findTarget(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-		Figure start = getStartConnector().owner();
-
-		if (target != null
-			 && getConnection() != null
-			 && target.canConnect()
-			 && !target.includes(start)
-			 && getConnection().canConnect(start, target)) {
-			return target;
-		}
-		return null;
-	}
-
-	/**
-	 * Finds an existing connection figure.
-	 */
-	protected ConnectionFigure findConnection(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure = figure.findFigureInside(x, y);
-			if (figure != null && (figure instanceof ConnectionFigure)) {
-				return (ConnectionFigure)figure;
-			}
-		}
-		return null;
-	}
-
-	protected void setConnection(ConnectionFigure newConnection) {
-		myConnection = newConnection;
-	}
-
-	/**
-	 * Gets the connection which is created by this tool
-	 */
-	protected ConnectionFigure getConnection() {
-		return myConnection;
-	}
-
-	/**
-	 * Attempts to set the Connector to be connected to based on the current
-	 * location of the mouse.
-	 */
-	protected void trackConnectors(MouseEvent e, int x, int y) {
-		Figure c = null;
-
-		// If tool is not actively looking for a target for our current
-		// Connection, see if there are any connectable figures at at the
-		// current location(findSource).
-		if (getStartConnector() == null) {
-			c = findSource(x, y, getActiveDrawing());
-		}
-		else {
-			c = findTarget(x, y, getActiveDrawing());
-		}
-
-		// track the figure containing the mouse
-		/**
-		 * If the current target is not the stored target then turn off the
-		 * stored targets connectors visibility and turn on the current targets
-		 * connectors visibility. Then set the stored target to the current target.
-		 * If the targets match then don't do anything.
-		 * Note:  the target may have more than one connector.
-		 */
-		if (c != getTargetFigure()) {
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(false, null);
-			}
-			setTargetFigure(c);
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(true, getConnection());
-			}
-		}
-
-		// Since you have a legitimate target, grab its connector and set it as
-		// the new target connector.
-		Connector cc = null;
-		if (c != null) {
-			cc = findConnector(e.getX(), e.getY(), c);
-		}
-		if (cc != getTargetConnector()) {
-			setTargetConnector(cc);
-		}
-
-		// Clean up the view.
-		getActiveView().checkDamage();
-	}
-
-	protected Connector findConnector(int x, int y, Figure f) {
-		return f.connectorAt(x, y);
-	}
-
-	/**
-	 * Finds a connection start figure.
-	 */
-	protected Figure findConnectionStart(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-		if ((target != null) && target.canConnect()) {
-			return target;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the topmost? figure that can connect and is at the current mouse
-	 * location.
-	 */
-	protected Figure findConnectableFigure(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (!figure.includes(getConnection()) && figure.canConnect()
-				&& figure.containsPoint(x, y)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	protected void setStartConnector(Connector newStartConnector) {
-		myStartConnector = newStartConnector;
-	}
-
-	protected Connector getStartConnector() {
-		return myStartConnector;
-	}
-
-	protected void setEndConnector(Connector newEndConnector) {
-		myEndConnector = newEndConnector;
-	}
-
-	protected Connector getEndConnector() {
-		return myEndConnector;
-	}
-
-	protected void setTargetConnector(Connector newTargetConnector) {
-		myTargetConnector = newTargetConnector;
-	}
-
-	protected Connector getTargetConnector() {
-		return myTargetConnector;
-	}
-
-	protected void setTargetFigure(Figure newTarget) {
-		myTarget = newTarget;
-	}
-
-	protected Figure getTargetFigure() {
-		return myTarget;
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	protected void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new ConnectionTool.UndoActivity(view(), getConnection());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		private ConnectionFigure  myConnection;
-		private Connector   myStartConnector;
-		private Connector   myEndConnector;
-
-		public UndoActivity(DrawingView newDrawingView, ConnectionFigure newConnection) {
-			super(newDrawingView);
-			setConnection(newConnection);
-			myStartConnector = getConnection().getStartConnector();
-			myEndConnector = getConnection().getEndConnector();
-	        setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getConnection().disconnectStart();
-			getConnection().disconnectEnd();
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				getDrawingView().drawing().orphan(fe.nextFigure());
-			}
-
-			getDrawingView().clearSelection();
-
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			getConnection().connectStart(myStartConnector);
-			getConnection().connectEnd(myEndConnector);
-			getConnection().updateConnection();
-
-			getDrawingView().insertFigures(getAffectedFigures(), 0, 0, false);
-
-			return true;
-		}
-
-		protected void setConnection(ConnectionFigure newConnection) {
-			myConnection = newConnection;
-		}
-
-		/**
-		 * Gets the currently created figure
-		 */
-		protected ConnectionFigure getConnection() {
-			return myConnection;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/CopyCommand.java b/JHotDraw/src/CH/ifa/draw/standard/CopyCommand.java
deleted file mode 100644
index 0abff3cb3..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/CopyCommand.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * @(#)CopyCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.DrawingEditor;
-
-/**
- * Copy the selection to the clipboard.
- *
- * @see Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-public class CopyCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a copy command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public CopyCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		copyFigures(view().selection(), view().selectionCount());
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/CreationTool.java b/JHotDraw/src/CH/ifa/draw/standard/CreationTool.java
deleted file mode 100644
index ab81d26e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/CreationTool.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * @(#)CreationTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Point;
-import java.awt.event.MouseEvent;
-import java.util.List;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * A tool to create new figures. The figure to be
- * created is specified by a prototype.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld029.htm>Prototype</a></b><br>
- * CreationTool creates new figures by cloning a prototype.
- * <hr>
- *
- * @see Figure
- * @see Object#clone
- *
- * @version <$CURRENT_VERSION$>
- */
-public class CreationTool extends AbstractTool {
-
-	/**
-	 * the list of currently added figures
-	 * by: ricardo_padilha.
-	 * description: This has been added to provide support for creation tools that
-	 *              insert more than one figure to the drawing, for example, by
-	 *              maintaining SHIFT down and clicking. However, this class still
-	 *              maintains its normal behavior of creating only one figure. 
-	 */
-	private List    fAddedFigures;
-
-	/**
-	 * the currently created figure
-	 */
-	private Figure  fCreatedFigure;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	/**
-	 * the prototypical figure that is used to create new figuresthe prototypical figure that is used to create new figures.
-	 */
-	private Figure  myPrototypeFigure;
-
-
-	/**
-	 * Initializes a CreationTool with the given prototype.
-	 */
-	public CreationTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor);
-		setPrototypeFigure(prototype);
-	}
-
-	/**
-	 * Constructs a CreationTool without a prototype.
-	 * This is for subclassers overriding createFigure.
-	 */
-	protected CreationTool(DrawingEditor newDrawingEditor) {
-		this(newDrawingEditor, null);
-	}
-
-	/**
-	 * Sets the cross hair cursor.
-	 */
-	public void activate() {
-		super.activate();
-		if (isUsable()) {
-			getActiveView().setCursor(new AWTCursor(java.awt.Cursor.CROSSHAIR_CURSOR));
-		}
-		setAddedFigures(CollectionsFactory.current().createList());
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Tool#deactivate()
-	 */
-	public void deactivate() {
-		setCreatedFigure(null);
-		setAddedFigure(null);
-		setAddedFigures(null);
-		super.deactivate();
-	}
-
-	/**
-	 * Creates a new figure by cloning the prototype.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		setCreatedFigure(createFigure());
-		setAddedFigure(getActiveView().add(getCreatedFigure()));
-		getAddedFigure().displayBox(new Point(getAnchorX(), getAnchorY()), new Point(getAnchorX(), getAnchorY()));
-	}
-
-	/**
-	 * Creates a new figure by cloning the prototype.
-	 */
-	protected Figure createFigure() {
-		if (getPrototypeFigure() == null) {
-			throw new JHotDrawRuntimeException("No protoype defined");
-		}
-		return (Figure)getPrototypeFigure().clone();
-	}
-
-	/**
-	 * Adjusts the extent of the created figure
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (getAddedFigure() != null) {
-			getAddedFigure().displayBox(new Point(getAnchorX(), getAnchorY()), new Point(x, y));
-		}
-	}
-
-	/**
-	 * Checks if the created figure is empty. If it is, the figure
-	 * is removed from the drawing.
-	 * @see Figure#isEmpty
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (getAddedFigure() != null && !getCreatedFigure().isEmpty()) {
-			getAddedFigures().add(getAddedFigure());
-		}
-		else {
-			getActiveView().remove(getAddedFigure());
-		}
-
-		if (getAddedFigures().isEmpty()) {
-			setUndoActivity(null);
-		}
-		else {
-			// use undo activity from paste command...
-			setUndoActivity(createUndoActivity());
-			// put created figure into a figure enumeration
-			getUndoActivity().setAffectedFigures(new FigureEnumerator(getAddedFigures()));
-		}
-		editor().toolDone();
-	}
-
-	/**
-	 * As the name suggests this CreationTool uses the Prototype design pattern.
-	 * Thus, the prototype figure which is used to create new figures of the same
-	 * type by cloning the original prototype figure.
-	 * @param newPrototypeFigure figure to be cloned to create new figures
-	 */
-	protected void setPrototypeFigure(Figure newPrototypeFigure) {
-		myPrototypeFigure = newPrototypeFigure;
-	}
-
-	/**
-	 * As the name suggests this CreationTool uses the Prototype design pattern.
-	 * Thus, the prototype figure which is used to create new figures of the same
-	 * type by cloning the original prototype figure.
-	 * @return figure to be cloned to create new figures
-	 */
-	protected Figure getPrototypeFigure() {
-		return myPrototypeFigure;
-	}
-
-	/**
-	 * Gets the list of currently added figure
-	 */
-	protected List getAddedFigures() {
-		return fAddedFigures;
-	}
-
-	/**
-	 * Sets the addedFigures attribute of the CreationTool object
-	 */
-	protected void setAddedFigures(List newAddedFigures) {
-		fAddedFigures = newAddedFigures;
-	}
-
-	/**
-	 * Gets the currently created figure
-	 */
-	protected Figure getCreatedFigure() {
-		return fCreatedFigure;
-	}
-
-	/**
-	 * Sets the createdFigure attribute of the CreationTool object
-	 */
-	protected void setCreatedFigure(Figure newCreatedFigure) {
-		fCreatedFigure = newCreatedFigure;
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	/**
-	 * Sets the addedFigure attribute of the CreationTool object
-	 */
-	protected void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(getActiveView());
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/standard/CutCommand.java b/JHotDraw/src/CH/ifa/draw/standard/CutCommand.java
deleted file mode 100644
index 14ae15f8a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/CutCommand.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)CutCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.util.List;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-
-/**
- * Delete the selection and move the selected figures to
- * the clipboard.
- *
- * @see CH.ifa.draw.util.Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-public class CutCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a cut command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public CutCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.Command#execute()
-	 */
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		/* ricardo_padilha: bugfix for correct delete/undelete behavior
-		 * When enumerating the affected figures we must not forget the dependent
-		 * figures, since they are deleted as well! 
-		 */
-		FigureEnumeration fe = view().selection();
-		List affected = CollectionsFactory.current().createList();
-		Figure f;
-		FigureEnumeration dfe;
-		while (fe.hasNextFigure()) {
-			f = fe.nextFigure();
-			affected.add(0, f);
-			dfe = f.getDependendFigures();
-			if (dfe != null) {
-				while (dfe.hasNextFigure()) {
-					affected.add(0, dfe.nextFigure());
-				}
-			}
-		}
-		fe = new FigureEnumerator(affected);
-		getUndoActivity().setAffectedFigures(fe);
-		UndoActivity ua = (UndoActivity) getUndoActivity();
-		ua.setSelectedFigures(view().selection());
-		copyFigures(ua.getSelectedFigures(), ua.getSelectedFiguresCount());
-		/* ricardo_padilha: end of bugfix */
-		deleteFigures(getUndoActivity().getAffectedFigures());
-		view().checkDamage();
-	}
-
-	/**
-	 * @see CH.ifa.draw.standard.AbstractCommand#isExecutableWithView()
-	 */
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 * @return Undoable
-	 */
-	protected Undoable createUndoActivity() {
-		return new CutCommand.UndoActivity(this);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		private FigureTransferCommand myCommand;
-		private List mySelectedFigures;
-
-		/**
-		 * Constructor for <code>UndoActivity</code>.
-		 * @param newCommand
-		 */
-		public UndoActivity(FigureTransferCommand newCommand) {
-			super(newCommand.view());
-			myCommand = newCommand;
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.Undoable#undo()
-		 */
-		public boolean undo() {
-			if (super.undo() && getAffectedFigures().hasNextFigure()) {
-				getDrawingView().clearSelection();
-				myCommand.insertFigures(getAffectedFiguresReversed(), 0, 0);
-				return true;
-			}
-			return false;
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.Undoable#redo()
-		 */
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				myCommand.copyFigures(getSelectedFigures(), getSelectedFiguresCount());
-				myCommand.deleteFigures(getAffectedFigures());
-				return true;
-			}
-
-			return false;
-		}
-
-		/**
-		 * Preserve the selection of figures the moment the command was executed.
-		 * @param newSelectedFigures
-		 */
-		public void setSelectedFigures(FigureEnumeration newSelectedFigures) {
-			// the enumeration is not reusable therefore a copy is made
-			// to be able to undo-redo the command several time
-			rememberSelectedFigures(newSelectedFigures);
-		}
-
-		/**
-		 * Preserve a copy of the enumeration in a private list.
-		 * @param toBeRemembered
-		 */
-		protected void rememberSelectedFigures(FigureEnumeration toBeRemembered) {
-			mySelectedFigures = CollectionsFactory.current().createList();
-			while (toBeRemembered.hasNextFigure()) {
-				mySelectedFigures.add(toBeRemembered.nextFigure());
-			}
-		}
-	
-		/**
-		 * Returns the selection of figures to perform the command on.
-		 * @return
-		 */
-		public FigureEnumeration getSelectedFigures() {
-			return new FigureEnumerator(
-				CollectionsFactory.current().createList(mySelectedFigures));
-		}
-
-		/**
-		 * Returns the size of the selection.
-		 * @return
-		 */
-		public int getSelectedFiguresCount() {
-			return mySelectedFigures.size();
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.UndoableAdapter#release()
-		 */
-		public void release() {
-			super.release();
-			FigureEnumeration fe = getSelectedFigures();
-			while (fe.hasNextFigure()) {
-				fe.nextFigure().release();
-			}
-			setSelectedFigures(FigureEnumerator.getEmptyEnumeration());
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DecoratorFigure.java b/JHotDraw/src/CH/ifa/draw/standard/DecoratorFigure.java
deleted file mode 100644
index 51f76e71d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DecoratorFigure.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * @(#)DecoratorFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-import java.awt.*;
-import java.io.*;
-
-/**
- * DecoratorFigure can be used to decorate other figures with
- * decorations like borders. Decorator forwards all the
- * methods to their contained figure. Subclasses can selectively
- * override these methods to extend and filter their behavior.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld014.htm>Decorator</a></b><br>
- * DecoratorFigure is a decorator.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public abstract class DecoratorFigure
-				extends AbstractFigure
-				implements FigureChangeListener {
-
-	/**
-	 * The decorated figure.
-	 */
-	private Figure myDecoratedFigure;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 8993011151564573288L;
-	private int decoratorFigureSerializedDataVersion = 1;
-
-	public DecoratorFigure() {
-		initialize();
-	}
-
-	/**
-	 * Constructs a DecoratorFigure and decorates the passed in figure.
-	 */
-	public DecoratorFigure(Figure figure) {
-		initialize();
-		decorate(figure);
-	}
-
-	/**
-	 * Performs additional initialization code before the figure is decorated.
-	 * Subclasses may override this method.
-	 */
-	protected void initialize() {
-	}
-
-	/**
-	 * Forwards the connection insets to its contained figure..
-	 */
-	public Insets connectionInsets() {
-		return getDecoratedFigure().connectionInsets();
-	}
-
-	/**
-	 * Forwards the canConnect to its contained figure..
-	 */
-	public boolean canConnect() {
-		return getDecoratedFigure().canConnect();
-	}
-
-	/**
-	 * Forwards containsPoint to its contained figure.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return getDecoratedFigure().containsPoint(x, y);
-	}
-
-	/**
-	 * Decorates the given figure.
-	 */
-	public void decorate(Figure figure) {
-		setDecoratedFigure(figure);
-		getDecoratedFigure().addToContainer(this);
-		//addDependendFigure(getDecoratedFigure());
-	}
-
-	/**
-	 * Removes the decoration from the contained figure.
-	 */
-	public Figure peelDecoration() {
-		getDecoratedFigure().removeFromContainer(this); //??? set the container to the listener()?
-		removeDependendFigure(getDecoratedFigure());
-		return getDecoratedFigure();
-	}
-
-	public void setDecoratedFigure(Figure newDecoratedFigure) {
-		myDecoratedFigure = newDecoratedFigure;
-	}
-
-	public Figure getDecoratedFigure() {
-		return myDecoratedFigure;
-	}
-
-	/**
-	 * Forwards displayBox to its contained figure.
-	 */
-	public Rectangle displayBox() {
-		return getDecoratedFigure().displayBox();
-	}
-
-	/**
-	 * Forwards basicDisplayBox to its contained figure.
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		getDecoratedFigure().basicDisplayBox(origin, corner);
-	}
-
-	/**
-	 * Forwards draw to its contained figure.
-	 */
-	public void draw(Graphics g) {
-		getDecoratedFigure().draw(g);
-	}
-
-	/**
-	 * Forwards findFigureInside to its contained figure.
-	 */
-	public Figure findFigureInside(int x, int 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;
-		}
-	}
-
-	/**
-	 * Forwards handles to its contained figure.
-	 */
-	public HandleEnumeration handles() {
-		return getDecoratedFigure().handles();
-	}
-
-	/**
-	 * Forwards includes to its contained figure.
-	 */
-	public boolean includes(Figure figure) {
-		return (super.includes(figure) || getDecoratedFigure().includes(figure));
-	}
-
-	/**
-	 * Forwards moveBy to its contained figure.
-	 */
-	public void moveBy(int x, int y) {
-		getDecoratedFigure().moveBy(x, y);
-	}
-
-	/**
-	 * Forwards basicMoveBy to its contained figure.
-	 */
-	protected void basicMoveBy(int x, int y) {
-		// this will never be called
-	}
-
-	/**
-	 * Releases itself and the contained figure.
-	 */
-	public void release() {
-		super.release();
-		getDecoratedFigure().removeFromContainer(this);
-		getDecoratedFigure().release();
-	}
-
-	/**
-	 * Propagates invalidate up the container chain.
-	 * @see FigureChangeListener
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureInvalidated(e);
-		}
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-	}
-
-	/**
-	 * Propagates figureRequestUpdate up the container chain.
-	 * @see FigureChangeListener
-	 */
-	public  void figureRequestUpdate(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestUpdate(e);
-		}
-	}
-
-	/**
-	 * Propagates the removeFromDrawing request up to the container.
-	 * @see FigureChangeListener
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestRemove(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Forwards figures to its contained figure.
-	 */
-	public FigureEnumeration figures() {
-		return getDecoratedFigure().figures();
-	}
-
-	/**
-	 * Forwards decompose to its contained figure.
-	 */
-	public FigureEnumeration decompose() {
-		return getDecoratedFigure().decompose();
-	}
-
-	/**
-	 * Forwards setAttribute to its contained figure.
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		getDecoratedFigure().setAttribute(name, value);
-	}
-
-	/**
-	 * Forwards setAttribute to its contained figure.
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		getDecoratedFigure().setAttribute(attributeConstant, value);
-	}
-
-	/**
-	 * Forwards getAttribute to its contained figure.
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getDecoratedFigure().getAttribute(name);
-	}
-
-	/**
-	 * Forwards getAttribute to its contained figure.
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		return getDecoratedFigure().getAttribute(attributeConstant);
-	}
-
-	/**
-	 * Returns the locator used to located connected text.
-	 */
-	public Locator connectedTextLocator(Figure text) {
-		return getDecoratedFigure().connectedTextLocator(text);
-	}
-
-	/**
-	 * Returns the Connector for the given location.
-	 */
-	public Connector connectorAt(int x, int y) {
-		return getDecoratedFigure().connectorAt(x, y);
-	}
-
-	/**
-	 * Forwards the connector visibility request to its component.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection) {
-		getDecoratedFigure().connectorVisibility(isVisible, null);
-	}
-
-	/**
-	 * Writes itself and the contained figure to the StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getDecoratedFigure());
-	}
-
-	/**
-	 * Reads itself and the contained figure from the StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		decorate((Figure)dr.readStorable());
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		getDecoratedFigure().addToContainer(this);
-	}
-/*
-	public void visit(FigureVisitor visitor) {
-		super.visit(visitor);
-//		getDecoratedFigure().visit(visitor);
-	}
-*/
-	public TextHolder getTextHolder() {
-		return getDecoratedFigure().getTextHolder();
-	}
-
-	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);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DeleteCommand.java b/JHotDraw/src/CH/ifa/draw/standard/DeleteCommand.java
deleted file mode 100644
index 37a4c8f9d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DeleteCommand.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)DeleteCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.util.List;
-
-import CH.ifa.draw.framework.DrawingEditor;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Undoable;
-import CH.ifa.draw.util.UndoableAdapter;
-
-/**
- * Command to delete the selection.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DeleteCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a delete command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public DeleteCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.Command#execute()
-	 */
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		/* ricardo_padilha: bugfix for correct delete/undelete behavior
-		 * When enumerating the affected figures we must not forget the dependent
-		 * figures, since they are deleted as well! 
-		 */
-		FigureEnumeration fe = view().selection();
-		List affected = CollectionsFactory.current().createList();
-		Figure f;
-		FigureEnumeration dfe;
-		while (fe.hasNextFigure()) {
-			f = fe.nextFigure();
-			affected.add(0, f);
-			dfe = f.getDependendFigures();
-			if (dfe != null) {
-				while (dfe.hasNextFigure()) {
-					affected.add(0, dfe.nextFigure());
-				}
-			}
-		}
-		fe = new FigureEnumerator(affected);
-		getUndoActivity().setAffectedFigures(fe);
-		/* ricardo_padilha: end of bugfix */
-		deleteFigures(getUndoActivity().getAffectedFigures());
-		view().checkDamage();
-	}
-
-	/**
-	 * @see CH.ifa.draw.standard.AbstractCommand#isExecutableWithView()
-	 */
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 * @return Undoable
-	 */
-	protected Undoable createUndoActivity() {
-		return new DeleteCommand.UndoActivity(this);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		private FigureTransferCommand myCommand;
-
-		/**
-		 * Constructor for <code>UndoActivity</code>.
-		 * @param newCommand parent command
-		 */
-		public UndoActivity(FigureTransferCommand newCommand) {
-			super(newCommand.view());
-			myCommand = newCommand;
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.Undoable#undo()
-		 */
-		public boolean undo() {
-			if (super.undo() && getAffectedFigures().hasNextFigure()) {
-				getDrawingView().clearSelection();
-				setAffectedFigures(
-					myCommand.insertFigures(getAffectedFiguresReversed(), 0, 0));
-				return true;
-			}
-			return false;
-		}
-
-		/**
-		 * @see CH.ifa.draw.util.Undoable#redo()
-		 */
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				myCommand.deleteFigures(getAffectedFigures());
-				getDrawingView().clearSelection();
-				return true;
-			}
-			return false;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DeleteFromDrawingVisitor.java b/JHotDraw/src/CH/ifa/draw/standard/DeleteFromDrawingVisitor.java
deleted file mode 100644
index abb71928a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DeleteFromDrawingVisitor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * @(#)DeleteFromDrawingVisitor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.Set;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DeleteFromDrawingVisitor implements FigureVisitor {
-	private Set myDeletedFigures;
-	private Drawing myDrawing;
-
-	public DeleteFromDrawingVisitor(Drawing newDrawing) {
-		myDeletedFigures = CollectionsFactory.current().createSet();
-		setDrawing(newDrawing);
-	}
-
-	private void setDrawing(Drawing newDrawing) {
-		myDrawing = newDrawing;
-	}
-
-	protected Drawing getDrawing() {
-		return myDrawing;
-	}
-
-	public void visitFigure(Figure hostFigure) {
-		if (!myDeletedFigures.contains(hostFigure) && getDrawing().containsFigure(hostFigure)) {
-			Figure orphanedFigure = getDrawing().orphan(hostFigure);
-			myDeletedFigures.add(orphanedFigure);
-		}
-	}
-
-	public void visitHandle(Handle hostHandle) {
-	}
-
-	public void visitFigureChangeListener(FigureChangeListener hostFigureChangeListener) {
-//		System.out.println("visitFigureChangeListener: " + hostFigureChangeListener);
-//		hostFigureChangeListener.visit(this);
-	}
-
-	public FigureEnumeration getDeletedFigures() {
-		return new FigureEnumerator(myDeletedFigures);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DragTracker.java b/JHotDraw/src/CH/ifa/draw/standard/DragTracker.java
deleted file mode 100644
index 82265fef8..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DragTracker.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * @(#)DragTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * DragTracker implements the dragging of the clicked
- * figure.
- *
- * @see SelectionTool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DragTracker extends AbstractTool {
-
-	private Figure  fAnchorFigure;
-	private int     fLastX, fLastY;      // previous mouse position
-	private boolean fMoved = false;
-
-	public DragTracker(DrawingEditor newDrawingEditor, Figure anchor) {
-		super(newDrawingEditor);
-		setAnchorFigure(anchor);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		setLastMouseX(x);
-		setLastMouseY(y);
-
-		if (e.isShiftDown()) {
-		   getActiveView().toggleSelection(getAnchorFigure());
-		   setAnchorFigure(null);
-		}
-		else if (!getActiveView().isFigureSelected(getAnchorFigure())) {
-			getActiveView().clearSelection();
-			getActiveView().addToSelection(getAnchorFigure());
-		}
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(getActiveView().selection());
-//		getUndoActivity().setAffectedFigures(view().selectionElements());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		setHasMoved((Math.abs(x - getAnchorX()) > 4) || (Math.abs(y - getAnchorY()) > 4));
-
-		if (hasMoved()) {
-			FigureEnumeration figures = getUndoActivity().getAffectedFigures();
-			while (figures.hasNextFigure()) {
-				figures.nextFigure().moveBy(x - getLastMouseX(), y - getLastMouseY());
-			}
-		}
-		setLastMouseX(x);
-		setLastMouseY(y);
-	}
-
-	protected void setAnchorFigure(Figure newAnchorFigure) {
-		fAnchorFigure = newAnchorFigure;
-	}
-	
-	public Figure getAnchorFigure() {
-		return fAnchorFigure;
-	}
-
-	protected void setLastMouseX(int newLastMouseX) {
-		fLastX = newLastMouseX;
-	}
-	
-	protected int getLastMouseX() {
-		return fLastX;
-	}
-
-	protected void setLastMouseY(int newLastMouseY) {
-		fLastY = newLastMouseY;
-	}
-	
-	protected int getLastMouseY() {
-		return fLastY;
-	}
-
-	/**
-	 * Check whether the selected figure has been moved since
-	 * the tool has been activated.
-	 *
-	 * @return true if the selected figure has been moved
-	 */
-	public boolean hasMoved() {
-		return fMoved;
-	}
-	
-	protected void setHasMoved(boolean newMoved) {
-		fMoved = newMoved;
-	}
-	
-	public void activate() {
-		// suppress clearSelection() and tool-activation-notification
-		// in superclass
-	}
-
-	public void deactivate() {
-		if (hasMoved()) {
-			((DragTracker.UndoActivity)getUndoActivity()).setBackupPoint(new Point(getLastMouseX(), getLastMouseY()));
-		}
-		else {
-			setUndoActivity(null);
-		}
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new DragTracker.UndoActivity(getActiveView(), new Point(getLastMouseX(), getLastMouseY()));
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Point myOriginalPoint;
-		private Point myBackupPoint;
-
-		public UndoActivity(DrawingView newDrawingView, Point newOriginalPoint) {
-			super(newDrawingView);
-			setOriginalPoint(newOriginalPoint);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			moveAffectedFigures(getBackupPoint(), getOriginalPoint());
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-			moveAffectedFigures(getOriginalPoint(), getBackupPoint());
-			return true;
-		}
-
-		public void setBackupPoint(Point newBackupPoint) {
-			myBackupPoint = newBackupPoint;
-		}
-
-		public Point getBackupPoint() {
-			return myBackupPoint;
-		}
-
-		public void setOriginalPoint(Point newOriginalPoint) {
-			myOriginalPoint = newOriginalPoint;
-		}
-
-		public Point getOriginalPoint() {
-			return myOriginalPoint;
-		}
-
-		public void moveAffectedFigures(Point startPoint, Point endPoint) {
-			FigureEnumeration figures = getAffectedFigures();
-			while (figures.hasNextFigure()) {
-				figures.nextFigure().moveBy(endPoint.x - startPoint.x,
-					endPoint.y - startPoint.y);
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/DuplicateCommand.java b/JHotDraw/src/CH/ifa/draw/standard/DuplicateCommand.java
deleted file mode 100644
index a5ade44ed..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/DuplicateCommand.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * @(#)DuplicateCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * Duplicate the selection and select the duplicates.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DuplicateCommand extends FigureTransferCommand {
-
-   /**
-	* Constructs a duplicate command.
-	* @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	*/
-	public DuplicateCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		FigureSelection selection = view().getFigureSelection();
-
-		// create duplicate figure(s)
-		FigureEnumeration figures = (FigureEnumeration)selection.getData(StandardFigureSelection.TYPE);
-		getUndoActivity().setAffectedFigures(figures);
-
-		view().clearSelection();
-		getUndoActivity().setAffectedFigures(
-			insertFigures(getUndoActivity().getAffectedFigures(), 10, 10));
-		view().checkDamage();
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FastBufferedUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/standard/FastBufferedUpdateStrategy.java
deleted file mode 100644
index 69e6bf71c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FastBufferedUpdateStrategy.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * @(#)FastBufferedUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Rectangle;
-import java.awt.image.BufferedImage;
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.framework.Painter;
-
-/**
- * @author WMG (INIT Copyright (C) 2000 All rights reserved)
- * @version <$CURRENT_VERSION$>
- */
-public class FastBufferedUpdateStrategy implements Painter {
-
-	//_________________________________________________________VARIABLES
-
-	private BufferedImage  _doubleBufferedImage;
-	private BufferedImage  _scratchPadBufferedImage;
-	private int            _nImageWidth = 0;
-	private int            _nImageHeight = 0;
-	private boolean        _bRedrawAll = true;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public FastBufferedUpdateStrategy() {
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public void draw(Graphics g, DrawingView view) {
-		_checkCaches(view);
-		if (_bRedrawAll == true) {
-			Graphics imageGraphics = _doubleBufferedImage.getGraphics();
-			view.drawAll(imageGraphics);
-		}
-		else {
-			Rectangle viewClipRectangle = g.getClipBounds();
-			int nX1 = viewClipRectangle.x;
-			int nY1 = viewClipRectangle.y;
-			int nX2 = viewClipRectangle.x + viewClipRectangle.width;
-			int nY2 = viewClipRectangle.y + viewClipRectangle.height;
-
-			if (nX1 < 0) {
-				nX1 = 0;
-			}
-			if (nY1 < 0) {
-				nY1 = 0;
-			}
-			if (nX2 < 0) {
-				nX2 = 0;
-			}
-			if (nY2 < 0) {
-				nY2 = 0;
-			}
-
-			Rectangle viewClipRectangle2 = new Rectangle(nX1, nY1, nX2-nX1, nY2-nY1);
-
-			Drawing theDrawing = view.drawing();
-			FigureEnumeration fe = theDrawing.figures(viewClipRectangle2);
-
-			Graphics imageGraphics = _scratchPadBufferedImage.getGraphics();
-			imageGraphics.setColor(view.getBackground());
-			imageGraphics.fillRect(nX1, nY1, nX2-nX1, nY2-nY1);
-			view.draw(imageGraphics, fe);
-
-			Graphics dbGraphics = _doubleBufferedImage.getGraphics();
-			dbGraphics.drawImage(_scratchPadBufferedImage, nX1, nY1,
-				nX2, nY2, nX1, nY1, nX2, nY2, view);
-
-		}
-
-		g.drawImage(_doubleBufferedImage, 0, 0, view);
-		_bRedrawAll = false;
-	}
-
-
-	//___________________________________________________PRIVATE METHODS
-
-
-	private void _checkCaches(DrawingView view) {
-		Dimension d = view.getSize();
-
-		if ((_doubleBufferedImage == null)
-				|| (_nImageWidth != d.width)
-				|| (_nImageHeight != d.height)) {
-			_doubleBufferedImage = new BufferedImage(d.width,
-			d.height, BufferedImage.TYPE_INT_RGB);
-			_bRedrawAll = true;
-		}
-
-		if ((_scratchPadBufferedImage == null)
-				|| (_nImageWidth != d.width)
-				|| (_nImageHeight != d.height)) {
-			_scratchPadBufferedImage = new BufferedImage(d.width,
-				d.height, BufferedImage.TYPE_INT_RGB);
-			Graphics imageGraphics = _scratchPadBufferedImage.getGraphics();
-			view.drawBackground(imageGraphics);
-			_bRedrawAll = true;
-		}
-
-		_nImageWidth = d.width;
-		_nImageHeight = d.height;
-	}
-
-	//_______________________________________________________________END
-
-} //end of class FastBufferedUpdateStrategy
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureAndEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/FigureAndEnumerator.java
deleted file mode 100644
index 39851c903..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureAndEnumerator.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)FigureAndEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.framework.Figure;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class FigureAndEnumerator implements FigureEnumeration {
-	private FigureEnumeration myFE1;
-	private FigureEnumeration myFE2;
-
-	public FigureAndEnumerator(FigureEnumeration newFE1, FigureEnumeration newFE2) {
-		myFE1 = newFE1;
-		myFE2 = newFE2;
-	}
-
-	public Figure nextFigure() {
-		if (myFE1.hasNextFigure()) {
-			return myFE1.nextFigure();
-		}
-		else if (myFE2.hasNextFigure()) {
-			return myFE2.nextFigure();
-		}
-		else {
-			// todo: throw exception
-			return null;
-		}
-	}
-
-	public boolean hasNextFigure() {
-		return myFE1.hasNextFigure() || myFE2.hasNextFigure();
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myFE1.reset();
-		myFE2.reset();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureChangeAdapter.java b/JHotDraw/src/CH/ifa/draw/standard/FigureChangeAdapter.java
deleted file mode 100644
index 0608c87df..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureChangeAdapter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * @(#)FigureChangeAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * Empty implementation of FigureChangeListener.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FigureChangeAdapter implements FigureChangeListener {
-
-	/**
-	 *  Sent when an area is invalid
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when a figure changed
-	 */
-	public void figureChanged(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when a figure was removed
-	 */
-	public void figureRemoved(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when requesting to remove a figure.
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when an update should happen.
-	 *
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureChangeEventMulticaster.java b/JHotDraw/src/CH/ifa/draw/standard/FigureChangeEventMulticaster.java
deleted file mode 100644
index a45175423..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureChangeEventMulticaster.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * @(#)FigureChangeEventMulticaster.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import java.awt.*;
-import java.util.*;
-
-/**
- * Manages a list of FigureChangeListeners to be notified of
- * specific FigureChangeEvents.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FigureChangeEventMulticaster extends
-	AWTEventMulticaster implements FigureChangeListener {
-
-	public FigureChangeEventMulticaster(EventListener newListenerA, EventListener newListenerB) {
-		super(newListenerA, newListenerB);
-	}
-
-	public void figureInvalidated(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureInvalidated(e);
-		((FigureChangeListener)b).figureInvalidated(e);
-	}
-
-	public void figureRequestRemove(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureRequestRemove(e);
-		((FigureChangeListener)b).figureRequestRemove(e);
-	}
-
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureRequestUpdate(e);
-		((FigureChangeListener)b).figureRequestUpdate(e);
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureChanged(e);
-		((FigureChangeListener)b).figureChanged(e);
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureRemoved(e);
-		((FigureChangeListener)b).figureRemoved(e);
-	}
-
-	public static FigureChangeListener add(FigureChangeListener a, FigureChangeListener b) {
-		return (FigureChangeListener)addInternal(a, b);
-	}
-
-
-	public static FigureChangeListener remove(FigureChangeListener l, FigureChangeListener oldl) {
-		return (FigureChangeListener) removeInternal(l, oldl);
-	}
-
-	protected EventListener remove(EventListener oldl)
-	{
-		if (oldl == a) {
-			return b;
-		}
-		if (oldl == b) {
-			return a;
-		}
-		EventListener a2 = removeInternal(a, oldl);
-		EventListener b2 = removeInternal(b, oldl);
-		if (a2 == a && b2 == b) {
-			return this;
-		}
-		else {
-			return addInternal((FigureChangeListener)a2, (FigureChangeListener)b2);
-		}
-	}
-
-	protected static EventListener addInternal(FigureChangeListener a, FigureChangeListener b) {
-		if (a == null) {
-			return b;
-		}
-		if (b == null) {
-			return a;
-		}
-		return new FigureChangeEventMulticaster(a, b);
-	}
-
-	protected static EventListener removeInternal(EventListener l, EventListener oldl) {
-		if (l == oldl || l == null) {
-			return null;
-		}
-		else if (l instanceof FigureChangeEventMulticaster) {
-			return ((FigureChangeEventMulticaster)l).remove(oldl);
-		}
-		else {
-			return l;		// it's not here
-		}
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/FigureEnumerator.java
deleted file mode 100644
index dcd13f962..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureEnumerator.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * @(#)FigureEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.Iterator;
-import java.util.Collection;
-
-
-/**
- * An Enumeration for a Collection of Figures.
- *
- * @version <$CURRENT_VERSION$>
- */
-public final class FigureEnumerator implements FigureEnumeration {
-	private Iterator myIterator;
-	private Collection myInitialCollection;
-
-	private static FigureEnumerator singletonEmptyEnumerator =
-		new FigureEnumerator(CollectionsFactory.current().createList());
-
-	public FigureEnumerator(Collection c) {
-		myInitialCollection = c;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextFigure() {
-		return myIterator.hasNext();
-	}
-
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure() {
-		return (Figure)myIterator.next();
-	}
-
-	public static FigureEnumeration getEmptyEnumeration() {
-		return singletonEmptyEnumerator;
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myIterator = myInitialCollection.iterator();
-	}
-
-/*	public static FigureEnumeration getClonedFigures(FigureEnumeration toDuplicate) {
-		List v = CollectionsFactory.current().createList();
-		while (toDuplicate.hasMoreElements()) {
-			try {
-				v.addElement(toDuplicate.nextFigure().clone());
-			}
-			catch (CloneNotSupportedException e) {
-				e.printStackTrace();
-			}
-		}
-		return new FigureEnumerator(v);
-	}
-*/
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/FigureTransferCommand.java b/JHotDraw/src/CH/ifa/draw/standard/FigureTransferCommand.java
deleted file mode 100644
index 48a8277e2..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/FigureTransferCommand.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * @(#)FigureTransferCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * Common base clase for commands that transfer figures
- * between a drawing and the clipboard.
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class FigureTransferCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a drawing command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	protected FigureTransferCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-   /**
-	* Deletes the selection from the drawing.
-	*/
-	protected void deleteFigures(FigureEnumeration fe) {
-	   DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(view().drawing());
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().visit(deleteVisitor);
-		}
-
-		view().clearSelection();
-	}
-
-   /**
-	* Copies the FigureEnumeration to the clipboard.
-	*/
-	protected void copyFigures(FigureEnumeration fe, int figureCount) {
-		Clipboard.getClipboard().setContents(new StandardFigureSelection(fe, figureCount));
-	}
-
-   /**
-	* Inserts an enumeration of figures and translates them by the
-	* given offset.
-	* @todo mrfloppy to investigate making this protected.  Looks like it would
-	*       be no problem to me.  It was package scope.  I thought it safer to
-	*       make it less restrictive just incase their was a reason for the
-	*       package scope I didn't know about. dnoyeb.
-	*       Bug - [ 673096 ] FigureTransferCommand has a wrong method
-	*/
-	public FigureEnumeration insertFigures(FigureEnumeration fe, int dx, int dy) {
-		return view().insertFigures(fe, dx, dy, false);
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/GridConstrainer.java b/JHotDraw/src/CH/ifa/draw/standard/GridConstrainer.java
deleted file mode 100644
index f3b7b80d5..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/GridConstrainer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * @(#)GridConstrainer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.PointConstrainer;
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Constrains a point such that it falls on a grid.
- *
- * @see CH.ifa.draw.framework.DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public class GridConstrainer implements PointConstrainer, Serializable {
-
-	private int fGridX;
-	private int fGridY;
-
-	public GridConstrainer(int x, int y) {
-		fGridX = Math.max(1, x);
-		fGridY = Math.max(1, y);
-	}
-
-	/**
-	 * Constrains the given point.
-	 * @return constrained point.
-	 */
-	public Point constrainPoint(Point p) {
-		p.x = ((p.x+fGridX/2) / fGridX) * fGridX;
-		p.y = ((p.y+fGridY/2) / fGridY) * fGridY;
-		return p;
-	}
-
-	/**
-	 * Gets the x offset to move an object.
-	 */
-	public int getStepX() {
-		return fGridX;
-	}
-
-	/**
-	 * Gets the y offset to move an object.
-	 */
-	public int getStepY() {
-		return fGridY;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/HandleAndEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/HandleAndEnumerator.java
deleted file mode 100644
index d5ed93f16..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/HandleAndEnumerator.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * @(#)HandleAndEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.framework.Handle;
-
-import java.util.List;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class HandleAndEnumerator implements HandleEnumeration {
-	private HandleEnumeration myHE1;
-	private HandleEnumeration myHE2;
-
-	public HandleAndEnumerator(HandleEnumeration newHE1, HandleEnumeration newHE2) {
-		myHE1 = newHE1;
-		myHE2 = newHE2;
-	}
-
-	public Handle nextHandle() {
-		if (myHE1.hasNextHandle()) {
-			return myHE1.nextHandle();
-		}
-		else if (myHE2.hasNextHandle()) {
-			return myHE2.nextHandle();
-		}
-		else {
-			// todo: throw exception
-			return null;
-		}
-	}
-
-	public boolean hasNextHandle() {
-		return myHE1.hasNextHandle() || myHE2.hasNextHandle();
-	}
-
-	public List toList() {
-		List joinedList = myHE1.toList();
-		joinedList.addAll(myHE2.toList());
-		return joinedList;
-	}
-
-	public void reset() {
-		myHE1.reset();
-		myHE2.reset();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/HandleEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/HandleEnumerator.java
deleted file mode 100644
index 9b0f77c9c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/HandleEnumerator.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * @(#)HandleEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.framework.HandleEnumeration;
-import CH.ifa.draw.framework.Handle;
-
-import java.util.Iterator;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class HandleEnumerator implements HandleEnumeration {
-	private Iterator myIterator;
-	private Collection myInitialCollection;
-
-	private static HandleEnumerator singletonEmptyEnumerator =
-		new HandleEnumerator(CollectionsFactory.current().createList());
-
-	public HandleEnumerator(Collection c) {
-		myInitialCollection = c;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextHandle() {
-		return myIterator.hasNext();
-	}
-
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Handle nextHandle() {
-		return (Handle)myIterator.next();
-	}
-
-	/**
-	 * Returns a list with all elements currently available in the enumeration.
-	 * That means, elements retrieved already by calling nextHandle() are not
-	 * contained. This method does not change the position of the enumeration.
-	 * Warning: this method is not necessarily synchronized so this enumeration should not
-	 * be modified at the same time!
-	 *
-	 * @return list with all elements currently available in the enumeration.
-	 */
-	public List toList() {
-		List handles = CollectionsFactory.current().createList();
-		while (hasNextHandle()) {
-			handles.add(nextHandle());
-		}
-		// copy/reset iterator to original content
-		myIterator = handles.iterator();
-		return handles;
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myIterator = myInitialCollection.iterator();
-	}
-
-	public static HandleEnumeration getEmptyEnumeration() {
-		return singletonEmptyEnumerator;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/HandleTracker.java b/JHotDraw/src/CH/ifa/draw/standard/HandleTracker.java
deleted file mode 100644
index 1cc7487ce..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/HandleTracker.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * @(#)HandleTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.event.MouseEvent;
-import CH.ifa.draw.framework.*;
-
-/**
- * HandleTracker implements interactions with the handles of a Figure.
- *
- * @see SelectionTool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class HandleTracker extends AbstractTool {
-
-	private Handle  fAnchorHandle;
-
-	public HandleTracker(DrawingEditor newDrawingEditor, Handle anchorHandle) {
-		super(newDrawingEditor);
-		fAnchorHandle = anchorHandle;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		fAnchorHandle.invokeStart(x, y, view());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		fAnchorHandle.invokeStep(x, y, getAnchorX(), getAnchorY(), view());
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		super.mouseUp(e, x, y);
-		fAnchorHandle.invokeEnd(x, y, getAnchorX(), getAnchorY(), view());
-	}
-
-	public void activate() {
-		// suppress clearSelection() and tool-activation-notification
-		// in superclass by providing an empty implementation
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/InsertIntoDrawingVisitor.java b/JHotDraw/src/CH/ifa/draw/standard/InsertIntoDrawingVisitor.java
deleted file mode 100644
index 10b11d75a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/InsertIntoDrawingVisitor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)InsertIntoDrawingVisitor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.Set;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class InsertIntoDrawingVisitor implements FigureVisitor {
-	private Set myInsertedFigures;
-	private Drawing myDrawing;
-
-	public InsertIntoDrawingVisitor(Drawing newDrawing) {
-		myInsertedFigures = CollectionsFactory.current().createSet();
-		setDrawing(newDrawing);
-	}
-
-	private void setDrawing(Drawing newDrawing) {
-		myDrawing = newDrawing;
-	}
-
-	protected Drawing getDrawing() {
-		return myDrawing;
-	}
-
-	public void visitFigure(Figure hostFigure) {
-		if (!myInsertedFigures.contains(hostFigure) && !getDrawing().includes(hostFigure)) {
-			Figure addedFigure = getDrawing().add(hostFigure);
-			myInsertedFigures.add(addedFigure);
-		}
-	}
-
-	public void visitHandle(Handle hostHandle) {
-	}
-
-	public void visitFigureChangeListener(FigureChangeListener hostFigureChangeListener) {
-//		hostFigureChangeListener.visit(this);
-	}
-
-	public FigureEnumeration getInsertedFigures() {
-		return new FigureEnumerator(myInsertedFigures);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/LocatorConnector.java b/JHotDraw/src/CH/ifa/draw/standard/LocatorConnector.java
deleted file mode 100644
index a2b7ebf17..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/LocatorConnector.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * @(#)LocatorConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A LocatorConnector locates connection points with
- * the help of a Locator. It supports the definition
- * of connection points to semantic locations.
- *
- * @see Locator
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public class LocatorConnector extends AbstractConnector {
-
-	/**
-	 * The standard size of the connector. The display box
-	 * is centered around the located point.
-	 */
-	public static final int SIZE = 8;
-
-	private Locator  myLocator;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 5062833203337604181L;
-	private int locatorConnectorSerializedDataVersion = 1;
-
-	public LocatorConnector() { // only used for Storable
-		setLocator(null);
-	}
-
-	public LocatorConnector(Figure owner, Locator l) {
-		super(owner);
-		setLocator(l);
-	}
-
-	/**
-	 * Tests if a point is contained in the connector.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return displayBox().contains(x, y);
-	}
-
-	/**
-	 * Gets the display box of the connector.
-	 */
-	public Rectangle displayBox() {
-		Point p = getLocator().locate(owner());
-		return new Rectangle(
-				p.x - SIZE / 2,
-				p.y - SIZE / 2,
-				SIZE,
-				SIZE);
-	}
-
-	/**
-	 * Draws this connector.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.blue);
-		g.fillOval(r.x, r.y, r.width, r.height);
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getLocator());
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setLocator((Locator)dr.readStorable());
-	}
-
-	protected void setLocator(Locator newLocator) {
-		myLocator = newLocator;
-	}
-
-	public Locator getLocator() {
-		return myLocator;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/LocatorHandle.java b/JHotDraw/src/CH/ifa/draw/standard/LocatorHandle.java
deleted file mode 100644
index 2d94d9c14..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/LocatorHandle.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * @(#)LocatorHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Point;
-
-import CH.ifa.draw.framework.Cursor;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.Locator;
-
-/**
- * A LocatorHandle implements a Handle by delegating the location requests to
- * a Locator object.
- *
- * @see LocatorHandle
- *
- * @version <$CURRENT_VERSION$>
- */
-public class LocatorHandle extends AbstractHandle {
-
-	private Locator       fLocator;
-
-	/**
-	 * Initializes the LocatorHandle with the given Locator.
-	 */
-	public LocatorHandle(Figure owner, Locator l) {
-		super(owner);
-		fLocator = l;
-	}
-	/**
-	 * This should be cloned or it gives the receiver the opportunity to alter
-	 * our internal behavior.
-	 */
-	public Locator getLocator() {
-		return fLocator;
-	}
-
-	/**
-	 * Locates the handle on the figure by forwarding the request
-	 * to its figure.
-	 */
-	public Point locate() {
-		return fLocator.locate(owner());
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		Cursor c = super.getCursor();
-		if (getLocator() instanceof RelativeLocator) {
-			RelativeLocator rl = (RelativeLocator) getLocator();
-			if (rl.equals( RelativeLocator.north())) {
-				c = new AWTCursor(java.awt.Cursor.N_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.northEast())) {
-				c = new AWTCursor(java.awt.Cursor.NE_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.east())) {
-				c = new AWTCursor(java.awt.Cursor.E_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.southEast())) {
-				c = new AWTCursor(java.awt.Cursor.SE_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.south())) {
-				c = new AWTCursor(java.awt.Cursor.S_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.southWest())) {
-				c = new AWTCursor(java.awt.Cursor.SW_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.west())) {
-				c = new AWTCursor(java.awt.Cursor.W_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.northWest())) {
-				c = new AWTCursor(java.awt.Cursor.NW_RESIZE_CURSOR);
-			}
-		}
-		return c;
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/NullDrawingView.java b/JHotDraw/src/CH/ifa/draw/standard/NullDrawingView.java
deleted file mode 100644
index eab32cfbc..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/NullDrawingView.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * @(#)NullDrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.util.Collection;
-import java.util.Hashtable;
-
-import javax.swing.JPanel;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * This DrawingView provides a very basic implementation. It does not perform any
- * functionality apart from keeping track of its state represented by some important
- * fields. It is a Null-value object and is used instead of a null reference to
- * avoid null pointer exception. This concept is known as the Null-value object
- * bug pattern.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class NullDrawingView extends JPanel implements DrawingView {
-
-	private DrawingEditor myDrawingEditor;
-	private Drawing myDrawing;
-	private Painter myUpdateStrategy;
-	private Color myBackgroundColor;
-
-	private static Hashtable drawingViewManager = new Hashtable();
-
-	protected NullDrawingView(DrawingEditor editor) {
-		setEditor(editor);
-		setDrawing(new StandardDrawing());
-	}
-
-	/**
-	 * Sets the view's editor.
-	 */
-	public void setEditor(DrawingEditor editor) {
-		myDrawingEditor = editor;
-	}
-
-	/**
-	 * Gets the current tool.
-	 */
-	public Tool tool() {
-		return editor().tool();
-	}
-
-	/**
-	 * Gets the drawing.
-	 */
-	public Drawing drawing() {
-		return myDrawing;
-	}
-
-	/**
-	 * Sets and installs another drawing in the view.
-	 */
-	public void setDrawing(Drawing d) {
-		myDrawing = d;
-	}
-
-	/**
-	 * Gets the editor.
-	 */
-	public DrawingEditor editor() {
-		return myDrawingEditor;
-	}
-
-	/**
-	 * Adds a figure to the drawing.
-	 * @return the added figure.
-	 */
-	public Figure add(Figure figure) {
-		return figure;
-	}
-
-	/**
-	 * Removes a figure from the drawing.
-	 * @return the removed figure
-	 */
-	public Figure remove(Figure figure) {
-		return figure;
-	}
-
-	/**
-	 * Adds a collection of figures to the drawing.
-	 */
-	public void addAll(Collection figures) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Gets the size of the drawing.
-	 */
-	public Dimension getSize() {
-		return new Dimension();
-	}
-
-	/**
-	 * Gets the minimum dimension of the drawing.
-	 */
-	public Dimension getMinimumSize() {
-		return new Dimension();
-	}
-
-	/**
-	 * Gets the preferred dimension of the drawing..
-	 */
-	public Dimension getPreferredSize() {
-		return new Dimension();
-	}
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public void setDisplayUpdate(Painter newUpdateStrategy) {
-		myUpdateStrategy = newUpdateStrategy;
-	}
-
-	/**
-	 * Gets the current display update strategy.
-	 * @see Painter
-	 */
-	public Painter getDisplayUpdate() {
-		return myUpdateStrategy;
-	}
-
-	/**
-	 * Gets an enumeration over the currently selected figures.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selection() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Gets the currently seleced figures in Z order.
-	 * @see #selection
-	 * @return a FigureEnumeration with the selected figures. This enumeration
-	 * represents a snapshot of the current selection.
-	 */
-	public FigureEnumeration selectionZOrdered() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Gets the number of selected figures.
-	 */
-	public int selectionCount() {
-		return 0;
-	}
-
-	/**
-	 * Test whether a given figure is selected.
-	 */
-	public boolean isFigureSelected(Figure checkFigure) {
-		return false;
-	}
-
-	/**
-	 * Adds a figure to the current selection.
-	 */
-	public void addToSelection(Figure figure) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Adds a Collection of figures to the current selection.
-	 */
-	public void addToSelectionAll(Collection figures) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Adds a FigureEnumeration to the current selection.
-	 */
-	public void addToSelectionAll(FigureEnumeration fe) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Removes a figure from the selection.
-	 */
-	public void removeFromSelection(Figure figure) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * If a figure isn't selected it is added to the selection.
-	 * Otherwise it is removed from the selection.
-	 */
-	public void toggleSelection(Figure figure) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Clears the current selection.
-	 */
-	public void clearSelection() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Gets the current selection as a FigureSelection. A FigureSelection
-	 * can be cut, copied, pasted.
-	 */
-	public FigureSelection getFigureSelection() {
-		return new StandardFigureSelection(selection(), 0);
-	}
-
-	/**
-	 * Finds a handle at the given coordinates.
-	 * @return the hit handle, null if no handle is found.
-	 */
-	public Handle findHandle(int x, int y) {
-		return null;
-	}
-
-	/**
-	 * Gets the position of the last click inside the view.
-	 */
-	public Point lastClick() {
-		return new Point();
-	}
-
-	/**
-	 * Sets the current point constrainer.
-	 */
-	public void setConstrainer(PointConstrainer p) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Gets the current grid setting.
-	 */
-	public PointConstrainer getConstrainer() {
-		return null;
-	}
-
-	/**
-	 * Checks whether the drawing has some accumulated damage
-	 */
-	public void checkDamage() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Repair the damaged area
-	 */
-	public void repairDamage() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Paints the drawing view. The actual drawing is delegated to
-	 * the current update strategy.
-	 * @see Painter
-	 */
-	public void paint(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Creates an image with the given dimensions
-	 */
-	public Image createImage(int width, int height) {
-		return null;
-	}
-
-	/**
-	 * Gets a graphic to draw into
-	 */
-	public Graphics getGraphics() {
-		return null;
-	}
-
-	/**
-	 * Gets the background color of the DrawingView
-	 */
-	public Color getBackground() {
-		return myBackgroundColor;
-	}
-
-	/**
-	 * Sets the background color of the DrawingView
-	 */
-	public void setBackground(Color c) {
-		myBackgroundColor = c;
-	}
-
-	/**
-	 * Draws the contents of the drawing view.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void drawAll(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the given figures.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the currently active handles.
-	 */
-	public void drawHandles(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the drawing.
-	 */
-	public void drawDrawing(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the background. If a background pattern is set it
-	 * is used to fill the background. Otherwise the background
-	 * is filled in the background color.
-	 */
-	public void drawBackground(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Sets the cursor of the DrawingView
-	 */
-	public void setCursor(CH.ifa.draw.framework.Cursor c) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Freezes the view by acquiring the drawing lock.
-	 * @see Drawing#lock
-	 */
-	public void freezeView() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Unfreezes the view by releasing the drawing lock.
-	 * @see Drawing#unlock
-	 */
-	public void unfreezeView() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Add a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void addFigureSelectionListener(FigureSelectionListener fsl) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Remove a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void removeFigureSelectionListener(FigureSelectionListener fsl) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Returns a FigureEnumeration of connection figures
-	 */
-	public FigureEnumeration getConnectionFigures(Figure inFigure) {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Inserts figures in a drawing at given offset. Optional check for connection figures
-	 *
-	 *  @return enumeration which has been added to the drawing. The figures in the enumeration
-	 *          can have changed during adding them (e.g. they could have been decorated).
-	 */
-	public FigureEnumeration insertFigures(FigureEnumeration inFigures, int dx, int dy, boolean bCheck) {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	public void drawingInvalidated(DrawingChangeEvent e) {
-		// ignore: do nothing
-	}
-
-	public void drawingRequestUpdate(DrawingChangeEvent e) {
-		// ignore: do nothing
-	}
-
-	public void drawingTitleChanged(DrawingChangeEvent e) {
-		// ignore: do nothing        
-	}
-
-	public boolean isInteractive() {
-		return false;
-	}
-
-	public synchronized static DrawingView getManagedDrawingView(DrawingEditor editor) {
-		if (drawingViewManager.containsKey(editor)) {
-			return (DrawingView)drawingViewManager.get(editor);
-		}
-		else {
-			DrawingView newDrawingView = new NullDrawingView(editor);
-			drawingViewManager.put(editor, newDrawingView);
-			return newDrawingView;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/NullHandle.java b/JHotDraw/src/CH/ifa/draw/standard/NullHandle.java
deleted file mode 100644
index 9258e26d1..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/NullHandle.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * @(#)NullHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * A handle that doesn't change the owned figure. Its only purpose is
- * to show feedback that a figure is selected.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b>NullObject</b><br>
- * NullObject enables to treat handles that don't do
- * anything in the same way as other handles.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class NullHandle extends LocatorHandle {
-
-	/**
-	 * The handle's locator.
-	 */
-	protected Locator fLocator;
-
-	public NullHandle(Figure owner, Locator locator) {
-		super(owner, locator);
-	}
-
-	/**
-	 * Draws the NullHandle. NullHandles are drawn as a
-	 * red framed rectangle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/NullPainter.java b/JHotDraw/src/CH/ifa/draw/standard/NullPainter.java
deleted file mode 100644
index 5b739c1e8..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/NullPainter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)NullPainter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	\x{FFFD} by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.standard;
-
-import java.awt.Graphics;
-
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.Painter;
-
-/**
- * Default implementation support for a Painter.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b>NullObject</b><br>
- * NullObject enables to treat handles that don't do
- * anything in the same way as other handles.
- *
- * @see Painter
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class NullPainter implements Painter {
-	/* (non-Javadoc)
-	 * @see CH.ifa.draw.framework.Painter#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		// Do nothing in a reasonable way.
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/NullTool.java b/JHotDraw/src/CH/ifa/draw/standard/NullTool.java
deleted file mode 100644
index 3afc961fb..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/NullTool.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)NullTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * Default implementation support for Tools.
- *
- * @see DrawingView
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class NullTool extends AbstractTool {
-	public NullTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void activate() {
-		// suppress clearSelection() and tool-activation notification in superclass
-	}
-
-	public void deactivate() {
-		// suppress clearSelection() and tool-activation notification in superclass
-	}
-
-    protected void checkUsable() {
-    	//suppress setUsable(false);
-	}    
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/OffsetLocator.java b/JHotDraw/src/CH/ifa/draw/standard/OffsetLocator.java
deleted file mode 100644
index 5298e9af9..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/OffsetLocator.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * @(#)OffsetLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A locator to offset another Locator.
- * @see Locator
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class OffsetLocator extends AbstractLocator {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 2679950024611847621L;
-	private int offsetLocatorSerializedDataVersion = 1;
-
-	private Locator fBase;
-	private int     fOffsetX;
-	private int     fOffsetY;
-
-	public OffsetLocator() {
-		fBase = null;
-		fOffsetX = 0;
-		fOffsetY = 0;
-	}
-
-	public OffsetLocator(Locator base) {
-		this();
-		fBase = base;
-	}
-
-	public OffsetLocator(Locator base, int offsetX, int offsetY) {
-		this(base);
-		fOffsetX = offsetX;
-		fOffsetY = offsetY;
-	}
-
-	public Point locate(Figure owner) {
-		Point p = fBase.locate(owner);
-		p.x += fOffsetX;
-		p.y += fOffsetY;
-		return p;
-	}
-
-	public void moveBy(int dx, int dy) {
-		fOffsetX += dx;
-		fOffsetY += dy;
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fOffsetX);
-		dw.writeInt(fOffsetY);
-		dw.writeStorable(fBase);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fOffsetX = dr.readInt();
-		fOffsetY = dr.readInt();
-		fBase = (Locator)dr.readStorable();
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/OrderedFigureElement.java b/JHotDraw/src/CH/ifa/draw/standard/OrderedFigureElement.java
deleted file mode 100644
index 3183af556..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/OrderedFigureElement.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * @(#)OrderFigureElement.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.Figure;
-
-/**
- * @author WMG (INIT Copyright (C) 2000 All rights reserved)
- * @version <$CURRENT_VERSION$>
- */
-class OrderedFigureElement implements Comparable {
-
-	//_________________________________________________________VARIABLES
-
-	private Figure  _theFigure;
-	private int     _nZ;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public OrderedFigureElement(Figure aFigure, int nZ) {
-		_theFigure = aFigure;
-		_nZ = nZ;
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public Figure getFigure() {
-		return _theFigure;
-	}
-
-	public int getZValue() {
-		return _nZ;
-	}
-
-	public int compareTo(Object o) {
-		OrderedFigureElement ofe = (OrderedFigureElement) o;
-		if (_nZ == ofe.getZValue()) {
-			return 0;
-		}
-
-		if (_nZ > ofe.getZValue()) {
-			return 1;
-		}
-
-		return -1;
-	}
-
-	//_______________________________________________________________END
-
-} //end of class OrderedFigureElement
diff --git a/JHotDraw/src/CH/ifa/draw/standard/PasteCommand.java b/JHotDraw/src/CH/ifa/draw/standard/PasteCommand.java
deleted file mode 100644
index fb3d278a6..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/PasteCommand.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)PasteCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-import java.awt.*;
-
-/**
- * Command to insert the clipboard into the drawing.
- *
- * @see Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PasteCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a paste command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public PasteCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		Point lastClick = view().lastClick();
-		FigureSelection selection = (FigureSelection)Clipboard.getClipboard().getContents();
-		if (selection != null) {
-			setUndoActivity(createUndoActivity());
-			getUndoActivity().setAffectedFigures(
-				(FigureEnumerator)selection.getData(StandardFigureSelection.TYPE));
-
-			if (!getUndoActivity().getAffectedFigures().hasNextFigure()) {
-				setUndoActivity(null);
-				return;
-			}
-
-			Rectangle r = getBounds(getUndoActivity().getAffectedFigures());
-			view().clearSelection();
-
-			// get an enumeration of inserted figures
-			FigureEnumeration fe = insertFigures(getUndoActivity().getAffectedFigures(), lastClick.x-r.x, lastClick.y-r.y);
-			getUndoActivity().setAffectedFigures(fe);
-
-			view().checkDamage();
-		}
-	}
-
-	public boolean isExecutableWithView() {
-		return Clipboard.getClipboard().getContents() != null;
-	}
-
-	private Rectangle getBounds(FigureEnumeration fe) {
-		Rectangle r = fe.nextFigure().displayBox();
-		while (fe.hasNextFigure()) {
-			r.add(fe.nextFigure().displayBox());
-		}
-		return r;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(getDrawingView().drawing());
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-	    		fe.nextFigure().visit(deleteVisitor);
-			}
-
-			getDrawingView().clearSelection();
-
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-			setAffectedFigures(getDrawingView().insertFigures(
-				getAffectedFigures(), 0, 0, false));
-
-			return true;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/PeripheralLocator.java b/JHotDraw/src/CH/ifa/draw/standard/PeripheralLocator.java
deleted file mode 100644
index 6cc5e86cf..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/PeripheralLocator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * @(#)PeripheralLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Point;
-import CH.ifa.draw.framework.Figure;
-import java.awt.*;
-import java.lang.Math;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class PeripheralLocator extends AbstractLocator {
-	private static int CORNERSPACE = 1;
-	private Figure fOwner;
-	private int fPPS;
-	private int fIndex;
-
-	private PeripheralLocator() {
-		// do nothing: for JDO-compliance only
-	}
-
-	public PeripheralLocator(int pointsPerSide, int index) {
-		fPPS = pointsPerSide;
-		fIndex = index;
-		if (index >= pointsPerSide *4) {
-			throw new IllegalArgumentException("Index must be within the range of points starting with index = 0.");
-		}
-	}
-
-    public Point locate(Figure parm1) {
-		Rectangle r = parm1.displayBox();
-		/* calculate total length for spacing */
-		//int circumference = r.width*2 + r.height*2;
-		/* subtrace corners spacing */
-		//int insets = 2 * 4 * CORNERSPACE;
-
-		//int spacing = circumference/(fPPS*4 +4);
-		float hSpacing = (float)r.width / (fPPS +1);
-		float vSpacing = (float)r.height / (fPPS +1);
-
-		int x = 0;
-		int y = 0;
-		if (fIndex < fPPS) {
-			//north
-			x = Math.round((fIndex + 1.0f ) * hSpacing);
-			y = 0;
-		}
-		else if (fIndex < (fPPS*2)) {
-			//east
-			x = Math.round((fPPS + 1 ) * hSpacing) ;//r.width;
-			y = Math.round((fIndex +1 - fPPS) * vSpacing);  //should be negative?
-		}
-		else if (fIndex < (fPPS*3)) {
-			//south
-			x = Math.round(((fPPS + 1 ) - (fIndex +1 - fPPS*2))* hSpacing);
-			y = Math.round((fPPS + 1 )* vSpacing) /*r.height*/;
-		}
-		else {
-			//west
-			x = 0;
-			y = Math.round(((fPPS +1) - (fIndex +1 - fPPS*3))*vSpacing);
-		}
-		x = x+r.x;
-		y = y+r.y;
-		return new Point((int)x, (int)y);
-    }
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/standard/QuadTree.java b/JHotDraw/src/CH/ifa/draw/standard/QuadTree.java
deleted file mode 100644
index 035b0d56d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/QuadTree.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * @(#)QuadTree.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.awt.geom.Rectangle2D;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.io.Serializable;
-
-/**
- * @author WMG (INIT Copyright (C) 2000 All rights reserved)
- * @version <$CURRENT_VERSION$>
- */
-class QuadTree implements Serializable {
-
-	//_________________________________________________________VARIABLES
-
-	private Rectangle2D  _absoluteBoundingRectangle2D = new Rectangle2D.Double();
-	private int          _nMaxTreeDepth;
-	private Hashtable    _theHashtable = new Hashtable();
-	private Hashtable    _outsideHashtable = new Hashtable();
-	private QuadTree     _nwQuadTree;
-	private QuadTree     _neQuadTree;
-	private QuadTree     _swQuadTree;
-	private QuadTree     _seQuadTree;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public QuadTree(Rectangle2D absoluteBoundingRectangle2D) {
-		this(2, absoluteBoundingRectangle2D);
-	}
-
-	public QuadTree(int nMaxTreeDepth, Rectangle2D
-		absoluteBoundingRectangle2D) {
-		_init(nMaxTreeDepth, absoluteBoundingRectangle2D);
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public void add(Object anObject, Rectangle2D absoluteBoundingRectangle2D) {
-		if (_nMaxTreeDepth == 1) {
-			if (absoluteBoundingRectangle2D.intersects(_absoluteBoundingRectangle2D)) {
-				_theHashtable.put(anObject, absoluteBoundingRectangle2D);
-			}
-			else {
-				_outsideHashtable.put(anObject, absoluteBoundingRectangle2D);
-			}
-			return;
-		}
-
-		boolean bNW = absoluteBoundingRectangle2D.intersects(
-			_nwQuadTree.getAbsoluteBoundingRectangle2D());
-
-		boolean bNE = absoluteBoundingRectangle2D.intersects(
-			_neQuadTree.getAbsoluteBoundingRectangle2D());
-
-		boolean bSW = absoluteBoundingRectangle2D.intersects(
-			_swQuadTree.getAbsoluteBoundingRectangle2D());
-
-		boolean bSE = absoluteBoundingRectangle2D.intersects(
-			_seQuadTree.getAbsoluteBoundingRectangle2D());
-
-		int nCount = 0;
-
-		if (bNW == true) {
-			nCount++;
-		}
-		if (bNE == true) {
-			nCount++;
-		}
-		if (bSW == true) {
-			nCount++;
-		}
-		if (bSE == true) {
-			nCount++;
-		}
-
-		if (nCount > 1) {
-			_theHashtable.put(anObject, absoluteBoundingRectangle2D);
-			return;
-		}
-		if (nCount == 0) {
-			_outsideHashtable.put(anObject, absoluteBoundingRectangle2D);
-			return;
-		}
-
-		if (bNW == true) {
-			_nwQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-		if (bNE == true) {
-			_neQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-		if (bSW == true) {
-			_swQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-		if (bSE == true) {
-			_seQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-	}
-
-	public Object remove(Object anObject) {
-		Object returnObject = _theHashtable.remove(anObject);
-		if (returnObject != null) {
-			return returnObject;
-		}
-
-		if (_nMaxTreeDepth > 1) {
-			returnObject = _nwQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-
-			returnObject = _neQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-
-			returnObject = _swQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-
-			returnObject = _seQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-		}
-
-		returnObject = _outsideHashtable.remove(anObject);
-		if (returnObject != null) {
-			return returnObject;
-		}
-
-		return null;
-	}
-
-
-	public void clear() {
-		_theHashtable.clear();
-		_outsideHashtable.clear();
-		if (_nMaxTreeDepth > 1) {
-			_nwQuadTree.clear();
-			_neQuadTree.clear();
-			_swQuadTree.clear();
-			_seQuadTree.clear();
-		}
-	}
-
-	public int getMaxTreeDepth() {
-		return _nMaxTreeDepth;
-	}
-/*
-	public FigureEnumeration getAll() {
-		List l = CollectionsFactory.current().createList();
-		l.add(_theHashtable.keySet());
-		l.add(_outsideHashtable.keySet());
-
-		if (_nMaxTreeDepth > 1) {
-			l.add(_nwQuadTree.getAll().toList());
-			l.add(_neQuadTree.getAll().toList());
-			l.add(_swQuadTree.getAll().toList());
-			l.add(_seQuadTree.getAll().toList());
-		}
-
-		return new FigureEnumerator(l);
-	}
-*/
-	public FigureEnumeration getAllWithin(Rectangle2D r) {
-		List l = CollectionsFactory.current().createList();
-		for (Iterator ii = _outsideHashtable.keySet().iterator(); ii.hasNext(); ) {
-			Object anObject = ii.next();
-			Rectangle2D itsAbsoluteBoundingRectangle2D = (Rectangle2D)
-			_outsideHashtable.get(anObject);
-
-			if (itsAbsoluteBoundingRectangle2D.intersects(r)) {
-				l.add(anObject);
-			}
-		}
-
-		if (_absoluteBoundingRectangle2D.intersects(r)) {
-			for(Iterator i = _theHashtable.keySet().iterator(); i.hasNext(); ) {
-				Object anObject = i.next();
-				Rectangle2D itsAbsoluteBoundingRectangle2D = (Rectangle2D)
-				_theHashtable.get(anObject);
-
-				if (itsAbsoluteBoundingRectangle2D.intersects(r)) {
-					l.add(anObject);
-				}
-			}
-
-			if (_nMaxTreeDepth > 1) {
-				l.add(_nwQuadTree.getAllWithin(r));
-				l.add(_neQuadTree.getAllWithin(r));
-				l.add(_swQuadTree.getAllWithin(r));
-				l.add(_seQuadTree.getAllWithin(r));
-			}
-		}
-
-		return new FigureEnumerator(l);
-	}
-
-	public Rectangle2D getAbsoluteBoundingRectangle2D() {
-		return _absoluteBoundingRectangle2D;
-	}
-
-	//___________________________________________________PRIVATE METHODS
-
-	private void _init(int nMaxTreeDepth, Rectangle2D absoluteBoundingRectangle2D) {
-		_absoluteBoundingRectangle2D.setRect(absoluteBoundingRectangle2D);
-		_nMaxTreeDepth = nMaxTreeDepth;
-
-		if (_nMaxTreeDepth > 1) {
-			_nwQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeNorthwest(absoluteBoundingRectangle2D));
-			_neQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeNortheast(absoluteBoundingRectangle2D));
-			_swQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeSouthwest(absoluteBoundingRectangle2D));
-			_seQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeSoutheast(absoluteBoundingRectangle2D));
-		}
-	}
-
-	private Rectangle2D _makeNorthwest(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX(), r.getY(), r.getWidth() / 2.0, r.getHeight() / 2.0);
-	}
-
-	private Rectangle2D _makeNortheast(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX() + r.getWidth() / 2.0,
-			r.getY(), r.getWidth() / 2.0, r.getHeight() / 2.0);
-	}
-
-	private Rectangle2D _makeSouthwest(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX(), r.getY() + r.getHeight() / 2.0,
-			r.getWidth() / 2.0, r.getHeight() / 2.0);
-	}
-
-	private Rectangle2D _makeSoutheast(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX() + r.getWidth() / 2.0,
-			r.getY() + r.getHeight() / 2.0, r.getWidth() / 2.0,
-			r.getHeight() / 2.0);
-	}
-
-//_______________________________________________________________END
-
-} //end of class QuadTree
diff --git a/JHotDraw/src/CH/ifa/draw/standard/RelativeLocator.java b/JHotDraw/src/CH/ifa/draw/standard/RelativeLocator.java
deleted file mode 100644
index 29ccc9f59..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/RelativeLocator.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * @(#)RelativeLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-/**
- * A locator that specfies a point that is relative to the bounds
- * of a figure.
- *
- * @see Locator
- *
- * @version <$CURRENT_VERSION$>
- */
-public class RelativeLocator extends AbstractLocator {
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 2619148876087898602L;
-	private int relativeLocatorSerializedDataVersion = 1;
-
-	double  fRelativeX;
-	double  fRelativeY;
-
-	public RelativeLocator() {
-		fRelativeX = 0.0;
-		fRelativeY = 0.0;
-	}
-
-	public boolean equals(Object o) {
-		if (RelativeLocator.class.isInstance(o)) {
-			RelativeLocator rl = (RelativeLocator) o;
-			if ((rl.fRelativeX) == fRelativeX && (rl.fRelativeY == fRelativeY)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public RelativeLocator(double relativeX, double relativeY) {
-		fRelativeX = relativeX;
-		fRelativeY = relativeY;
-	}
-
-	public Point locate(Figure owner) {
-		Rectangle r = owner.displayBox();
-		return new Point(
-			r.x + (int)(r.width * fRelativeX),
-			r.y + (int)(r.height * fRelativeY)
-		);
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeDouble(fRelativeX);
-		dw.writeDouble(fRelativeY);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fRelativeX = dr.readDouble();
-		fRelativeY = dr.readDouble();
-	}
-
-	static public Locator east() {
-		return new RelativeLocator(1.0, 0.5);
-	}
-
-	/**
-	 * North.
-	 */
-	static public Locator north() {
-		return new RelativeLocator(0.5, 0.0);
-	}
-
-	/**
-	 * West.
-	 */
-	static public Locator west() {
-		return new RelativeLocator(0.0, 0.5);
-	}
-
-	/**
-	 * North east.
-	 */
-	static public Locator northEast() {
-		return new RelativeLocator(1.0, 0.0);
-	}
-
-	/**
-	 * North west.
-	 */
-	static public Locator northWest() {
-		return new RelativeLocator(0.0, 0.0);
-	}
-
-	/**
-	 * South.
-	 */
-	static public Locator south() {
-		return new RelativeLocator(0.5, 1.0);
-	}
-
-	/**
-	 * South east.
-	 */
-	static public Locator southEast() {
-		return new RelativeLocator(1.0, 1.0);
-	}
-
-	/**
-	 * South west.
-	 */
-	static public Locator southWest() {
-		return new RelativeLocator(0.0, 1.0);
-	}
-
-	/**
-	 * Center.
-	 */
-	static public Locator center() {
-		return new RelativeLocator(0.5, 0.5);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ReverseFigureEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/ReverseFigureEnumerator.java
deleted file mode 100644
index 4ee5f317a..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ReverseFigureEnumerator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * @(#)ReverseFigureEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.ReverseListEnumerator;
-import CH.ifa.draw.framework.*;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * An Enumeration that enumerates a Collection of figures back (size-1) to front (0).
- *
- * @version <$CURRENT_VERSION$>
- */
-public final class ReverseFigureEnumerator implements FigureEnumeration {
-	private Iterator myIterator;
-	private List myInitialList;
-
-	public ReverseFigureEnumerator(List l) {
-		myInitialList = l;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextFigure() {
-		return myIterator.hasNext();
-	}
-
-	/**
-	 * Returns the next element casted as a figure of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure() {
-		return (Figure)myIterator.next();
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myIterator = new ReverseListEnumerator(myInitialList);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SelectAllCommand.java b/JHotDraw/src/CH/ifa/draw/standard/SelectAllCommand.java
deleted file mode 100644
index 2763202db..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SelectAllCommand.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * @(#)SelectAllCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-
-/**
- * Command to select all figures in a view.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class SelectAllCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a select all command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public SelectAllCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-    	getUndoActivity().setAffectedFigures(view().selection());
-		view().addToSelectionAll(view().drawing().figures());
-		view().checkDamage();
-	}
-
-	/**
-	 * Used in enabling the properties menu item.
-	 * SelectAll menu item will be enabled only when there ia atleast one figure
-	 * in the selected drawing view.
-	 */
-	public boolean isExecutableWithView() {
-		FigureEnumeration fe = view().drawing().figures();
-		if (fe.hasNextFigure() && (fe.nextFigure() != null)) {
-			return true;
-		}
-
-		return false;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new SelectAllCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-	        	return false;
-			}
-
-			getDrawingView().clearSelection();
-			getDrawingView().addToSelectionAll(getAffectedFigures());
-
-		    return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				getDrawingView().addToSelectionAll(getDrawingView().drawing().figures());
-				return true;
-			}
-
-			return false;
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SelectAreaTracker.java b/JHotDraw/src/CH/ifa/draw/standard/SelectAreaTracker.java
deleted file mode 100644
index 8b06eca50..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SelectAreaTracker.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * @(#)SelectAreaTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.awt.event.MouseEvent;
-import CH.ifa.draw.framework.*;
-
-/**
- * SelectAreaTracker implements a rubberband selection of an area.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class SelectAreaTracker extends AbstractTool {
-    /** Selected rectangle in physical coordinates space */
-	private Rectangle fSelectGroup;
-    private Color fRubberBandColor;
-
-	public SelectAreaTracker(DrawingEditor newDrawingEditor) {
-        this(newDrawingEditor, Color.black);
-    }
-
-    public SelectAreaTracker(DrawingEditor newDrawingEditor, Color rubberBandColor) {
-		super(newDrawingEditor);
-        fRubberBandColor = rubberBandColor;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		// use event coordinates to supress any kind of
-		// transformations like constraining points to a grid
-		super.mouseDown(e, e.getX(), e.getY());
-		rubberBand(getAnchorX(), getAnchorY(), getAnchorX(), getAnchorY());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		eraseRubberBand();
-		rubberBand(getAnchorX(), getAnchorY(), x, y);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		eraseRubberBand();
-		selectGroup(e.isShiftDown());
-		super.mouseUp(e, x, y);
-	}
-
-	private void rubberBand(int x1, int y1, int x2, int y2) {
-		fSelectGroup = new Rectangle(new Point(x1, y1));
-		fSelectGroup.add(new Point(x2, y2));
-		drawXORRect(fSelectGroup);
-	}
-
-	private void eraseRubberBand() {
-		drawXORRect(fSelectGroup);
-	}
-
-	private void drawXORRect(Rectangle r) {
-		Graphics g = view().getGraphics();
-		if ( g != null ) {
-			try {
-                if (g instanceof Graphics2D) {
-                    // Do dotted-line in Java2
-                    Stroke dashedStroke = new BasicStroke(1.0f,
-                        BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER,
-                        10.0f, new float[] {5f, 5f, 5f, 5f}, 5.0f);
-                    ((Graphics2D) g).setStroke(dashedStroke);
-                }
-
-				g.setXORMode(view().getBackground());
-                g.setColor(fRubberBandColor);
-				g.drawRect(r.x, r.y, r.width, r.height);
-			}
-			finally {
-				g.dispose(); // SF bugtracker id: #490663
-			}
-		}
-	}
-
-	private void selectGroup(boolean toggle) {
-		FigureEnumeration fe = drawing().figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			Rectangle r2 = figure.displayBox();
-			if (fSelectGroup.contains(r2.x, r2.y) && fSelectGroup.contains(r2.x+r2.width, r2.y+r2.height)) {
-				if (toggle) {
-					view().toggleSelection(figure);
-				}
-				else {
-					view().addToSelection(figure);
-				}
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SelectionTool.java b/JHotDraw/src/CH/ifa/draw/standard/SelectionTool.java
deleted file mode 100644
index cb8e7aacc..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SelectionTool.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)SelectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableTool;
-import CH.ifa.draw.util.UndoableHandle;
-import CH.ifa.draw.contrib.dnd.DragNDropTool;
-import java.awt.event.MouseEvent;
-
-/**
- * Tool to select and manipulate figures.
- * A selection tool is in one of three states, e.g., background
- * selection, figure selection, handle manipulation. The different
- * states are handled by different child tools.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld032.htm>State</a></b><br>
- * SelectionTool is the StateContext and child is the State.
- * The SelectionTool delegates state specific
- * behavior to its current child tool.
- * <hr>
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class SelectionTool extends AbstractTool {
-
-	private Tool myDelegationTool = null;
-
-	public SelectionTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Handles mouse down events and starts the corresponding tracker.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		// on MS-Windows NT: AWT generates additional mouse down events
-		// when the left button is down && right button is clicked.
-		// To avoid dead locks we ignore such events
-		if (getDelegateTool() != null) {
-			return;
-		}
-
-		view().freezeView();
-
-		Handle handle = view().findHandle(e.getX(), e.getY());
-		if (handle != null) {
-			setDelegateTool(createHandleTracker(view(), handle));
-		}
-		else {
-			Figure figure = drawing().findFigure(e.getX(), e.getY());
-			if (figure != null) {
-				setDelegateTool(createDragTracker(figure));
-			}
-			else {
-				if (!e.isShiftDown()) {
-					view().clearSelection();
-				}
-				setDelegateTool(createAreaTracker());
-			}
-		}
-		getDelegateTool().activate();
-		getDelegateTool().mouseDown(e, x, y);
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 * Switches the cursors depending on whats under them.
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-		if (evt.getSource() == getActiveView() ) {
-			DragNDropTool.setCursor(evt.getX(), evt.getY(), getActiveView());
-		}
-	}
-
-	/**
-	 * Handles mouse drag events. The events are forwarded to the
-	 * current tracker.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (getDelegateTool() != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			getDelegateTool().mouseDrag(e, x, y);
-		}
-	}
-
-	/**
-	 * Handles mouse up events. The events are forwarded to the
-	 * current tracker.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (getDelegateTool() != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			getDelegateTool().mouseUp(e, x, y);
-			getDelegateTool().deactivate();
-			setDelegateTool(null);
-		}
-		if (view() != null) {
-			view().unfreezeView();
-			editor().figureSelectionChanged(view());
-		}
-	}
-
-	/**
-	 * Factory method to create a Handle tracker. It is used to track a handle.
-	 */
-	protected Tool createHandleTracker(DrawingView view, Handle handle) {
-		return new HandleTracker(editor(), new UndoableHandle(handle));
-	}
-
-	/**
-	 * Factory method to create a Drag tracker. It is used to drag a figure.
-	 */
-	protected Tool createDragTracker(Figure f) {
-		return new UndoableTool(new DragTracker(editor(), f));
-	}
-
-	/**
-	 * Factory method to create an area tracker. It is used to select an
-	 * area.
-	 */
-	protected Tool createAreaTracker() {
-		return new SelectAreaTracker(editor());
-	}
-
-	protected Tool getDelegateTool() {
-		return myDelegationTool;
-	}
-
-	protected final void setDelegateTool(Tool newDelegateTool) {
-		myDelegationTool = newDelegateTool;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SendToBackCommand.java b/JHotDraw/src/CH/ifa/draw/standard/SendToBackCommand.java
deleted file mode 100644
index 0fc2b8c9c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SendToBackCommand.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)SendToBackCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.util.Undoable;
-import java.util.*;
-
-/**
- * A command to send the selection to the back of the drawing.
- *
- * @version <$CURRENT_VERSION$>
- */ 
-public class SendToBackCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a send to back command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public SendToBackCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selectionZOrdered());
-		FigureEnumeration fe = getUndoActivity().getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			view().drawing().sendToBack(fe.nextFigure());
-		}
-		view().checkDamage();
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	protected Undoable createUndoActivity() {
-		return new SendToBackCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Hashtable myOriginalLayers;
-		
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			myOriginalLayers = new Hashtable();
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				int currentFigureLayer = getOriginalLayer(currentFigure);
-				getDrawingView().drawing().sendToLayer(currentFigure, currentFigureLayer);
-			}
-			
-			return true;
-		}
-		
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-			
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				sendToCommand(fe.nextFigure());
-			}
-			
-			return true;			
-		}
-
-		protected void sendToCommand(Figure f) {
-			getDrawingView().drawing().sendToBack(f);
-		}
-		
-		protected void addOriginalLayer(Figure affectedFigure, int newOriginalLayer) {
-			myOriginalLayers.put(affectedFigure, new Integer(newOriginalLayer));
-		}
-		
-		protected int getOriginalLayer(Figure lookupAffectedFigure) {
-			return ((Integer)myOriginalLayers.get(lookupAffectedFigure)).intValue();
-		}
-
-		public void setAffectedFigures(FigureEnumeration fe) {
-			// first make copy of FigureEnumeration in superclass
-			super.setAffectedFigures(fe);
-			// then get new FigureEnumeration of copy to save attributes
-			FigureEnumeration copyFe = getAffectedFigures();
-			while (copyFe.hasNextFigure()) {
-				Figure f = copyFe.nextFigure();
-				int originalLayer = getDrawingView().drawing().getLayer(f);
-				addOriginalLayer(f, originalLayer);
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SimpleUpdateStrategy.java b/JHotDraw/src/CH/ifa/draw/standard/SimpleUpdateStrategy.java
deleted file mode 100644
index 3a5304ac7..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SimpleUpdateStrategy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)SimpleUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * The SimpleUpdateStrategy implements an update
- * strategy that directly redraws a DrawingView.
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class SimpleUpdateStrategy implements Painter {
-
-	/*
-	 * Serialization support. In JavaDraw only the Drawing is serialized.
-	 * However, for beans support SimpleUpdateStrategy supports
-	 * serialization
-	 */
-	private static final long serialVersionUID = -7539925820692134566L;
-
-	/**
-	* Draws the view contents.
-	*/
-	public void draw(Graphics g, DrawingView view) {
-		view.drawAll(g);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/SingleFigureEnumerator.java b/JHotDraw/src/CH/ifa/draw/standard/SingleFigureEnumerator.java
deleted file mode 100644
index 9bffd0d74..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/SingleFigureEnumerator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)SingleFigureEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * An Enumeration that contains only a single Figures. An instance of this
- * enumeration can be used only once to retrieve the figure as the figure
- * is forgotten after the first retrieval.
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public final class SingleFigureEnumerator implements FigureEnumeration {
-	private Figure mySingleFigure;
-	private Figure myInitialFigure;
-
-	public SingleFigureEnumerator(Figure newSingleFigure) {
-		myInitialFigure = newSingleFigure;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextFigure() {
-		return mySingleFigure != null;
-	}
-
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure() {
-		Figure returnFigure = mySingleFigure;
-		mySingleFigure = null;
-		return returnFigure;
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		mySingleFigure = myInitialFigure;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/StandardDrawing.java b/JHotDraw/src/CH/ifa/draw/standard/StandardDrawing.java
deleted file mode 100644
index 8730e2630..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/StandardDrawing.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * @(#)StandardDrawing.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.*;
-
-/**
- * The standard implementation of the Drawing interface.
- *
- * @see Drawing
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class StandardDrawing extends CompositeFigure implements Drawing {
-
-
-	/**
-	 * the registered listeners
-	 */
-	private transient List              fListeners;
-
-	/**
-	 * boolean that serves as a condition variable
-	 * to lock the access to the drawing.
-	 * The lock is recursive and we keep track of the current
-	 * lock holder.
-	 */
-	private transient Thread    fDrawingLockHolder = null;
-	private String				myTitle;
-
-	/*
-	 * Serialization support
-	 */
-	private static final long serialVersionUID = -2602151437447962046L;
-	private int drawingSerializedDataVersion = 1;
-
-	/**
-	 * Constructs the Drawing.
-	 */
-	public StandardDrawing() {
-		super();
-		fListeners = CollectionsFactory.current().createList(2);
-		init(new Rectangle(-500, -500, 2000, 2000));
-	}
-
-	/**
-	 * Adds a listener for this drawing.
-	 */
-	public void addDrawingChangeListener(DrawingChangeListener listener) {
-		if (fListeners == null) {
-			fListeners = CollectionsFactory.current().createList(2);
-		}
-		fListeners.add(listener);
-	}
-
-	/**
-	 * Removes a listener from this drawing.
-	 */
-	public void removeDrawingChangeListener(DrawingChangeListener listener) {
-		fListeners.remove(listener);
-	}
-
-	/**
-	 * Gets an enumeration with all listener for this drawing.
-	 */
-	public Iterator drawingChangeListeners() {
-		return fListeners.iterator();
-	}
-
-	/**
-	 * Removes a figure from the figure list, but
-	 * doesn't release it. Use this method to temporarily
-	 * manipulate a figure outside of the drawing.
-	 *
-	 * @param figure that is part of the drawing and should be added
-	 */
-	public synchronized Figure orphan(Figure figure) {
-		Figure orphanedFigure = super.orphan(figure);
-		// ensure that we remove the top level figure in a drawing
-		if (orphanedFigure.listener() != null) {
-			Rectangle rect = invalidateRectangle(displayBox());
-			orphanedFigure.listener().figureRequestRemove(new FigureChangeEvent(orphanedFigure, rect));
-		}
-		return orphanedFigure;
-	}
-
-	public synchronized Figure add(Figure figure) {
-		Figure addedFigure = super.add(figure);
-		if (addedFigure.listener() != null) {
-			Rectangle rect = invalidateRectangle(displayBox());
-			addedFigure.listener().figureRequestUpdate(new FigureChangeEvent(figure, rect));
-			return addedFigure;
-		}
-		return addedFigure;
-	}
-
-	/**
-	 * Invalidates a rectangle and merges it with the
-	 * existing damaged area.
-	 * @see FigureChangeListener
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		if (fListeners != null) {
-			for (int i = 0; i < fListeners.size(); i++) {
-				DrawingChangeListener l = (DrawingChangeListener)fListeners.get(i);
-				l.drawingInvalidated(new DrawingChangeEvent(this, e.getInvalidatedRectangle()));
-			}
-		}
-	}
-
-	/**
-	 * Forces an update of the drawing change listeners.
-	 */
-	public void fireDrawingTitleChanged() {
-		if (fListeners != null) {
-			for (int i = 0; i < fListeners.size(); i++) {
-				DrawingChangeListener l = (DrawingChangeListener)fListeners.get(i);
-				l.drawingTitleChanged(new DrawingChangeEvent(this, null));
-			}
-		}
-	}
-
-	/**
-	 * Forces an update of the drawing change listeners.
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		if (fListeners != null) {
-			for (int i = 0; i < fListeners.size(); i++) {
-				DrawingChangeListener l = (DrawingChangeListener)fListeners.get(i);
-				l.drawingRequestUpdate(new DrawingChangeEvent(this, null));
-			}
-		}
-	}
-
-	/**
-	 * Return's the figure's handles. This is only used when a drawing
-	 * is nested inside another drawing.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Gets the display box. This is the union of all figures.
-	 */
-	public Rectangle displayBox() {
-		if (fFigures.size() > 0) {
-			FigureEnumeration fe = figures();
-
-			Rectangle r = fe.nextFigure().displayBox();
-
-			while (fe.hasNextFigure()) {
-				r.add(fe.nextFigure().displayBox());
-			}
-			return r;
-		}
-		return new Rectangle(0, 0, 0, 0);
-	}
-
-	public void basicDisplayBox(Point p1, Point p2) {
-	}
-
-	/**
-	 * Acquires the drawing lock.
-	 */
-	public synchronized void lock() {
-		// recursive lock
-		Thread current = Thread.currentThread();
-		if (fDrawingLockHolder == current) {
-			return;
-		}
-		while (fDrawingLockHolder != null) {
-			try {
-				wait();
-			}
-			catch (InterruptedException ex) { }
-		}
-		fDrawingLockHolder = current;
-	}
-
-	/**
-	 * Releases the drawing lock.
-	 */
-	public synchronized void unlock() {
-		if (fDrawingLockHolder != null) {
-			fDrawingLockHolder = null;
-			notify();
-		}
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		fListeners = CollectionsFactory.current().createList(2);
-	}
-
-	public String getTitle() {
-		return myTitle;
-	}
-
-	public void setTitle(String newTitle) {
-		myTitle = newTitle;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/StandardDrawingView.java b/JHotDraw/src/CH/ifa/draw/standard/StandardDrawingView.java
deleted file mode 100644
index ceb8da31c..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/StandardDrawingView.java
+++ /dev/null
@@ -1,1183 +0,0 @@
-/*
- * @(#)StandardDrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import java.awt.dnd.DragGestureListener;
-import java.awt.dnd.DragSourceListener;
-import java.awt.event.*;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-
-import CH.ifa.draw.contrib.AutoscrollHelper;
-import CH.ifa.draw.contrib.dnd.DNDHelper;
-import CH.ifa.draw.contrib.dnd.DNDInterface;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.framework.Cursor;
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.Command;
-import CH.ifa.draw.util.Geom;
-import CH.ifa.draw.util.UndoableCommand;
-
-/**
- * The standard implementation of DrawingView.
- *
- * @see DrawingView
- * @see Painter
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class StandardDrawingView
-		extends JPanel
-		implements DrawingView, DNDInterface, java.awt.dnd.Autoscroll {
-
-	/**
-	 * The DrawingEditor of the view.
-	 * @see #tool
-	 */
-	transient private DrawingEditor   fEditor;
-
-	/**
-	 * the registered listeners for selection changes
-	 */
-	private transient List fSelectionListeners;
-
-	/**
-	 * The shown drawing.
-	 */
-	private Drawing         fDrawing;
-
-	/**
-	 * the accumulated damaged area
-	 */
-	private transient Rectangle fDamage;
-
-	/**
-	 * The list of currently selected figures.
-	 */
-	transient private List fSelection;
-
-	/**
-	 * The shown selection handles.
-	 */
-	transient private List fSelectionHandles;
-
-	/**
-	 * The preferred size of the view
-	 */
-
-	/**
-	 * The position of the last mouse click
-	 * inside the view.
-	 */
-	private Point fLastClick;
-
-	/**
-	 * A List of optional backgrounds. The list contains
-	 * view painters that are drawn before the contents,
-	 * that is in the background.
-	 */
-	private List fBackgrounds;
-
-	/**
-	 * A List of optional foregrounds. The list contains
-	 * view painters that are drawn after the contents,
-	 * that is in the foreground.
-	 */
-	private List fForegrounds;
-
-	/**
-	 * The update strategy used to repair the view.
-	 */
-	private Painter fUpdateStrategy;
-
-	/**
-	 * The grid used to constrain points for snap to
-	 * grid functionality.
-	 */
-	private PointConstrainer fConstrainer;
-
-	/**
-	 * Scrolling increment
-	 */
-	public static final int MINIMUM_WIDTH = 400;
-	public static final int MINIMUM_HEIGHT = 300;
-	public static final int SCROLL_INCR = 100;
-	public static final int SCROLL_OFFSET = 10;
-
-	private static int counter;
-	private int myCounter = counter;
-
-	private DNDHelper dndh;
-
-    /**
-     * Listener for mouse clicks.
-     */
-    private MouseListener mouseListener;
-    
-    /**
-     * Listener for mouse movements.
-     */
-    private MouseMotionListener motionListener;
-    
-    /**
-     * Listener for the keyboard.
-     */
-    private KeyListener keyListener;
-
-    /**
-     * Reflects whether the drawing view is in read-only mode (from a user's
-     * perspective).
-     */
-    private boolean myIsReadOnly;
-
-	/*
-	 * Serialization support. In JavaDraw only the Drawing is serialized.
-	 * However, for beans support StandardDrawingView supports
-	 * serialization
-	 */
-	private static final long serialVersionUID = -3878153366174603336L;
-	private int drawingViewSerializedDataVersion = 1;
-
-	/**
-	 * Constructs the view.
-	 */
-	public StandardDrawingView(DrawingEditor editor) {
-		this(editor, MINIMUM_WIDTH, MINIMUM_HEIGHT);
-	}
-
-	public StandardDrawingView(DrawingEditor editor, int width, int height) {
-		setAutoscrolls(true);
-		counter++;
-		fEditor = editor;
-		// ricardo_padilha: changed from setSize(int, int) because it is not
-		// JScrollPane-friendly. 
-		setPreferredSize(new Dimension(width, height));
-		fSelectionListeners = CollectionsFactory.current().createList();
-		addFigureSelectionListener(editor());
-		setLastClick(new Point(0, 0));
-		fConstrainer = null;
-		fSelection = CollectionsFactory.current().createList();
-		// JFC/Swing uses double buffering automatically as default
-		setDisplayUpdate(createDisplayUpdate());
-		// TODO: Test FastBufferedUpdateStrategy with JFC/Swing double buffering
-		//setDisplayUpdate(new FastBufferedUpdateStrategy());
-		setBackground(Color.lightGray);
-
-		addMouseListener(createMouseListener());
-		addMouseMotionListener(createMouseMotionListener());
-		addKeyListener(createKeyListener());
-    }
-
-	protected MouseListener createMouseListener() {
-        mouseListener = new DrawingViewMouseListener();
-		return mouseListener;
-	}
-
-	protected MouseMotionListener createMouseMotionListener() {
-        motionListener = new DrawingViewMouseMotionListener();
-		return  motionListener;
-	}
-
-	protected KeyListener createKeyListener() {
-        keyListener = new DrawingViewKeyListener();
-		return keyListener;
-	}
-
-	/**
-	 * Factory method which can be overriden by subclasses
-	 */
-	protected Painter createDisplayUpdate() {
-		return new SimpleUpdateStrategy();
-		//return new ClippingUpdateStrategy();
-	}
-
-	/**
-	 * Sets the view's editor.
-	 */
-	public void setEditor(DrawingEditor editor) {
-		fEditor = editor;
-	}
-
-	/**
-	 * Gets the current tool.
-	 */
-	public Tool tool() {
-		return editor().tool();
-	}
-
-	/**
-	 * Gets the drawing.
-	 */
-	public Drawing drawing() {
-		return fDrawing;
-	}
-
-	/**
-	 * Sets and installs another drawing in the view.
-	 */
-	public void setDrawing(Drawing d) {
-		if (drawing() != null) {
-			clearSelection();
-			drawing().removeDrawingChangeListener(this);
-		}
-
-		fDrawing = d;
-		if (drawing() != null) {
-			drawing().addDrawingChangeListener(this);
-		}
-
-		checkMinimumSize();
-		repaint();
-	}
-
-	/**
-	 * Gets the editor.
-	 */
-	public DrawingEditor editor() {
-		return fEditor;
-	}
-
-	/**
-	 * Adds a figure to the drawing.
-	 * @return the added figure.
-	 */
-	public Figure add(Figure figure) {
-		return drawing().add(figure);
-	}
-
-	/**
-	 * Removes a figure from the drawing.
-	 * @return the removed figure
-	 */
-	public Figure remove(Figure figure) {
-		return drawing().remove(figure);
-	}
-
-	/**
-	 * Adds a Collection of figures to the drawing.
-	 */
-	public void addAll(Collection figures) {
-		FigureEnumeration fe = new FigureEnumerator(figures);
-		while (fe.hasNextFigure()) {
-			add(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Check existance of figure in the drawing
-	 */
-	public boolean figureExists(Figure inf, FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-
-			if (figure.includes(inf)) {
-				return true;
-			}
-		}
-
-	  return false;
-	}
-
-	/**
-     * Inserts a FigureEnumeration of figures and translates them by the
-	 * given offset. This function is used to insert figures from clipboards (cut/copy)
-	 *
-	 * @return enumeration which has been added to the drawing. The figures in the enumeration
-	 *         can have changed during adding them (e.g. they could have been decorated).
-	 */
-	public FigureEnumeration insertFigures(FigureEnumeration fe, int dx, int dy, boolean bCheck) {
-		if (fe == null) {
-			return FigureEnumerator.getEmptyEnumeration();
-		}
-
-		List vCF = CollectionsFactory.current().createList(10);
-		InsertIntoDrawingVisitor visitor = new InsertIntoDrawingVisitor(drawing());
-
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure instanceof ConnectionFigure) {
-				vCF.add(figure);
-			}
-			else if (figure != null) {
-				figure.moveBy(dx, dy);
-				figure.visit(visitor);
-			}
-		}
-
-		FigureEnumeration ecf = new FigureEnumerator(vCF);
-
-		while (ecf.hasNextFigure()) {
-			ConnectionFigure cf = (ConnectionFigure) ecf.nextFigure();
-			Figure sf = cf.startFigure();
-			Figure ef = cf.endFigure();
-
-			if (figureExists(sf, drawing().figures())
-				&& figureExists(ef, drawing().figures())
-				&& (!bCheck || cf.canConnect(sf, ef))) {
-
-				if (bCheck) {
-					Point sp = sf.center();
-					Point ep = ef.center();
-					Connector fStartConnector = cf.startFigure().connectorAt(ep.x, ep.y);
-					Connector fEndConnector = cf.endFigure().connectorAt(sp.x, sp.y);
-
-					if (fEndConnector != null && fStartConnector != null) {
-						cf.connectStart(fStartConnector);
-						cf.connectEnd(fEndConnector);
-						cf.updateConnection();
-					}
-				}
-
-				cf.visit(visitor);
-			}
-		}
-
-		addToSelectionAll(visitor.getInsertedFigures());
-		return visitor.getInsertedFigures();
-	}
-
-	/**
-	 * Returns a FigureEnumeration of connectionfigures attached to this figure
-	 */
-	public FigureEnumeration getConnectionFigures(Figure inFigure) {
-		// If no figure or figure is non connectable, just return null
-		if (inFigure == null || !inFigure.canConnect()) {
-			return null;
-		}
-
-		// if (inFigure instanceof ConnectionFigure)
-		//  return null;
-
-		List result = CollectionsFactory.current().createList(5);
-		FigureEnumeration figures = drawing().figures();
-
-		// Find all connection figures
-		while (figures.hasNextFigure()) {
-			Figure f= figures.nextFigure();
-
-			if ((f instanceof ConnectionFigure) && !(isFigureSelected(f))) {
-				ConnectionFigure cf = (ConnectionFigure) f;
-
-				if (cf.startFigure().includes(inFigure) || cf.endFigure().includes(inFigure)) {
-					result.add(f);
-				}
-			}
-		}
-
-		return new FigureEnumerator(result);
-   }
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public void setDisplayUpdate(Painter updateStrategy) {
-		fUpdateStrategy = updateStrategy;
-	}
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public Painter getDisplayUpdate() {
-		return fUpdateStrategy;
-	}
-
-	/**
-	 * Gets an enumeration over the currently selected figures.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selection() {
-		return selectionZOrdered();
-	}
-
-	/**
-	 * Gets the currently selected figures in Z order.
-	 * @see #selection
-	 * @return a FigureEnumeration with the selected figures. The enumeration
-	 * represents a snapshot of the current selection.
-	 */
-	public FigureEnumeration selectionZOrdered() {
-		List result = CollectionsFactory.current().createList(selectionCount());
-
-		result.addAll(fSelection);
-		return new ReverseFigureEnumerator(result);
-	}
-
-	/**
-	 * Gets the number of selected figures.
-	 */
-	public int selectionCount() {
-		return fSelection.size();
-	}
-
-	/**
-	 * Test whether a given figure is selected.
-	 */
-	public boolean isFigureSelected(Figure checkFigure) {
-		return fSelection.contains(checkFigure);
-	}
-
-	/**
-	 * Adds a figure to the current selection. The figure is only selected if
-	 * it is also contained in the Drawing associated with this DrawingView.
-	 */
-	public void addToSelection(Figure figure) {
-		if(addToSelectionImpl(figure) == true){
-			fireSelectionChanged();			
-		}
-	}
-	protected boolean addToSelectionImpl(Figure figure){
-		boolean changed = false;
-		if (!isFigureSelected(figure) && drawing().includes(figure)) {
-			fSelection.add(figure);
-			fSelectionHandles = null;
-			figure.invalidate();
-			changed = true;
-		}
-		return changed;
-	}
-	/**
-	 * Adds a Collection of figures to the current selection.
-	 */
-	public void addToSelectionAll(Collection figures) {
-		addToSelectionAll(new FigureEnumerator(figures));
-	}
-
-	/**
-	 * Adds a FigureEnumeration to the current selection.
-	 */
-	public void addToSelectionAll(FigureEnumeration fe) {
-		boolean changed = false;
-		while (fe.hasNextFigure()) {
-			changed |= addToSelectionImpl(fe.nextFigure());
-		}
-		if(changed == true){
-			fireSelectionChanged();
-		}
-	}
-
-	/**
-	 * Removes a figure from the selection.
-	 */
-	public void removeFromSelection(Figure figure) {
-		if (isFigureSelected(figure)) {
-			fSelection.remove(figure);
-			fSelectionHandles = null;
-			figure.invalidate();
-			fireSelectionChanged();
-		}
-	}
-
-	/**
-	 * If a figure isn't selected it is added to the selection.
-	 * Otherwise it is removed from the selection.
-	 */
-	public void toggleSelection(Figure figure) {
-		if (isFigureSelected(figure)) {
-			removeFromSelection(figure);
-		}
-		else {
-			addToSelection(figure);
-		}
-		fireSelectionChanged();
-	}
-
-	/**
-	 * Clears the current selection.
-	 */
-	public void clearSelection() {
-		// there is nothing selected - bug fix ID 628818
-		if (selectionCount() == 0) {
-			// avoid unnecessary selection changed event when nothing has to be cleared
-			return;
-		}
-
-		FigureEnumeration fe = selection();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().invalidate();
-		}
-		fSelection = CollectionsFactory.current().createList();
-		fSelectionHandles = null;
-		fireSelectionChanged();
-	}
-
-	/**
-	 * Gets an enumeration of the currently active handles.
-	 */
-	protected HandleEnumeration selectionHandles() {
-		if (fSelectionHandles == null) {
-			fSelectionHandles = CollectionsFactory.current().createList();
-			FigureEnumeration fe = selection();
-			while (fe.hasNextFigure()) {
-				Figure figure = fe.nextFigure();
-				HandleEnumeration kk = figure.handles();
-				while (kk.hasNextHandle()) {
-					fSelectionHandles.add(kk.nextHandle());
-				}
-			}
-		}
-		return new HandleEnumerator(fSelectionHandles);
-	}
-
-	/**
-	 * Gets the current selection as a FigureSelection. A FigureSelection
-	 * can be cut, copied, pasted.
-	 */
-	public FigureSelection getFigureSelection() {
-		return new StandardFigureSelection(selectionZOrdered(), selectionCount());
-	}
-
-	/**
-	 * Finds a handle at the given coordinates.
-	 * @return the hit handle, null if no handle is found.
-	 */
-	public Handle findHandle(int x, int y) {
-		Handle handle;
-
-		HandleEnumeration he = selectionHandles();
-		while (he.hasNextHandle()) {
-			handle = he.nextHandle();
-			if (handle.containsPoint(x, y)) {
-				return handle;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Informs that the current selection changed.
-	 * By default this event is forwarded to the
-	 * drawing editor.
-	 */
-	protected void fireSelectionChanged() {
-		if (fSelectionListeners != null) {
-			for (int i = 0; i < fSelectionListeners.size(); i++) {
-				FigureSelectionListener l = (FigureSelectionListener)fSelectionListeners.get(i);
-				l.figureSelectionChanged(this);
-			}
-		}
-	}
-
-    protected Rectangle getDamage() {
-        return fDamage; // clone?
-    }
-
-    protected void setDamage(Rectangle r) {
-        fDamage = r;
-    }
-
-	/**
-	 * Gets the position of the last click inside the view.
-	 */
-	public Point lastClick() {
-		return fLastClick;
-	}
-
-	protected void setLastClick(Point newLastClick) {
-		fLastClick = newLastClick;
-	}
-
-	/**
-	 * Sets the grid spacing that is used to constrain points.
-	 */
-	public void setConstrainer(PointConstrainer c) {
-		fConstrainer = c;
-	}
-
-	/**
-	 * Gets the current constrainer.
-	 */
-	public PointConstrainer getConstrainer() {
-		return fConstrainer;
-	}
-
-	/**
-	 * Constrains a point to the current grid.
-	 */
-	protected Point constrainPoint(Point p) {
-		// constrain to view size
-		Dimension size = getSize();
-		//p.x = Math.min(size.width, Math.max(1, p.x));
-		//p.y = Math.min(size.height, Math.max(1, p.y));
-		p.x = Geom.range(1, size.width, p.x);
-		p.y = Geom.range(1, size.height, p.y);
-
-		if (fConstrainer != null ) {
-			return fConstrainer.constrainPoint(p);
-		}
-		return p;
-	}
-
-	private void moveSelection(int dx, int dy) {
-		FigureEnumeration figures = selection();
-		while (figures.hasNextFigure()) {
-			figures.nextFigure().moveBy(dx, dy);
-		}
-		checkDamage();
-	}
-
-	/**
-	 * Refreshes the drawing if there is some accumulated damage
-	 */
-	public synchronized void checkDamage() {
-		Iterator each = drawing().drawingChangeListeners();
-		while (each.hasNext()) {
-			Object l = each.next();
-			if (l instanceof DrawingView) {
-				((DrawingView)l).repairDamage();
-			}
-		}
-	}
-
-	public void repairDamage() {
-		if (getDamage() != null) {
-			repaint(getDamage().x, getDamage().y, getDamage().width, getDamage().height);
-			setDamage(null);
-		}
-	}
-
-	public void drawingInvalidated(DrawingChangeEvent e) {
-		Rectangle r = e.getInvalidatedRectangle();
-		if (getDamage() == null) {
-			setDamage(r);
-		}
-		else {
-			// don't manipulate rectangle returned by getDamage() directly
-			// because it could be a cloned rectangle.
-			Rectangle damagedR = getDamage();
-			damagedR.add(r);
-			setDamage(damagedR);
-		}
-	}
-
-	public void drawingRequestUpdate(DrawingChangeEvent e) {
-		repairDamage();
-	}
-
-	public void drawingTitleChanged(DrawingChangeEvent e){
-	}
-
-	/**
-	 * Paints the drawing view. The actual drawing is delegated to
-	 * the current update strategy.
-	 * @see Painter
-	 */
-	protected void paintComponent(Graphics g) {
-		if(getDisplayUpdate() != null) {
-			getDisplayUpdate().draw(g, this);
-		}
-	}
-
-	/**
-	 * Draws the contents of the drawing view.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void drawAll(Graphics g) {
-		boolean isPrinting = g instanceof PrintGraphics;
-		drawBackground(g);
-		if ((fBackgrounds != null) && !isPrinting) {
-			drawPainters(g, fBackgrounds);
-		}
-		drawDrawing(g);
-		if ((fForegrounds != null) && !isPrinting) {
-			drawPainters(g, fForegrounds);
-		}
-		if (!isPrinting) {
-			drawHandles(g);
-		}
-	}
-
-	/**
-	 * Draws the given figures.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 * No background is drawn.
-	 */
-   public void draw(Graphics g, FigureEnumeration fe) {
-		boolean isPrinting = g instanceof PrintGraphics;
-		//drawBackground(g);
-		if ((fBackgrounds != null) && !isPrinting) {
-			drawPainters(g, fBackgrounds);
-		}
-		drawing().draw(g, fe);
-		if ((fForegrounds != null) && !isPrinting) {
-			drawPainters(g, fForegrounds);
-		}
-		if (!isPrinting) {
-			drawHandles(g);
-		}
-	}
-
-	/**
-	 * Draws the currently active handles.
-	 */
-	public void drawHandles(Graphics g) {
-		HandleEnumeration he = selectionHandles();
-		while (he.hasNextHandle()) {
-			(he.nextHandle()).draw(g);
-		}
-	}
-
-	/**
-	 * Draws the drawing.
-	 */
-	public void drawDrawing(Graphics g) {
-		drawing().draw(g);
-	}
-
-	/**
-	 * Draws the background. If a background pattern is set it
-	 * is used to fill the background. Otherwise the background
-	 * is filled in the background color.
-	 */
-	public void drawBackground(Graphics g) {
-		g.setColor(getBackground());
-		g.fillRect(0, 0, getBounds().width, getBounds().height);
-	}
-
-	protected void drawPainters(Graphics g, List v) {
-		for (int i = 0; i < v.size(); i++) {
-			((Painter)v.get(i)).draw(g, this);
-		}
-	}
-
-	/**
-	 * Adds a background.
-	 */
-	public void addBackground(Painter painter)  {
-		if (fBackgrounds == null) {
-			fBackgrounds = CollectionsFactory.current().createList(3);
-		}
-		fBackgrounds.add(painter);
-		repaint();
-	}
-
-	/**
-	 * Removes a background.
-	 */
-	public void removeBackground(Painter painter)  {
-		if (fBackgrounds != null) {
-			fBackgrounds.remove(painter);
-		}
-		repaint();
-	}
-
-    protected List getBackgrounds() {
-        return fBackgrounds;
-    }
-
-	/**
-	 * Removes a foreground.
-	 */
-	public void removeForeground(Painter painter)  {
-		if (fForegrounds != null) {
-			fForegrounds.remove(painter);
-		}
-		repaint();
-	}
-
-	/**
-	 * Adds a foreground.
-	 */
-	public void addForeground(Painter painter)  {
-		if (fForegrounds == null) {
-			fForegrounds = CollectionsFactory.current().createList(3);
-		}
-		fForegrounds.add(painter);
-		repaint();
-	}
-
-    protected List getForegrounds() {
-        return fForegrounds;
-    }
-
-	/**
-	 * Freezes the view by acquiring the drawing lock.
-	 * @see Drawing#lock
-	 */
-	public void freezeView() {
-		drawing().lock();
-	}
-
-	/**
-	 * Unfreezes the view by releasing the drawing lock.
-	 * @see Drawing#unlock
-	 */
-	public void unfreezeView() {
-		drawing().unlock();
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		fSelection = CollectionsFactory.current().createList(); // could use lazy initialization instead
-		// could use lazy initialization instead
-		if (drawing() != null) {
-			drawing().addDrawingChangeListener(this);
-		}
-		fSelectionListeners= CollectionsFactory.current().createList();
-	}
-
-    protected void checkMinimumSize() {
-        Dimension d = getDrawingSize();
-		Dimension v = getPreferredSize();
-
-		if (v.height < d.height || v.width < d.width) {
-			v.height = d.height + SCROLL_OFFSET;
-			v.width = d.width + SCROLL_OFFSET;
-			setPreferredSize(v);
-        }
-    }
-
-    /**
-     * Return the size of the area occupied by the contained figures inside
-     * the drawing. This method is called by checkMinimumSize().
-     */
-    protected Dimension getDrawingSize() {
-		Dimension d = new Dimension(0, 0);
-		// ricardo_padilha: this test had to be introduced because a drawing view
-		// can be assigned a null drawing (see setDrawing() ).
-		if (drawing() != null) {
-			FigureEnumeration fe = drawing().figures();
-			while (fe.hasNextFigure()) {
-				Rectangle r = fe.nextFigure().displayBox();
-				d.width = Math.max(d.width, r.x+r.width);
-				d.height = Math.max(d.height, r.y+r.height);
-			}
-		}
-        return d;
-	}
-
-	/**
-	 * @see java.awt.Component#isFocusTraversable()
-	 * @deprecated see super class
-	 */
-	public boolean isFocusTraversable() {
-		return true;
-	}
-
-	public boolean isInteractive() {
-		return true;
-	}
-
-	public void keyTyped(KeyEvent e) {}
-	public void keyReleased(KeyEvent e) {}
-
-	/**
-	 * Add a listener for selection changes.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void addFigureSelectionListener(FigureSelectionListener fsl) {
-		fSelectionListeners.add(fsl);
-	}
-
-	/**
-	 * Remove a listener for selection changes.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void removeFigureSelectionListener(FigureSelectionListener fsl) {
-		fSelectionListeners.remove(fsl);
-	}
-
-	public int getDefaultDNDActions() {
-		return java.awt.dnd.DnDConstants.ACTION_COPY_OR_MOVE;
-	}
-
-	/***** Autoscroll support *****/
-	private ASH ash = new ASH(10);
-
-	public void autoscroll(java.awt.Point p) {
-		ash.autoscroll(p);
-	}
-	public Insets getAutoscrollInsets() {
-		return ash.getAutoscrollInsets();
-	}
-	class ASH extends AutoscrollHelper {
-		public ASH(int margin) {
-			super(margin);
-		}
-		public Dimension getSize() {
-			return StandardDrawingView.this.getSize();
-		}
-		public Rectangle getVisibleRect() {
-			return StandardDrawingView.this.getVisibleRect();
-		}
-		public void scrollRectToVisible(Rectangle aRect) {
-			StandardDrawingView.this.scrollRectToVisible(aRect);
-		}
-	}
-
-	public String toString() {
-		return "DrawingView Nr: " + myCounter;
-	}
-
-	/**
-     * Default action when any uncaught exception bubbled from
-     * the mouse event handlers of the tools. Subclass may override it
-     * to provide other action.
-     */
-    protected void handleMouseEventException(Throwable t) {
-		JOptionPane.showMessageDialog(
-			this,
-            t.getClass().getName() + " - " + t.getMessage(),
-			"Error",
-			JOptionPane.ERROR_MESSAGE);
-		t.printStackTrace();
-    }
-
-	public class DrawingViewMouseListener extends MouseAdapter {
-		 /**
-		 * Handles mouse down events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mousePressed(MouseEvent e) {
-			try {
-				requestFocus(); // JDK1.1
-				Point p = constrainPoint(new Point(e.getX(), e.getY()));
-				setLastClick(new Point(e.getX(), e.getY()));
-				tool().mouseDown(e, p.x, p.y);
-				checkDamage();
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-
-		/**
-		 * Handles mouse up events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mouseReleased(MouseEvent e) {
-			try {
-				Point p = constrainPoint(new Point(e.getX(), e.getY()));
-				tool().mouseUp(e, p.x, p.y);
-				checkDamage();
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-	}
-
-	public class DrawingViewMouseMotionListener implements MouseMotionListener {
-		/**
-		 * Handles mouse drag events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mouseDragged(MouseEvent e) {
-			try {
-				Point p = constrainPoint(new Point(e.getX(), e.getY()));
-				tool().mouseDrag(e, p.x, p.y);
-				checkDamage();
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-
-		/**
-		 * Handles mouse move events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mouseMoved(MouseEvent e) {
-			try {
-				tool().mouseMove(e, e.getX(), e.getY());
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-	}
-
-	public class DrawingViewKeyListener implements KeyListener {
-		private Command deleteCmd;
-
-		public DrawingViewKeyListener() {
-			deleteCmd = createDeleteCommand();
-		}
-
-		/**
-		 * Handles key down events. Cursor keys are handled
-		 * by the view the other key events are delegated to the
-		 * currently active tool.
-		 */
-		public void keyPressed(KeyEvent e) {
-			int code = e.getKeyCode();
-			// Only act on nonModified keys...
-			int modifiers = e.getModifiers();
-			if (modifiers == 0 &&
-			    ((code == KeyEvent.VK_BACK_SPACE) ||
-			     (code == KeyEvent.VK_DELETE))) {
-				if (deleteCmd.isExecutable()) {
-					deleteCmd.execute();
-					//deleteCmd.viewSelectionChanged(this);
-				}
-			}
-			else if (modifiers == 0 && 
-				 ((code == KeyEvent.VK_DOWN)
-				  || (code == KeyEvent.VK_UP)
-				  || (code == KeyEvent.VK_RIGHT)
-				  || (code == KeyEvent.VK_LEFT))) {
-				handleCursorKey(code);
-			}
-			else {
-				tool().keyDown(e, code);
-			}
-			checkDamage();
-		}
-
-		/**
-		 * Handles cursor keys by moving all the selected figures
-		 * one grid point in the cursor direction.
-		 */
-		protected void handleCursorKey(int key) {
-			int dx = 0, dy = 0;
-			int stepX = 1, stepY = 1;
-			// should consider Null Object.
-			if (fConstrainer != null) {
-				stepX = fConstrainer.getStepX();
-				stepY = fConstrainer.getStepY();
-			}
-
-			switch (key) {
-			case KeyEvent.VK_DOWN:
-				dy = stepY;
-				break;
-			case KeyEvent.VK_UP:
-				dy = -stepY;
-				break;
-			case KeyEvent.VK_RIGHT:
-				dx = stepX;
-				break;
-			case KeyEvent.VK_LEFT:
-				dx = -stepX;
-				break;
-			}
-			moveSelection(dx, dy);
-		}
-
-        public void keyTyped(KeyEvent event) {
-            // do nothing
-        }
-
-        public void keyReleased(KeyEvent event) {
-            // do nothing
-        }
-
-		protected Command createDeleteCommand() {
-			return new UndoableCommand(new DeleteCommand("Delete", editor()));
-		}
-    }
-
-	protected DNDHelper createDNDHelper() {
-		return new DNDHelper(true, true) {
-			protected DrawingView view() {
-				return StandardDrawingView.this;
-			}
-			protected DrawingEditor editor() {
-				return StandardDrawingView.this.editor();
-			}
-		};
-	}
-
-	protected DNDHelper getDNDHelper() {
-		if (dndh == null) {
-			dndh = createDNDHelper();
-		}
-		return dndh;
-	}
-
-	public DragSourceListener getDragSourceListener(){
-		return getDNDHelper().getDragSourceListener();
-	}
-
-	public void DNDInitialize(DragGestureListener dgl){
-		getDNDHelper().initialize(dgl);
-	}
-
-	public void DNDDeinitialize() {
-		getDNDHelper().deinitialize();
-	}
-
-    /**
-     * Asks whether the drawing view is in read-only mode. If so, the user can't
-     * modify it using mouse or keyboard actions. Yet, it can still be modified
-     * from inside the program.
-     */
-    public boolean isReadOnly() {
-        return myIsReadOnly;
-    }
-    
-    /**
-     * Determines whether the drawing view is in read-only mode. If so, the user can't
-     * modify it using mouse or keyboard actions. Yet, it can still be modified
-     * from inside the program.
-     */
-    public void setReadOnly(boolean newIsReadOnly) {
-        if (newIsReadOnly != isReadOnly()) {
-            if (newIsReadOnly) {
-                removeMouseListener(mouseListener);
-                removeMouseMotionListener(motionListener);
-                removeKeyListener(keyListener);
-            }
-            else {
-                addMouseListener(mouseListener);
-                addMouseMotionListener(motionListener);
-                addKeyListener(keyListener);
-            }
-            
-            myIsReadOnly = newIsReadOnly;
-        }
-    }
-
-	/**
-	 * @see DrawingView#setCursor(Cursor)
-	 * @see java.awt.Component#setCursor(java.awt.Cursor)
-	 */
-	public void setCursor(Cursor cursor) {
-		if (cursor instanceof java.awt.Cursor) {
-			super.setCursor((java.awt.Cursor) cursor);
-		}
-	}
-
-	/**
-	 * Gets the minimum dimension of the drawing.<br />
-	 * Fixed version (JHotDraw version has a bug).
-	 * @see StandardDrawingView#getMinimumSize()
-	 * @see java.awt.Component#getMinimumSize()
-	 */
-	public Dimension getMinimumSize() {
-		Rectangle r = new Rectangle();
-		FigureEnumeration k = drawing().figures();
-		while (k.hasNextFigure()) {
-			r.add(k.nextFigure().displayBox());
-		}
-		return new Dimension(r.width, r.height);
-	}
-
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/StandardFigureSelection.java b/JHotDraw/src/CH/ifa/draw/standard/StandardFigureSelection.java
deleted file mode 100644
index 53c9f5e55..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/StandardFigureSelection.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * @(#)FigureSelection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.util.*;
-
-import java.util.*;
-import java.io.*;
-
-/**
- * FigureSelection enables to transfer the selected figures
- * to a clipboard.<p>
- * Will soon be converted to the JDK 1.1 Transferable interface.
- *
- * @see Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class StandardFigureSelection implements FigureSelection, Serializable {
-
-	private byte[] fData; // flattend figures, ready to be resurrected
-
-	/**
-	 * The type identifier of the selection.
-	 */
-	public final static String TYPE = "CH.ifa.draw.Figures";
-
-	/**
-	 * Constructes the Figure selection for the FigureEnumeration.
-	 */
-	public StandardFigureSelection(FigureEnumeration fe, int figureCount) {
-		// a FigureSelection is represented as a flattened ByteStream
-		// of figures.
-		ByteArrayOutputStream output = new ByteArrayOutputStream(200);
-		StorableOutput writer = new StorableOutput(output);
-		writer.writeInt(figureCount);
-		while (fe.hasNextFigure()) {
-			writer.writeStorable(fe.nextFigure());
-		}
-		writer.close();
-		fData = output.toByteArray();
-	}
-
-	/**
-	 * Gets the type of the selection.
-	 */
-	public String getType() {
-		return TYPE;
-	}
-
-	/**
-	 * Gets the data of the selection. The result is returned
-	 * as a FigureEnumeration of Figures.
-	 *
-	 * @return a copy of the figure selection.
-	 */
-	public Object getData(String type) {
-		if (type.equals(TYPE)) {
-			InputStream input = new ByteArrayInputStream(fData);
-			List result = CollectionsFactory.current().createList(10);
-			StorableInput reader = new StorableInput(input);
-			int numRead = 0;
-			try {
-				int count = reader.readInt();
-				while (numRead < count) {
-					Figure newFigure = (Figure) reader.readStorable();
-					result.add(newFigure);
-					numRead++;
-				}
-			}
-			catch (IOException e) {
-				System.err.println(e.toString());
-			}
-			return new FigureEnumerator(result);
-		}
-		return null;
-	}
-
-	public static FigureEnumeration duplicateFigures(FigureEnumeration toBeCloned, int figureCount) {
-		StandardFigureSelection duplicater = new StandardFigureSelection(toBeCloned, figureCount);
-		return (FigureEnumeration)duplicater.getData(duplicater.getType());
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/TextHolder.java b/JHotDraw/src/CH/ifa/draw/standard/TextHolder.java
deleted file mode 100644
index b307c069d..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/TextHolder.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * @(#)TextHolder.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * The interface of a figure that has some editable text contents.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public interface TextHolder {
-
-	public Rectangle textDisplayBox();
-
-	/**
-	 * Gets the text shown by the text figure.
-	 */
-	public String getText();
-
-	/**
-	 * Sets the text shown by the text figure.
-	 */
-	public void setText(String newText);
-
-	/**
-	 * Tests whether the figure accepts typing.
-	 */
-	public boolean acceptsTyping();
-
-	/**
-	 * Gets the number of columns to be overlaid when the figure is edited.
-	 */
-	public int overlayColumns();
-
-	/**
-	 * Connects a text holder to another figure.
-	 */
-	public void connect(Figure connectedFigure);
-
-	/**
-	 * Disconnects a text holder from a connect figure.
-	 */
-	public void disconnect(Figure disconnectFigure);
-	
-	/**
-	 * Gets the font.
-	 */
-	public Font getFont();
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ToggleGridCommand.java b/JHotDraw/src/CH/ifa/draw/standard/ToggleGridCommand.java
deleted file mode 100644
index 72ee3f038..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ToggleGridCommand.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * @(#)ToggleGridCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import java.awt.Point;
-import CH.ifa.draw.framework.*;
-
-/**
- * A command to toggle the snap to grid behavior.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ToggleGridCommand extends AbstractCommand {
-
-	private Point fGrid;
-
-   /**
-	* Constructs a toggle grid command.
-	* @param name the command name
-	* @param newDrawingEditor editor
-	* @param grid the grid size. A grid size of 1,1 turns grid snapping off.
-	*/
-	public ToggleGridCommand(String name, DrawingEditor newDrawingEditor, Point grid) {
-		super(name, newDrawingEditor);
-		fGrid = new Point(grid.x, grid.y);
-	}
-
-	public void execute() {
-		super.execute();
-		PointConstrainer grid = view().getConstrainer();
-		if (grid != null) {
-			view().setConstrainer(null);
-		}
-		else {
-			view().setConstrainer(new GridConstrainer(fGrid.x, fGrid.y));
-		}
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/standard/ToolButton.java b/JHotDraw/src/CH/ifa/draw/standard/ToolButton.java
deleted file mode 100644
index 3c22f4586..000000000
--- a/JHotDraw/src/CH/ifa/draw/standard/ToolButton.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)ToolButton.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.standard;
-
-import CH.ifa.draw.util.*;
-import CH.ifa.draw.framework.*;
-import javax.swing.*;
-import java.awt.*;
-import java.util.EventObject;
-
-/**
- * A PaletteButton that is associated with a tool.
- *
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ToolButton extends PaletteButton implements ToolListener {
-
-	private Tool            myTool;
-	private PaletteIcon     myIcon;
-
-	public ToolButton(PaletteListener listener, String iconName, String name, Tool tool) {
-		super(listener);
-		tool.addToolListener(this);
-		setEnabled(tool.isUsable());
-
-		// use a Mediatracker to ensure that all the images are initially loaded
-		Iconkit kit = Iconkit.instance();
-		if (kit == null) {
-			throw new JHotDrawRuntimeException("Iconkit instance isn't set");
-		}
-
-		Image im[] = new Image[3];
-		im[0] = kit.loadImageResource(iconName+"1.gif");
-		im[1] = kit.loadImageResource(iconName+"2.gif");
-		im[2] = kit.loadImageResource(iconName+"3.gif");
-
-		MediaTracker tracker = new MediaTracker(this);
-		for (int i = 0; i < 3; i++) {
-			tracker.addImage(im[i], i);
-		}
-		try {
-			tracker.waitForAll();
-		}
-		catch (Exception e) {
-			// ignore exception
-		}
-
-		setPaletteIcon(new PaletteIcon(new Dimension(24,24), im[0], im[1], im[2]));
-		setTool(tool);
-		setName(name);
-
-		// avoid null pointer exception if image could not be loaded
-		if (im[0] != null) {
-			setIcon(new ImageIcon(im[0]));
-		}
-		if (im[1] != null) {
-			setPressedIcon(new ImageIcon(im[1]));
-		}
-		if (im[2] != null) {
-			setSelectedIcon(new ImageIcon(im[2]));
-		}
-		setToolTipText(name);
-	}
-
-	public Tool tool() {
-		return myTool;
-	}
-
-	public String name() {
-		return getName();
-	}
-
-	public Object attributeValue() {
-		return tool();
-	}
-
-	public Dimension getMinimumSize() {
-		return new Dimension(getPaletteIcon().getWidth(), getPaletteIcon().getHeight());
-	}
-
-	public Dimension getPreferredSize() {
-		return new Dimension(getPaletteIcon().getWidth(), getPaletteIcon().getHeight());
-	}
-
-	public Dimension getMaximumSize() {
-		return new Dimension(getPaletteIcon().getWidth(), getPaletteIcon().getHeight());
-	}
-
-//  Not necessary anymore in JFC due to the support of Icons in JButton
-/*
-	public void paintBackground(Graphics g) { }
-
-	public void paintNormal(Graphics g) {
-		if (fIcon.normal() != null)
-			g.drawImage(fIcon.normal(), 0, 0, this);
-	}
-
-	public void paintPressed(Graphics g) {
-		if (fIcon.pressed() != null)
-			g.drawImage(fIcon.pressed(), 0, 0, this);
-	}
-*/
-	public void paintSelected(Graphics g) {
-		if (getPaletteIcon().selected() != null) {
-			g.drawImage(getPaletteIcon().selected(), 0, 0, this);
-		}
-	}
-
-	public void paint(Graphics g) {
-		// selecting does not work as expected with JFC1.1
-		// see JavaBug: 4228035, 4233965
-		if (isSelected()) {
-			paintSelected(g);
-		}
-		else {
-			super.paint(g);
-		}
-	}
-
-	public void toolUsable(EventObject toolEvent) {
-		setEnabled(true);
-	}
-
-	public void toolUnusable(EventObject toolEvent) {
-		setEnabled(false);
-		setSelected(false);
-	}
-
-	public void toolActivated(EventObject toolEvent) {
-	}
-
-	public void toolDeactivated(EventObject toolEvent) {
-	}
-
-	public void toolEnabled(EventObject toolEvent) {
-		setEnabled(true);
-	}
-
-	public void toolDisabled(EventObject toolEvent) {
-		setEnabled(false);
-	}
-
-	protected PaletteIcon getPaletteIcon() {
-		return myIcon;
-	}
-
-	private void setPaletteIcon(PaletteIcon newIcon) {
-		myIcon = newIcon;
-	}
-
-	private void setTool(Tool newTool) {
-		myTool = newTool;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/AllTests.java
deleted file mode 100644
index 499dcf8b9..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/AllTests.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test");
-		//$JUnit-BEGIN$
-		
-		suite.addTest(CH.ifa.draw.test.contrib.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.figures.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.framework.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.javadraw.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.minimap.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.net.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.nothing.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.samples.pert.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.standard.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.util.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.util.collections.jdk11.AllTests.suite());
-		suite.addTest(CH.ifa.draw.test.util.collections.jdk12.AllTests.suite());
-		
-
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/JHDTestCase.java b/JHotDraw/src/CH/ifa/draw/test/JHDTestCase.java
deleted file mode 100644
index b138469cc..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/JHDTestCase.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test;
-
-import junit.framework.TestCase;
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.samples.javadraw.JavaDrawApp;
-
-public class JHDTestCase extends TestCase {
-	public JavaDrawApp myDrawingEditor;
-	
-	public JHDTestCase(String name) {
-		super(name);
-	}
-	
-	protected void setUp() throws Exception {
-		myDrawingEditor = new JavaDrawApp("TestApplication");
-	}
-	
-	protected void tearDown() throws Exception {
-		myDrawingEditor.setVisible(false);
-		myDrawingEditor = null;
-	}
-	
-	public DrawApplication getDrawingEditor() {
-		return myDrawingEditor;
-	}
-	
-	/**
-	 * Some tests might want start from scratch with a new DrawingEditor
-	 * (to avoid side-effects from previous test)
-	 */
-	public JavaDrawApp createNewDrawingEditor() {
-		return new JavaDrawApp("TestApplication");
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/contrib/AllTests.java
deleted file mode 100644
index 39647f86a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/AllTests.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)AllTests.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.contrib");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(CTXCommandMenuTest.class));
-		suite.addTest(new TestSuite(CTXWindowMenuTest.class));
-		suite.addTest(new TestSuite(ChopDiamondConnectorTest.class));
-		suite.addTest(new TestSuite(ChopPolygonConnectorTest.class));
-		suite.addTest(new TestSuite(ClippingUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(CommandCheckBoxMenuItemTest.class));
-		suite.addTest(new TestSuite(CommandMenuItemTest.class));
-		suite.addTest(new TestSuite(ComponentFigureTest.class));
-		suite.addTest(new TestSuite(CompositeFigureCreationToolTest.class));
-		suite.addTest(new TestSuite(CustomSelectionToolTest.class));
-		suite.addTest(new TestSuite(CustomToolBarTest.class));
-		suite.addTest(new TestSuite(DesktopEventServiceTest.class));
-		suite.addTest(new TestSuite(DiamondFigureTest.class));
-		suite.addTest(new TestSuite(FloatingTextAreaTest.class));
-		suite.addTest(new TestSuite(GraphicalCompositeFigureTest.class));
-		suite.addTest(new TestSuite(HelperTest.class));
-		suite.addTest(new TestSuite(JPanelDesktopTest.class));
-		suite.addTest(new TestSuite(JScrollPaneDesktopTest.class));
-		suite.addTest(new TestSuite(MDIDesktopPaneTest.class));
-		suite.addTest(new TestSuite(MDI_DrawApplicationTest.class));
-		suite.addTest(new TestSuite(MiniMapViewTest.class));
-		suite.addTest(new TestSuite(NestedCreationToolTest.class));
-		suite.addTest(new TestSuite(PolygonFigureTest.class));
-		suite.addTest(new TestSuite(PolygonHandleTest.class));
-		suite.addTest(new TestSuite(PolygonToolTest.class));
-		suite.addTest(new TestSuite(SVGDrawAppTest.class));
-		suite.addTest(new TestSuite(SVGStorageFormatTest.class));
-		suite.addTest(new TestSuite(SimpleLayouterTest.class));
-		suite.addTest(new TestSuite(SplitConnectionToolTest.class));
-		suite.addTest(new TestSuite(StandardLayouterTest.class));
-		suite.addTest(new TestSuite(TextAreaFigureTest.class));
-		suite.addTest(new TestSuite(TextAreaToolTest.class));
-		suite.addTest(new TestSuite(TriangleFigureTest.class));
-		suite.addTest(new TestSuite(WindowMenuTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CTXCommandMenuTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CTXCommandMenuTest.java
deleted file mode 100644
index 037be8faa..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CTXCommandMenuTest.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.CTXCommandMenu;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CTXCommandMenuTest is generated by
- * JUnitDoclet to hold the tests for CTXCommandMenu.
- * @see CH.ifa.draw.contrib.CTXCommandMenu
- */
-// JUnitDoclet end javadoc_class
-public class CTXCommandMenuTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CTXCommandMenu ctxcommandmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CTXCommandMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CTXCommandMenuTest(String name) {
-		// JUnitDoclet begin method CTXCommandMenuTest
-		super(name);
-		// JUnitDoclet end method CTXCommandMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CTXCommandMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CTXCommandMenu("TestCTXCommandMenu");
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ctxcommandmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ctxcommandmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#add(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method addCheckItem()
-	/**
-	 * Method testAddCheckItem is testing addCheckItem
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#addCheckItem(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method addCheckItem()
-	public void testAddCheckItem() throws Exception {
-		// JUnitDoclet begin method addCheckItem
-		// JUnitDoclet end method addCheckItem
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#remove(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method enable()
-	/**
-	 * Method testEnable is testing enable
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#enable(java.lang.String, boolean)
-	 */
-	// JUnitDoclet end javadoc_method enable()
-	public void testEnable() throws Exception {
-		// JUnitDoclet begin method enable
-		// JUnitDoclet end method enable
-	}
-
-	// JUnitDoclet begin javadoc_method checkEnabled()
-	/**
-	 * Method testCheckEnabled is testing checkEnabled
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#checkEnabled()
-	 */
-	// JUnitDoclet end javadoc_method checkEnabled()
-	public void testCheckEnabled() throws Exception {
-		// JUnitDoclet begin method checkEnabled
-		// JUnitDoclet end method checkEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecuted()
-	/**
-	 * Method testCommandExecuted is testing commandExecuted
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#commandExecuted(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecuted()
-	public void testCommandExecuted() throws Exception {
-		// JUnitDoclet begin method commandExecuted
-		// JUnitDoclet end method commandExecuted
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecutable()
-	/**
-	 * Method testCommandExecutable is testing commandExecutable
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#commandExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecutable()
-	public void testCommandExecutable() throws Exception {
-		// JUnitDoclet begin method commandExecutable
-		// JUnitDoclet end method commandExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method commandNotExecutable()
-	/**
-	 * Method testCommandNotExecutable is testing commandNotExecutable
-	 * @see CH.ifa.draw.contrib.CTXCommandMenu#commandNotExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandNotExecutable()
-	public void testCommandNotExecutable() throws Exception {
-		// JUnitDoclet begin method commandNotExecutable
-		// JUnitDoclet end method commandNotExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CTXWindowMenuTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CTXWindowMenuTest.java
deleted file mode 100644
index 48a1cab61..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CTXWindowMenuTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.contrib.CTXWindowMenu;
-import CH.ifa.draw.contrib.MDIDesktopPane;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CTXWindowMenuTest is generated by
- * JUnitDoclet to hold the tests for CTXWindowMenu.
- * @see CH.ifa.draw.contrib.CTXWindowMenu
- */
-// JUnitDoclet end javadoc_class
-public class CTXWindowMenuTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CTXWindowMenu ctxwindowmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CTXWindowMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CTXWindowMenuTest(String name) {
-		// JUnitDoclet begin method CTXWindowMenuTest
-		super(name);
-		// JUnitDoclet end method CTXWindowMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CTXWindowMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		MDIDesktopPane desktop = (MDIDesktopPane) (((DrawApplication)getDrawingEditor()).getDesktop());
-		return new CH.ifa.draw.contrib.CTXWindowMenu("TestCTXWindowMenu", desktop, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ctxwindowmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ctxwindowmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/ChopDiamondConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/ChopDiamondConnectorTest.java
deleted file mode 100644
index 7eca31974..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/ChopDiamondConnectorTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.ChopDiamondConnector;
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopDiamondConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopDiamondConnector.
- * @see CH.ifa.draw.contrib.ChopDiamondConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopDiamondConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopDiamondConnector chopdiamondconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopDiamondConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopDiamondConnectorTest(String name) {
-		// JUnitDoclet begin method ChopDiamondConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopDiamondConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.ChopDiamondConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.ChopDiamondConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		chopdiamondconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		chopdiamondconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/ChopPolygonConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/ChopPolygonConnectorTest.java
deleted file mode 100644
index 8d62df16f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/ChopPolygonConnectorTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.ChopPolygonConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopPolygonConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopPolygonConnector.
- * @see CH.ifa.draw.contrib.ChopPolygonConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopPolygonConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopPolygonConnector choppolygonconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopPolygonConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopPolygonConnectorTest(String name) {
-		// JUnitDoclet begin method ChopPolygonConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopPolygonConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.ChopPolygonConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.ChopPolygonConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		choppolygonconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		choppolygonconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/ClippingUpdateStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/ClippingUpdateStrategyTest.java
deleted file mode 100644
index 27d06c5e2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/ClippingUpdateStrategyTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.ClippingUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ClippingUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for ClippingUpdateStrategy.
- * @see CH.ifa.draw.contrib.ClippingUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class ClippingUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ClippingUpdateStrategy clippingupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ClippingUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ClippingUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method ClippingUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method ClippingUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.ClippingUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.ClippingUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		clippingupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		clippingupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.ClippingUpdateStrategy#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CommandCheckBoxMenuItemTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CommandCheckBoxMenuItemTest.java
deleted file mode 100644
index 216ac4fed..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CommandCheckBoxMenuItemTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.CommandCheckBoxMenuItem;
-import CH.ifa.draw.standard.DeleteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.Command;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandCheckBoxMenuItemTest is generated by
- * JUnitDoclet to hold the tests for CommandCheckBoxMenuItem.
- * @see CH.ifa.draw.contrib.CommandCheckBoxMenuItem
- */
-// JUnitDoclet end javadoc_class
-public class CommandCheckBoxMenuItemTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandCheckBoxMenuItem commandcheckboxmenuitem;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandCheckBoxMenuItemTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandCheckBoxMenuItemTest(String name) {
-		// JUnitDoclet begin method CommandCheckBoxMenuItemTest
-		super(name);
-		// JUnitDoclet end method CommandCheckBoxMenuItemTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CommandCheckBoxMenuItem createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Command cmd = new DeleteCommand("TestDelete", getDrawingEditor());
-		return new CH.ifa.draw.contrib.CommandCheckBoxMenuItem(cmd);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandcheckboxmenuitem = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandcheckboxmenuitem = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setCommand()
-	/**
-	 * Method testSetGetCommand is testing setCommand
-	 * and getCommand together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.CommandCheckBoxMenuItem#setCommand(CH.ifa.draw.util.Command)
-	 * @see CH.ifa.draw.contrib.CommandCheckBoxMenuItem#getCommand()
-	 */
-	// JUnitDoclet end javadoc_method setCommand()
-	public void testSetGetCommand() throws Exception {
-		// JUnitDoclet begin method setCommand getCommand
-		CH.ifa.draw.util.Command[] tests = { new DeleteCommand("TestDelete", getDrawingEditor()), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			commandcheckboxmenuitem.setCommand(tests[i]);
-			assertEquals(tests[i], commandcheckboxmenuitem.getCommand());
-		}
-		// JUnitDoclet end method setCommand getCommand
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CommandMenuItemTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CommandMenuItemTest.java
deleted file mode 100644
index a16e691f1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CommandMenuItemTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.CommandMenuItem;
-import CH.ifa.draw.standard.DeleteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandMenuItemTest is generated by
- * JUnitDoclet to hold the tests for CommandMenuItem.
- * @see CH.ifa.draw.contrib.CommandMenuItem
- */
-// JUnitDoclet end javadoc_class
-public class CommandMenuItemTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandMenuItem commandmenuitem;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandMenuItemTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandMenuItemTest(String name) {
-		// JUnitDoclet begin method CommandMenuItemTest
-		super(name);
-		// JUnitDoclet end method CommandMenuItemTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CommandMenuItem createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CommandMenuItem(new DeleteCommand("TestDelete", getDrawingEditor()));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandmenuitem = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandmenuitem = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setCommand()
-	/**
-	 * Method testSetGetCommand is testing setCommand
-	 * and getCommand together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.CommandMenuItem#setCommand(CH.ifa.draw.util.Command)
-	 * @see CH.ifa.draw.contrib.CommandMenuItem#getCommand()
-	 */
-	// JUnitDoclet end javadoc_method setCommand()
-	public void testSetGetCommand() throws Exception {
-		// JUnitDoclet begin method setCommand getCommand
-		CH.ifa.draw.util.Command[] tests = { new CH.ifa.draw.standard.DeleteCommand("TestDelete", getDrawingEditor()), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			commandmenuitem.setCommand(tests[i]);
-			assertEquals(tests[i], commandmenuitem.getCommand());
-		}
-		// JUnitDoclet end method setCommand getCommand
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see CH.ifa.draw.contrib.CommandMenuItem#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/ComponentFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/ComponentFigureTest.java
deleted file mode 100644
index c1bd415a1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/ComponentFigureTest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import javax.swing.JButton;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.ComponentFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ComponentFigureTest is generated by
- * JUnitDoclet to hold the tests for ComponentFigure.
- * @see CH.ifa.draw.contrib.ComponentFigure
- */
-// JUnitDoclet end javadoc_class
-public class ComponentFigureTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ComponentFigure componentfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ComponentFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ComponentFigureTest(String name) {
-		// JUnitDoclet begin method ComponentFigureTest
-		super(name);
-		// JUnitDoclet end method ComponentFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.ComponentFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.ComponentFigure(new JButton("TestComponent"));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		componentfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		componentfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.contrib.ComponentFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.contrib.ComponentFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.ComponentFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method getComponent()
-	/**
-	 * Method testGetComponent is testing getComponent
-	 * @see CH.ifa.draw.contrib.ComponentFigure#getComponent()
-	 */
-	// JUnitDoclet end javadoc_method getComponent()
-	public void testGetComponent() throws Exception {
-		// JUnitDoclet begin method getComponent
-		// JUnitDoclet end method getComponent
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.ComponentFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CompositeFigureCreationToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CompositeFigureCreationToolTest.java
deleted file mode 100644
index dd59526ab..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CompositeFigureCreationToolTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.CompositeFigureCreationTool;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CompositeFigureCreationToolTest is generated by
- * JUnitDoclet to hold the tests for CompositeFigureCreationTool.
- * @see CH.ifa.draw.contrib.CompositeFigureCreationTool
- */
-// JUnitDoclet end javadoc_class
-public class CompositeFigureCreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CompositeFigureCreationTool compositefigurecreationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CompositeFigureCreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CompositeFigureCreationToolTest(String name) {
-		// JUnitDoclet begin method CompositeFigureCreationToolTest
-		super(name);
-		// JUnitDoclet end method CompositeFigureCreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CompositeFigureCreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CompositeFigureCreationTool(getDrawingEditor(), new RectangleFigure());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		compositefigurecreationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		compositefigurecreationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.CompositeFigureCreationTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.contrib.CompositeFigureCreationTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.CompositeFigureCreationTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method getContainerFigure()
-	/**
-	 * Method testGetContainerFigure is testing getContainerFigure
-	 * @see CH.ifa.draw.contrib.CompositeFigureCreationTool#getContainerFigure()
-	 */
-	// JUnitDoclet end javadoc_method getContainerFigure()
-	public void testGetContainerFigure() throws Exception {
-		// JUnitDoclet begin method getContainerFigure
-		// JUnitDoclet end method getContainerFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CustomSelectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CustomSelectionToolTest.java
deleted file mode 100644
index ea39b2ea1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CustomSelectionToolTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.CustomSelectionTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CustomSelectionToolTest is generated by
- * JUnitDoclet to hold the tests for CustomSelectionTool.
- * @see CH.ifa.draw.contrib.CustomSelectionTool
- */
-// JUnitDoclet end javadoc_class
-public class CustomSelectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CustomSelectionTool customselectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CustomSelectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CustomSelectionToolTest(String name) {
-		// JUnitDoclet begin method CustomSelectionToolTest
-		super(name);
-		// JUnitDoclet end method CustomSelectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CustomSelectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CustomSelectionTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		customselectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		customselectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.CustomSelectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.contrib.CustomSelectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.CustomSelectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/CustomToolBarTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/CustomToolBarTest.java
deleted file mode 100644
index cfc303015..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/CustomToolBarTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.CustomToolBar;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CustomToolBarTest is generated by
- * JUnitDoclet to hold the tests for CustomToolBar.
- * @see CH.ifa.draw.contrib.CustomToolBar
- */
-// JUnitDoclet end javadoc_class
-public class CustomToolBarTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CustomToolBar customtoolbar;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CustomToolBarTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CustomToolBarTest(String name) {
-		// JUnitDoclet begin method CustomToolBarTest
-		super(name);
-		// JUnitDoclet end method CustomToolBarTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.CustomToolBar createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.CustomToolBar();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		customtoolbar = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		customtoolbar = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method switchToolBar()
-	/**
-	 * Method testSwitchToolBar is testing switchToolBar
-	 * @see CH.ifa.draw.contrib.CustomToolBar#switchToolBar()
-	 */
-	// JUnitDoclet end javadoc_method switchToolBar()
-	public void testSwitchToolBar() throws Exception {
-		// JUnitDoclet begin method switchToolBar
-		// JUnitDoclet end method switchToolBar
-	}
-
-	// JUnitDoclet begin javadoc_method switchToEditTools()
-	/**
-	 * Method testSwitchToEditTools is testing switchToEditTools
-	 * @see CH.ifa.draw.contrib.CustomToolBar#switchToEditTools()
-	 */
-	// JUnitDoclet end javadoc_method switchToEditTools()
-	public void testSwitchToEditTools() throws Exception {
-		// JUnitDoclet begin method switchToEditTools
-		// JUnitDoclet end method switchToEditTools
-	}
-
-	// JUnitDoclet begin javadoc_method switchToStandardTools()
-	/**
-	 * Method testSwitchToStandardTools is testing switchToStandardTools
-	 * @see CH.ifa.draw.contrib.CustomToolBar#switchToStandardTools()
-	 */
-	// JUnitDoclet end javadoc_method switchToStandardTools()
-	public void testSwitchToStandardTools() throws Exception {
-		// JUnitDoclet begin method switchToStandardTools
-		// JUnitDoclet end method switchToStandardTools
-	}
-
-	// JUnitDoclet begin javadoc_method activateTools()
-	/**
-	 * Method testActivateTools is testing activateTools
-	 * @see CH.ifa.draw.contrib.CustomToolBar#activateTools()
-	 */
-	// JUnitDoclet end javadoc_method activateTools()
-	public void testActivateTools() throws Exception {
-		// JUnitDoclet begin method activateTools
-		// JUnitDoclet end method activateTools
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.contrib.CustomToolBar#add(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/DesktopEventServiceTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/DesktopEventServiceTest.java
deleted file mode 100644
index 033f0437e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/DesktopEventServiceTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Container;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.Desktop;
-import CH.ifa.draw.contrib.DesktopEventService;
-import CH.ifa.draw.contrib.JPanelDesktop;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DesktopEventServiceTest is generated by
- * JUnitDoclet to hold the tests for DesktopEventService.
- * @see CH.ifa.draw.contrib.DesktopEventService
- */
-// JUnitDoclet end javadoc_class
-public class DesktopEventServiceTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-		// JUnitDoclet begin class
-		// instance variables, helper methods, ... put them in this marker
-		private DesktopEventService desktopeventservice;
-		// JUnitDoclet end class
-		
-		/**
-		 * Constructor DesktopEventServiceTest is
-		 * basically calling the inherited constructor to
-		 * initiate the TestCase for use by the Framework.
-		 */
-		public DesktopEventServiceTest(String name) {
-				// JUnitDoclet begin method DesktopEventServiceTest
-				super(name);
-				// JUnitDoclet end method DesktopEventServiceTest
-		}
-		
-		/**
-		 * Factory method for instances of the class to be tested.
-		 */
-		public CH.ifa.draw.contrib.DesktopEventService createInstance() throws Exception {
-				// JUnitDoclet begin method testcase.createInstance
-	Desktop desktop = new JPanelDesktop(getDrawingEditor());
-				return new CH.ifa.draw.contrib.DesktopEventService(desktop, ((Container)desktop));
-				// JUnitDoclet end method testcase.createInstance
-		}
-		
-		/**
-		 * Method setUp is overwriting the framework method to
-		 * prepare an instance of this TestCase for a single test.
-		 * It's called from the JUnit framework only.
-		 */
-		protected void setUp() throws Exception {
-				// JUnitDoclet begin method testcase.setUp
-				super.setUp();
-				desktopeventservice = createInstance();
-				// JUnitDoclet end method testcase.setUp
-		}
-		
-		/**
-		 * Method tearDown is overwriting the framework method to
-		 * clean up after each single test of this TestCase.
-		 * It's called from the JUnit framework only.
-		 */
-		protected void tearDown() throws Exception {
-				// JUnitDoclet begin method testcase.tearDown
-				desktopeventservice = null;
-				super.tearDown();
-				// JUnitDoclet end method testcase.tearDown
-		}
-		
-		// JUnitDoclet begin javadoc_method addComponent()
-		/**
-		 * Method testAddComponent is testing addComponent
-		 * @see CH.ifa.draw.contrib.DesktopEventService#addComponent(java.awt.Component)
-		 */
-		// JUnitDoclet end javadoc_method addComponent()
-		public void testAddComponent() throws Exception {
-				// JUnitDoclet begin method addComponent
-				// JUnitDoclet end method addComponent
-		}
-		
-		// JUnitDoclet begin javadoc_method removeComponent()
-		/**
-		 * Method testRemoveComponent is testing removeComponent
-		 * @see CH.ifa.draw.contrib.DesktopEventService#removeComponent(CH.ifa.draw.framework.DrawingView)
-		 */
-		// JUnitDoclet end javadoc_method removeComponent()
-		public void testRemoveComponent() throws Exception {
-				// JUnitDoclet begin method removeComponent
-				// JUnitDoclet end method removeComponent
-		}
-		
-		// JUnitDoclet begin javadoc_method removeAllComponents()
-		/**
-		 * Method testRemoveAllComponents is testing removeAllComponents
-		 * @see CH.ifa.draw.contrib.DesktopEventService#removeAllComponents()
-		 */
-		// JUnitDoclet end javadoc_method removeAllComponents()
-		public void testRemoveAllComponents() throws Exception {
-				// JUnitDoclet begin method removeAllComponents
-				// JUnitDoclet end method removeAllComponents
-		}
-		
-		// JUnitDoclet begin javadoc_method addDesktopListener()
-		/**
-		 * Method testAddDesktopListener is testing addDesktopListener
-		 * @see CH.ifa.draw.contrib.DesktopEventService#addDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-		 */
-		// JUnitDoclet end javadoc_method addDesktopListener()
-		public void testAddDesktopListener() throws Exception {
-				// JUnitDoclet begin method addDesktopListener
-				// JUnitDoclet end method addDesktopListener
-		}
-		
-		// JUnitDoclet begin javadoc_method removeDesktopListener()
-		/**
-		 * Method testRemoveDesktopListener is testing removeDesktopListener
-		 * @see CH.ifa.draw.contrib.DesktopEventService#removeDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-		 */
-		// JUnitDoclet end javadoc_method removeDesktopListener()
-		public void testRemoveDesktopListener() throws Exception {
-				// JUnitDoclet begin method removeDesktopListener
-				// JUnitDoclet end method removeDesktopListener
-		}
-		
-		// JUnitDoclet begin javadoc_method getDrawingViews()
-		/**
-		 * Method testGetDrawingViews is testing getDrawingViews
-		 * @see CH.ifa.draw.contrib.DesktopEventService#getDrawingViews(java.awt.Component[])
-		 */
-		// JUnitDoclet end javadoc_method getDrawingViews()
-		public void testGetDrawingViews() throws Exception {
-				// JUnitDoclet begin method getDrawingViews
-				// JUnitDoclet end method getDrawingViews
-		}
-		
-		// JUnitDoclet begin javadoc_method getActiveDrawingView()
-		/**
-		 * Method testGetActiveDrawingView is testing getActiveDrawingView
-		 * @see CH.ifa.draw.contrib.DesktopEventService#getActiveDrawingView()
-		 */
-		// JUnitDoclet end javadoc_method getActiveDrawingView()
-		public void testGetActiveDrawingView() throws Exception {
-				// JUnitDoclet begin method getActiveDrawingView
-				// JUnitDoclet end method getActiveDrawingView
-		}
-		
-		
-		
-		// JUnitDoclet begin javadoc_method testVault
-		/**
-		 * JUnitDoclet moves marker to this method, if there is not match
-		 * for them in the regenerated code and if the marker is not empty.
-		 * This way, no test gets lost when regenerating after renaming.
-		 * <b>Method testVault is supposed to be empty.</b>
-		 */
-		// JUnitDoclet end javadoc_method testVault
-		public void testVault() throws Exception {
-				// JUnitDoclet begin method testcase.testVault
-				// JUnitDoclet end method testcase.testVault
-		}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/DiamondFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/DiamondFigureTest.java
deleted file mode 100644
index b02ca7552..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/DiamondFigureTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.DiamondFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DiamondFigureTest is generated by
- * JUnitDoclet to hold the tests for DiamondFigure.
- * @see CH.ifa.draw.contrib.DiamondFigure
- */
-// JUnitDoclet end javadoc_class
-public class DiamondFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DiamondFigure diamondfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DiamondFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DiamondFigureTest(String name) {
-		// JUnitDoclet begin method DiamondFigureTest
-		super(name);
-		// JUnitDoclet end method DiamondFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.DiamondFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.DiamondFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		diamondfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		diamondfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.DiamondFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.contrib.DiamondFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.contrib.DiamondFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method chop()
-	/**
-	 * Method testChop is testing chop
-	 * @see CH.ifa.draw.contrib.DiamondFigure#chop(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method chop()
-	public void testChop() throws Exception {
-		// JUnitDoclet begin method chop
-		// JUnitDoclet end method chop
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.contrib.DiamondFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/FloatingTextAreaTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/FloatingTextAreaTest.java
deleted file mode 100644
index 785dde0af..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/FloatingTextAreaTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.FloatingTextArea;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FloatingTextAreaTest is generated by
- * JUnitDoclet to hold the tests for FloatingTextArea.
- * @see CH.ifa.draw.contrib.FloatingTextArea
- */
-// JUnitDoclet end javadoc_class
-public class FloatingTextAreaTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FloatingTextArea floatingtextarea;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FloatingTextAreaTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FloatingTextAreaTest(String name) {
-		// JUnitDoclet begin method FloatingTextAreaTest
-		super(name);
-		// JUnitDoclet end method FloatingTextAreaTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.FloatingTextArea createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.FloatingTextArea();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		floatingtextarea = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		floatingtextarea = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createOverlay()
-	/**
-	 * Method testCreateOverlay is testing createOverlay
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#createOverlay(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method createOverlay()
-	public void testCreateOverlay() throws Exception {
-		// JUnitDoclet begin method createOverlay
-		// JUnitDoclet end method createOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method setBounds()
-	/**
-	 * Method testSetBounds is testing setBounds
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#setBounds(java.awt.Rectangle, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method setBounds()
-	public void testSetBounds() throws Exception {
-		// JUnitDoclet begin method setBounds
-		// JUnitDoclet end method setBounds
-	}
-
-	// JUnitDoclet begin javadoc_method getText()
-	/**
-	 * Method testGetText is testing getText
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#getText()
-	 */
-	// JUnitDoclet end javadoc_method getText()
-	public void testGetText() throws Exception {
-		// JUnitDoclet begin method getText
-		// JUnitDoclet end method getText
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#getPreferredSize(int)
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method endOverlay()
-	/**
-	 * Method testEndOverlay is testing endOverlay
-	 * @see CH.ifa.draw.contrib.FloatingTextArea#endOverlay()
-	 */
-	// JUnitDoclet end javadoc_method endOverlay()
-	public void testEndOverlay() throws Exception {
-		// JUnitDoclet begin method endOverlay
-		// JUnitDoclet end method endOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/GraphicalCompositeFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/GraphicalCompositeFigureTest.java
deleted file mode 100644
index 6afc1ef65..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/GraphicalCompositeFigureTest.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.GraphicalCompositeFigure;
-import CH.ifa.draw.contrib.SimpleLayouter;
-import CH.ifa.draw.figures.RectangleFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GraphicalCompositeFigureTest is generated by
- * JUnitDoclet to hold the tests for GraphicalCompositeFigure.
- * @see CH.ifa.draw.contrib.GraphicalCompositeFigure
- */
-// JUnitDoclet end javadoc_class
-public class GraphicalCompositeFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private GraphicalCompositeFigure graphicalcompositefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GraphicalCompositeFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GraphicalCompositeFigureTest(String name) {
-		// JUnitDoclet begin method GraphicalCompositeFigureTest
-		super(name);
-		// JUnitDoclet end method GraphicalCompositeFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.GraphicalCompositeFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.GraphicalCompositeFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		graphicalcompositefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		graphicalcompositefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method update()
-	/**
-	 * Method testUpdate is testing update
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#update()
-	 */
-	// JUnitDoclet end javadoc_method update()
-	public void testUpdate() throws Exception {
-		// JUnitDoclet begin method update
-		// JUnitDoclet end method update
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setPresentationFigure()
-	/**
-	 * Method testSetGetPresentationFigure is testing setPresentationFigure
-	 * and getPresentationFigure together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#setPresentationFigure(CH.ifa.draw.framework.Figure)
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#getPresentationFigure()
-	 */
-	// JUnitDoclet end javadoc_method setPresentationFigure()
-	public void testSetGetPresentationFigure() throws Exception {
-		// JUnitDoclet begin method setPresentationFigure getPresentationFigure
-		CH.ifa.draw.framework.Figure[] tests = { new RectangleFigure(new Point(10, 10), new Point(100, 100)), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			graphicalcompositefigure.setPresentationFigure(tests[i]);
-			assertEquals(tests[i], graphicalcompositefigure.getPresentationFigure());
-		}
-		// JUnitDoclet end method setPresentationFigure getPresentationFigure
-	}
-
-	// JUnitDoclet begin javadoc_method layout()
-	/**
-	 * Method testLayout is testing layout
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#layout()
-	 */
-	// JUnitDoclet end javadoc_method layout()
-	public void testLayout() throws Exception {
-		// JUnitDoclet begin method layout
-		// JUnitDoclet end method layout
-	}
-
-	// JUnitDoclet begin javadoc_method setLayouter()
-	/**
-	 * Method testSetGetLayouter is testing setLayouter
-	 * and getLayouter together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#setLayouter(CH.ifa.draw.contrib.Layouter)
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#getLayouter()
-	 */
-	// JUnitDoclet end javadoc_method setLayouter()
-	public void testSetGetLayouter() throws Exception {
-		// JUnitDoclet begin method setLayouter getLayouter
-		CH.ifa.draw.contrib.Layouter[] tests = { new SimpleLayouter(graphicalcompositefigure), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			graphicalcompositefigure.setLayouter(tests[i]);
-			assertEquals(tests[i], graphicalcompositefigure.getLayouter());
-		}
-		// JUnitDoclet end method setLayouter getLayouter
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.GraphicalCompositeFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/HelperTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/HelperTest.java
deleted file mode 100644
index 1517c28ea..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/HelperTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.Helper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HelperTest is generated by
- * JUnitDoclet to hold the tests for Helper.
- * @see CH.ifa.draw.contrib.Helper
- */
-// JUnitDoclet end javadoc_class
-public class HelperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Helper helper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HelperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HelperTest(String name) {
-		// JUnitDoclet begin method HelperTest
-		super(name);
-		// JUnitDoclet end method HelperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.Helper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.Helper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		helper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		helper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see CH.ifa.draw.contrib.Helper#getDrawingView(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/JPanelDesktopTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/JPanelDesktopTest.java
deleted file mode 100644
index 78949a968..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/JPanelDesktopTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.JPanelDesktop;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JPanelDesktopTest is generated by
- * JUnitDoclet to hold the tests for JPanelDesktop.
- * @see CH.ifa.draw.contrib.JPanelDesktop
- */
-// JUnitDoclet end javadoc_class
-public class JPanelDesktopTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JPanelDesktop jpaneldesktop;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JPanelDesktopTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JPanelDesktopTest(String name) {
-		// JUnitDoclet begin method JPanelDesktopTest
-		super(name);
-		// JUnitDoclet end method JPanelDesktopTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.JPanelDesktop createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.JPanelDesktop(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		jpaneldesktop = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		jpaneldesktop = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method addToDesktop()
-	/**
-	 * Method testAddToDesktop is testing addToDesktop
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#addToDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method addToDesktop()
-	public void testAddToDesktop() throws Exception {
-		// JUnitDoclet begin method addToDesktop
-		// JUnitDoclet end method addToDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromDesktop()
-	/**
-	 * Method testRemoveFromDesktop is testing removeFromDesktop
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#removeFromDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method removeFromDesktop()
-	public void testRemoveFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeFromDesktop
-		// JUnitDoclet end method removeFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllFromDesktop()
-	/**
-	 * Method testRemoveAllFromDesktop is testing removeAllFromDesktop
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#removeAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method removeAllFromDesktop()
-	public void testRemoveAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeAllFromDesktop
-		// JUnitDoclet end method removeAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method getAllFromDesktop()
-	/**
-	 * Method testGetAllFromDesktop is testing getAllFromDesktop
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#getAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method getAllFromDesktop()
-	public void testGetAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method getAllFromDesktop
-		// JUnitDoclet end method getAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#addDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see CH.ifa.draw.contrib.JPanelDesktop#removeDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/JScrollPaneDesktopTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/JScrollPaneDesktopTest.java
deleted file mode 100644
index c33930173..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/JScrollPaneDesktopTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.JScrollPaneDesktop;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JScrollPaneDesktopTest is generated by
- * JUnitDoclet to hold the tests for JScrollPaneDesktop.
- * @see CH.ifa.draw.contrib.JScrollPaneDesktop
- */
-// JUnitDoclet end javadoc_class
-public class JScrollPaneDesktopTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JScrollPaneDesktop jscrollpanedesktop;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JScrollPaneDesktopTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JScrollPaneDesktopTest(String name) {
-		// JUnitDoclet begin method JScrollPaneDesktopTest
-		super(name);
-		// JUnitDoclet end method JScrollPaneDesktopTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.JScrollPaneDesktop createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.JScrollPaneDesktop();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		jscrollpanedesktop = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		jscrollpanedesktop = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method addToDesktop()
-	/**
-	 * Method testAddToDesktop is testing addToDesktop
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#addToDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method addToDesktop()
-	public void testAddToDesktop() throws Exception {
-		// JUnitDoclet begin method addToDesktop
-		// JUnitDoclet end method addToDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromDesktop()
-	/**
-	 * Method testRemoveFromDesktop is testing removeFromDesktop
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#removeFromDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method removeFromDesktop()
-	public void testRemoveFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeFromDesktop
-		// JUnitDoclet end method removeFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllFromDesktop()
-	/**
-	 * Method testRemoveAllFromDesktop is testing removeAllFromDesktop
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#removeAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method removeAllFromDesktop()
-	public void testRemoveAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeAllFromDesktop
-		// JUnitDoclet end method removeAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method getAllFromDesktop()
-	/**
-	 * Method testGetAllFromDesktop is testing getAllFromDesktop
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#getAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method getAllFromDesktop()
-	public void testGetAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method getAllFromDesktop
-		// JUnitDoclet end method getAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#addDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see CH.ifa.draw.contrib.JScrollPaneDesktop#removeDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/MDIDesktopPaneTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/MDIDesktopPaneTest.java
deleted file mode 100644
index 3ddc140de..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/MDIDesktopPaneTest.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.MDIDesktopPane;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MDIDesktopPaneTest is generated by
- * JUnitDoclet to hold the tests for MDIDesktopPane.
- * @see CH.ifa.draw.contrib.MDIDesktopPane
- */
-// JUnitDoclet end javadoc_class
-public class MDIDesktopPaneTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MDIDesktopPane mdidesktoppane;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MDIDesktopPaneTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MDIDesktopPaneTest(String name) {
-		// JUnitDoclet begin method MDIDesktopPaneTest
-		super(name);
-		// JUnitDoclet end method MDIDesktopPaneTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.MDIDesktopPane createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.MDIDesktopPane(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		mdidesktoppane = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		mdidesktoppane = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method addToDesktop()
-	/**
-	 * Method testAddToDesktop is testing addToDesktop
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#addToDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method addToDesktop()
-	public void testAddToDesktop() throws Exception {
-		// JUnitDoclet begin method addToDesktop
-		// JUnitDoclet end method addToDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromDesktop()
-	/**
-	 * Method testRemoveFromDesktop is testing removeFromDesktop
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#removeFromDesktop(CH.ifa.draw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method removeFromDesktop()
-	public void testRemoveFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeFromDesktop
-		// JUnitDoclet end method removeFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllFromDesktop()
-	/**
-	 * Method testRemoveAllFromDesktop is testing removeAllFromDesktop
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#removeAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method removeAllFromDesktop()
-	public void testRemoveAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeAllFromDesktop
-		// JUnitDoclet end method removeAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method getAllFromDesktop()
-	/**
-	 * Method testGetAllFromDesktop is testing getAllFromDesktop
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#getAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method getAllFromDesktop()
-	public void testGetAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method getAllFromDesktop
-		// JUnitDoclet end method getAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#addDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#removeDesktopListener(CH.ifa.draw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method cascadeFrames()
-	/**
-	 * Method testCascadeFrames is testing cascadeFrames
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#cascadeFrames()
-	 */
-	// JUnitDoclet end javadoc_method cascadeFrames()
-	public void testCascadeFrames() throws Exception {
-		// JUnitDoclet begin method cascadeFrames
-		// JUnitDoclet end method cascadeFrames
-	}
-
-	// JUnitDoclet begin javadoc_method tileFrames()
-	/**
-	 * Method testTileFrames is testing tileFrames
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#tileFrames()
-	 */
-	// JUnitDoclet end javadoc_method tileFrames()
-	public void testTileFrames() throws Exception {
-		// JUnitDoclet begin method tileFrames
-		// JUnitDoclet end method tileFrames
-	}
-
-	// JUnitDoclet begin javadoc_method tileFramesHorizontally()
-	/**
-	 * Method testTileFramesHorizontally is testing tileFramesHorizontally
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#tileFramesHorizontally()
-	 */
-	// JUnitDoclet end javadoc_method tileFramesHorizontally()
-	public void testTileFramesHorizontally() throws Exception {
-		// JUnitDoclet begin method tileFramesHorizontally
-		// JUnitDoclet end method tileFramesHorizontally
-	}
-
-	// JUnitDoclet begin javadoc_method tileFramesVertically()
-	/**
-	 * Method testTileFramesVertically is testing tileFramesVertically
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#tileFramesVertically()
-	 */
-	// JUnitDoclet end javadoc_method tileFramesVertically()
-	public void testTileFramesVertically() throws Exception {
-		// JUnitDoclet begin method tileFramesVertically
-		// JUnitDoclet end method tileFramesVertically
-	}
-
-	// JUnitDoclet begin javadoc_method arrangeFramesVertically()
-	/**
-	 * Method testArrangeFramesVertically is testing arrangeFramesVertically
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#arrangeFramesVertically()
-	 */
-	// JUnitDoclet end javadoc_method arrangeFramesVertically()
-	public void testArrangeFramesVertically() throws Exception {
-		// JUnitDoclet begin method arrangeFramesVertically
-		// JUnitDoclet end method arrangeFramesVertically
-	}
-
-	// JUnitDoclet begin javadoc_method arrangeFramesHorizontally()
-	/**
-	 * Method testArrangeFramesHorizontally is testing arrangeFramesHorizontally
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#arrangeFramesHorizontally()
-	 */
-	// JUnitDoclet end javadoc_method arrangeFramesHorizontally()
-	public void testArrangeFramesHorizontally() throws Exception {
-		// JUnitDoclet begin method arrangeFramesHorizontally
-		// JUnitDoclet end method arrangeFramesHorizontally
-	}
-
-	// JUnitDoclet begin javadoc_method setAllSize()
-	/**
-	 * Method testSetAllSize is testing setAllSize
-	 * @see CH.ifa.draw.contrib.MDIDesktopPane#setAllSize(java.awt.Dimension)
-	 */
-	// JUnitDoclet end javadoc_method setAllSize()
-	public void testSetAllSize() throws Exception {
-		// JUnitDoclet begin method setAllSize
-		// JUnitDoclet end method setAllSize
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/MDI_DrawApplicationTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/MDI_DrawApplicationTest.java
deleted file mode 100644
index 7d799e5f4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/MDI_DrawApplicationTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.MDI_DrawApplication;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MDI_DrawApplicationTest is generated by
- * JUnitDoclet to hold the tests for MDI_DrawApplication.
- * @see CH.ifa.draw.contrib.MDI_DrawApplication
- */
-// JUnitDoclet end javadoc_class
-public class MDI_DrawApplicationTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MDI_DrawApplication mdi_drawapplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MDI_DrawApplicationTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MDI_DrawApplicationTest(String name) {
-		// JUnitDoclet begin method MDI_DrawApplicationTest
-		super(name);
-		// JUnitDoclet end method MDI_DrawApplicationTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.MDI_DrawApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.MDI_DrawApplication();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		mdi_drawapplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		mdi_drawapplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method promptNew()
-	/**
-	 * Method testPromptNew is testing promptNew
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#promptNew()
-	 */
-	// JUnitDoclet end javadoc_method promptNew()
-	public void testPromptNew() throws Exception {
-		// JUnitDoclet begin method promptNew
-		// JUnitDoclet end method promptNew
-	}
-
-	// JUnitDoclet begin javadoc_method newWindow()
-	/**
-	 * Method testNewWindow is testing newWindow
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#newWindow(CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method newWindow()
-	public void testNewWindow() throws Exception {
-		// JUnitDoclet begin method newWindow
-		// JUnitDoclet end method newWindow
-	}
-
-	// JUnitDoclet begin javadoc_method newView()
-	/**
-	 * Method testNewView is testing newView
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#newView()
-	 */
-	// JUnitDoclet end javadoc_method newView()
-	public void testNewView() throws Exception {
-		// JUnitDoclet begin method newView
-		// JUnitDoclet end method newView
-	}
-
-	// JUnitDoclet begin javadoc_method views()
-	/**
-	 * Method testViews is testing views
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#views()
-	 */
-	// JUnitDoclet end javadoc_method views()
-	public void testViews() throws Exception {
-		// JUnitDoclet begin method views
-		// JUnitDoclet end method views
-	}
-
-	// JUnitDoclet begin javadoc_method getDefaultDrawingTitle()
-	/**
-	 * Method testGetDefaultDrawingTitle is testing getDefaultDrawingTitle
-	 * @see CH.ifa.draw.contrib.MDI_DrawApplication#getDefaultDrawingTitle()
-	 */
-	// JUnitDoclet end javadoc_method getDefaultDrawingTitle()
-	public void testGetDefaultDrawingTitle() throws Exception {
-		// JUnitDoclet begin method getDefaultDrawingTitle
-		// JUnitDoclet end method getDefaultDrawingTitle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/MiniMapViewTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/MiniMapViewTest.java
deleted file mode 100644
index 2b780445b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/MiniMapViewTest.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-import java.awt.Component;
-
-import javax.swing.JScrollPane;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.MiniMapView;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MiniMapViewTest is generated by
- * JUnitDoclet to hold the tests for MiniMapView.
- * @see CH.ifa.draw.contrib.MiniMapView
- */
-// JUnitDoclet end javadoc_class
-public class MiniMapViewTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MiniMapView minimapview;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MiniMapViewTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MiniMapViewTest(String name) {
-		// JUnitDoclet begin method MiniMapViewTest
-		super(name);
-		// JUnitDoclet end method MiniMapViewTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.MiniMapView createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		JScrollPane sp = new JScrollPane((Component)getDrawingEditor().view());
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(Component.LEFT_ALIGNMENT);
-		return new CH.ifa.draw.contrib.MiniMapView(getDrawingEditor().view(), sp);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		minimapview = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		minimapview = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getMappedDrawingView()
-	/**
-	 * Method testGetMappedDrawingView is testing getMappedDrawingView
-	 * @see CH.ifa.draw.contrib.MiniMapView#getMappedDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getMappedDrawingView()
-	public void testGetMappedDrawingView() throws Exception {
-		// JUnitDoclet begin method getMappedDrawingView
-		// JUnitDoclet end method getMappedDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method getSubject()
-	/**
-	 * Method testGetSubject is testing getSubject
-	 * @see CH.ifa.draw.contrib.MiniMapView#getSubject()
-	 */
-	// JUnitDoclet end javadoc_method getSubject()
-	public void testGetSubject() throws Exception {
-		// JUnitDoclet begin method getSubject
-		// JUnitDoclet end method getSubject
-	}
-
-	// JUnitDoclet begin javadoc_method getViewBowColor()
-	/**
-	 * Method testGetViewBowColor is testing getViewBowColor
-	 * @see CH.ifa.draw.contrib.MiniMapView#getViewBowColor()
-	 */
-	// JUnitDoclet end javadoc_method getViewBowColor()
-	public void testGetViewBowColor() throws Exception {
-		// JUnitDoclet begin method getViewBowColor
-		// JUnitDoclet end method getViewBowColor
-	}
-
-	// JUnitDoclet begin javadoc_method setViewBoxColor()
-	/**
-	 * Method testSetViewBoxColor is testing setViewBoxColor
-	 * @see CH.ifa.draw.contrib.MiniMapView#setViewBoxColor(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method setViewBoxColor()
-	public void testSetViewBoxColor() throws Exception {
-		// JUnitDoclet begin method setViewBoxColor
-		// JUnitDoclet end method setViewBoxColor
-	}
-
-	// JUnitDoclet begin javadoc_method paint()
-	/**
-	 * Method testPaint is testing paint
-	 * @see CH.ifa.draw.contrib.MiniMapView#paint(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paint()
-	public void testPaint() throws Exception {
-		// JUnitDoclet begin method paint
-		// JUnitDoclet end method paint
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/NestedCreationToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/NestedCreationToolTest.java
deleted file mode 100644
index 7c64c0d66..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/NestedCreationToolTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.NestedCreationTool;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NestedCreationToolTest is generated by
- * JUnitDoclet to hold the tests for NestedCreationTool.
- * @see CH.ifa.draw.contrib.NestedCreationTool
- */
-// JUnitDoclet end javadoc_class
-public class NestedCreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NestedCreationTool nestedcreationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NestedCreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NestedCreationToolTest(String name) {
-		// JUnitDoclet begin method NestedCreationToolTest
-		super(name);
-		// JUnitDoclet end method NestedCreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.NestedCreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.NestedCreationTool(getDrawingEditor(), new RectangleFigure(new Point(20, 20), new Point(90, 90)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nestedcreationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nestedcreationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.NestedCreationTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.contrib.NestedCreationTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.NestedCreationTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method getContainerFigure()
-	/**
-	 * Method testGetContainerFigure is testing getContainerFigure
-	 * @see CH.ifa.draw.contrib.NestedCreationTool#getContainerFigure()
-	 */
-	// JUnitDoclet end javadoc_method getContainerFigure()
-	public void testGetContainerFigure() throws Exception {
-		// JUnitDoclet begin method getContainerFigure
-		// JUnitDoclet end method getContainerFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonFigureTest.java
deleted file mode 100644
index a4cf0d434..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonFigureTest.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.PolygonFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolygonFigureTest is generated by
- * JUnitDoclet to hold the tests for PolygonFigure.
- * @see CH.ifa.draw.contrib.PolygonFigure
- */
-// JUnitDoclet end javadoc_class
-public class PolygonFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolygonFigure polygonfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolygonFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolygonFigureTest(String name) {
-		// JUnitDoclet begin method PolygonFigureTest
-		super(name);
-		// JUnitDoclet end method PolygonFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.PolygonFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.PolygonFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polygonfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polygonfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.contrib.PolygonFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.contrib.PolygonFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.PolygonFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.contrib.PolygonFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method getPolygon()
-	/**
-	 * Method testGetPolygon is testing getPolygon
-	 * @see CH.ifa.draw.contrib.PolygonFigure#getPolygon()
-	 */
-	// JUnitDoclet end javadoc_method getPolygon()
-	public void testGetPolygon() throws Exception {
-		// JUnitDoclet begin method getPolygon
-		// JUnitDoclet end method getPolygon
-	}
-
-	// JUnitDoclet begin javadoc_method getInternalPolygon()
-	/**
-	 * Method testGetInternalPolygon is testing getInternalPolygon
-	 * @see CH.ifa.draw.contrib.PolygonFigure#getInternalPolygon()
-	 */
-	// JUnitDoclet end javadoc_method getInternalPolygon()
-	public void testGetInternalPolygon() throws Exception {
-		// JUnitDoclet begin method getInternalPolygon
-		// JUnitDoclet end method getInternalPolygon
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see CH.ifa.draw.contrib.PolygonFigure#center()
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method points()
-	/**
-	 * Method testPoints is testing points
-	 * @see CH.ifa.draw.contrib.PolygonFigure#points()
-	 */
-	// JUnitDoclet end javadoc_method points()
-	public void testPoints() throws Exception {
-		// JUnitDoclet begin method points
-		// JUnitDoclet end method points
-	}
-
-	// JUnitDoclet begin javadoc_method pointCount()
-	/**
-	 * Method testPointCount is testing pointCount
-	 * @see CH.ifa.draw.contrib.PolygonFigure#pointCount()
-	 */
-	// JUnitDoclet end javadoc_method pointCount()
-	public void testPointCount() throws Exception {
-		// JUnitDoclet begin method pointCount
-		// JUnitDoclet end method pointCount
-	}
-
-	// JUnitDoclet begin javadoc_method basicMoveBy()
-	/**
-	 * Method testBasicMoveBy is testing basicMoveBy
-	 * @see CH.ifa.draw.contrib.PolygonFigure#basicMoveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method basicMoveBy()
-	public void testBasicMoveBy() throws Exception {
-		// JUnitDoclet begin method basicMoveBy
-		// JUnitDoclet end method basicMoveBy
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.contrib.PolygonFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.contrib.PolygonFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.contrib.PolygonFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method addPoint()
-	/**
-	 * Method testAddPoint is testing addPoint
-	 * @see CH.ifa.draw.contrib.PolygonFigure#addPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method addPoint()
-	public void testAddPoint() throws Exception {
-		// JUnitDoclet begin method addPoint
-		// JUnitDoclet end method addPoint
-	}
-
-	// JUnitDoclet begin javadoc_method setPointAt()
-	/**
-	 * Method testSetPointAt is testing setPointAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#setPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method setPointAt()
-	public void testSetPointAt() throws Exception {
-		// JUnitDoclet begin method setPointAt
-		// JUnitDoclet end method setPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method insertPointAt()
-	/**
-	 * Method testInsertPointAt is testing insertPointAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#insertPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method insertPointAt()
-	public void testInsertPointAt() throws Exception {
-		// JUnitDoclet begin method insertPointAt
-		// JUnitDoclet end method insertPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method removePointAt()
-	/**
-	 * Method testRemovePointAt is testing removePointAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#removePointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method removePointAt()
-	public void testRemovePointAt() throws Exception {
-		// JUnitDoclet begin method removePointAt
-		// JUnitDoclet end method removePointAt
-	}
-
-	// JUnitDoclet begin javadoc_method scaleRotate()
-	/**
-	 * Method testScaleRotate is testing scaleRotate
-	 * @see CH.ifa.draw.contrib.PolygonFigure#scaleRotate(java.awt.Point, java.awt.Polygon, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method scaleRotate()
-	public void testScaleRotate() throws Exception {
-		// JUnitDoclet begin method scaleRotate
-		// JUnitDoclet end method scaleRotate
-	}
-
-	// JUnitDoclet begin javadoc_method smoothPoints()
-	/**
-	 * Method testSmoothPoints is testing smoothPoints
-	 * @see CH.ifa.draw.contrib.PolygonFigure#smoothPoints()
-	 */
-	// JUnitDoclet end javadoc_method smoothPoints()
-	public void testSmoothPoints() throws Exception {
-		// JUnitDoclet begin method smoothPoints
-		// JUnitDoclet end method smoothPoints
-	}
-
-	// JUnitDoclet begin javadoc_method splitSegment()
-	/**
-	 * Method testSplitSegment is testing splitSegment
-	 * @see CH.ifa.draw.contrib.PolygonFigure#splitSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method splitSegment()
-	public void testSplitSegment() throws Exception {
-		// JUnitDoclet begin method splitSegment
-		// JUnitDoclet end method splitSegment
-	}
-
-	// JUnitDoclet begin javadoc_method pointAt()
-	/**
-	 * Method testPointAt is testing pointAt
-	 * @see CH.ifa.draw.contrib.PolygonFigure#pointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method pointAt()
-	public void testPointAt() throws Exception {
-		// JUnitDoclet begin method pointAt
-		// JUnitDoclet end method pointAt
-	}
-
-	// JUnitDoclet begin javadoc_method outermostPoint()
-	/**
-	 * Method testOutermostPoint is testing outermostPoint
-	 * @see CH.ifa.draw.contrib.PolygonFigure#outermostPoint()
-	 */
-	// JUnitDoclet end javadoc_method outermostPoint()
-	public void testOutermostPoint() throws Exception {
-		// JUnitDoclet begin method outermostPoint
-		// JUnitDoclet end method outermostPoint
-	}
-
-	// JUnitDoclet begin javadoc_method findSegment()
-	/**
-	 * Method testFindSegment is testing findSegment
-	 * @see CH.ifa.draw.contrib.PolygonFigure#findSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findSegment()
-	public void testFindSegment() throws Exception {
-		// JUnitDoclet begin method findSegment
-		// JUnitDoclet end method findSegment
-	}
-
-	// JUnitDoclet begin javadoc_method chop()
-	/**
-	 * Method testChop is testing chop
-	 * @see CH.ifa.draw.contrib.PolygonFigure#chop(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method chop()
-	public void testChop() throws Exception {
-		// JUnitDoclet begin method chop
-		// JUnitDoclet end method chop
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.PolygonFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.PolygonFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method locator()
-	/**
-	 * Method testLocator is testing locator
-	 * @see CH.ifa.draw.contrib.PolygonFigure#locator(int)
-	 */
-	// JUnitDoclet end javadoc_method locator()
-	public void testLocator() throws Exception {
-		// JUnitDoclet begin method locator
-		// JUnitDoclet end method locator
-	}
-
-	// JUnitDoclet begin javadoc_method bounds()
-	/**
-	 * Method testBounds is testing bounds
-	 * @see CH.ifa.draw.contrib.PolygonFigure#bounds(java.awt.Polygon)
-	 */
-	// JUnitDoclet end javadoc_method bounds()
-	public void testBounds() throws Exception {
-		// JUnitDoclet begin method bounds
-		// JUnitDoclet end method bounds
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonHandleTest.java
deleted file mode 100644
index 0bc94bdb6..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonHandleTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.PolygonFigure;
-import CH.ifa.draw.contrib.PolygonHandle;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolygonHandleTest is generated by
- * JUnitDoclet to hold the tests for PolygonHandle.
- * @see CH.ifa.draw.contrib.PolygonHandle
- */
-// JUnitDoclet end javadoc_class
-public class PolygonHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolygonHandle polygonhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolygonHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolygonHandleTest(String name) {
-		// JUnitDoclet begin method PolygonHandleTest
-		super(name);
-		// JUnitDoclet end method PolygonHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.PolygonHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		PolygonFigure figure = new PolygonFigure(20, 20);
-		figure.addPoint(30, 30);
-		figure.addPoint(40, 40);
-		return new CH.ifa.draw.contrib.PolygonHandle(figure, PolygonFigure.locator(2), 2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polygonhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polygonhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.contrib.PolygonHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.contrib.PolygonHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.contrib.PolygonHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.contrib.PolygonHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonToolTest.java
deleted file mode 100644
index 40c3c486d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/PolygonToolTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.PolygonTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolygonToolTest is generated by
- * JUnitDoclet to hold the tests for PolygonTool.
- * @see CH.ifa.draw.contrib.PolygonTool
- */
-// JUnitDoclet end javadoc_class
-public class PolygonToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolygonTool polygontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolygonToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolygonToolTest(String name) {
-		// JUnitDoclet begin method PolygonToolTest
-		super(name);
-		// JUnitDoclet end method PolygonToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.PolygonTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.PolygonTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polygontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polygontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.contrib.PolygonTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.contrib.PolygonTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.PolygonTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.contrib.PolygonTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.contrib.PolygonTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.PolygonTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/SVGDrawAppTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/SVGDrawAppTest.java
deleted file mode 100644
index 62caff8a2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/SVGDrawAppTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.SVGDrawApp;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SVGDrawAppTest is generated by
- * JUnitDoclet to hold the tests for SVGDrawApp.
- * @see CH.ifa.draw.contrib.SVGDrawApp
- */
-// JUnitDoclet end javadoc_class
-public class SVGDrawAppTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SVGDrawApp svgdrawapp;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SVGDrawAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SVGDrawAppTest(String name) {
-		// JUnitDoclet begin method SVGDrawAppTest
-		super(name);
-		// JUnitDoclet end method SVGDrawAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.SVGDrawApp createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.SVGDrawApp();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		svgdrawapp = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		svgdrawapp = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.contrib.SVGDrawApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method createStorageFormatManager()
-	/**
-	 * Method testCreateStorageFormatManager is testing createStorageFormatManager
-	 * @see CH.ifa.draw.contrib.SVGDrawApp#createStorageFormatManager()
-	 */
-	// JUnitDoclet end javadoc_method createStorageFormatManager()
-	public void testCreateStorageFormatManager() throws Exception {
-		// JUnitDoclet begin method createStorageFormatManager
-		// JUnitDoclet end method createStorageFormatManager
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/SVGStorageFormatTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/SVGStorageFormatTest.java
deleted file mode 100644
index a6f0cf164..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/SVGStorageFormatTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.SVGStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SVGStorageFormatTest is generated by
- * JUnitDoclet to hold the tests for SVGStorageFormat.
- * @see CH.ifa.draw.contrib.SVGStorageFormat
- */
-// JUnitDoclet end javadoc_class
-public class SVGStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SVGStorageFormat svgstorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SVGStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SVGStorageFormatTest(String name) {
-		// JUnitDoclet begin method SVGStorageFormatTest
-		super(name);
-		// JUnitDoclet end method SVGStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.SVGStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.SVGStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		svgstorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		svgstorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see CH.ifa.draw.contrib.SVGStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see CH.ifa.draw.contrib.SVGStorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see CH.ifa.draw.contrib.SVGStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/SimpleLayouterTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/SimpleLayouterTest.java
deleted file mode 100644
index 3ae9d3794..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/SimpleLayouterTest.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.GraphicalCompositeFigure;
-import CH.ifa.draw.contrib.Layoutable;
-import CH.ifa.draw.contrib.SimpleLayouter;
-import CH.ifa.draw.figures.RectangleFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SimpleLayouterTest is generated by
- * JUnitDoclet to hold the tests for SimpleLayouter.
- * @see CH.ifa.draw.contrib.SimpleLayouter
- */
-// JUnitDoclet end javadoc_class
-public class SimpleLayouterTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SimpleLayouter simplelayouter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SimpleLayouterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SimpleLayouterTest(String name) {
-		// JUnitDoclet begin method SimpleLayouterTest
-		super(name);
-		// JUnitDoclet end method SimpleLayouterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.SimpleLayouter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Layoutable fig = new GraphicalCompositeFigure(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		return new CH.ifa.draw.contrib.SimpleLayouter(fig);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		simplelayouter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		simplelayouter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setLayoutable()
-	/**
-	 * Method testSetGetLayoutable is testing setLayoutable
-	 * and getLayoutable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#setLayoutable(CH.ifa.draw.contrib.Layoutable)
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#getLayoutable()
-	 */
-	// JUnitDoclet end javadoc_method setLayoutable()
-	public void testSetGetLayoutable() throws Exception {
-		// JUnitDoclet begin method setLayoutable getLayoutable
-		CH.ifa.draw.contrib.Layoutable[] tests = { new GraphicalCompositeFigure(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			simplelayouter.setLayoutable(tests[i]);
-			assertEquals(tests[i], simplelayouter.getLayoutable());
-		}
-		// JUnitDoclet end method setLayoutable getLayoutable
-	}
-
-	// JUnitDoclet begin javadoc_method setInsets()
-	/**
-	 * Method testSetGetInsets is testing setInsets
-	 * and getInsets together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#setInsets(java.awt.Insets)
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#getInsets()
-	 */
-	// JUnitDoclet end javadoc_method setInsets()
-	public void testSetGetInsets() throws Exception {
-		// JUnitDoclet begin method setInsets getInsets
-		java.awt.Insets[] tests = { new java.awt.Insets(5, 5, 5, 5), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			simplelayouter.setInsets(tests[i]);
-			assertEquals(tests[i], simplelayouter.getInsets());
-		}
-		// JUnitDoclet end method setInsets getInsets
-	}
-
-	// JUnitDoclet begin javadoc_method create()
-	/**
-	 * Method testCreate is testing create
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#create(CH.ifa.draw.contrib.Layoutable)
-	 */
-	// JUnitDoclet end javadoc_method create()
-	public void testCreate() throws Exception {
-		// JUnitDoclet begin method create
-		// JUnitDoclet end method create
-	}
-
-	// JUnitDoclet begin javadoc_method calculateLayout()
-	/**
-	 * Method testCalculateLayout is testing calculateLayout
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#calculateLayout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method calculateLayout()
-	public void testCalculateLayout() throws Exception {
-		// JUnitDoclet begin method calculateLayout
-		// JUnitDoclet end method calculateLayout
-	}
-
-	// JUnitDoclet begin javadoc_method layout()
-	/**
-	 * Method testLayout is testing layout
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#layout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method layout()
-	public void testLayout() throws Exception {
-		// JUnitDoclet begin method layout
-		// JUnitDoclet end method layout
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.SimpleLayouter#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/SplitConnectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/SplitConnectionToolTest.java
deleted file mode 100644
index 3a8422194..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/SplitConnectionToolTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.SplitConnectionTool;
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.framework.ConnectionFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SplitConnectionToolTest is generated by
- * JUnitDoclet to hold the tests for SplitConnectionTool.
- * @see CH.ifa.draw.contrib.SplitConnectionTool
- */
-// JUnitDoclet end javadoc_class
-public class SplitConnectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SplitConnectionTool splitconnectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SplitConnectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SplitConnectionToolTest(String name) {
-		// JUnitDoclet begin method SplitConnectionToolTest
-		super(name);
-		// JUnitDoclet end method SplitConnectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.SplitConnectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		ConnectionFigure lineConnection = new LineConnection();
-		return new CH.ifa.draw.contrib.SplitConnectionTool(getDrawingEditor(), lineConnection);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		splitconnectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		splitconnectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.contrib.SplitConnectionTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/StandardLayouterTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/StandardLayouterTest.java
deleted file mode 100644
index 2a8b5c326..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/StandardLayouterTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.StandardLayouter;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardLayouterTest is generated by
- * JUnitDoclet to hold the tests for StandardLayouter.
- * @see CH.ifa.draw.contrib.StandardLayouter
- */
-// JUnitDoclet end javadoc_class
-public class StandardLayouterTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardLayouter standardlayouter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardLayouterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardLayouterTest(String name) {
-		// JUnitDoclet begin method StandardLayouterTest
-		super(name);
-		// JUnitDoclet end method StandardLayouterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.StandardLayouter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.StandardLayouter();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardlayouter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardlayouter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method create()
-	/**
-	 * Method testCreate is testing create
-	 * @see CH.ifa.draw.contrib.StandardLayouter#create(CH.ifa.draw.contrib.Layoutable)
-	 */
-	// JUnitDoclet end javadoc_method create()
-	public void testCreate() throws Exception {
-		// JUnitDoclet begin method create
-		// JUnitDoclet end method create
-	}
-
-	// JUnitDoclet begin javadoc_method calculateLayout()
-	/**
-	 * Method testCalculateLayout is testing calculateLayout
-	 * @see CH.ifa.draw.contrib.StandardLayouter#calculateLayout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method calculateLayout()
-	public void testCalculateLayout() throws Exception {
-		// JUnitDoclet begin method calculateLayout
-		// JUnitDoclet end method calculateLayout
-	}
-
-	// JUnitDoclet begin javadoc_method layout()
-	/**
-	 * Method testLayout is testing layout
-	 * @see CH.ifa.draw.contrib.StandardLayouter#layout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method layout()
-	public void testLayout() throws Exception {
-		// JUnitDoclet begin method layout
-		// JUnitDoclet end method layout
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaFigureTest.java
deleted file mode 100644
index 554123b2b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaFigureTest.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Font;
-
-import CH.ifa.draw.contrib.TextAreaFigure;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextAreaFigureTest is generated by
- * JUnitDoclet to hold the tests for TextAreaFigure.
- * @see CH.ifa.draw.contrib.TextAreaFigure
- */
-// JUnitDoclet end javadoc_class
-public class TextAreaFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TextAreaFigure textareafigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TextAreaFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TextAreaFigureTest(String name) {
-		// JUnitDoclet begin method TextAreaFigureTest
-		super(name);
-		// JUnitDoclet end method TextAreaFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.TextAreaFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.TextAreaFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		textareafigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		textareafigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setText()
-	/**
-	 * Method testSetGetText is testing setText
-	 * and getText together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setText(java.lang.String)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getText()
-	 */
-	// JUnitDoclet end javadoc_method setText()
-	public void testSetGetText() throws Exception {
-		// JUnitDoclet begin method setText getText
-		java.lang.String[] tests = { "", " ", "a", "A", "?", "?", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setText(tests[i]);
-			assertEquals(tests[i], textareafigure.getText());
-		}
-		// JUnitDoclet end method setText getText
-	}
-
-	// JUnitDoclet begin javadoc_method textDisplayBox()
-	/**
-	 * Method testTextDisplayBox is testing textDisplayBox
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#textDisplayBox()
-	 */
-	// JUnitDoclet end javadoc_method textDisplayBox()
-	public void testTextDisplayBox() throws Exception {
-		// JUnitDoclet begin method textDisplayBox
-		// JUnitDoclet end method textDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method createFont()
-	/**
-	 * Method testCreateFont is testing createFont
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#createFont()
-	 */
-	// JUnitDoclet end javadoc_method createFont()
-	public void testCreateFont() throws Exception {
-		// JUnitDoclet begin method createFont
-		// JUnitDoclet end method createFont
-	}
-
-	// JUnitDoclet begin javadoc_method setReadOnly()
-	/**
-	 * Method testSetIsReadOnly is testing setReadOnly
-	 * and isReadOnly together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setReadOnly(boolean)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isReadOnly()
-	 */
-	// JUnitDoclet end javadoc_method setReadOnly()
-	public void testSetIsReadOnly() throws Exception {
-		// JUnitDoclet begin method setReadOnly isReadOnly
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setReadOnly(tests[i]);
-			assertEquals(tests[i], textareafigure.isReadOnly());
-		}
-		// JUnitDoclet end method setReadOnly isReadOnly
-	}
-
-	// JUnitDoclet begin javadoc_method acceptsTyping()
-	/**
-	 * Method testAcceptsTyping is testing acceptsTyping
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#acceptsTyping()
-	 */
-	// JUnitDoclet end javadoc_method acceptsTyping()
-	public void testAcceptsTyping() throws Exception {
-		// JUnitDoclet begin method acceptsTyping
-		// JUnitDoclet end method acceptsTyping
-	}
-
-	// JUnitDoclet begin javadoc_method isTextDirty()
-	/**
-	 * Method testIsTextDirty is testing isTextDirty
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isTextDirty()
-	 */
-	// JUnitDoclet end javadoc_method isTextDirty()
-	public void testIsTextDirty() throws Exception {
-		// JUnitDoclet begin method isTextDirty
-		// JUnitDoclet end method isTextDirty
-	}
-
-	// JUnitDoclet begin javadoc_method setSizeDirty()
-	/**
-	 * Method testSetIsSizeDirty is testing setSizeDirty
-	 * and isSizeDirty together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setSizeDirty(boolean)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isSizeDirty()
-	 */
-	// JUnitDoclet end javadoc_method setSizeDirty()
-	public void testSetIsSizeDirty() throws Exception {
-		// JUnitDoclet begin method setSizeDirty isSizeDirty
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setSizeDirty(tests[i]);
-			assertEquals(tests[i], textareafigure.isSizeDirty());
-		}
-		// JUnitDoclet end method setSizeDirty isSizeDirty
-	}
-
-	// JUnitDoclet begin javadoc_method setFont()
-	/**
-	 * Method testSetGetFont is testing setFont
-	 * and getFont together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setFont(java.awt.Font)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getFont()
-	 */
-	// JUnitDoclet end javadoc_method setFont()
-	public void testSetGetFont() throws Exception {
-		// JUnitDoclet begin method setFont getFont
-		Font[] tests = { new Font("Helvetica", Font.PLAIN, 12)};
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setFont(tests[i]);
-			assertEquals(tests[i], textareafigure.getFont());
-		}
-		// JUnitDoclet end method setFont getFont
-	}
-
-	// JUnitDoclet begin method setNullFont()
-	/**
-	 * Test a null argument to setFont.		Expect an IllegalArgumentException
-	 * 
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setFont(java.awt.Font)
-	 */
-	public void testSetNullFont() throws Exception {
-		Font original = textareafigure.getFont();
-
-		try {
-			textareafigure.setFont(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-			assertEquals("setFont(null) altered property value", original, textareafigure.getFont());
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method overlayColumns()		
-	/**
-	 * Method testOverlayColumns is testing overlayColumns
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#overlayColumns()
-	 */
-	// JUnitDoclet end javadoc_method overlayColumns()
-	public void testOverlayColumns() throws Exception {
-		// JUnitDoclet begin method overlayColumns
-		// JUnitDoclet end method overlayColumns
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method moveBy()
-	/**
-	 * Method testMoveBy is testing moveBy
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#moveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method moveBy()
-	public void testMoveBy() throws Exception {
-		// JUnitDoclet begin method moveBy
-		// JUnitDoclet end method moveBy
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method connect()
-	/**
-	 * Method testConnect is testing connect
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#connect(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method connect()
-	public void testConnect() throws Exception {
-		// JUnitDoclet begin method connect
-		// JUnitDoclet end method connect
-	}
-
-	// JUnitDoclet begin javadoc_method disconnect()
-	/**
-	 * Method testDisconnect is testing disconnect
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#disconnect(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method disconnect()
-	public void testDisconnect() throws Exception {
-		// JUnitDoclet begin method disconnect
-		// JUnitDoclet end method disconnect
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method getTextColor()
-	/**
-	 * Method testGetTextColor is testing getTextColor
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getTextColor()
-	 */
-	// JUnitDoclet end javadoc_method getTextColor()
-	public void testGetTextColor() throws Exception {
-		// JUnitDoclet begin method getTextColor
-		// JUnitDoclet end method getTextColor
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method setFontDirty()
-	/**
-	 * Method testSetIsFontDirty is testing setFontDirty
-	 * and isFontDirty together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#setFontDirty(boolean)
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#isFontDirty()
-	 */
-	// JUnitDoclet end javadoc_method setFontDirty()
-	public void testSetIsFontDirty() throws Exception {
-		// JUnitDoclet begin method setFontDirty isFontDirty
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setFontDirty(tests[i]);
-			assertEquals(tests[i], textareafigure.isFontDirty());
-		}
-		// JUnitDoclet end method setFontDirty isFontDirty
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see CH.ifa.draw.contrib.TextAreaFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaToolTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaToolTest.java
deleted file mode 100644
index 49972766f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/TextAreaToolTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.TextAreaTool;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextAreaToolTest is generated by
- * JUnitDoclet to hold the tests for TextAreaTool.
- * @see CH.ifa.draw.contrib.TextAreaTool
- */
-// JUnitDoclet end javadoc_class
-public class TextAreaToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TextAreaTool textareatool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TextAreaToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TextAreaToolTest(String name) {
-		// JUnitDoclet begin method TextAreaToolTest
-		super(name);
-		// JUnitDoclet end method TextAreaToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.TextAreaTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.TextAreaTool(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		textareatool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		textareatool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.contrib.TextAreaTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.contrib.TextAreaTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.contrib.TextAreaTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.contrib.TextAreaTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.contrib.TextAreaTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method isActivated()
-	/**
-	 * Method testIsActivated is testing isActivated
-	 * @see CH.ifa.draw.contrib.TextAreaTool#isActivated()
-	 */
-	// JUnitDoclet end javadoc_method isActivated()
-	public void testIsActivated() throws Exception {
-		// JUnitDoclet begin method isActivated
-		// JUnitDoclet end method isActivated
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/TriangleFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/TriangleFigureTest.java
deleted file mode 100644
index 0849cbe16..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/TriangleFigureTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-import CH.ifa.draw.contrib.TriangleFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TriangleFigureTest is generated by
- * JUnitDoclet to hold the tests for TriangleFigure.
- * @see CH.ifa.draw.contrib.TriangleFigure
- */
-// JUnitDoclet end javadoc_class
-public class TriangleFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TriangleFigure trianglefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TriangleFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TriangleFigureTest(String name) {
-		// JUnitDoclet begin method TriangleFigureTest
-		super(name);
-		// JUnitDoclet end method TriangleFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.TriangleFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.contrib.TriangleFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		trianglefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		trianglefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.contrib.TriangleFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method rotate()
-	/**
-	 * Method testRotate is testing rotate
-	 * @see CH.ifa.draw.contrib.TriangleFigure#rotate(double)
-	 */
-	// JUnitDoclet end javadoc_method rotate()
-	public void testRotate() throws Exception {
-		// JUnitDoclet begin method rotate
-		// JUnitDoclet end method rotate
-	}
-
-	// JUnitDoclet begin javadoc_method getPolygon()
-	/**
-	 * Method testGetPolygon is testing getPolygon
-	 * @see CH.ifa.draw.contrib.TriangleFigure#getPolygon()
-	 */
-	// JUnitDoclet end javadoc_method getPolygon()
-	public void testGetPolygon() throws Exception {
-		// JUnitDoclet begin method getPolygon
-		// JUnitDoclet end method getPolygon
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.contrib.TriangleFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.contrib.TriangleFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.contrib.TriangleFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see CH.ifa.draw.contrib.TriangleFigure#center()
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method chop()
-	/**
-	 * Method testChop is testing chop
-	 * @see CH.ifa.draw.contrib.TriangleFigure#chop(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method chop()
-	public void testChop() throws Exception {
-		// JUnitDoclet begin method chop
-		// JUnitDoclet end method chop
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see CH.ifa.draw.contrib.TriangleFigure#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method getRotationAngle()
-	/**
-	 * Method testGetRotationAngle is testing getRotationAngle
-	 * @see CH.ifa.draw.contrib.TriangleFigure#getRotationAngle()
-	 */
-	// JUnitDoclet end javadoc_method getRotationAngle()
-	public void testGetRotationAngle() throws Exception {
-		// JUnitDoclet begin method getRotationAngle
-		// JUnitDoclet end method getRotationAngle
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.contrib.TriangleFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.contrib.TriangleFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/contrib/WindowMenuTest.java b/JHotDraw/src/CH/ifa/draw/test/contrib/WindowMenuTest.java
deleted file mode 100644
index f2b18d473..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/contrib/WindowMenuTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.contrib;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.contrib.MDIDesktopPane;
-import CH.ifa.draw.contrib.WindowMenu;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase WindowMenuTest is generated by
- * JUnitDoclet to hold the tests for WindowMenu.
- * @see CH.ifa.draw.contrib.WindowMenu
- */
-// JUnitDoclet end javadoc_class
-public class WindowMenuTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private WindowMenu windowmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor WindowMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public WindowMenuTest(String name) {
-		// JUnitDoclet begin method WindowMenuTest
-		super(name);
-		// JUnitDoclet end method WindowMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.contrib.WindowMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		MDIDesktopPane desktop = (MDIDesktopPane) ((DrawApplication)getDrawingEditor()).getDesktop();
-		return new CH.ifa.draw.contrib.WindowMenu("TestWindowMenu", desktop, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		windowmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		windowmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/figures/AllTests.java
deleted file mode 100644
index c29c385ad..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/AllTests.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.figures");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(ArrowTipTest.class));
-		suite.addTest(new TestSuite(BorderDecoratorTest.class));
-		suite.addTest(new TestSuite(BorderToolTest.class));
-		suite.addTest(new TestSuite(ChopEllipseConnectorTest.class));
-		suite.addTest(new TestSuite(ConnectedTextToolTest.class));
-		suite.addTest(new TestSuite(ElbowConnectionTest.class));
-		suite.addTest(new TestSuite(ElbowHandleTest.class));
-		suite.addTest(new TestSuite(EllipseFigureTest.class));
-		suite.addTest(new TestSuite(FigureAttributesTest.class));
-		suite.addTest(new TestSuite(FontSizeHandleTest.class));
-		suite.addTest(new TestSuite(GroupCommandTest.class));
-		suite.addTest(new TestSuite(GroupFigureTest.class));
-		suite.addTest(new TestSuite(ImageFigureTest.class));
-		suite.addTest(new TestSuite(InsertImageCommandTest.class));
-		suite.addTest(new TestSuite(LineConnectionTest.class));
-		suite.addTest(new TestSuite(LineFigureTest.class));
-		suite.addTest(new TestSuite(NullConnectorTest.class));
-		suite.addTest(new TestSuite(NullFigureTest.class));
-		suite.addTest(new TestSuite(NumberTextFigureTest.class));
-		suite.addTest(new TestSuite(PolyLineConnectorTest.class));
-		suite.addTest(new TestSuite(PolyLineFigureTest.class));
-		suite.addTest(new TestSuite(PolyLineHandleTest.class));
-		suite.addTest(new TestSuite(RectangleFigureTest.class));
-		suite.addTest(new TestSuite(RoundRectangleFigureTest.class));
-		suite.addTest(new TestSuite(ScribbleToolTest.class));
-		suite.addTest(new TestSuite(ShortestDistanceConnectorTest.class));
-		suite.addTest(new TestSuite(TextFigureTest.class));
-		suite.addTest(new TestSuite(TextToolTest.class));
-		suite.addTest(new TestSuite(UngroupCommandTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ArrowTipTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ArrowTipTest.java
deleted file mode 100644
index 7d4097e6a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ArrowTipTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ArrowTip;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ArrowTipTest is generated by
- * JUnitDoclet to hold the tests for ArrowTip.
- * @see CH.ifa.draw.figures.ArrowTip
- */
-// JUnitDoclet end javadoc_class
-public class ArrowTipTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private ArrowTip arrowtip;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor ArrowTipTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public ArrowTipTest(String name) {
-    // JUnitDoclet begin method ArrowTipTest
-    super(name);
-    // JUnitDoclet end method ArrowTipTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.figures.ArrowTip createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.figures.ArrowTip();
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    arrowtip = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    arrowtip = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method outline()
-  /**
-   * Method testOutline is testing outline
-   * @see CH.ifa.draw.figures.ArrowTip#outline(int, int, int, int)
-   */
-  // JUnitDoclet end javadoc_method outline()
-  public void testOutline() throws Exception {
-    // JUnitDoclet begin method outline
-    // JUnitDoclet end method outline
-  }
-  
-  // JUnitDoclet begin javadoc_method write()
-  /**
-   * Method testWrite is testing write
-   * @see CH.ifa.draw.figures.ArrowTip#write(CH.ifa.draw.util.StorableOutput)
-   */
-  // JUnitDoclet end javadoc_method write()
-  public void testWrite() throws Exception {
-    // JUnitDoclet begin method write
-    // JUnitDoclet end method write
-  }
-  
-  // JUnitDoclet begin javadoc_method read()
-  /**
-   * Method testRead is testing read
-   * @see CH.ifa.draw.figures.ArrowTip#read(CH.ifa.draw.util.StorableInput)
-   */
-  // JUnitDoclet end javadoc_method read()
-  public void testRead() throws Exception {
-    // JUnitDoclet begin method read
-    // JUnitDoclet end method read
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/BorderDecoratorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/BorderDecoratorTest.java
deleted file mode 100644
index fc4155659..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/BorderDecoratorTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-import CH.ifa.draw.figures.BorderDecorator;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BorderDecoratorTest is generated by
- * JUnitDoclet to hold the tests for BorderDecorator.
- * @see CH.ifa.draw.figures.BorderDecorator
- */
-// JUnitDoclet end javadoc_class
-public class BorderDecoratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BorderDecorator borderdecorator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BorderDecoratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BorderDecoratorTest(String name) {
-		// JUnitDoclet begin method BorderDecoratorTest
-		super(name);
-		// JUnitDoclet end method BorderDecoratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.BorderDecorator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.BorderDecorator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		borderdecorator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		borderdecorator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setBorderOffset()
-	/**
-	 * Method testSetGetBorderOffset is testing setBorderOffset
-	 * and getBorderOffset together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.BorderDecorator#setBorderOffset(java.awt.Point)
-	 * @see CH.ifa.draw.figures.BorderDecorator#getBorderOffset()
-	 */
-	// JUnitDoclet end javadoc_method setBorderOffset()
-	public void testSetGetBorderOffset() throws Exception {
-		// JUnitDoclet begin method setBorderOffset getBorderOffset
-		Point[] tests = { new java.awt.Point()};
-
-		for (int i = 0; i < tests.length; i++) {
-			borderdecorator.setBorderOffset(tests[i]);
-			assertEquals(tests[i], borderdecorator.getBorderOffset());
-		}
-		// JUnitDoclet end method setBorderOffset getBorderOffset
-	}
-
-	// JUnitDoclet begin method setNullBorderOffset()
-	/**
-	  * Test a null argument to setBorderOffset.  Expect an Point(0, 0) to come back
-	  * 
-	  * @see CH.ifa.draw.figures.BorderDecorator#setBorderOffset(java.awt.Point)
-	  */
-	public void setNullBorderOffset() throws Exception {
-		Point original = borderdecorator.getBorderOffset();
-
-		borderdecorator.setBorderOffset(null);
-		assertEquals(new Point(0, 0), borderdecorator.getBorderOffset());
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.BorderDecorator#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.BorderDecorator#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.figures.BorderDecorator#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.figures.BorderDecorator#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/BorderToolTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/BorderToolTest.java
deleted file mode 100644
index 65c4935ee..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/BorderToolTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.BorderTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BorderToolTest is generated by
- * JUnitDoclet to hold the tests for BorderTool.
- * @see CH.ifa.draw.figures.BorderTool
- */
-// JUnitDoclet end javadoc_class
-public class BorderToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BorderTool bordertool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BorderToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BorderToolTest(String name) {
-		// JUnitDoclet begin method BorderToolTest
-		super(name);
-		// JUnitDoclet end method BorderToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.BorderTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.BorderTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bordertool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bordertool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.figures.BorderTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method action()
-	/**
-	 * Method testAction is testing action
-	 * @see CH.ifa.draw.figures.BorderTool#action(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method action()
-	public void testAction() throws Exception {
-		// JUnitDoclet begin method action
-		// JUnitDoclet end method action
-	}
-
-	// JUnitDoclet begin javadoc_method reverseAction()
-	/**
-	 * Method testReverseAction is testing reverseAction
-	 * @see CH.ifa.draw.figures.BorderTool#reverseAction(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method reverseAction()
-	public void testReverseAction() throws Exception {
-		// JUnitDoclet begin method reverseAction
-		// JUnitDoclet end method reverseAction
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ChopEllipseConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ChopEllipseConnectorTest.java
deleted file mode 100644
index fe3190f35..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ChopEllipseConnectorTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ChopEllipseConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopEllipseConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopEllipseConnector.
- * @see CH.ifa.draw.figures.ChopEllipseConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopEllipseConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopEllipseConnector chopellipseconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopEllipseConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopEllipseConnectorTest(String name) {
-		// JUnitDoclet begin method ChopEllipseConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopEllipseConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ChopEllipseConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ChopEllipseConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		chopellipseconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		chopellipseconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ConnectedTextToolTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ConnectedTextToolTest.java
deleted file mode 100644
index 0f327d70d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ConnectedTextToolTest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.ConnectedTextTool;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ConnectedTextToolTest is generated by
- * JUnitDoclet to hold the tests for ConnectedTextTool.
- * @see CH.ifa.draw.figures.ConnectedTextTool
- */
-// JUnitDoclet end javadoc_class
-public class ConnectedTextToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ConnectedTextTool connectedtexttool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ConnectedTextToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ConnectedTextToolTest(String name) {
-		// JUnitDoclet begin method ConnectedTextToolTest
-		super(name);
-		// JUnitDoclet end method ConnectedTextToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ConnectedTextTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ConnectedTextTool(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		connectedtexttool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		connectedtexttool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.figures.ConnectedTextTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method getConnectedFigure()
-	/**
-	 * Method testGetConnectedFigure is testing getConnectedFigure
-	 * @see CH.ifa.draw.figures.ConnectedTextTool#getConnectedFigure()
-	 */
-	// JUnitDoclet end javadoc_method getConnectedFigure()
-	public void testGetConnectedFigure() throws Exception {
-		// JUnitDoclet begin method getConnectedFigure
-		// JUnitDoclet end method getConnectedFigure
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.figures.ConnectedTextTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ElbowConnectionTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ElbowConnectionTest.java
deleted file mode 100644
index 0199f0334..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ElbowConnectionTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ElbowConnection;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ElbowConnectionTest is generated by
- * JUnitDoclet to hold the tests for ElbowConnection.
- * @see CH.ifa.draw.figures.ElbowConnection
- */
-// JUnitDoclet end javadoc_class
-public class ElbowConnectionTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ElbowConnection elbowconnection;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ElbowConnectionTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ElbowConnectionTest(String name) {
-		// JUnitDoclet begin method ElbowConnectionTest
-		super(name);
-		// JUnitDoclet end method ElbowConnectionTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ElbowConnection createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ElbowConnection();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		elbowconnection = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		elbowconnection = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method updateConnection()
-	/**
-	 * Method testUpdateConnection is testing updateConnection
-	 * @see CH.ifa.draw.figures.ElbowConnection#updateConnection()
-	 */
-	// JUnitDoclet end javadoc_method updateConnection()
-	public void testUpdateConnection() throws Exception {
-		// JUnitDoclet begin method updateConnection
-		// JUnitDoclet end method updateConnection
-	}
-
-	// JUnitDoclet begin javadoc_method layoutConnection()
-	/**
-	 * Method testLayoutConnection is testing layoutConnection
-	 * @see CH.ifa.draw.figures.ElbowConnection#layoutConnection()
-	 */
-	// JUnitDoclet end javadoc_method layoutConnection()
-	public void testLayoutConnection() throws Exception {
-		// JUnitDoclet begin method layoutConnection
-		// JUnitDoclet end method layoutConnection
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.ElbowConnection#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method connectedTextLocator()
-	/**
-	 * Method testConnectedTextLocator is testing connectedTextLocator
-	 * @see CH.ifa.draw.figures.ElbowConnection#connectedTextLocator(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method connectedTextLocator()
-	public void testConnectedTextLocator() throws Exception {
-		// JUnitDoclet begin method connectedTextLocator
-		// JUnitDoclet end method connectedTextLocator
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ElbowHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ElbowHandleTest.java
deleted file mode 100644
index 546e99751..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ElbowHandleTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.ElbowHandle;
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ElbowHandleTest is generated by
- * JUnitDoclet to hold the tests for ElbowHandle.
- * @see CH.ifa.draw.figures.ElbowHandle
- */
-// JUnitDoclet end javadoc_class
-public class ElbowHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ElbowHandle elbowhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ElbowHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ElbowHandleTest(String name) {
-		// JUnitDoclet begin method ElbowHandleTest
-		super(name);
-		// JUnitDoclet end method ElbowHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ElbowHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		LineConnection lineConn = new LineConnection();
-		//lineConn.connectStart();
-		//lineConn.connectEnd();
-		return new CH.ifa.draw.figures.ElbowHandle(lineConn, 1);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		elbowhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		elbowhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.figures.ElbowHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.figures.ElbowHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.figures.ElbowHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.ElbowHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/EllipseFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/EllipseFigureTest.java
deleted file mode 100644
index 3b29b28d4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/EllipseFigureTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.EllipseFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase EllipseFigureTest is generated by
- * JUnitDoclet to hold the tests for EllipseFigure.
- * @see CH.ifa.draw.figures.EllipseFigure
- */
-// JUnitDoclet end javadoc_class
-public class EllipseFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private EllipseFigure ellipsefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor EllipseFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public EllipseFigureTest(String name) {
-		// JUnitDoclet begin method EllipseFigureTest
-		super(name);
-		// JUnitDoclet end method EllipseFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.EllipseFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.EllipseFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ellipsefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ellipsefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.EllipseFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.EllipseFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.EllipseFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.figures.EllipseFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.figures.EllipseFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.figures.EllipseFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.figures.EllipseFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.EllipseFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.EllipseFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/FigureAttributesTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/FigureAttributesTest.java
deleted file mode 100644
index d785ce465..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/FigureAttributesTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.FigureAttributes;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureAttributesTest is generated by
- * JUnitDoclet to hold the tests for FigureAttributes.
- * @see CH.ifa.draw.figures.FigureAttributes
- */
-// JUnitDoclet end javadoc_class
-public class FigureAttributesTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureAttributes figureattributes;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureAttributesTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureAttributesTest(String name) {
-		// JUnitDoclet begin method FigureAttributesTest
-		super(name);
-		// JUnitDoclet end method FigureAttributesTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.FigureAttributes createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.FigureAttributes();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureattributes = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureattributes = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method get()
-	/**
-	 * Method testGet is testing get
-	 * @see CH.ifa.draw.figures.FigureAttributes#get(CH.ifa.draw.framework.FigureAttributeConstant)
-	 */
-	// JUnitDoclet end javadoc_method get()
-	public void testGet() throws Exception {
-		// JUnitDoclet begin method get
-		// JUnitDoclet end method get
-	}
-
-	// JUnitDoclet begin javadoc_method set()
-	/**
-	 * Method testSet is testing set
-	 * @see CH.ifa.draw.figures.FigureAttributes#set(CH.ifa.draw.framework.FigureAttributeConstant, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method set()
-	public void testSet() throws Exception {
-		// JUnitDoclet begin method set
-		// JUnitDoclet end method set
-	}
-
-	// JUnitDoclet begin javadoc_method hasDefined()
-	/**
-	 * Method testHasDefined is testing hasDefined
-	 * @see CH.ifa.draw.figures.FigureAttributes#hasDefined(CH.ifa.draw.framework.FigureAttributeConstant)
-	 */
-	// JUnitDoclet end javadoc_method hasDefined()
-	public void testHasDefined() throws Exception {
-		// JUnitDoclet begin method hasDefined
-		// JUnitDoclet end method hasDefined
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see CH.ifa.draw.figures.FigureAttributes#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.FigureAttributes#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.FigureAttributes#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method writeColor()
-	/**
-	 * Method testWriteColor is testing writeColor
-	 * @see CH.ifa.draw.figures.FigureAttributes#writeColor(CH.ifa.draw.util.StorableOutput, java.lang.String, java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method writeColor()
-	public void testWriteColor() throws Exception {
-		// JUnitDoclet begin method writeColor
-		// JUnitDoclet end method writeColor
-	}
-
-	// JUnitDoclet begin javadoc_method readColor()
-	/**
-	 * Method testReadColor is testing readColor
-	 * @see CH.ifa.draw.figures.FigureAttributes#readColor(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method readColor()
-	public void testReadColor() throws Exception {
-		// JUnitDoclet begin method readColor
-		// JUnitDoclet end method readColor
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/FiguresSuite.java b/JHotDraw/src/CH/ifa/draw/test/figures/FiguresSuite.java
deleted file mode 100644
index 0af77d546..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/FiguresSuite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * @(#)FiguresSuite.java
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite FiguresSuite
-*/
-// JUnitDoclet end javadoc_class
-public class FiguresSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.figures");
-
-		suite.addTestSuite(CH.ifa.draw.test.figures.NullConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.NullFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.UngroupCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ShortestDistanceConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ScribbleToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.RectangleFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.RoundRectangleFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.PolyLineHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.PolyLineConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.NumberTextFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.LineFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.InsertImageCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ImageFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.GroupFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.GroupCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.FontSizeHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.EllipseFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ElbowHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ElbowConnectionTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.TextToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ConnectedTextToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ChopEllipseConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.BorderToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.BorderDecoratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.ArrowTipTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.FigureAttributesTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.TextFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.PolyLineFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.figures.LineConnectionTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/FontSizeHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/FontSizeHandleTest.java
deleted file mode 100644
index 2419836ac..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/FontSizeHandleTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.FontSizeHandle;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FontSizeHandleTest is generated by
- * JUnitDoclet to hold the tests for FontSizeHandle.
- * @see CH.ifa.draw.figures.FontSizeHandle
- */
-// JUnitDoclet end javadoc_class
-public class FontSizeHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FontSizeHandle fontsizehandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FontSizeHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FontSizeHandleTest(String name) {
-		// JUnitDoclet begin method FontSizeHandleTest
-		super(name);
-		// JUnitDoclet end method FontSizeHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.FontSizeHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.FontSizeHandle(new RectangleFigure(new Point(10, 10), new Point(100, 100)), new RelativeLocator());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		fontsizehandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		fontsizehandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.figures.FontSizeHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.figures.FontSizeHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.figures.FontSizeHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.FontSizeHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/GroupCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/GroupCommandTest.java
deleted file mode 100644
index 8557994c7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/GroupCommandTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.GroupCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GroupCommandTest is generated by
- * JUnitDoclet to hold the tests for GroupCommand.
- * @see CH.ifa.draw.figures.GroupCommand
- */
-// JUnitDoclet end javadoc_class
-public class GroupCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private GroupCommand groupcommand;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor GroupCommandTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public GroupCommandTest(String name) {
-    // JUnitDoclet begin method GroupCommandTest
-    super(name);
-    // JUnitDoclet end method GroupCommandTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.figures.GroupCommand createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.figures.GroupCommand("TestGroup", getDrawingEditor());
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    groupcommand = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    groupcommand = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method execute()
-  /**
-   * Method testExecute is testing execute
-   * @see CH.ifa.draw.figures.GroupCommand#execute()
-   */
-  // JUnitDoclet end javadoc_method execute()
-  public void testExecute() throws Exception {
-    // JUnitDoclet begin method execute
-    // JUnitDoclet end method execute
-  }
-  
-  // JUnitDoclet begin javadoc_method isExecutableWithView()
-  /**
-   * Method testIsExecutableWithView is testing isExecutableWithView
-   * @see CH.ifa.draw.figures.GroupCommand#isExecutableWithView()
-   */
-  // JUnitDoclet end javadoc_method isExecutableWithView()
-  public void testIsExecutableWithView() throws Exception {
-    // JUnitDoclet begin method isExecutableWithView
-    // JUnitDoclet end method isExecutableWithView
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/GroupFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/GroupFigureTest.java
deleted file mode 100644
index 3ba920d35..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/GroupFigureTest.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.GroupFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GroupFigureTest is generated by
- * JUnitDoclet to hold the tests for GroupFigure.
- * @see CH.ifa.draw.figures.GroupFigure
- */
-// JUnitDoclet end javadoc_class
-public class GroupFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private GroupFigure groupfigure;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor GroupFigureTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public GroupFigureTest(String name) {
-    // JUnitDoclet begin method GroupFigureTest
-    super(name);
-    // JUnitDoclet end method GroupFigureTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.figures.GroupFigure createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.figures.GroupFigure();
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    groupfigure = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    groupfigure = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method canConnect()
-  /**
-   * Method testCanConnect is testing canConnect
-   * @see CH.ifa.draw.figures.GroupFigure#canConnect()
-   */
-  // JUnitDoclet end javadoc_method canConnect()
-  public void testCanConnect() throws Exception {
-    // JUnitDoclet begin method canConnect
-    // JUnitDoclet end method canConnect
-  }
-  
-  // JUnitDoclet begin javadoc_method displayBox()
-  /**
-   * Method testDisplayBox is testing displayBox
-   * @see CH.ifa.draw.figures.GroupFigure#displayBox()
-   */
-  // JUnitDoclet end javadoc_method displayBox()
-  public void testDisplayBox() throws Exception {
-    // JUnitDoclet begin method displayBox
-    // JUnitDoclet end method displayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method basicDisplayBox()
-  /**
-   * Method testBasicDisplayBox is testing basicDisplayBox
-   * @see CH.ifa.draw.figures.GroupFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-   */
-  // JUnitDoclet end javadoc_method basicDisplayBox()
-  public void testBasicDisplayBox() throws Exception {
-    // JUnitDoclet begin method basicDisplayBox
-    // JUnitDoclet end method basicDisplayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method decompose()
-  /**
-   * Method testDecompose is testing decompose
-   * @see CH.ifa.draw.figures.GroupFigure#decompose()
-   */
-  // JUnitDoclet end javadoc_method decompose()
-  public void testDecompose() throws Exception {
-    // JUnitDoclet begin method decompose
-    // JUnitDoclet end method decompose
-  }
-  
-  // JUnitDoclet begin javadoc_method handles()
-  /**
-   * Method testHandles is testing handles
-   * @see CH.ifa.draw.figures.GroupFigure#handles()
-   */
-  // JUnitDoclet end javadoc_method handles()
-  public void testHandles() throws Exception {
-    // JUnitDoclet begin method handles
-    // JUnitDoclet end method handles
-  }
-  
-  // JUnitDoclet begin javadoc_method setAttribute()
-  /**
-   * Method testSetAttribute is testing setAttribute
-   * @see CH.ifa.draw.figures.GroupFigure#setAttribute(java.lang.String, java.lang.Object)
-   */
-  // JUnitDoclet end javadoc_method setAttribute()
-  public void testSetAttribute() throws Exception {
-    // JUnitDoclet begin method setAttribute
-    // JUnitDoclet end method setAttribute
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ImageFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ImageFigureTest.java
deleted file mode 100644
index 3ed6a9954..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ImageFigureTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ImageFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ImageFigureTest is generated by
- * JUnitDoclet to hold the tests for ImageFigure.
- * @see CH.ifa.draw.figures.ImageFigure
- */
-// JUnitDoclet end javadoc_class
-public class ImageFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ImageFigure imagefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ImageFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ImageFigureTest(String name) {
-		// JUnitDoclet begin method ImageFigureTest
-		super(name);
-		// JUnitDoclet end method ImageFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ImageFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ImageFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		imagefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		imagefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.ImageFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.ImageFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.ImageFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.ImageFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method imageUpdate()
-	/**
-	 * Method testImageUpdate is testing imageUpdate
-	 * @see CH.ifa.draw.figures.ImageFigure#imageUpdate(java.awt.Image, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method imageUpdate()
-	public void testImageUpdate() throws Exception {
-		// JUnitDoclet begin method imageUpdate
-		// JUnitDoclet end method imageUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.figures.ImageFigure#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.ImageFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.ImageFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/InsertImageCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/InsertImageCommandTest.java
deleted file mode 100644
index 629fc0ffd..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/InsertImageCommandTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.InsertImageCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase InsertImageCommandTest is generated by
- * JUnitDoclet to hold the tests for InsertImageCommand.
- * @see CH.ifa.draw.figures.InsertImageCommand
- */
-// JUnitDoclet end javadoc_class
-public class InsertImageCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private InsertImageCommand insertimagecommand;
-	private static String fgSampleImagesPath = "/CH/ifa/draw/samples/javadraw/sampleimages/DUKE.gif";
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor InsertImageCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public InsertImageCommandTest(String name) {
-		// JUnitDoclet begin method InsertImageCommandTest
-		super(name);
-		// JUnitDoclet end method InsertImageCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.InsertImageCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.InsertImageCommand("TestImage", fgSampleImagesPath, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		insertimagecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		insertimagecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.figures.InsertImageCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/LineConnectionTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/LineConnectionTest.java
deleted file mode 100644
index 89e888bc2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/LineConnectionTest.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.LineConnection;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LineConnectionTest is generated by
- * JUnitDoclet to hold the tests for LineConnection.
- * @see CH.ifa.draw.figures.LineConnection
- */
-// JUnitDoclet end javadoc_class
-public class LineConnectionTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LineConnection lineconnection;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LineConnectionTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LineConnectionTest(String name) {
-		// JUnitDoclet begin method LineConnectionTest
-		super(name);
-		// JUnitDoclet end method LineConnectionTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.LineConnection createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.LineConnection();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		lineconnection = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		lineconnection = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method canConnect()
-	/**
-	 * Method testCanConnect is testing canConnect
-	 * @see CH.ifa.draw.figures.LineConnection#canConnect()
-	 */
-	// JUnitDoclet end javadoc_method canConnect()
-	public void testCanConnect() throws Exception {
-		// JUnitDoclet begin method canConnect
-		// JUnitDoclet end method canConnect
-	}
-
-	// JUnitDoclet begin javadoc_method connectStart()
-	/**
-	 * Method testConnectStart is testing connectStart
-	 * @see CH.ifa.draw.figures.LineConnection#connectStart(CH.ifa.draw.framework.Connector)
-	 */
-	// JUnitDoclet end javadoc_method connectStart()
-	public void testConnectStart() throws Exception {
-		// JUnitDoclet begin method connectStart
-		// JUnitDoclet end method connectStart
-	}
-
-	// JUnitDoclet begin javadoc_method connectEnd()
-	/**
-	 * Method testConnectEnd is testing connectEnd
-	 * @see CH.ifa.draw.figures.LineConnection#connectEnd(CH.ifa.draw.framework.Connector)
-	 */
-	// JUnitDoclet end javadoc_method connectEnd()
-	public void testConnectEnd() throws Exception {
-		// JUnitDoclet begin method connectEnd
-		// JUnitDoclet end method connectEnd
-	}
-
-	// JUnitDoclet begin javadoc_method disconnectStart()
-	/**
-	 * Method testDisconnectStart is testing disconnectStart
-	 * @see CH.ifa.draw.figures.LineConnection#disconnectStart()
-	 */
-	// JUnitDoclet end javadoc_method disconnectStart()
-	public void testDisconnectStart() throws Exception {
-		// JUnitDoclet begin method disconnectStart
-		// JUnitDoclet end method disconnectStart
-	}
-
-	// JUnitDoclet begin javadoc_method disconnectEnd()
-	/**
-	 * Method testDisconnectEnd is testing disconnectEnd
-	 * @see CH.ifa.draw.figures.LineConnection#disconnectEnd()
-	 */
-	// JUnitDoclet end javadoc_method disconnectEnd()
-	public void testDisconnectEnd() throws Exception {
-		// JUnitDoclet begin method disconnectEnd
-		// JUnitDoclet end method disconnectEnd
-	}
-
-	// JUnitDoclet begin javadoc_method connectsSame()
-	/**
-	 * Method testConnectsSame is testing connectsSame
-	 * @see CH.ifa.draw.figures.LineConnection#connectsSame(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method connectsSame()
-	public void testConnectsSame() throws Exception {
-		// JUnitDoclet begin method connectsSame
-		// JUnitDoclet end method connectsSame
-	}
-
-	// JUnitDoclet begin javadoc_method startFigure()
-	/**
-	 * Method testStartFigure is testing startFigure
-	 * @see CH.ifa.draw.figures.LineConnection#startFigure()
-	 */
-	// JUnitDoclet end javadoc_method startFigure()
-	public void testStartFigure() throws Exception {
-		// JUnitDoclet begin method startFigure
-		// JUnitDoclet end method startFigure
-	}
-
-	// JUnitDoclet begin javadoc_method endFigure()
-	/**
-	 * Method testEndFigure is testing endFigure
-	 * @see CH.ifa.draw.figures.LineConnection#endFigure()
-	 */
-	// JUnitDoclet end javadoc_method endFigure()
-	public void testEndFigure() throws Exception {
-		// JUnitDoclet begin method endFigure
-		// JUnitDoclet end method endFigure
-	}
-
-	// JUnitDoclet begin javadoc_method getStartConnector()
-	/**
-	 * Method testGetStartConnector is testing getStartConnector
-	 * @see CH.ifa.draw.figures.LineConnection#getStartConnector()
-	 */
-	// JUnitDoclet end javadoc_method getStartConnector()
-	public void testGetStartConnector() throws Exception {
-		// JUnitDoclet begin method getStartConnector
-		// JUnitDoclet end method getStartConnector
-	}
-
-	// JUnitDoclet begin javadoc_method getEndConnector()
-	/**
-	 * Method testGetEndConnector is testing getEndConnector
-	 * @see CH.ifa.draw.figures.LineConnection#getEndConnector()
-	 */
-	// JUnitDoclet end javadoc_method getEndConnector()
-	public void testGetEndConnector() throws Exception {
-		// JUnitDoclet begin method getEndConnector
-		// JUnitDoclet end method getEndConnector
-	}
-
-	// JUnitDoclet begin javadoc_method startPoint()
-	/**
-	 * Method testStartPoint is testing startPoint
-	 * @see CH.ifa.draw.figures.LineConnection#startPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method startPoint()
-	public void testStartPoint() throws Exception {
-		// JUnitDoclet begin method startPoint
-		// JUnitDoclet end method startPoint
-	}
-
-	// JUnitDoclet begin javadoc_method endPoint()
-	/**
-	 * Method testEndPoint is testing endPoint
-	 * @see CH.ifa.draw.figures.LineConnection#endPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method endPoint()
-	public void testEndPoint() throws Exception {
-		// JUnitDoclet begin method endPoint
-		// JUnitDoclet end method endPoint
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.LineConnection#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method setPointAt()
-	/**
-	 * Method testSetPointAt is testing setPointAt
-	 * @see CH.ifa.draw.figures.LineConnection#setPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method setPointAt()
-	public void testSetPointAt() throws Exception {
-		// JUnitDoclet begin method setPointAt
-		// JUnitDoclet end method setPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method insertPointAt()
-	/**
-	 * Method testInsertPointAt is testing insertPointAt
-	 * @see CH.ifa.draw.figures.LineConnection#insertPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method insertPointAt()
-	public void testInsertPointAt() throws Exception {
-		// JUnitDoclet begin method insertPointAt
-		// JUnitDoclet end method insertPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method removePointAt()
-	/**
-	 * Method testRemovePointAt is testing removePointAt
-	 * @see CH.ifa.draw.figures.LineConnection#removePointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method removePointAt()
-	public void testRemovePointAt() throws Exception {
-		// JUnitDoclet begin method removePointAt
-		// JUnitDoclet end method removePointAt
-	}
-
-	// JUnitDoclet begin javadoc_method updateConnection()
-	/**
-	 * Method testUpdateConnection is testing updateConnection
-	 * @see CH.ifa.draw.figures.LineConnection#updateConnection()
-	 */
-	// JUnitDoclet end javadoc_method updateConnection()
-	public void testUpdateConnection() throws Exception {
-		// JUnitDoclet begin method updateConnection
-		// JUnitDoclet end method updateConnection
-	}
-
-	// JUnitDoclet begin javadoc_method layoutConnection()
-	/**
-	 * Method testLayoutConnection is testing layoutConnection
-	 * @see CH.ifa.draw.figures.LineConnection#layoutConnection()
-	 */
-	// JUnitDoclet end javadoc_method layoutConnection()
-	public void testLayoutConnection() throws Exception {
-		// JUnitDoclet begin method layoutConnection
-		// JUnitDoclet end method layoutConnection
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.figures.LineConnection#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.figures.LineConnection#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.figures.LineConnection#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.figures.LineConnection#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.figures.LineConnection#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.figures.LineConnection#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.LineConnection#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.LineConnection#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method visit()
-	/**
-	 * Method testVisit is testing visit
-	 * @see CH.ifa.draw.figures.LineConnection#visit(CH.ifa.draw.framework.FigureVisitor)
-	 */
-	// JUnitDoclet end javadoc_method visit()
-	public void testVisit() throws Exception {
-		// JUnitDoclet begin method visit
-		// JUnitDoclet end method visit
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/LineFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/LineFigureTest.java
deleted file mode 100644
index d3197e846..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/LineFigureTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.LineFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LineFigureTest is generated by
- * JUnitDoclet to hold the tests for LineFigure.
- * @see CH.ifa.draw.figures.LineFigure
- */
-// JUnitDoclet end javadoc_class
-public class LineFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LineFigure linefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LineFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LineFigureTest(String name) {
-		// JUnitDoclet begin method LineFigureTest
-		super(name);
-		// JUnitDoclet end method LineFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.LineFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.LineFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		linefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		linefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method startPoint()
-	/**
-	 * Method testStartPoint is testing startPoint
-	 * @see CH.ifa.draw.figures.LineFigure#startPoint()
-	 */
-	// JUnitDoclet end javadoc_method startPoint()
-	public void testStartPoint() throws Exception {
-		// JUnitDoclet begin method startPoint
-		// JUnitDoclet end method startPoint
-	}
-
-	// JUnitDoclet begin javadoc_method endPoint()
-	/**
-	 * Method testEndPoint is testing endPoint
-	 * @see CH.ifa.draw.figures.LineFigure#endPoint()
-	 */
-	// JUnitDoclet end javadoc_method endPoint()
-	public void testEndPoint() throws Exception {
-		// JUnitDoclet begin method endPoint
-		// JUnitDoclet end method endPoint
-	}
-
-	// JUnitDoclet begin javadoc_method setPoints()
-	/**
-	 * Method testSetPoints is testing setPoints
-	 * @see CH.ifa.draw.figures.LineFigure#setPoints(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method setPoints()
-	public void testSetPoints() throws Exception {
-		// JUnitDoclet begin method setPoints
-		// JUnitDoclet end method setPoints
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.LineFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/NullConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/NullConnectorTest.java
deleted file mode 100644
index 59fe77d02..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/NullConnectorTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.NullConnector;
-import CH.ifa.draw.figures.RectangleFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullConnectorTest is generated by
- * JUnitDoclet to hold the tests for NullConnector.
- * @see CH.ifa.draw.figures.NullConnector
- */
-// JUnitDoclet end javadoc_class
-public class NullConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullConnector nullconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullConnectorTest(String name) {
-		// JUnitDoclet begin method NullConnectorTest
-		super(name);
-		// JUnitDoclet end method NullConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.NullConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.NullConnector(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nullconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nullconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/NullFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/NullFigureTest.java
deleted file mode 100644
index 5a0a03ba2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/NullFigureTest.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.NullFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullFigureTest is generated by
- * JUnitDoclet to hold the tests for NullFigure.
- * @see CH.ifa.draw.figures.NullFigure
- */
-// JUnitDoclet end javadoc_class
-public class NullFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullFigure nullfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullFigureTest(String name) {
-		// JUnitDoclet begin method NullFigureTest
-		super(name);
-		// JUnitDoclet end method NullFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.NullFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.NullFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nullfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nullfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.NullFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.NullFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.NullFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.NullFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.figures.NullFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method figures()
-	/**
-	 * Method testFigures is testing figures
-	 * @see CH.ifa.draw.figures.NullFigure#figures()
-	 */
-	// JUnitDoclet end javadoc_method figures()
-	public void testFigures() throws Exception {
-		// JUnitDoclet begin method figures
-		// JUnitDoclet end method figures
-	}
-
-	// JUnitDoclet begin javadoc_method findFigureInside()
-	/**
-	 * Method testFindFigureInside is testing findFigureInside
-	 * @see CH.ifa.draw.figures.NullFigure#findFigureInside(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findFigureInside()
-	public void testFindFigureInside() throws Exception {
-		// JUnitDoclet begin method findFigureInside
-		// JUnitDoclet end method findFigureInside
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see CH.ifa.draw.figures.NullFigure#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method includes()
-	/**
-	 * Method testIncludes is testing includes
-	 * @see CH.ifa.draw.figures.NullFigure#includes(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method includes()
-	public void testIncludes() throws Exception {
-		// JUnitDoclet begin method includes
-		// JUnitDoclet end method includes
-	}
-
-	// JUnitDoclet begin javadoc_method decompose()
-	/**
-	 * Method testDecompose is testing decompose
-	 * @see CH.ifa.draw.figures.NullFigure#decompose()
-	 */
-	// JUnitDoclet end javadoc_method decompose()
-	public void testDecompose() throws Exception {
-		// JUnitDoclet begin method decompose
-		// JUnitDoclet end method decompose
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.figures.NullFigure#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method invalidate()
-	/**
-	 * Method testInvalidate is testing invalidate
-	 * @see CH.ifa.draw.figures.NullFigure#invalidate()
-	 */
-	// JUnitDoclet end javadoc_method invalidate()
-	public void testInvalidate() throws Exception {
-		// JUnitDoclet begin method invalidate
-		// JUnitDoclet end method invalidate
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.figures.NullFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.figures.NullFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/NumberTextFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/NumberTextFigureTest.java
deleted file mode 100644
index cb7f0f2fa..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/NumberTextFigureTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.NumberTextFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NumberTextFigureTest is generated by
- * JUnitDoclet to hold the tests for NumberTextFigure.
- * @see CH.ifa.draw.figures.NumberTextFigure
- */
-// JUnitDoclet end javadoc_class
-public class NumberTextFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NumberTextFigure numbertextfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NumberTextFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NumberTextFigureTest(String name) {
-		// JUnitDoclet begin method NumberTextFigureTest
-		super(name);
-		// JUnitDoclet end method NumberTextFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.NumberTextFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.NumberTextFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		numbertextfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		numbertextfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method overlayColumns()
-	/**
-	 * Method testOverlayColumns is testing overlayColumns
-	 * @see CH.ifa.draw.figures.NumberTextFigure#overlayColumns()
-	 */
-	// JUnitDoclet end javadoc_method overlayColumns()
-	public void testOverlayColumns() throws Exception {
-		// JUnitDoclet begin method overlayColumns
-		// JUnitDoclet end method overlayColumns
-	}
-
-	// JUnitDoclet begin javadoc_method setValue()
-	/**
-	 * Method testSetGetValue is testing setValue
-	 * and getValue together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.NumberTextFigure#setValue(int)
-	 * @see CH.ifa.draw.figures.NumberTextFigure#getValue()
-	 */
-	// JUnitDoclet end javadoc_method setValue()
-	public void testSetGetValue() throws Exception {
-		// JUnitDoclet begin method setValue getValue
-		int[] tests = { Integer.MIN_VALUE, -1, 0, 1, Integer.MAX_VALUE };
-
-		for (int i = 0; i < tests.length; i++) {
-			numbertextfigure.setValue(tests[i]);
-			assertEquals(tests[i], numbertextfigure.getValue());
-		}
-		// JUnitDoclet end method setValue getValue
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see CH.ifa.draw.figures.NumberTextFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineConnectorTest.java
deleted file mode 100644
index b8f32cba6..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineConnectorTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.PolyLineConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolyLineConnectorTest is generated by
- * JUnitDoclet to hold the tests for PolyLineConnector.
- * @see CH.ifa.draw.figures.PolyLineConnector
- */
-// JUnitDoclet end javadoc_class
-public class PolyLineConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolyLineConnector polylineconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolyLineConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolyLineConnectorTest(String name) {
-		// JUnitDoclet begin method PolyLineConnectorTest
-		super(name);
-		// JUnitDoclet end method PolyLineConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.PolyLineConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.PolyLineConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polylineconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polylineconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineFigureTest.java
deleted file mode 100644
index afa791ab9..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineFigureTest.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.ArrowTip;
-import CH.ifa.draw.figures.PolyLineFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolyLineFigureTest is generated by
- * JUnitDoclet to hold the tests for PolyLineFigure.
- * @see CH.ifa.draw.figures.PolyLineFigure
- */
-// JUnitDoclet end javadoc_class
-public class PolyLineFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolyLineFigure polylinefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolyLineFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolyLineFigureTest(String name) {
-		// JUnitDoclet begin method PolyLineFigureTest
-		super(name);
-		// JUnitDoclet end method PolyLineFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.PolyLineFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.PolyLineFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polylinefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polylinefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.PolyLineFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.figures.PolyLineFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.PolyLineFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.PolyLineFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method addPoint()
-	/**
-	 * Method testAddPoint is testing addPoint
-	 * @see CH.ifa.draw.figures.PolyLineFigure#addPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method addPoint()
-	public void testAddPoint() throws Exception {
-		// JUnitDoclet begin method addPoint
-		// JUnitDoclet end method addPoint
-	}
-
-	// JUnitDoclet begin javadoc_method points()
-	/**
-	 * Method testPoints is testing points
-	 * @see CH.ifa.draw.figures.PolyLineFigure#points()
-	 */
-	// JUnitDoclet end javadoc_method points()
-	public void testPoints() throws Exception {
-		// JUnitDoclet begin method points
-		// JUnitDoclet end method points
-	}
-
-	// JUnitDoclet begin javadoc_method pointCount()
-	/**
-	 * Method testPointCount is testing pointCount
-	 * @see CH.ifa.draw.figures.PolyLineFigure#pointCount()
-	 */
-	// JUnitDoclet end javadoc_method pointCount()
-	public void testPointCount() throws Exception {
-		// JUnitDoclet begin method pointCount
-		// JUnitDoclet end method pointCount
-	}
-
-	// JUnitDoclet begin javadoc_method setPointAt()
-	/**
-	 * Method testSetPointAt is testing setPointAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#setPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method setPointAt()
-	public void testSetPointAt() throws Exception {
-		// JUnitDoclet begin method setPointAt
-		// JUnitDoclet end method setPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method insertPointAt()
-	/**
-	 * Method testInsertPointAt is testing insertPointAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#insertPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method insertPointAt()
-	public void testInsertPointAt() throws Exception {
-		// JUnitDoclet begin method insertPointAt
-		// JUnitDoclet end method insertPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method removePointAt()
-	/**
-	 * Method testRemovePointAt is testing removePointAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#removePointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method removePointAt()
-	public void testRemovePointAt() throws Exception {
-		// JUnitDoclet begin method removePointAt
-		// JUnitDoclet end method removePointAt
-	}
-
-	// JUnitDoclet begin javadoc_method splitSegment()
-	/**
-	 * Method testSplitSegment is testing splitSegment
-	 * @see CH.ifa.draw.figures.PolyLineFigure#splitSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method splitSegment()
-	public void testSplitSegment() throws Exception {
-		// JUnitDoclet begin method splitSegment
-		// JUnitDoclet end method splitSegment
-	}
-
-	// JUnitDoclet begin javadoc_method pointAt()
-	/**
-	 * Method testPointAt is testing pointAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#pointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method pointAt()
-	public void testPointAt() throws Exception {
-		// JUnitDoclet begin method pointAt
-		// JUnitDoclet end method pointAt
-	}
-
-	// JUnitDoclet begin javadoc_method joinSegments()
-	/**
-	 * Method testJoinSegments is testing joinSegments
-	 * @see CH.ifa.draw.figures.PolyLineFigure#joinSegments(int, int)
-	 */
-	// JUnitDoclet end javadoc_method joinSegments()
-	public void testJoinSegments() throws Exception {
-		// JUnitDoclet begin method joinSegments
-		// JUnitDoclet end method joinSegments
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.figures.PolyLineFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method setStartDecoration()
-	/**
-	 * Method testSetGetStartDecoration is testing setStartDecoration
-	 * and getStartDecoration together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.PolyLineFigure#setStartDecoration(CH.ifa.draw.figures.LineDecoration)
-	 * @see CH.ifa.draw.figures.PolyLineFigure#getStartDecoration()
-	 */
-	// JUnitDoclet end javadoc_method setStartDecoration()
-	public void testSetGetStartDecoration() throws Exception {
-		// JUnitDoclet begin method setStartDecoration getStartDecoration
-		CH.ifa.draw.figures.LineDecoration[] tests = { new ArrowTip(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			polylinefigure.setStartDecoration(tests[i]);
-			assertEquals(tests[i], polylinefigure.getStartDecoration());
-		}
-		// JUnitDoclet end method setStartDecoration getStartDecoration
-	}
-
-	// JUnitDoclet begin javadoc_method setEndDecoration()
-	/**
-	 * Method testSetGetEndDecoration is testing setEndDecoration
-	 * and getEndDecoration together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.PolyLineFigure#setEndDecoration(CH.ifa.draw.figures.LineDecoration)
-	 * @see CH.ifa.draw.figures.PolyLineFigure#getEndDecoration()
-	 */
-	// JUnitDoclet end javadoc_method setEndDecoration()
-	public void testSetGetEndDecoration() throws Exception {
-		// JUnitDoclet begin method setEndDecoration getEndDecoration
-		CH.ifa.draw.figures.LineDecoration[] tests = { new ArrowTip(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			polylinefigure.setEndDecoration(tests[i]);
-			assertEquals(tests[i], polylinefigure.getEndDecoration());
-		}
-		// JUnitDoclet end method setEndDecoration getEndDecoration
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.figures.PolyLineFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.figures.PolyLineFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method findSegment()
-	/**
-	 * Method testFindSegment is testing findSegment
-	 * @see CH.ifa.draw.figures.PolyLineFigure#findSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findSegment()
-	public void testFindSegment() throws Exception {
-		// JUnitDoclet begin method findSegment
-		// JUnitDoclet end method findSegment
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.figures.PolyLineFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.figures.PolyLineFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.PolyLineFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.PolyLineFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method locator()
-	/**
-	 * Method testLocator is testing locator
-	 * @see CH.ifa.draw.figures.PolyLineFigure#locator(int)
-	 */
-	// JUnitDoclet end javadoc_method locator()
-	public void testLocator() throws Exception {
-		// JUnitDoclet begin method locator
-		// JUnitDoclet end method locator
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineHandleTest.java
deleted file mode 100644
index 07654beaa..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/PolyLineHandleTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.PolyLineHandle;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolyLineHandleTest is generated by
- * JUnitDoclet to hold the tests for PolyLineHandle.
- * @see CH.ifa.draw.figures.PolyLineHandle
- */
-// JUnitDoclet end javadoc_class
-public class PolyLineHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolyLineHandle polylinehandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolyLineHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolyLineHandleTest(String name) {
-		// JUnitDoclet begin method PolyLineHandleTest
-		super(name);
-		// JUnitDoclet end method PolyLineHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.PolyLineHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		PolyLineFigure figure = new PolyLineFigure(20, 20);
-		figure.addPoint(30, 30);
-		figure.addPoint(40, 40);
-		return new CH.ifa.draw.figures.PolyLineHandle(figure, PolyLineFigure.locator(2), 2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polylinehandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polylinehandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.figures.PolyLineHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.figures.PolyLineHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.figures.PolyLineHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/RectangleFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/RectangleFigureTest.java
deleted file mode 100644
index 539f7940d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/RectangleFigureTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.RectangleFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RectangleFigureTest is generated by
- * JUnitDoclet to hold the tests for RectangleFigure.
- * @see CH.ifa.draw.figures.RectangleFigure
- */
-// JUnitDoclet end javadoc_class
-public class RectangleFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RectangleFigure rectanglefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RectangleFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RectangleFigureTest(String name) {
-		// JUnitDoclet begin method RectangleFigureTest
-		super(name);
-		// JUnitDoclet end method RectangleFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.RectangleFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.RectangleFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		rectanglefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		rectanglefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.RectangleFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.RectangleFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.RectangleFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.figures.RectangleFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.figures.RectangleFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.RectangleFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.RectangleFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/RoundRectangleFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/RoundRectangleFigureTest.java
deleted file mode 100644
index 0aca998f5..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/RoundRectangleFigureTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.RoundRectangleFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RoundRectangleFigureTest is generated by
- * JUnitDoclet to hold the tests for RoundRectangleFigure.
- * @see CH.ifa.draw.figures.RoundRectangleFigure
- */
-// JUnitDoclet end javadoc_class
-public class RoundRectangleFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RoundRectangleFigure roundrectanglefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RoundRectangleFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RoundRectangleFigureTest(String name) {
-		// JUnitDoclet begin method RoundRectangleFigureTest
-		super(name);
-		// JUnitDoclet end method RoundRectangleFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.RoundRectangleFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.RoundRectangleFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		roundrectanglefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		roundrectanglefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method setArc()
-	/**
-	 * Method testSetArc is testing setArc
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#setArc(int, int)
-	 */
-	// JUnitDoclet end javadoc_method setArc()
-	public void testSetArc() throws Exception {
-		// JUnitDoclet begin method setArc
-		// JUnitDoclet end method setArc
-	}
-
-	// JUnitDoclet begin javadoc_method getArc()
-	/**
-	 * Method testGetArc is testing getArc
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#getArc()
-	 */
-	// JUnitDoclet end javadoc_method getArc()
-	public void testGetArc() throws Exception {
-		// JUnitDoclet begin method getArc
-		// JUnitDoclet end method getArc
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.RoundRectangleFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ScribbleToolTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ScribbleToolTest.java
deleted file mode 100644
index 9fb958f3f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ScribbleToolTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.ScribbleTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ScribbleToolTest is generated by
- * JUnitDoclet to hold the tests for ScribbleTool.
- * @see CH.ifa.draw.figures.ScribbleTool
- */
-// JUnitDoclet end javadoc_class
-public class ScribbleToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ScribbleTool scribbletool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ScribbleToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ScribbleToolTest(String name) {
-		// JUnitDoclet begin method ScribbleToolTest
-		super(name);
-		// JUnitDoclet end method ScribbleToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ScribbleTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ScribbleTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		scribbletool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		scribbletool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.figures.ScribbleTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.figures.ScribbleTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.figures.ScribbleTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.figures.ScribbleTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.figures.ScribbleTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/ShortestDistanceConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/ShortestDistanceConnectorTest.java
deleted file mode 100644
index 423d51882..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/ShortestDistanceConnectorTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import CH.ifa.draw.figures.ShortestDistanceConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ShortestDistanceConnectorTest is generated by
- * JUnitDoclet to hold the tests for ShortestDistanceConnector.
- * @see CH.ifa.draw.figures.ShortestDistanceConnector
- */
-// JUnitDoclet end javadoc_class
-public class ShortestDistanceConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ShortestDistanceConnector shortestdistanceconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ShortestDistanceConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ShortestDistanceConnectorTest(String name) {
-		// JUnitDoclet begin method ShortestDistanceConnectorTest
-		super(name);
-		// JUnitDoclet end method ShortestDistanceConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.ShortestDistanceConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.ShortestDistanceConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		shortestdistanceconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		shortestdistanceconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method findStart()
-	/**
-	 * Method testFindStart is testing findStart
-	 * @see CH.ifa.draw.figures.ShortestDistanceConnector#findStart(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findStart()
-	public void testFindStart() throws Exception {
-		// JUnitDoclet begin method findStart
-		// JUnitDoclet end method findStart
-	}
-
-	// JUnitDoclet begin javadoc_method findEnd()
-	/**
-	 * Method testFindEnd is testing findEnd
-	 * @see CH.ifa.draw.figures.ShortestDistanceConnector#findEnd(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findEnd()
-	public void testFindEnd() throws Exception {
-		// JUnitDoclet begin method findEnd
-		// JUnitDoclet end method findEnd
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/TextFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/TextFigureTest.java
deleted file mode 100644
index c9e36517d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/TextFigureTest.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Font;
-
-import CH.ifa.draw.figures.TextFigure;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextFigureTest is generated by
- * JUnitDoclet to hold the tests for TextFigure.
- * @see CH.ifa.draw.figures.TextFigure
- */
-// JUnitDoclet end javadoc_class
-public class TextFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TextFigure textfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TextFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TextFigureTest(String name) {
-		// JUnitDoclet begin method TextFigureTest
-		super(name);
-		// JUnitDoclet end method TextFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.TextFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.TextFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		textfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		textfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method moveBy()
-	/**
-	 * Method testMoveBy is testing moveBy
-	 * @see CH.ifa.draw.figures.TextFigure#moveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method moveBy()
-	public void testMoveBy() throws Exception {
-		// JUnitDoclet begin method moveBy
-		// JUnitDoclet end method moveBy
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.figures.TextFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.figures.TextFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method textDisplayBox()
-	/**
-	 * Method testTextDisplayBox is testing textDisplayBox
-	 * @see CH.ifa.draw.figures.TextFigure#textDisplayBox()
-	 */
-	// JUnitDoclet end javadoc_method textDisplayBox()
-	public void testTextDisplayBox() throws Exception {
-		// JUnitDoclet begin method textDisplayBox
-		// JUnitDoclet end method textDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method readOnly()
-	/**
-	 * Method testReadOnly is testing readOnly
-	 * @see CH.ifa.draw.figures.TextFigure#readOnly()
-	 */
-	// JUnitDoclet end javadoc_method readOnly()
-	public void testReadOnly() throws Exception {
-		// JUnitDoclet begin method readOnly
-		// JUnitDoclet end method readOnly
-	}
-
-	// JUnitDoclet begin javadoc_method setReadOnly()
-	/**
-	 * Method testSetReadOnly is testing setReadOnly
-	 * @see CH.ifa.draw.figures.TextFigure#setReadOnly(boolean)
-	 */
-	// JUnitDoclet end javadoc_method setReadOnly()
-	public void testSetReadOnly() throws Exception {
-		// JUnitDoclet begin method setReadOnly
-		// JUnitDoclet end method setReadOnly
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see CH.ifa.draw.figures.TextFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method setFont()
-	/**
-	 * Method testSetGetFont is testing setFont
-	 * and getFont together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.TextFigure#setFont(java.awt.Font)
-	 * @see CH.ifa.draw.figures.TextFigure#getFont()
-	 */
-	// JUnitDoclet end javadoc_method setFont()
-	public void testSetGetFont() throws Exception {
-		// JUnitDoclet begin method setFont getFont
-		java.awt.Font[] tests = { new Font("Helvetica", Font.PLAIN, 12), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			textfigure.setFont(tests[i]);
-			assertEquals(tests[i], textfigure.getFont());
-		}
-		// JUnitDoclet end method setFont getFont
-	}
-
-	// JUnitDoclet begin javadoc_method changed()
-	/**
-	 * Method testChanged is testing changed
-	 * @see CH.ifa.draw.figures.TextFigure#changed()
-	 */
-	// JUnitDoclet end javadoc_method changed()
-	public void testChanged() throws Exception {
-		// JUnitDoclet begin method changed
-		// JUnitDoclet end method changed
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see CH.ifa.draw.figures.TextFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see CH.ifa.draw.figures.TextFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setText()
-	/**
-	 * Method testSetGetText is testing setText
-	 * and getText together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.figures.TextFigure#setText(java.lang.String)
-	 * @see CH.ifa.draw.figures.TextFigure#getText()
-	 */
-	// JUnitDoclet end javadoc_method setText()
-	public void testSetGetText() throws Exception {
-		// JUnitDoclet begin method setText getText
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			textfigure.setText(tests[i]);
-			assertEquals(tests[i], textfigure.getText());
-		}
-		// JUnitDoclet end method setText getText
-	}
-
-	// JUnitDoclet begin javadoc_method acceptsTyping()
-	/**
-	 * Method testAcceptsTyping is testing acceptsTyping
-	 * @see CH.ifa.draw.figures.TextFigure#acceptsTyping()
-	 */
-	// JUnitDoclet end javadoc_method acceptsTyping()
-	public void testAcceptsTyping() throws Exception {
-		// JUnitDoclet begin method acceptsTyping
-		// JUnitDoclet end method acceptsTyping
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.figures.TextFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see CH.ifa.draw.figures.TextFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method overlayColumns()
-	/**
-	 * Method testOverlayColumns is testing overlayColumns
-	 * @see CH.ifa.draw.figures.TextFigure#overlayColumns()
-	 */
-	// JUnitDoclet end javadoc_method overlayColumns()
-	public void testOverlayColumns() throws Exception {
-		// JUnitDoclet begin method overlayColumns
-		// JUnitDoclet end method overlayColumns
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.figures.TextFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.figures.TextFigure#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.figures.TextFigure#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method connect()
-	/**
-	 * Method testConnect is testing connect
-	 * @see CH.ifa.draw.figures.TextFigure#connect(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method connect()
-	public void testConnect() throws Exception {
-		// JUnitDoclet begin method connect
-		// JUnitDoclet end method connect
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.figures.TextFigure#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.figures.TextFigure#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.figures.TextFigure#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.figures.TextFigure#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.figures.TextFigure#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.figures.TextFigure#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method disconnect()
-	/**
-	 * Method testDisconnect is testing disconnect
-	 * @see CH.ifa.draw.figures.TextFigure#disconnect(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method disconnect()
-	public void testDisconnect() throws Exception {
-		// JUnitDoclet begin method disconnect
-		// JUnitDoclet end method disconnect
-	}
-
-	// JUnitDoclet begin javadoc_method getTextHolder()
-	/**
-	 * Method testGetTextHolder is testing getTextHolder
-	 * @see CH.ifa.draw.figures.TextFigure#getTextHolder()
-	 */
-	// JUnitDoclet end javadoc_method getTextHolder()
-	public void testGetTextHolder() throws Exception {
-		// JUnitDoclet begin method getTextHolder
-		// JUnitDoclet end method getTextHolder
-	}
-
-	// JUnitDoclet begin javadoc_method createCurrentFont()
-	/**
-	 * Method testCreateCurrentFont is testing createCurrentFont
-	 * @see CH.ifa.draw.figures.TextFigure#createCurrentFont()
-	 */
-	// JUnitDoclet end javadoc_method createCurrentFont()
-	public void testCreateCurrentFont() throws Exception {
-		// JUnitDoclet begin method createCurrentFont
-		// JUnitDoclet end method createCurrentFont
-	}
-
-	// JUnitDoclet begin javadoc_method setCurrentFontName()
-	/**
-	 * Method testSetCurrentFontName is testing setCurrentFontName
-	 * @see CH.ifa.draw.figures.TextFigure#setCurrentFontName(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method setCurrentFontName()
-	public void testSetCurrentFontName() throws Exception {
-		// JUnitDoclet begin method setCurrentFontName
-		// JUnitDoclet end method setCurrentFontName
-	}
-
-	// JUnitDoclet begin javadoc_method setCurrentFontSize()
-	/**
-	 * Method testSetCurrentFontSize is testing setCurrentFontSize
-	 * @see CH.ifa.draw.figures.TextFigure#setCurrentFontSize(int)
-	 */
-	// JUnitDoclet end javadoc_method setCurrentFontSize()
-	public void testSetCurrentFontSize() throws Exception {
-		// JUnitDoclet begin method setCurrentFontSize
-		// JUnitDoclet end method setCurrentFontSize
-	}
-
-	// JUnitDoclet begin javadoc_method setCurrentFontStyle()
-	/**
-	 * Method testSetCurrentFontStyle is testing setCurrentFontStyle
-	 * @see CH.ifa.draw.figures.TextFigure#setCurrentFontStyle(int)
-	 */
-	// JUnitDoclet end javadoc_method setCurrentFontStyle()
-	public void testSetCurrentFontStyle() throws Exception {
-		// JUnitDoclet begin method setCurrentFontStyle
-		// JUnitDoclet end method setCurrentFontStyle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/TextToolTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/TextToolTest.java
deleted file mode 100644
index 5759f8d82..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/TextToolTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.figures.TextTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextToolTest is generated by
- * JUnitDoclet to hold the tests for TextTool.
- * @see CH.ifa.draw.figures.TextTool
- */
-// JUnitDoclet end javadoc_class
-public class TextToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private TextTool texttool;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor TextToolTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public TextToolTest(String name) {
-    // JUnitDoclet begin method TextToolTest
-    super(name);
-    // JUnitDoclet end method TextToolTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.figures.TextTool createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.figures.TextTool(getDrawingEditor(), new RectangleFigure(new Point(10,10), new Point(100,100)));
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    texttool = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    texttool = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method mouseDown()
-  /**
-   * Method testMouseDown is testing mouseDown
-   * @see CH.ifa.draw.figures.TextTool#mouseDown(java.awt.event.MouseEvent, int, int)
-   */
-  // JUnitDoclet end javadoc_method mouseDown()
-  public void testMouseDown() throws Exception {
-    // JUnitDoclet begin method mouseDown
-    // JUnitDoclet end method mouseDown
-  }
-  
-  // JUnitDoclet begin javadoc_method mouseDrag()
-  /**
-   * Method testMouseDrag is testing mouseDrag
-   * @see CH.ifa.draw.figures.TextTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-   */
-  // JUnitDoclet end javadoc_method mouseDrag()
-  public void testMouseDrag() throws Exception {
-    // JUnitDoclet begin method mouseDrag
-    // JUnitDoclet end method mouseDrag
-  }
-  
-  // JUnitDoclet begin javadoc_method mouseUp()
-  /**
-   * Method testMouseUp is testing mouseUp
-   * @see CH.ifa.draw.figures.TextTool#mouseUp(java.awt.event.MouseEvent, int, int)
-   */
-  // JUnitDoclet end javadoc_method mouseUp()
-  public void testMouseUp() throws Exception {
-    // JUnitDoclet begin method mouseUp
-    // JUnitDoclet end method mouseUp
-  }
-  
-  // JUnitDoclet begin javadoc_method deactivate()
-  /**
-   * Method testDeactivate is testing deactivate
-   * @see CH.ifa.draw.figures.TextTool#deactivate()
-   */
-  // JUnitDoclet end javadoc_method deactivate()
-  public void testDeactivate() throws Exception {
-    // JUnitDoclet begin method deactivate
-    // JUnitDoclet end method deactivate
-  }
-  
-  // JUnitDoclet begin javadoc_method activate()
-  /**
-   * Method testActivate is testing activate
-   * @see CH.ifa.draw.figures.TextTool#activate()
-   */
-  // JUnitDoclet end javadoc_method activate()
-  public void testActivate() throws Exception {
-    // JUnitDoclet begin method activate
-    // JUnitDoclet end method activate
-  }
-  
-  // JUnitDoclet begin javadoc_method isActive()
-  /**
-   * Method testIsActive is testing isActive
-   * @see CH.ifa.draw.figures.TextTool#isActive()
-   */
-  // JUnitDoclet end javadoc_method isActive()
-  public void testIsActive() throws Exception {
-    // JUnitDoclet begin method isActive
-    // JUnitDoclet end method isActive
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/figures/UngroupCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/figures/UngroupCommandTest.java
deleted file mode 100644
index 5b3e76a69..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/figures/UngroupCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.figures;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.UngroupCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UngroupCommandTest is generated by
- * JUnitDoclet to hold the tests for UngroupCommand.
- * @see CH.ifa.draw.figures.UngroupCommand
- */
-// JUnitDoclet end javadoc_class
-public class UngroupCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UngroupCommand ungroupcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UngroupCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UngroupCommandTest(String name) {
-		// JUnitDoclet begin method UngroupCommandTest
-		super(name);
-		// JUnitDoclet end method UngroupCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.figures.UngroupCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.figures.UngroupCommand("UngroupTest", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ungroupcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ungroupcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.figures.UngroupCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.figures.UngroupCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/framework/AllTests.java
deleted file mode 100644
index cb7c9e7e7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/AllTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.framework");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(DrawingChangeEventTest.class));
-		suite.addTest(new TestSuite(FigureAttributeConstantTest.class));
-		suite.addTest(new TestSuite(FigureChangeEventTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/DrawingChangeEventTest.java b/JHotDraw/src/CH/ifa/draw/test/framework/DrawingChangeEventTest.java
deleted file mode 100644
index 3744458c2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/DrawingChangeEventTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import java.awt.Rectangle;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.DrawingChangeEvent;
-import CH.ifa.draw.standard.StandardDrawing;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DrawingChangeEventTest is generated by
- * JUnitDoclet to hold the tests for DrawingChangeEvent.
- * @see CH.ifa.draw.framework.DrawingChangeEvent
- */
-// JUnitDoclet end javadoc_class
-public class DrawingChangeEventTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DrawingChangeEvent drawingchangeevent;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DrawingChangeEventTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DrawingChangeEventTest(String name) {
-		// JUnitDoclet begin method DrawingChangeEventTest
-		super(name);
-		// JUnitDoclet end method DrawingChangeEventTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.framework.DrawingChangeEvent createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.framework.DrawingChangeEvent(new StandardDrawing(), new Rectangle(10, 10, 100, 100));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		drawingchangeevent = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		drawingchangeevent = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawing()
-	/**
-	 * Method testGetDrawing is testing getDrawing
-	 * @see CH.ifa.draw.framework.DrawingChangeEvent#getDrawing()
-	 */
-	// JUnitDoclet end javadoc_method getDrawing()
-	public void testGetDrawing() throws Exception {
-		// JUnitDoclet begin method getDrawing
-		// JUnitDoclet end method getDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method getInvalidatedRectangle()
-	/**
-	 * Method testGetInvalidatedRectangle is testing getInvalidatedRectangle
-	 * @see CH.ifa.draw.framework.DrawingChangeEvent#getInvalidatedRectangle()
-	 */
-	// JUnitDoclet end javadoc_method getInvalidatedRectangle()
-	public void testGetInvalidatedRectangle() throws Exception {
-		// JUnitDoclet begin method getInvalidatedRectangle
-		// JUnitDoclet end method getInvalidatedRectangle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/FigureAttributeConstantTest.java b/JHotDraw/src/CH/ifa/draw/test/framework/FigureAttributeConstantTest.java
deleted file mode 100644
index c33b3f04a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/FigureAttributeConstantTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import CH.ifa.draw.framework.FigureAttributeConstant;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureAttributeConstantTest is generated by
- * JUnitDoclet to hold the tests for FigureAttributeConstant.
- * @see CH.ifa.draw.framework.FigureAttributeConstant
- */
-// JUnitDoclet end javadoc_class
-public class FigureAttributeConstantTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureAttributeConstant figureattributeconstant;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureAttributeConstantTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureAttributeConstantTest(String name) {
-		// JUnitDoclet begin method FigureAttributeConstantTest
-		super(name);
-		// JUnitDoclet end method FigureAttributeConstantTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.framework.FigureAttributeConstant createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.framework.FigureAttributeConstant("test_property");
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureattributeconstant = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureattributeconstant = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getName()
-	/**
-	 * Method testGetName is testing getName
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#getName()
-	 */
-	// JUnitDoclet end javadoc_method getName()
-	public void testGetName() throws Exception {
-		// JUnitDoclet begin method getName
-		// JUnitDoclet end method getName
-	}
-
-	// JUnitDoclet begin javadoc_method getID()
-	/**
-	 * Method testGetID is testing getID
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#getID()
-	 */
-	// JUnitDoclet end javadoc_method getID()
-	public void testGetID() throws Exception {
-		// JUnitDoclet begin method getID
-		// JUnitDoclet end method getID
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method hashCode()
-	/**
-	 * Method testHashCode is testing hashCode
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#hashCode()
-	 */
-	// JUnitDoclet end javadoc_method hashCode()
-	public void testHashCode() throws Exception {
-		// JUnitDoclet begin method hashCode
-		// JUnitDoclet end method hashCode
-	}
-
-	// JUnitDoclet begin javadoc_method getConstant()
-	/**
-	 * Method testGetConstant is testing getConstant
-	 * @see CH.ifa.draw.framework.FigureAttributeConstant#getConstant(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getConstant()
-	public void testGetConstant() throws Exception {
-		// JUnitDoclet begin method getConstant
-		// JUnitDoclet end method getConstant
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/FigureChangeEventTest.java b/JHotDraw/src/CH/ifa/draw/test/framework/FigureChangeEventTest.java
deleted file mode 100644
index 559f6eef3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/FigureChangeEventTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.FigureChangeEvent;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureChangeEventTest is generated by
- * JUnitDoclet to hold the tests for FigureChangeEvent.
- * @see CH.ifa.draw.framework.FigureChangeEvent
- */
-// JUnitDoclet end javadoc_class
-public class FigureChangeEventTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureChangeEvent figurechangeevent;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureChangeEventTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureChangeEventTest(String name) {
-		// JUnitDoclet begin method FigureChangeEventTest
-		super(name);
-		// JUnitDoclet end method FigureChangeEventTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.framework.FigureChangeEvent createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.framework.FigureChangeEvent(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figurechangeevent = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figurechangeevent = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getFigure()
-	/**
-	 * Method testGetFigure is testing getFigure
-	 * @see CH.ifa.draw.framework.FigureChangeEvent#getFigure()
-	 */
-	// JUnitDoclet end javadoc_method getFigure()
-	public void testGetFigure() throws Exception {
-		// JUnitDoclet begin method getFigure
-		// JUnitDoclet end method getFigure
-	}
-
-	// JUnitDoclet begin javadoc_method getInvalidatedRectangle()
-	/**
-	 * Method testGetInvalidatedRectangle is testing getInvalidatedRectangle
-	 * @see CH.ifa.draw.framework.FigureChangeEvent#getInvalidatedRectangle()
-	 */
-	// JUnitDoclet end javadoc_method getInvalidatedRectangle()
-	public void testGetInvalidatedRectangle() throws Exception {
-		// JUnitDoclet begin method getInvalidatedRectangle
-		// JUnitDoclet end method getInvalidatedRectangle
-	}
-
-	// JUnitDoclet begin javadoc_method getNestedEvent()
-	/**
-	 * Method testGetNestedEvent is testing getNestedEvent
-	 * @see CH.ifa.draw.framework.FigureChangeEvent#getNestedEvent()
-	 */
-	// JUnitDoclet end javadoc_method getNestedEvent()
-	public void testGetNestedEvent() throws Exception {
-		// JUnitDoclet begin method getNestedEvent
-		// JUnitDoclet end method getNestedEvent
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/framework/FrameworkSuite.java b/JHotDraw/src/CH/ifa/draw/test/framework/FrameworkSuite.java
deleted file mode 100644
index ebb358a6d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/framework/FrameworkSuite.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @(#)FrameworkSuite
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.framework;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite FrameworkSuite
-*/
-// JUnitDoclet end javadoc_class
-public class FrameworkSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.framework");
-
-		suite.addTestSuite(CH.ifa.draw.test.framework.FigureAttributeConstantTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.framework.FigureChangeEventTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.framework.DrawingChangeEventTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AllTests.java
deleted file mode 100644
index ae4124888..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AllTests.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.javadraw");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(AnimationDecoratorTest.class));
-		suite.addTest(new TestSuite(AnimatorTest.class));
-		suite.addTest(new TestSuite(BouncingDrawingTest.class));
-		suite.addTest(new TestSuite(JavaDrawAppTest.class));
-		suite.addTest(new TestSuite(JavaDrawAppletTest.class));
-		suite.addTest(new TestSuite(JavaDrawViewerTest.class));
-		suite.addTest(new TestSuite(MySelectionToolTest.class));
-		suite.addTest(new TestSuite(PatternPainterTest.class));
-		suite.addTest(new TestSuite(URLToolTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimationDecoratorTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimationDecoratorTest.java
deleted file mode 100644
index 2f20865a4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimationDecoratorTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import CH.ifa.draw.samples.javadraw.AnimationDecorator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase AnimationDecoratorTest is generated by
- * JUnitDoclet to hold the tests for AnimationDecorator.
- * @see CH.ifa.draw.samples.javadraw.AnimationDecorator
- */
-// JUnitDoclet end javadoc_class
-public class AnimationDecoratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private AnimationDecorator animationdecorator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor AnimationDecoratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public AnimationDecoratorTest(String name) {
-		// JUnitDoclet begin method AnimationDecoratorTest
-		super(name);
-		// JUnitDoclet end method AnimationDecoratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.AnimationDecorator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.AnimationDecorator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		animationdecorator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		animationdecorator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method velocity()
-	/**
-	 * Method testVelocity is testing velocity
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#velocity(int, int)
-	 */
-	// JUnitDoclet end javadoc_method velocity()
-	public void testVelocity() throws Exception {
-		// JUnitDoclet begin method velocity
-		// JUnitDoclet end method velocity
-	}
-
-	// JUnitDoclet begin javadoc_method animationStep()
-	/**
-	 * Method testAnimationStep is testing animationStep
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#animationStep()
-	 */
-	// JUnitDoclet end javadoc_method animationStep()
-	public void testAnimationStep() throws Exception {
-		// JUnitDoclet begin method animationStep
-		// JUnitDoclet end method animationStep
-	}
-
-	// JUnitDoclet begin javadoc_method basicMoveBy()
-	/**
-	 * Method testBasicMoveBy is testing basicMoveBy
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#basicMoveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method basicMoveBy()
-	public void testBasicMoveBy() throws Exception {
-		// JUnitDoclet begin method basicMoveBy
-		// JUnitDoclet end method basicMoveBy
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.samples.javadraw.AnimationDecorator#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimatorTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimatorTest.java
deleted file mode 100644
index 35451d0ae..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/AnimatorTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.samples.javadraw.Animator;
-import CH.ifa.draw.samples.javadraw.BouncingDrawing;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.Animatable;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase AnimatorTest is generated by
- * JUnitDoclet to hold the tests for Animator.
- * @see CH.ifa.draw.samples.javadraw.Animator
- */
-// JUnitDoclet end javadoc_class
-public class AnimatorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Animator animator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor AnimatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public AnimatorTest(String name) {
-		// JUnitDoclet begin method AnimatorTest
-		super(name);
-		// JUnitDoclet end method AnimatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.Animator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Drawing drawing = new BouncingDrawing();
-		Animatable animatable = (Animatable)drawing.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		return new CH.ifa.draw.samples.javadraw.Animator(animatable, getDrawingEditor().view());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		animator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		animator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method start()
-	/**
-	 * Method testStart is testing start
-	 * @see CH.ifa.draw.samples.javadraw.Animator#start()
-	 */
-	// JUnitDoclet end javadoc_method start()
-	public void testStart() throws Exception {
-		// JUnitDoclet begin method start
-		// JUnitDoclet end method start
-	}
-
-	// JUnitDoclet begin javadoc_method end()
-	/**
-	 * Method testEnd is testing end
-	 * @see CH.ifa.draw.samples.javadraw.Animator#end()
-	 */
-	// JUnitDoclet end javadoc_method end()
-	public void testEnd() throws Exception {
-		// JUnitDoclet begin method end
-		// JUnitDoclet end method end
-	}
-
-	// JUnitDoclet begin javadoc_method run()
-	/**
-	 * Method testRun is testing run
-	 * @see CH.ifa.draw.samples.javadraw.Animator#run()
-	 */
-	// JUnitDoclet end javadoc_method run()
-	public void testRun() throws Exception {
-		// JUnitDoclet begin method run
-		// JUnitDoclet end method run
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/BouncingDrawingTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/BouncingDrawingTest.java
deleted file mode 100644
index 5b381e74d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/BouncingDrawingTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import CH.ifa.draw.samples.javadraw.BouncingDrawing;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BouncingDrawingTest is generated by
- * JUnitDoclet to hold the tests for BouncingDrawing.
- * @see CH.ifa.draw.samples.javadraw.BouncingDrawing
- */
-// JUnitDoclet end javadoc_class
-public class BouncingDrawingTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BouncingDrawing bouncingdrawing;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BouncingDrawingTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BouncingDrawingTest(String name) {
-		// JUnitDoclet begin method BouncingDrawingTest
-		super(name);
-		// JUnitDoclet end method BouncingDrawingTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.BouncingDrawing createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.BouncingDrawing();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bouncingdrawing = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bouncingdrawing = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.samples.javadraw.BouncingDrawing#add(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.samples.javadraw.BouncingDrawing#remove(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method replace()
-	/**
-	 * Method testReplace is testing replace
-	 * @see CH.ifa.draw.samples.javadraw.BouncingDrawing#replace(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method replace()
-	public void testReplace() throws Exception {
-		// JUnitDoclet begin method replace
-		// JUnitDoclet end method replace
-	}
-
-	// JUnitDoclet begin javadoc_method animationStep()
-	/**
-	 * Method testAnimationStep is testing animationStep
-	 * @see CH.ifa.draw.samples.javadraw.BouncingDrawing#animationStep()
-	 */
-	// JUnitDoclet end javadoc_method animationStep()
-	public void testAnimationStep() throws Exception {
-		// JUnitDoclet begin method animationStep
-		// JUnitDoclet end method animationStep
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppTest.java
deleted file mode 100644
index a7f5cced7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JavaDrawAppTest is generated by
- * JUnitDoclet to hold the tests for JavaDrawApp.
- * @see CH.ifa.draw.samples.javadraw.JavaDrawApp
- */
-// JUnitDoclet end javadoc_class
-public class JavaDrawAppTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DrawApplication myDrawApplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JavaDrawAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JavaDrawAppTest(String name) {
-		// JUnitDoclet begin method JavaDrawAppTest
-		super(name);
-		// JUnitDoclet end method JavaDrawAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DrawApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return getDrawingEditor();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		myDrawApplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		myDrawApplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method destroy()
-	/**
-	 * Method testDestroy is testing destroy
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApp#destroy()
-	 */
-	// JUnitDoclet end javadoc_method destroy()
-	public void testDestroy() throws Exception {
-		// JUnitDoclet begin method destroy
-		// JUnitDoclet end method destroy
-	}
-
-	// JUnitDoclet begin javadoc_method startAnimation()
-	/**
-	 * Method testStartAnimation is testing startAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApp#startAnimation()
-	 */
-	// JUnitDoclet end javadoc_method startAnimation()
-	public void testStartAnimation() throws Exception {
-		// JUnitDoclet begin method startAnimation
-		// JUnitDoclet end method startAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method endAnimation()
-	/**
-	 * Method testEndAnimation is testing endAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApp#endAnimation()
-	 */
-	// JUnitDoclet end javadoc_method endAnimation()
-	public void testEndAnimation() throws Exception {
-		// JUnitDoclet begin method endAnimation
-		// JUnitDoclet end method endAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppletTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppletTest.java
deleted file mode 100644
index 96c3ee080..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawAppletTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import CH.ifa.draw.samples.javadraw.JavaDrawApplet;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JavaDrawAppletTest is generated by
- * JUnitDoclet to hold the tests for JavaDrawApplet.
- * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet
- */
-// JUnitDoclet end javadoc_class
-public class JavaDrawAppletTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JavaDrawApplet javadrawapplet;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JavaDrawAppletTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JavaDrawAppletTest(String name) {
-		// JUnitDoclet begin method JavaDrawAppletTest
-		super(name);
-		// JUnitDoclet end method JavaDrawAppletTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.JavaDrawApplet createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.JavaDrawApplet();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		javadrawapplet = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		javadrawapplet = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method destroy()
-	/**
-	 * Method testDestroy is testing destroy
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet#destroy()
-	 */
-	// JUnitDoclet end javadoc_method destroy()
-	public void testDestroy() throws Exception {
-		// JUnitDoclet begin method destroy
-		// JUnitDoclet end method destroy
-	}
-
-	// JUnitDoclet begin javadoc_method startAnimation()
-	/**
-	 * Method testStartAnimation is testing startAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet#startAnimation()
-	 */
-	// JUnitDoclet end javadoc_method startAnimation()
-	public void testStartAnimation() throws Exception {
-		// JUnitDoclet begin method startAnimation
-		// JUnitDoclet end method startAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method endAnimation()
-	/**
-	 * Method testEndAnimation is testing endAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet#endAnimation()
-	 */
-	// JUnitDoclet end javadoc_method endAnimation()
-	public void testEndAnimation() throws Exception {
-		// JUnitDoclet begin method endAnimation
-		// JUnitDoclet end method endAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method toggleAnimation()
-	/**
-	 * Method testToggleAnimation is testing toggleAnimation
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawApplet#toggleAnimation()
-	 */
-	// JUnitDoclet end javadoc_method toggleAnimation()
-	public void testToggleAnimation() throws Exception {
-		// JUnitDoclet begin method toggleAnimation
-		// JUnitDoclet end method toggleAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawViewerTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawViewerTest.java
deleted file mode 100644
index 16a9486fa..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavaDrawViewerTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import CH.ifa.draw.samples.javadraw.JavaDrawViewer;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JavaDrawViewerTest is generated by
- * JUnitDoclet to hold the tests for JavaDrawViewer.
- * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer
- */
-// JUnitDoclet end javadoc_class
-public class JavaDrawViewerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JavaDrawViewer javadrawviewer;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JavaDrawViewerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JavaDrawViewerTest(String name) {
-		// JUnitDoclet begin method JavaDrawViewerTest
-		super(name);
-		// JUnitDoclet end method JavaDrawViewerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.JavaDrawViewer createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.JavaDrawViewer();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		javadrawviewer = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		javadrawviewer = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method init()
-	/**
-	 * Method testInit is testing init
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#init()
-	 */
-	// JUnitDoclet end javadoc_method init()
-	public void testInit() throws Exception {
-		// JUnitDoclet begin method init
-		// JUnitDoclet end method init
-	}
-
-	// JUnitDoclet begin javadoc_method addViewChangeListener()
-	/**
-	 * Method testAddViewChangeListener is testing addViewChangeListener
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#addViewChangeListener(CH.ifa.draw.framework.ViewChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method addViewChangeListener()
-	public void testAddViewChangeListener() throws Exception {
-		// JUnitDoclet begin method addViewChangeListener
-		// JUnitDoclet end method addViewChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeViewChangeListener()
-	/**
-	 * Method testRemoveViewChangeListener is testing removeViewChangeListener
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#removeViewChangeListener(CH.ifa.draw.framework.ViewChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method removeViewChangeListener()
-	public void testRemoveViewChangeListener() throws Exception {
-		// JUnitDoclet begin method removeViewChangeListener
-		// JUnitDoclet end method removeViewChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method view()
-	/**
-	 * Method testView is testing view
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#view()
-	 */
-	// JUnitDoclet end javadoc_method view()
-	public void testView() throws Exception {
-		// JUnitDoclet begin method view
-		// JUnitDoclet end method view
-	}
-
-	// JUnitDoclet begin javadoc_method views()
-	/**
-	 * Method testViews is testing views
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#views()
-	 */
-	// JUnitDoclet end javadoc_method views()
-	public void testViews() throws Exception {
-		// JUnitDoclet begin method views
-		// JUnitDoclet end method views
-	}
-
-	// JUnitDoclet begin javadoc_method drawing()
-	/**
-	 * Method testDrawing is testing drawing
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#drawing()
-	 */
-	// JUnitDoclet end javadoc_method drawing()
-	public void testDrawing() throws Exception {
-		// JUnitDoclet begin method drawing
-		// JUnitDoclet end method drawing
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method setTool()
-	/**
-	 * Method testSetTool is testing setTool
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#setTool(CH.ifa.draw.framework.Tool)
-	 */
-	// JUnitDoclet end javadoc_method setTool()
-	public void testSetTool() throws Exception {
-		// JUnitDoclet begin method setTool
-		// JUnitDoclet end method setTool
-	}
-
-	// JUnitDoclet begin javadoc_method toolDone()
-	/**
-	 * Method testToolDone is testing toolDone
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#toolDone()
-	 */
-	// JUnitDoclet end javadoc_method toolDone()
-	public void testToolDone() throws Exception {
-		// JUnitDoclet begin method toolDone
-		// JUnitDoclet end method toolDone
-	}
-
-	// JUnitDoclet begin javadoc_method figureSelectionChanged()
-	/**
-	 * Method testFigureSelectionChanged is testing figureSelectionChanged
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#figureSelectionChanged(CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method figureSelectionChanged()
-	public void testFigureSelectionChanged() throws Exception {
-		// JUnitDoclet begin method figureSelectionChanged
-		// JUnitDoclet end method figureSelectionChanged
-	}
-
-	// JUnitDoclet begin javadoc_method getUndoManager()
-	/**
-	 * Method testGetUndoManager is testing getUndoManager
-	 * @see CH.ifa.draw.samples.javadraw.JavaDrawViewer#getUndoManager()
-	 */
-	// JUnitDoclet end javadoc_method getUndoManager()
-	public void testGetUndoManager() throws Exception {
-		// JUnitDoclet begin method getUndoManager
-		// JUnitDoclet end method getUndoManager
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavadrawSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavadrawSuite.java
deleted file mode 100644
index ec659fb19..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/JavadrawSuite.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite JavadrawSuite
-*/
-// JUnitDoclet end javadoc_class
-public class JavadrawSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.javadraw");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.URLToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.PatternPainterTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.MySelectionToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.JavaDrawViewerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.JavaDrawAppletTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.JavaDrawAppTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.BouncingDrawingTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.AnimatorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.javadraw.AnimationDecoratorTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/MySelectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/MySelectionToolTest.java
deleted file mode 100644
index 40c38320d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/MySelectionToolTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.samples.javadraw.MySelectionTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MySelectionToolTest is generated by
- * JUnitDoclet to hold the tests for MySelectionTool.
- * @see CH.ifa.draw.samples.javadraw.MySelectionTool
- */
-// JUnitDoclet end javadoc_class
-public class MySelectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MySelectionTool myselectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MySelectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MySelectionToolTest(String name) {
-		// JUnitDoclet begin method MySelectionToolTest
-		super(name);
-		// JUnitDoclet end method MySelectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.MySelectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.MySelectionTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		myselectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		myselectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.samples.javadraw.MySelectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/PatternPainterTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/PatternPainterTest.java
deleted file mode 100644
index 28627d609..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/PatternPainterTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-import java.awt.Image;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.samples.javadraw.PatternPainter;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.Iconkit;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PatternPainterTest is generated by
- * JUnitDoclet to hold the tests for PatternPainter.
- * @see CH.ifa.draw.samples.javadraw.PatternPainter
- */
-// JUnitDoclet end javadoc_class
-public class PatternPainterTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PatternPainter patternpainter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PatternPainterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PatternPainterTest(String name) {
-		// JUnitDoclet begin method PatternPainterTest
-		super(name);
-		// JUnitDoclet end method PatternPainterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.PatternPainter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Image img = Iconkit.instance().loadImage(DrawApplication.IMAGES + "SEL1.gif", true);
-		return new CH.ifa.draw.samples.javadraw.PatternPainter(img);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		patternpainter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		patternpainter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.samples.javadraw.PatternPainter#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/URLToolTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/URLToolTest.java
deleted file mode 100644
index 78e612ed2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/javadraw/URLToolTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.javadraw;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.samples.javadraw.URLTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase URLToolTest is generated by
- * JUnitDoclet to hold the tests for URLTool.
- * @see CH.ifa.draw.samples.javadraw.URLTool
- */
-// JUnitDoclet end javadoc_class
-public class URLToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private URLTool urltool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor URLToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public URLToolTest(String name) {
-		// JUnitDoclet begin method URLToolTest
-		super(name);
-		// JUnitDoclet end method URLToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.javadraw.URLTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.javadraw.URLTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		urltool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		urltool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.samples.javadraw.URLTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.samples.javadraw.URLTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.samples.javadraw.URLTool#deactivate(CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/minimap/AllTests.java
deleted file mode 100644
index 4ab07796c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.minimap;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.minimap");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(MiniMapApplicationTest.class));
-		suite.addTest(new TestSuite(MiniMapDesktopTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapApplicationTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapApplicationTest.java
deleted file mode 100644
index 6105d916b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapApplicationTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.minimap;
-
-import CH.ifa.draw.samples.minimap.MiniMapApplication;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MiniMapApplicationTest is generated by
- * JUnitDoclet to hold the tests for MiniMapApplication.
- * @see CH.ifa.draw.samples.minimap.MiniMapApplication
- */
-// JUnitDoclet end javadoc_class
-public class MiniMapApplicationTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MiniMapApplication minimapapplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MiniMapApplicationTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MiniMapApplicationTest(String name) {
-		// JUnitDoclet begin method MiniMapApplicationTest
-		super(name);
-		// JUnitDoclet end method MiniMapApplicationTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.minimap.MiniMapApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.minimap.MiniMapApplication();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		minimapapplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		minimapapplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.minimap.MiniMapApplication#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapDesktopTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapDesktopTest.java
deleted file mode 100644
index ddb2f8f9f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MiniMapDesktopTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.minimap;
-
-import CH.ifa.draw.samples.minimap.MiniMapDesktop;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MiniMapDesktopTest is generated by
- * JUnitDoclet to hold the tests for MiniMapDesktop.
- * @see CH.ifa.draw.samples.minimap.MiniMapDesktop
- */
-// JUnitDoclet end javadoc_class
-public class MiniMapDesktopTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MiniMapDesktop minimapdesktop;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MiniMapDesktopTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MiniMapDesktopTest(String name) {
-		// JUnitDoclet begin method MiniMapDesktopTest
-		super(name);
-		// JUnitDoclet end method MiniMapDesktopTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.minimap.MiniMapDesktop createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.minimap.MiniMapDesktop();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		minimapdesktop = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		minimapdesktop = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MinimapSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MinimapSuite.java
deleted file mode 100644
index a5dc5191b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/minimap/MinimapSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.minimap;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite MinimapSuite
-*/
-// JUnitDoclet end javadoc_class
-public class MinimapSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.minimap");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.minimap.MiniMapDesktopTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.minimap.MiniMapApplicationTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/net/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/net/AllTests.java
deleted file mode 100644
index 8a7c325df..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/net/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.net;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.net");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(NetAppTest.class));
-		suite.addTest(new TestSuite(NodeFigureTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/net/NetAppTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/net/NetAppTest.java
deleted file mode 100644
index 48bc22b4c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/net/NetAppTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.net;
-
-import CH.ifa.draw.samples.net.NetApp;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NetAppTest is generated by
- * JUnitDoclet to hold the tests for NetApp.
- * @see CH.ifa.draw.samples.net.NetApp
- */
-// JUnitDoclet end javadoc_class
-public class NetAppTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NetApp netapp;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NetAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NetAppTest(String name) {
-		// JUnitDoclet begin method NetAppTest
-		super(name);
-		// JUnitDoclet end method NetAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.net.NetApp createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.net.NetApp();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		netapp = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		netapp = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.net.NetApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/net/NetSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/net/NetSuite.java
deleted file mode 100644
index 5a2ce5fd5..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/net/NetSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)NetSuite
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.net;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite NetSuite
-*/
-// JUnitDoclet end javadoc_class
-public class NetSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.net");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.net.NodeFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.net.NetAppTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/net/NodeFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/net/NodeFigureTest.java
deleted file mode 100644
index 459cbc14b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/net/NodeFigureTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.net;
-
-import CH.ifa.draw.samples.net.NodeFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NodeFigureTest is generated by
- * JUnitDoclet to hold the tests for NodeFigure.
- * @see CH.ifa.draw.samples.net.NodeFigure
- */
-// JUnitDoclet end javadoc_class
-public class NodeFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NodeFigure nodefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NodeFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NodeFigureTest(String name) {
-		// JUnitDoclet begin method NodeFigureTest
-		super(name);
-		// JUnitDoclet end method NodeFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.net.NodeFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.net.NodeFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nodefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nodefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.samples.net.NodeFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.samples.net.NodeFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.samples.net.NodeFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.samples.net.NodeFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method connectorVisibility()
-	/**
-	 * Method testConnectorVisibility is testing connectorVisibility
-	 * @see CH.ifa.draw.samples.net.NodeFigure#connectorVisibility(boolean, CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method connectorVisibility()
-	public void testConnectorVisibility() throws Exception {
-		// JUnitDoclet begin method connectorVisibility
-		// JUnitDoclet end method connectorVisibility
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see CH.ifa.draw.samples.net.NodeFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see CH.ifa.draw.samples.net.NodeFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/nothing/AllTests.java
deleted file mode 100644
index f4d2195c2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.nothing;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.nothing");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(NothingAppTest.class));
-		suite.addTest(new TestSuite(NothingAppletTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppTest.java
deleted file mode 100644
index 0b28456f6..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.nothing;
-
-import CH.ifa.draw.samples.nothing.NothingApp;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NothingAppTest is generated by
- * JUnitDoclet to hold the tests for NothingApp.
- * @see CH.ifa.draw.samples.nothing.NothingApp
- */
-// JUnitDoclet end javadoc_class
-public class NothingAppTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NothingApp nothingapp;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NothingAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NothingAppTest(String name) {
-		// JUnitDoclet begin method NothingAppTest
-		super(name);
-		// JUnitDoclet end method NothingAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.nothing.NothingApp createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.nothing.NothingApp();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nothingapp = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nothingapp = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.nothing.NothingApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppletTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppletTest.java
deleted file mode 100644
index 3c3ba3829..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingAppletTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.nothing;
-
-import CH.ifa.draw.samples.nothing.NothingApplet;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NothingAppletTest is generated by
- * JUnitDoclet to hold the tests for NothingApplet.
- * @see CH.ifa.draw.samples.nothing.NothingApplet
- */
-// JUnitDoclet end javadoc_class
-public class NothingAppletTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NothingApplet nothingapplet;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NothingAppletTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NothingAppletTest(String name) {
-		// JUnitDoclet begin method NothingAppletTest
-		super(name);
-		// JUnitDoclet end method NothingAppletTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.nothing.NothingApplet createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.nothing.NothingApplet();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nothingapplet = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nothingapplet = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingSuite.java
deleted file mode 100644
index 72688f524..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/nothing/NothingSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.nothing;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite NothingSuite
-*/
-// JUnitDoclet end javadoc_class
-public class NothingSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.nothing");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.nothing.NothingAppletTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.nothing.NothingAppTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/AllTests.java
deleted file mode 100644
index e03d0e0d8..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/AllTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.samples.pert");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(PertAppletTest.class));
-		suite.addTest(new TestSuite(PertApplicationTest.class));
-		suite.addTest(new TestSuite(PertDependencyTest.class));
-		suite.addTest(new TestSuite(PertFigureCreationToolTest.class));
-		suite.addTest(new TestSuite(PertFigureTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertAppletTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertAppletTest.java
deleted file mode 100644
index 163dfd968..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertAppletTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import CH.ifa.draw.samples.pert.PertApplet;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertAppletTest is generated by
- * JUnitDoclet to hold the tests for PertApplet.
- * @see CH.ifa.draw.samples.pert.PertApplet
- */
-// JUnitDoclet end javadoc_class
-public class PertAppletTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertApplet pertapplet;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertAppletTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertAppletTest(String name) {
-		// JUnitDoclet begin method PertAppletTest
-		super(name);
-		// JUnitDoclet end method PertAppletTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.pert.PertApplet createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.pert.PertApplet();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertapplet = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertapplet = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertApplicationTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertApplicationTest.java
deleted file mode 100644
index 34d41e6b0..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertApplicationTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import CH.ifa.draw.samples.pert.PertApplication;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertApplicationTest is generated by
- * JUnitDoclet to hold the tests for PertApplication.
- * @see CH.ifa.draw.samples.pert.PertApplication
- */
-// JUnitDoclet end javadoc_class
-public class PertApplicationTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertApplication pertapplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertApplicationTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertApplicationTest(String name) {
-		// JUnitDoclet begin method PertApplicationTest
-		super(name);
-		// JUnitDoclet end method PertApplicationTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.pert.PertApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.pert.PertApplication();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertapplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertapplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.samples.pert.PertApplication#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertDependencyTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertDependencyTest.java
deleted file mode 100644
index da2af1117..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertDependencyTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import CH.ifa.draw.samples.pert.PertDependency;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertDependencyTest is generated by
- * JUnitDoclet to hold the tests for PertDependency.
- * @see CH.ifa.draw.samples.pert.PertDependency
- */
-// JUnitDoclet end javadoc_class
-public class PertDependencyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertDependency pertdependency;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertDependencyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertDependencyTest(String name) {
-		// JUnitDoclet begin method PertDependencyTest
-		super(name);
-		// JUnitDoclet end method PertDependencyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.pert.PertDependency createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.pert.PertDependency();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertdependency = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertdependency = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method handleConnect()
-	/**
-	 * Method testHandleConnect is testing handleConnect
-	 * @see CH.ifa.draw.samples.pert.PertDependency#handleConnect(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method handleConnect()
-	public void testHandleConnect() throws Exception {
-		// JUnitDoclet begin method handleConnect
-		// JUnitDoclet end method handleConnect
-	}
-
-	// JUnitDoclet begin javadoc_method handleDisconnect()
-	/**
-	 * Method testHandleDisconnect is testing handleDisconnect
-	 * @see CH.ifa.draw.samples.pert.PertDependency#handleDisconnect(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method handleDisconnect()
-	public void testHandleDisconnect() throws Exception {
-		// JUnitDoclet begin method handleDisconnect
-		// JUnitDoclet end method handleDisconnect
-	}
-
-	// JUnitDoclet begin javadoc_method canConnect()
-	/**
-	 * Method testCanConnect is testing canConnect
-	 * @see CH.ifa.draw.samples.pert.PertDependency#canConnect(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method canConnect()
-	public void testCanConnect() throws Exception {
-		// JUnitDoclet begin method canConnect
-		// JUnitDoclet end method canConnect
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.samples.pert.PertDependency#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureCreationToolTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureCreationToolTest.java
deleted file mode 100644
index 483babf2b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureCreationToolTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.samples.pert.PertFigureCreationTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertFigureCreationToolTest is generated by
- * JUnitDoclet to hold the tests for PertFigureCreationTool.
- * @see CH.ifa.draw.samples.pert.PertFigureCreationTool
- */
-// JUnitDoclet end javadoc_class
-public class PertFigureCreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertFigureCreationTool pertfigurecreationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertFigureCreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertFigureCreationToolTest(String name) {
-		// JUnitDoclet begin method PertFigureCreationToolTest
-		super(name);
-		// JUnitDoclet end method PertFigureCreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.samples.pert.PertFigureCreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.samples.pert.PertFigureCreationTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertfigurecreationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertfigurecreationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureTest.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureTest.java
deleted file mode 100644
index f07040f04..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertFigureTest.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import CH.ifa.draw.samples.pert.PertFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertFigureTest is generated by
- * JUnitDoclet to hold the tests for PertFigure.
- * @see CH.ifa.draw.samples.pert.PertFigure
- */
-// JUnitDoclet end javadoc_class
-public class PertFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private PertFigure pertfigure;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor PertFigureTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public PertFigureTest(String name) {
-    // JUnitDoclet begin method PertFigureTest
-    super(name);
-    // JUnitDoclet end method PertFigureTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public CH.ifa.draw.samples.pert.PertFigure createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new CH.ifa.draw.samples.pert.PertFigure();
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    pertfigure = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    pertfigure = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method start()
-  /**
-   * Method testStart is testing start
-   * @see CH.ifa.draw.samples.pert.PertFigure#start()
-   */
-  // JUnitDoclet end javadoc_method start()
-  public void testStart() throws Exception {
-    // JUnitDoclet begin method start
-    // JUnitDoclet end method start
-  }
-  
-  // JUnitDoclet begin javadoc_method end()
-  /**
-   * Method testEnd is testing end
-   * @see CH.ifa.draw.samples.pert.PertFigure#end()
-   */
-  // JUnitDoclet end javadoc_method end()
-  public void testEnd() throws Exception {
-    // JUnitDoclet begin method end
-    // JUnitDoclet end method end
-  }
-  
-  // JUnitDoclet begin javadoc_method duration()
-  /**
-   * Method testDuration is testing duration
-   * @see CH.ifa.draw.samples.pert.PertFigure#duration()
-   */
-  // JUnitDoclet end javadoc_method duration()
-  public void testDuration() throws Exception {
-    // JUnitDoclet begin method duration
-    // JUnitDoclet end method duration
-  }
-  
-  // JUnitDoclet begin javadoc_method setEnd()
-  /**
-   * Method testSetEnd is testing setEnd
-   * @see CH.ifa.draw.samples.pert.PertFigure#setEnd(int)
-   */
-  // JUnitDoclet end javadoc_method setEnd()
-  public void testSetEnd() throws Exception {
-    // JUnitDoclet begin method setEnd
-    // JUnitDoclet end method setEnd
-  }
-  
-  // JUnitDoclet begin javadoc_method addPreTask()
-  /**
-   * Method testAddPreTask is testing addPreTask
-   * @see CH.ifa.draw.samples.pert.PertFigure#addPreTask(CH.ifa.draw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method addPreTask()
-  public void testAddPreTask() throws Exception {
-    // JUnitDoclet begin method addPreTask
-    // JUnitDoclet end method addPreTask
-  }
-  
-  // JUnitDoclet begin javadoc_method addPostTask()
-  /**
-   * Method testAddPostTask is testing addPostTask
-   * @see CH.ifa.draw.samples.pert.PertFigure#addPostTask(CH.ifa.draw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method addPostTask()
-  public void testAddPostTask() throws Exception {
-    // JUnitDoclet begin method addPostTask
-    // JUnitDoclet end method addPostTask
-  }
-  
-  // JUnitDoclet begin javadoc_method removePreTask()
-  /**
-   * Method testRemovePreTask is testing removePreTask
-   * @see CH.ifa.draw.samples.pert.PertFigure#removePreTask(CH.ifa.draw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method removePreTask()
-  public void testRemovePreTask() throws Exception {
-    // JUnitDoclet begin method removePreTask
-    // JUnitDoclet end method removePreTask
-  }
-  
-  // JUnitDoclet begin javadoc_method removePostTask()
-  /**
-   * Method testRemovePostTask is testing removePostTask
-   * @see CH.ifa.draw.samples.pert.PertFigure#removePostTask(CH.ifa.draw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method removePostTask()
-  public void testRemovePostTask() throws Exception {
-    // JUnitDoclet begin method removePostTask
-    // JUnitDoclet end method removePostTask
-  }
-  
-  // JUnitDoclet begin javadoc_method displayBox()
-  /**
-   * Method testDisplayBox is testing displayBox
-   * @see CH.ifa.draw.samples.pert.PertFigure#displayBox()
-   */
-  // JUnitDoclet end javadoc_method displayBox()
-  public void testDisplayBox() throws Exception {
-    // JUnitDoclet begin method displayBox
-    // JUnitDoclet end method displayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method basicDisplayBox()
-  /**
-   * Method testBasicDisplayBox is testing basicDisplayBox
-   * @see CH.ifa.draw.samples.pert.PertFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-   */
-  // JUnitDoclet end javadoc_method basicDisplayBox()
-  public void testBasicDisplayBox() throws Exception {
-    // JUnitDoclet begin method basicDisplayBox
-    // JUnitDoclet end method basicDisplayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method draw()
-  /**
-   * Method testDraw is testing draw
-   * @see CH.ifa.draw.samples.pert.PertFigure#draw(java.awt.Graphics)
-   */
-  // JUnitDoclet end javadoc_method draw()
-  public void testDraw() throws Exception {
-    // JUnitDoclet begin method draw
-    // JUnitDoclet end method draw
-  }
-  
-  // JUnitDoclet begin javadoc_method handles()
-  /**
-   * Method testHandles is testing handles
-   * @see CH.ifa.draw.samples.pert.PertFigure#handles()
-   */
-  // JUnitDoclet end javadoc_method handles()
-  public void testHandles() throws Exception {
-    // JUnitDoclet begin method handles
-    // JUnitDoclet end method handles
-  }
-  
-  // JUnitDoclet begin javadoc_method update()
-  /**
-   * Method testUpdate is testing update
-   * @see CH.ifa.draw.samples.pert.PertFigure#update(CH.ifa.draw.framework.FigureChangeEvent)
-   */
-  // JUnitDoclet end javadoc_method update()
-  public void testUpdate() throws Exception {
-    // JUnitDoclet begin method update
-    // JUnitDoclet end method update
-  }
-  
-  // JUnitDoclet begin javadoc_method figureChanged()
-  /**
-   * Method testFigureChanged is testing figureChanged
-   * @see CH.ifa.draw.samples.pert.PertFigure#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-   */
-  // JUnitDoclet end javadoc_method figureChanged()
-  public void testFigureChanged() throws Exception {
-    // JUnitDoclet begin method figureChanged
-    // JUnitDoclet end method figureChanged
-  }
-  
-  // JUnitDoclet begin javadoc_method figureRemoved()
-  /**
-   * Method testFigureRemoved is testing figureRemoved
-   * @see CH.ifa.draw.samples.pert.PertFigure#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-   */
-  // JUnitDoclet end javadoc_method figureRemoved()
-  public void testFigureRemoved() throws Exception {
-    // JUnitDoclet begin method figureRemoved
-    // JUnitDoclet end method figureRemoved
-  }
-  
-  // JUnitDoclet begin javadoc_method notifyPostTasks()
-  /**
-   * Method testNotifyPostTasks is testing notifyPostTasks
-   * @see CH.ifa.draw.samples.pert.PertFigure#notifyPostTasks()
-   */
-  // JUnitDoclet end javadoc_method notifyPostTasks()
-  public void testNotifyPostTasks() throws Exception {
-    // JUnitDoclet begin method notifyPostTasks
-    // JUnitDoclet end method notifyPostTasks
-  }
-  
-  // JUnitDoclet begin javadoc_method updateDurations()
-  /**
-   * Method testUpdateDurations is testing updateDurations
-   * @see CH.ifa.draw.samples.pert.PertFigure#updateDurations()
-   */
-  // JUnitDoclet end javadoc_method updateDurations()
-  public void testUpdateDurations() throws Exception {
-    // JUnitDoclet begin method updateDurations
-    // JUnitDoclet end method updateDurations
-  }
-  
-  // JUnitDoclet begin javadoc_method hasCycle()
-  /**
-   * Method testHasCycle is testing hasCycle
-   * @see CH.ifa.draw.samples.pert.PertFigure#hasCycle(CH.ifa.draw.framework.Figure)
-   */
-  // JUnitDoclet end javadoc_method hasCycle()
-  public void testHasCycle() throws Exception {
-    // JUnitDoclet begin method hasCycle
-    // JUnitDoclet end method hasCycle
-  }
-  
-  // JUnitDoclet begin javadoc_method write()
-  /**
-   * Method testWrite is testing write
-   * @see CH.ifa.draw.samples.pert.PertFigure#write(CH.ifa.draw.util.StorableOutput)
-   */
-  // JUnitDoclet end javadoc_method write()
-  public void testWrite() throws Exception {
-    // JUnitDoclet begin method write
-    // JUnitDoclet end method write
-  }
-  
-  // JUnitDoclet begin javadoc_method writeTasks()
-  /**
-   * Method testWriteTasks is testing writeTasks
-   * @see CH.ifa.draw.samples.pert.PertFigure#writeTasks(CH.ifa.draw.util.StorableOutput, java.util.List)
-   */
-  // JUnitDoclet end javadoc_method writeTasks()
-  public void testWriteTasks() throws Exception {
-    // JUnitDoclet begin method writeTasks
-    // JUnitDoclet end method writeTasks
-  }
-  
-  // JUnitDoclet begin javadoc_method read()
-  /**
-   * Method testRead is testing read
-   * @see CH.ifa.draw.samples.pert.PertFigure#read(CH.ifa.draw.util.StorableInput)
-   */
-  // JUnitDoclet end javadoc_method read()
-  public void testRead() throws Exception {
-    // JUnitDoclet begin method read
-    // JUnitDoclet end method read
-  }
-  
-  // JUnitDoclet begin javadoc_method connectionInsets()
-  /**
-   * Method testConnectionInsets is testing connectionInsets
-   * @see CH.ifa.draw.samples.pert.PertFigure#connectionInsets()
-   */
-  // JUnitDoclet end javadoc_method connectionInsets()
-  public void testConnectionInsets() throws Exception {
-    // JUnitDoclet begin method connectionInsets
-    // JUnitDoclet end method connectionInsets
-  }
-  
-  // JUnitDoclet begin javadoc_method readTasks()
-  /**
-   * Method testReadTasks is testing readTasks
-   * @see CH.ifa.draw.samples.pert.PertFigure#readTasks(CH.ifa.draw.util.StorableInput)
-   */
-  // JUnitDoclet end javadoc_method readTasks()
-  public void testReadTasks() throws Exception {
-    // JUnitDoclet begin method readTasks
-    // JUnitDoclet end method readTasks
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertSuite.java b/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertSuite.java
deleted file mode 100644
index 8f753120a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/samples/pert/PertSuite.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.samples.pert;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite PertSuite
-*/
-// JUnitDoclet end javadoc_class
-public class PertSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.samples.pert");
-
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertFigureCreationToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertFigureTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertDependencyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertApplicationTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.samples.pert.PertAppletTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/AlignCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/AlignCommandTest.java
deleted file mode 100644
index 8e732be77..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/AlignCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.AlignCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase AlignCommandTest is generated by
- * JUnitDoclet to hold the tests for AlignCommand.
- * @see CH.ifa.draw.standard.AlignCommand
- */
-// JUnitDoclet end javadoc_class
-public class AlignCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private AlignCommand aligncommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor AlignCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public AlignCommandTest(String name) {
-		// JUnitDoclet begin method AlignCommandTest
-		super(name);
-		// JUnitDoclet end method AlignCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.AlignCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.AlignCommand(AlignCommand.Alignment.TOPS, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		aligncommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		aligncommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.AlignCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method getAlignment()
-	/**
-	 * Method testGetAlignment is testing getAlignment
-	 * @see CH.ifa.draw.standard.AlignCommand#getAlignment()
-	 */
-	// JUnitDoclet end javadoc_method getAlignment()
-	public void testGetAlignment() throws Exception {
-		// JUnitDoclet begin method getAlignment
-		// JUnitDoclet end method getAlignment
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/standard/AllTests.java
deleted file mode 100644
index 7c27662f4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/AllTests.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.standard");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(AlignCommandTest.class));
-		suite.addTest(new TestSuite(BoxHandleKitTest.class));
-		suite.addTest(new TestSuite(BringToFrontCommandTest.class));
-		suite.addTest(new TestSuite(BufferedUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(ChangeAttributeCommandTest.class));
-		suite.addTest(new TestSuite(ChangeConnectionEndHandleTest.class));
-		suite.addTest(new TestSuite(ChangeConnectionStartHandleTest.class));
-		suite.addTest(new TestSuite(ChopBoxConnectorTest.class));
-		suite.addTest(new TestSuite(ConnectionHandleTest.class));
-		suite.addTest(new TestSuite(ConnectionToolTest.class));
-		suite.addTest(new TestSuite(CopyCommandTest.class));
-		suite.addTest(new TestSuite(CreationToolTest.class));
-		suite.addTest(new TestSuite(CutCommandTest.class));
-		suite.addTest(new TestSuite(DeleteCommandTest.class));
-		suite.addTest(new TestSuite(DeleteFromDrawingVisitorTest.class));
-		suite.addTest(new TestSuite(DragTrackerTest.class));
-		suite.addTest(new TestSuite(DuplicateCommandTest.class));
-		suite.addTest(new TestSuite(FastBufferedUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(FigureAndEnumeratorTest.class));
-		suite.addTest(new TestSuite(FigureChangeAdapterTest.class));
-		suite.addTest(new TestSuite(FigureChangeEventMulticasterTest.class));
-		suite.addTest(new TestSuite(FigureEnumeratorTest.class));
-		suite.addTest(new TestSuite(GridConstrainerTest.class));
-		suite.addTest(new TestSuite(HandleAndEnumeratorTest.class));
-		suite.addTest(new TestSuite(HandleEnumeratorTest.class));
-		suite.addTest(new TestSuite(HandleTrackerTest.class));
-		suite.addTest(new TestSuite(InsertIntoDrawingVisitorTest.class));
-		suite.addTest(new TestSuite(LocatorConnectorTest.class));
-		suite.addTest(new TestSuite(LocatorHandleTest.class));
-		suite.addTest(new TestSuite(NullDrawingViewTest.class));
-		suite.addTest(new TestSuite(NullHandleTest.class));
-		suite.addTest(new TestSuite(NullToolTest.class));
-		suite.addTest(new TestSuite(OffsetLocatorTest.class));
-		suite.addTest(new TestSuite(PasteCommandTest.class));
-		suite.addTest(new TestSuite(PeripheralLocatorTest.class));
-		suite.addTest(new TestSuite(RelativeLocatorTest.class));
-		suite.addTest(new TestSuite(ReverseFigureEnumeratorTest.class));
-		suite.addTest(new TestSuite(SelectAllCommandTest.class));
-		suite.addTest(new TestSuite(SelectAreaTrackerTest.class));
-		suite.addTest(new TestSuite(SelectionToolTest.class));
-		suite.addTest(new TestSuite(SendToBackCommandTest.class));
-		suite.addTest(new TestSuite(SimpleUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(SingleFigureEnumeratorTest.class));
-		suite.addTest(new TestSuite(StandardDrawingTest.class));
-		suite.addTest(new TestSuite(StandardDrawingViewTest.class));
-		suite.addTest(new TestSuite(StandardFigureSelectionTest.class));
-		suite.addTest(new TestSuite(ToggleGridCommandTest.class));
-		suite.addTest(new TestSuite(ToolButtonTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/BoxHandleKitTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/BoxHandleKitTest.java
deleted file mode 100644
index 0e66976ba..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/BoxHandleKitTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.BoxHandleKit;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BoxHandleKitTest is generated by
- * JUnitDoclet to hold the tests for BoxHandleKit.
- * @see CH.ifa.draw.standard.BoxHandleKit
- */
-// JUnitDoclet end javadoc_class
-public class BoxHandleKitTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BoxHandleKit boxhandlekit;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BoxHandleKitTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BoxHandleKitTest(String name) {
-		// JUnitDoclet begin method BoxHandleKitTest
-		super(name);
-		// JUnitDoclet end method BoxHandleKitTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.BoxHandleKit createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.BoxHandleKit();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		boxhandlekit = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		boxhandlekit = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addCornerHandles()
-	/**
-	 * Method testAddCornerHandles is testing addCornerHandles
-	 * @see CH.ifa.draw.standard.BoxHandleKit#addCornerHandles(CH.ifa.draw.framework.Figure, java.util.List)
-	 */
-	// JUnitDoclet end javadoc_method addCornerHandles()
-	public void testAddCornerHandles() throws Exception {
-		// JUnitDoclet begin method addCornerHandles
-		// JUnitDoclet end method addCornerHandles
-	}
-
-	// JUnitDoclet begin javadoc_method addHandles()
-	/**
-	 * Method testAddHandles is testing addHandles
-	 * @see CH.ifa.draw.standard.BoxHandleKit#addHandles(CH.ifa.draw.framework.Figure, java.util.List)
-	 */
-	// JUnitDoclet end javadoc_method addHandles()
-	public void testAddHandles() throws Exception {
-		// JUnitDoclet begin method addHandles
-		// JUnitDoclet end method addHandles
-	}
-
-	// JUnitDoclet begin javadoc_method south()
-	/**
-	 * Method testSouth is testing south
-	 * @see CH.ifa.draw.standard.BoxHandleKit#south(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method south()
-	public void testSouth() throws Exception {
-		// JUnitDoclet begin method south
-		// JUnitDoclet end method south
-	}
-
-	// JUnitDoclet begin javadoc_method southEast()
-	/**
-	 * Method testSouthEast is testing southEast
-	 * @see CH.ifa.draw.standard.BoxHandleKit#southEast(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method southEast()
-	public void testSouthEast() throws Exception {
-		// JUnitDoclet begin method southEast
-		// JUnitDoclet end method southEast
-	}
-
-	// JUnitDoclet begin javadoc_method southWest()
-	/**
-	 * Method testSouthWest is testing southWest
-	 * @see CH.ifa.draw.standard.BoxHandleKit#southWest(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method southWest()
-	public void testSouthWest() throws Exception {
-		// JUnitDoclet begin method southWest
-		// JUnitDoclet end method southWest
-	}
-
-	// JUnitDoclet begin javadoc_method north()
-	/**
-	 * Method testNorth is testing north
-	 * @see CH.ifa.draw.standard.BoxHandleKit#north(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method north()
-	public void testNorth() throws Exception {
-		// JUnitDoclet begin method north
-		// JUnitDoclet end method north
-	}
-
-	// JUnitDoclet begin javadoc_method northEast()
-	/**
-	 * Method testNorthEast is testing northEast
-	 * @see CH.ifa.draw.standard.BoxHandleKit#northEast(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method northEast()
-	public void testNorthEast() throws Exception {
-		// JUnitDoclet begin method northEast
-		// JUnitDoclet end method northEast
-	}
-
-	// JUnitDoclet begin javadoc_method northWest()
-	/**
-	 * Method testNorthWest is testing northWest
-	 * @see CH.ifa.draw.standard.BoxHandleKit#northWest(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method northWest()
-	public void testNorthWest() throws Exception {
-		// JUnitDoclet begin method northWest
-		// JUnitDoclet end method northWest
-	}
-
-	// JUnitDoclet begin javadoc_method east()
-	/**
-	 * Method testEast is testing east
-	 * @see CH.ifa.draw.standard.BoxHandleKit#east(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method east()
-	public void testEast() throws Exception {
-		// JUnitDoclet begin method east
-		// JUnitDoclet end method east
-	}
-
-	// JUnitDoclet begin javadoc_method west()
-	/**
-	 * Method testWest is testing west
-	 * @see CH.ifa.draw.standard.BoxHandleKit#west(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method west()
-	public void testWest() throws Exception {
-		// JUnitDoclet begin method west
-		// JUnitDoclet end method west
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/BringToFrontCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/BringToFrontCommandTest.java
deleted file mode 100644
index 1e1b06f1b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/BringToFrontCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.BringToFrontCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BringToFrontCommandTest is generated by
- * JUnitDoclet to hold the tests for BringToFrontCommand.
- * @see CH.ifa.draw.standard.BringToFrontCommand
- */
-// JUnitDoclet end javadoc_class
-public class BringToFrontCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BringToFrontCommand bringtofrontcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BringToFrontCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BringToFrontCommandTest(String name) {
-		// JUnitDoclet begin method BringToFrontCommandTest
-		super(name);
-		// JUnitDoclet end method BringToFrontCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.BringToFrontCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.BringToFrontCommand("TestBringToFront", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bringtofrontcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bringtofrontcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.BringToFrontCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.BringToFrontCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/BufferedUpdateStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/BufferedUpdateStrategyTest.java
deleted file mode 100644
index a5c90ed89..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/BufferedUpdateStrategyTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.BufferedUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BufferedUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for BufferedUpdateStrategy.
- * @see CH.ifa.draw.standard.BufferedUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class BufferedUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BufferedUpdateStrategy bufferedupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BufferedUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BufferedUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method BufferedUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method BufferedUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.BufferedUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.BufferedUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bufferedupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bufferedupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.BufferedUpdateStrategy#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeAttributeCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ChangeAttributeCommandTest.java
deleted file mode 100644
index 494a5b121..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeAttributeCommandTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Font;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.framework.FigureAttributeConstant;
-import CH.ifa.draw.standard.ChangeAttributeCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChangeAttributeCommandTest is generated by
- * JUnitDoclet to hold the tests for ChangeAttributeCommand.
- * @see CH.ifa.draw.standard.ChangeAttributeCommand
- */
-// JUnitDoclet end javadoc_class
-public class ChangeAttributeCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChangeAttributeCommand changeattributecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChangeAttributeCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChangeAttributeCommandTest(String name) {
-		// JUnitDoclet begin method ChangeAttributeCommandTest
-		super(name);
-		// JUnitDoclet end method ChangeAttributeCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ChangeAttributeCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		FigureAttributeConstant fontStyle = FigureAttributeConstant.FONT_STYLE;
-		return new ChangeAttributeCommand("Bold", fontStyle, new Integer(Font.BOLD), getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		changeattributecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		changeattributecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.ChangeAttributeCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.ChangeAttributeCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionEndHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionEndHandleTest.java
deleted file mode 100644
index 4731bffb8..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionEndHandleTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.standard.ChangeConnectionEndHandle;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChangeConnectionEndHandleTest is generated by
- * JUnitDoclet to hold the tests for ChangeConnectionEndHandle.
- * @see CH.ifa.draw.standard.ChangeConnectionEndHandle
- */
-// JUnitDoclet end javadoc_class
-public class ChangeConnectionEndHandleTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChangeConnectionEndHandle changeconnectionendhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChangeConnectionEndHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChangeConnectionEndHandleTest(String name) {
-		// JUnitDoclet begin method ChangeConnectionEndHandleTest
-		super(name);
-		// JUnitDoclet end method ChangeConnectionEndHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ChangeConnectionEndHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ChangeConnectionEndHandle(new LineConnection());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		changeconnectionendhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		changeconnectionendhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.ChangeConnectionEndHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionStartHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionStartHandleTest.java
deleted file mode 100644
index f7a4642f3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ChangeConnectionStartHandleTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.standard.ChangeConnectionStartHandle;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChangeConnectionStartHandleTest is generated by
- * JUnitDoclet to hold the tests for ChangeConnectionStartHandle.
- * @see CH.ifa.draw.standard.ChangeConnectionStartHandle
- */
-// JUnitDoclet end javadoc_class
-public class ChangeConnectionStartHandleTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChangeConnectionStartHandle changeconnectionstarthandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChangeConnectionStartHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChangeConnectionStartHandleTest(String name) {
-		// JUnitDoclet begin method ChangeConnectionStartHandleTest
-		super(name);
-		// JUnitDoclet end method ChangeConnectionStartHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ChangeConnectionStartHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ChangeConnectionStartHandle(new LineConnection());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		changeconnectionstarthandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		changeconnectionstarthandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.ChangeConnectionStartHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ChopBoxConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ChopBoxConnectorTest.java
deleted file mode 100644
index 72bcef235..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ChopBoxConnectorTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.ChopBoxConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopBoxConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopBoxConnector.
- * @see CH.ifa.draw.standard.ChopBoxConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopBoxConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopBoxConnector chopboxconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopBoxConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopBoxConnectorTest(String name) {
-		// JUnitDoclet begin method ChopBoxConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopBoxConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ChopBoxConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ChopBoxConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		chopboxconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		chopboxconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method findStart()
-	/**
-	 * Method testFindStart is testing findStart
-	 * @see CH.ifa.draw.standard.ChopBoxConnector#findStart(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findStart()
-	public void testFindStart() throws Exception {
-		// JUnitDoclet begin method findStart
-		// JUnitDoclet end method findStart
-	}
-
-	// JUnitDoclet begin javadoc_method findEnd()
-	/**
-	 * Method testFindEnd is testing findEnd
-	 * @see CH.ifa.draw.standard.ChopBoxConnector#findEnd(CH.ifa.draw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findEnd()
-	public void testFindEnd() throws Exception {
-		// JUnitDoclet begin method findEnd
-		// JUnitDoclet end method findEnd
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionHandleTest.java
deleted file mode 100644
index d4bf74916..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionHandleTest.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.ConnectionHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ConnectionHandleTest is generated by
- * JUnitDoclet to hold the tests for ConnectionHandle.
- * @see CH.ifa.draw.standard.ConnectionHandle
- */
-// JUnitDoclet end javadoc_class
-public class ConnectionHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ConnectionHandle connectionhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ConnectionHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ConnectionHandleTest(String name) {
-		// JUnitDoclet begin method ConnectionHandleTest
-		super(name);
-		// JUnitDoclet end method ConnectionHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ConnectionHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ConnectionHandle(new RectangleFigure(new Point(10, 10), new Point(100, 100)), RelativeLocator.east(), new LineConnection());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		connectionhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		connectionhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.standard.ConnectionHandle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.standard.ConnectionHandle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.standard.ConnectionHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.ConnectionHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionToolTest.java
deleted file mode 100644
index 6a2081228..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ConnectionToolTest.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.LineConnection;
-import CH.ifa.draw.standard.ConnectionTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ConnectionToolTest is generated by
- * JUnitDoclet to hold the tests for ConnectionTool.
- * @see CH.ifa.draw.standard.ConnectionTool
- */
-// JUnitDoclet end javadoc_class
-public class ConnectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ConnectionTool connectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ConnectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ConnectionToolTest(String name) {
-		// JUnitDoclet begin method ConnectionToolTest
-		super(name);
-		// JUnitDoclet end method ConnectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ConnectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		LineConnection lineConn = new LineConnection();
-		// todo: lineConn.connectStart();
-		// todo: lineConn.connectEnd();
-		return new CH.ifa.draw.standard.ConnectionTool(getDrawingEditor(), lineConn);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		connectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		connectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.standard.ConnectionTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.ConnectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.ConnectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.ConnectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.standard.ConnectionTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/CopyCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/CopyCommandTest.java
deleted file mode 100644
index 9760f35a6..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/CopyCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.CopyCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CopyCommandTest is generated by
- * JUnitDoclet to hold the tests for CopyCommand.
- * @see CH.ifa.draw.standard.CopyCommand
- */
-// JUnitDoclet end javadoc_class
-public class CopyCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CopyCommand copycommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CopyCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CopyCommandTest(String name) {
-		// JUnitDoclet begin method CopyCommandTest
-		super(name);
-		// JUnitDoclet end method CopyCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.CopyCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.CopyCommand("TestCopy", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		copycommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		copycommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.CopyCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/CreationToolTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/CreationToolTest.java
deleted file mode 100644
index 214bbf108..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/CreationToolTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CreationToolTest is generated by
- * JUnitDoclet to hold the tests for CreationTool.
- * @see CH.ifa.draw.standard.CreationTool
- */
-// JUnitDoclet end javadoc_class
-public class CreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CreationTool creationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CreationToolTest(String name) {
-		// JUnitDoclet begin method CreationToolTest
-		super(name);
-		// JUnitDoclet end method CreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.CreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.CreationTool(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		creationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		creationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.standard.CreationTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.CreationTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.CreationTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.CreationTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/CutCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/CutCommandTest.java
deleted file mode 100644
index 77354fcab..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/CutCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.CutCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CutCommandTest is generated by
- * JUnitDoclet to hold the tests for CutCommand.
- * @see CH.ifa.draw.standard.CutCommand
- */
-// JUnitDoclet end javadoc_class
-public class CutCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CutCommand cutcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CutCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CutCommandTest(String name) {
-		// JUnitDoclet begin method CutCommandTest
-		super(name);
-		// JUnitDoclet end method CutCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.CutCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.CutCommand("TestCut", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		cutcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		cutcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.CutCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.CutCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/DeleteCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/DeleteCommandTest.java
deleted file mode 100644
index 1ae9d186c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/DeleteCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DeleteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DeleteCommandTest is generated by
- * JUnitDoclet to hold the tests for DeleteCommand.
- * @see CH.ifa.draw.standard.DeleteCommand
- */
-// JUnitDoclet end javadoc_class
-public class DeleteCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DeleteCommand deletecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DeleteCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DeleteCommandTest(String name) {
-		// JUnitDoclet begin method DeleteCommandTest
-		super(name);
-		// JUnitDoclet end method DeleteCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.DeleteCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.DeleteCommand("TestDelete", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		deletecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		deletecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.DeleteCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/DeleteFromDrawingVisitorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/DeleteFromDrawingVisitorTest.java
deleted file mode 100644
index 731dab901..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/DeleteFromDrawingVisitorTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DeleteFromDrawingVisitor;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DeleteFromDrawingVisitorTest is generated by
- * JUnitDoclet to hold the tests for DeleteFromDrawingVisitor.
- * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor
- */
-// JUnitDoclet end javadoc_class
-public class DeleteFromDrawingVisitorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DeleteFromDrawingVisitor deletefromdrawingvisitor;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DeleteFromDrawingVisitorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DeleteFromDrawingVisitorTest(String name) {
-		// JUnitDoclet begin method DeleteFromDrawingVisitorTest
-		super(name);
-		// JUnitDoclet end method DeleteFromDrawingVisitorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.DeleteFromDrawingVisitor createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.DeleteFromDrawingVisitor(getDrawingEditor().view().drawing());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		deletefromdrawingvisitor = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		deletefromdrawingvisitor = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigure()
-	/**
-	 * Method testVisitFigure is testing visitFigure
-	 * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor#visitFigure(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method visitFigure()
-	public void testVisitFigure() throws Exception {
-		// JUnitDoclet begin method visitFigure
-		// JUnitDoclet end method visitFigure
-	}
-
-	// JUnitDoclet begin javadoc_method visitHandle()
-	/**
-	 * Method testVisitHandle is testing visitHandle
-	 * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor#visitHandle(CH.ifa.draw.framework.Handle)
-	 */
-	// JUnitDoclet end javadoc_method visitHandle()
-	public void testVisitHandle() throws Exception {
-		// JUnitDoclet begin method visitHandle
-		// JUnitDoclet end method visitHandle
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigureChangeListener()
-	/**
-	 * Method testVisitFigureChangeListener is testing visitFigureChangeListener
-	 * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor#visitFigureChangeListener(CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method visitFigureChangeListener()
-	public void testVisitFigureChangeListener() throws Exception {
-		// JUnitDoclet begin method visitFigureChangeListener
-		// JUnitDoclet end method visitFigureChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method getDeletedFigures()
-	/**
-	 * Method testGetDeletedFigures is testing getDeletedFigures
-	 * @see CH.ifa.draw.standard.DeleteFromDrawingVisitor#getDeletedFigures()
-	 */
-	// JUnitDoclet end javadoc_method getDeletedFigures()
-	public void testGetDeletedFigures() throws Exception {
-		// JUnitDoclet begin method getDeletedFigures
-		// JUnitDoclet end method getDeletedFigures
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/DragTrackerTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/DragTrackerTest.java
deleted file mode 100644
index 1043b1371..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/DragTrackerTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.DragTracker;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DragTrackerTest is generated by
- * JUnitDoclet to hold the tests for DragTracker.
- * @see CH.ifa.draw.standard.DragTracker
- */
-// JUnitDoclet end javadoc_class
-public class DragTrackerTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DragTracker dragtracker;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DragTrackerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DragTrackerTest(String name) {
-		// JUnitDoclet begin method DragTrackerTest
-		super(name);
-		// JUnitDoclet end method DragTrackerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.DragTracker createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.DragTracker(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		dragtracker = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		dragtracker = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.DragTracker#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.DragTracker#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.standard.DragTracker#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.standard.DragTracker#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/DuplicateCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/DuplicateCommandTest.java
deleted file mode 100644
index a72fd561c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/DuplicateCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DuplicateCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DuplicateCommandTest is generated by
- * JUnitDoclet to hold the tests for DuplicateCommand.
- * @see CH.ifa.draw.standard.DuplicateCommand
- */
-// JUnitDoclet end javadoc_class
-public class DuplicateCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DuplicateCommand duplicatecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DuplicateCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DuplicateCommandTest(String name) {
-		// JUnitDoclet begin method DuplicateCommandTest
-		super(name);
-		// JUnitDoclet end method DuplicateCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.DuplicateCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.DuplicateCommand("TestDuplicate", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		duplicatecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		duplicatecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.DuplicateCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FastBufferedUpdateStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FastBufferedUpdateStrategyTest.java
deleted file mode 100644
index 425e6ec5a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FastBufferedUpdateStrategyTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.FastBufferedUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FastBufferedUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for FastBufferedUpdateStrategy.
- * @see CH.ifa.draw.standard.FastBufferedUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class FastBufferedUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FastBufferedUpdateStrategy fastbufferedupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FastBufferedUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FastBufferedUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method FastBufferedUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method FastBufferedUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FastBufferedUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.FastBufferedUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		fastbufferedupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		fastbufferedupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.FastBufferedUpdateStrategy#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FigureAndEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FigureAndEnumeratorTest.java
deleted file mode 100644
index 21cdb5c0f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FigureAndEnumeratorTest.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.FigureAndEnumerator;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureAndEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for FigureAndEnumerator.
- * @see CH.ifa.draw.standard.FigureAndEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class FigureAndEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureAndEnumerator figureandenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureAndEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureAndEnumeratorTest(String name) {
-		// JUnitDoclet begin method FigureAndEnumeratorTest
-		super(name);
-		// JUnitDoclet end method FigureAndEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FigureAndEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l1 = CollectionsFactory.current().createList();
-		l1.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l1.add(new PolyLineFigure(20, 20));
-		FigureEnumerator enum1 = new FigureEnumerator(l1);
-
-		List l2 = CollectionsFactory.current().createList();
-		l2.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l2.add(new PolyLineFigure(20, 20));
-		FigureEnumerator enum2 = new FigureEnumerator(l2);
-		return new CH.ifa.draw.standard.FigureAndEnumerator(enum1, enum2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureandenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureandenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see CH.ifa.draw.standard.FigureAndEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see CH.ifa.draw.standard.FigureAndEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.FigureAndEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeAdapterTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeAdapterTest.java
deleted file mode 100644
index 5520b8684..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeAdapterTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.FigureChangeAdapter;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureChangeAdapterTest is generated by
- * JUnitDoclet to hold the tests for FigureChangeAdapter.
- * @see CH.ifa.draw.standard.FigureChangeAdapter
- */
-// JUnitDoclet end javadoc_class
-public class FigureChangeAdapterTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureChangeAdapter figurechangeadapter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureChangeAdapterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureChangeAdapterTest(String name) {
-		// JUnitDoclet begin method FigureChangeAdapterTest
-		super(name);
-		// JUnitDoclet end method FigureChangeAdapterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FigureChangeAdapter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.FigureChangeAdapter();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figurechangeadapter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figurechangeadapter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.standard.FigureChangeAdapter#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeEventMulticasterTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeEventMulticasterTest.java
deleted file mode 100644
index 065cc88f7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FigureChangeEventMulticasterTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.util.EventListener;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.TextFigure;
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.standard.FigureChangeEventMulticaster;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureChangeEventMulticasterTest is generated by
- * JUnitDoclet to hold the tests for FigureChangeEventMulticaster.
- * @see CH.ifa.draw.standard.FigureChangeEventMulticaster
- */
-// JUnitDoclet end javadoc_class
-public class FigureChangeEventMulticasterTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureChangeEventMulticaster figurechangeeventmulticaster;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureChangeEventMulticasterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureChangeEventMulticasterTest(String name) {
-		// JUnitDoclet begin method FigureChangeEventMulticasterTest
-		super(name);
-		// JUnitDoclet end method FigureChangeEventMulticasterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FigureChangeEventMulticaster createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		EventListener l1 = new TextFigure();
-		Drawing l2 = getDrawingEditor().view().drawing();
-		return new CH.ifa.draw.standard.FigureChangeEventMulticaster(l1, l2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		figurechangeeventmulticaster = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figurechangeeventmulticaster = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureRequestRemove(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#figureRemoved(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#add(CH.ifa.draw.framework.FigureChangeListener, CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.standard.FigureChangeEventMulticaster#remove(CH.ifa.draw.framework.FigureChangeListener, CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/FigureEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/FigureEnumeratorTest.java
deleted file mode 100644
index 0e84222cf..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/FigureEnumeratorTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for FigureEnumerator.
- * @see CH.ifa.draw.standard.FigureEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class FigureEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureEnumerator figureenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureEnumeratorTest(String name) {
-		// JUnitDoclet begin method FigureEnumeratorTest
-		super(name);
-		// JUnitDoclet end method FigureEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.FigureEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l.add(new PolyLineFigure(20, 20));
-		return new CH.ifa.draw.standard.FigureEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see CH.ifa.draw.standard.FigureEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see CH.ifa.draw.standard.FigureEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method getEmptyEnumeration()
-	/**
-	 * Method testGetEmptyEnumeration is testing getEmptyEnumeration
-	 * @see CH.ifa.draw.standard.FigureEnumerator#getEmptyEnumeration()
-	 */
-	// JUnitDoclet end javadoc_method getEmptyEnumeration()
-	public void testGetEmptyEnumeration() throws Exception {
-		// JUnitDoclet begin method getEmptyEnumeration
-		// JUnitDoclet end method getEmptyEnumeration
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.FigureEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/GridConstrainerTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/GridConstrainerTest.java
deleted file mode 100644
index 0305c113e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/GridConstrainerTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.GridConstrainer;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GridConstrainerTest is generated by
- * JUnitDoclet to hold the tests for GridConstrainer.
- * @see CH.ifa.draw.standard.GridConstrainer
- */
-// JUnitDoclet end javadoc_class
-public class GridConstrainerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private GridConstrainer gridconstrainer;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GridConstrainerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GridConstrainerTest(String name) {
-		// JUnitDoclet begin method GridConstrainerTest
-		super(name);
-		// JUnitDoclet end method GridConstrainerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.GridConstrainer createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.GridConstrainer(5, 5);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		gridconstrainer = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		gridconstrainer = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method constrainPoint()
-	/**
-	 * Method testConstrainPoint is testing constrainPoint
-	 * @see CH.ifa.draw.standard.GridConstrainer#constrainPoint(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method constrainPoint()
-	public void testConstrainPoint() throws Exception {
-		// JUnitDoclet begin method constrainPoint
-		// JUnitDoclet end method constrainPoint
-	}
-
-	// JUnitDoclet begin javadoc_method getStepX()
-	/**
-	 * Method testGetStepX is testing getStepX
-	 * @see CH.ifa.draw.standard.GridConstrainer#getStepX()
-	 */
-	// JUnitDoclet end javadoc_method getStepX()
-	public void testGetStepX() throws Exception {
-		// JUnitDoclet begin method getStepX
-		// JUnitDoclet end method getStepX
-	}
-
-	// JUnitDoclet begin javadoc_method getStepY()
-	/**
-	 * Method testGetStepY is testing getStepY
-	 * @see CH.ifa.draw.standard.GridConstrainer#getStepY()
-	 */
-	// JUnitDoclet end javadoc_method getStepY()
-	public void testGetStepY() throws Exception {
-		// JUnitDoclet begin method getStepY
-		// JUnitDoclet end method getStepY
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/HandleAndEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/HandleAndEnumeratorTest.java
deleted file mode 100644
index b8df844b4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/HandleAndEnumeratorTest.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.HandleAndEnumerator;
-import CH.ifa.draw.standard.HandleEnumerator;
-import CH.ifa.draw.standard.NullHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HandleAndEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for HandleAndEnumerator.
- * @see CH.ifa.draw.standard.HandleAndEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class HandleAndEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private HandleAndEnumerator handleandenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HandleAndEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HandleAndEnumeratorTest(String name) {
-		// JUnitDoclet begin method HandleAndEnumeratorTest
-		super(name);
-		// JUnitDoclet end method HandleAndEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.HandleAndEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		RectangleFigure figure1 = new RectangleFigure(new Point(15, 15), new Point(20, 20));
-		List l1 = CollectionsFactory.current().createList();
-		l1.add(new NullHandle(figure1, RelativeLocator.north()));
-		l1.add(new NullHandle(figure1, RelativeLocator.north()));
-		HandleEnumerator handleEnum1 = new HandleEnumerator(l1);
-
-		RectangleFigure figure2 = new RectangleFigure(new Point(55, 55), new Point(70, 70));
-		List l2 = CollectionsFactory.current().createList();
-		l2.add(new NullHandle(figure2, RelativeLocator.north()));
-		l2.add(new NullHandle(figure2, RelativeLocator.north()));
-		HandleEnumerator handleEnum2 = new HandleEnumerator(l2);
-		return new CH.ifa.draw.standard.HandleAndEnumerator(handleEnum1, handleEnum2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		handleandenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		handleandenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method nextHandle()
-	/**
-	 * Method testNextHandle is testing nextHandle
-	 * @see CH.ifa.draw.standard.HandleAndEnumerator#nextHandle()
-	 */
-	// JUnitDoclet end javadoc_method nextHandle()
-	public void testNextHandle() throws Exception {
-		// JUnitDoclet begin method nextHandle
-		// JUnitDoclet end method nextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextHandle()
-	/**
-	 * Method testHasNextHandle is testing hasNextHandle
-	 * @see CH.ifa.draw.standard.HandleAndEnumerator#hasNextHandle()
-	 */
-	// JUnitDoclet end javadoc_method hasNextHandle()
-	public void testHasNextHandle() throws Exception {
-		// JUnitDoclet begin method hasNextHandle
-		// JUnitDoclet end method hasNextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method toList()
-	/**
-	 * Method testToList is testing toList
-	 * @see CH.ifa.draw.standard.HandleAndEnumerator#toList()
-	 */
-	// JUnitDoclet end javadoc_method toList()
-	public void testToList() throws Exception {
-		// JUnitDoclet begin method toList
-		// JUnitDoclet end method toList
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.HandleAndEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/HandleEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/HandleEnumeratorTest.java
deleted file mode 100644
index 632429247..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/HandleEnumeratorTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.HandleEnumerator;
-import CH.ifa.draw.standard.NullHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HandleEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for HandleEnumerator.
- * @see CH.ifa.draw.standard.HandleEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class HandleEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private HandleEnumerator handleenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HandleEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HandleEnumeratorTest(String name) {
-		// JUnitDoclet begin method HandleEnumeratorTest
-		super(name);
-		// JUnitDoclet end method HandleEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.HandleEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		RectangleFigure figure = new RectangleFigure(new Point(15, 15), new Point(20, 20));
-		List l = CollectionsFactory.current().createList();
-		l.add(new NullHandle(figure, RelativeLocator.north()));
-		l.add(new NullHandle(figure, RelativeLocator.north()));
-		return new CH.ifa.draw.standard.HandleEnumerator(l);
-		//return (HandleEnumerator)figure.handles();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		handleenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		handleenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextHandle()
-	/**
-	 * Method testHasNextHandle is testing hasNextHandle
-	 * @see CH.ifa.draw.standard.HandleEnumerator#hasNextHandle()
-	 */
-	// JUnitDoclet end javadoc_method hasNextHandle()
-	public void testHasNextHandle() throws Exception {
-		// JUnitDoclet begin method hasNextHandle
-		// JUnitDoclet end method hasNextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method nextHandle()
-	/**
-	 * Method testNextHandle is testing nextHandle
-	 * @see CH.ifa.draw.standard.HandleEnumerator#nextHandle()
-	 */
-	// JUnitDoclet end javadoc_method nextHandle()
-	public void testNextHandle() throws Exception {
-		// JUnitDoclet begin method nextHandle
-		// JUnitDoclet end method nextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method toList()
-	/**
-	 * Method testToList is testing toList
-	 * @see CH.ifa.draw.standard.HandleEnumerator#toList()
-	 */
-	// JUnitDoclet end javadoc_method toList()
-	public void testToList() throws Exception {
-		// JUnitDoclet begin method toList
-		// JUnitDoclet end method toList
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.HandleEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method getEmptyEnumeration()
-	/**
-	 * Method testGetEmptyEnumeration is testing getEmptyEnumeration
-	 * @see CH.ifa.draw.standard.HandleEnumerator#getEmptyEnumeration()
-	 */
-	// JUnitDoclet end javadoc_method getEmptyEnumeration()
-	public void testGetEmptyEnumeration() throws Exception {
-		// JUnitDoclet begin method getEmptyEnumeration
-		// JUnitDoclet end method getEmptyEnumeration
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/HandleTrackerTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/HandleTrackerTest.java
deleted file mode 100644
index b523d8652..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/HandleTrackerTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.Handle;
-import CH.ifa.draw.standard.HandleTracker;
-import CH.ifa.draw.standard.NullHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HandleTrackerTest is generated by
- * JUnitDoclet to hold the tests for HandleTracker.
- * @see CH.ifa.draw.standard.HandleTracker
- */
-// JUnitDoclet end javadoc_class
-public class HandleTrackerTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private HandleTracker handletracker;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HandleTrackerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HandleTrackerTest(String name) {
-		// JUnitDoclet begin method HandleTrackerTest
-		super(name);
-		// JUnitDoclet end method HandleTrackerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.HandleTracker createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Handle handle = new NullHandle(new RectangleFigure(new Point(10, 10), new Point(40, 40)), RelativeLocator.north());
-		return new CH.ifa.draw.standard.HandleTracker(getDrawingEditor(), handle);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		handletracker = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		handletracker = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.HandleTracker#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.HandleTracker#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.HandleTracker#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.standard.HandleTracker#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/InsertIntoDrawingVisitorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/InsertIntoDrawingVisitorTest.java
deleted file mode 100644
index c5a24a94c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/InsertIntoDrawingVisitorTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.InsertIntoDrawingVisitor;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase InsertIntoDrawingVisitorTest is generated by
- * JUnitDoclet to hold the tests for InsertIntoDrawingVisitor.
- * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor
- */
-// JUnitDoclet end javadoc_class
-public class InsertIntoDrawingVisitorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private InsertIntoDrawingVisitor insertintodrawingvisitor;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor InsertIntoDrawingVisitorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public InsertIntoDrawingVisitorTest(String name) {
-		// JUnitDoclet begin method InsertIntoDrawingVisitorTest
-		super(name);
-		// JUnitDoclet end method InsertIntoDrawingVisitorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.InsertIntoDrawingVisitor createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.InsertIntoDrawingVisitor(getDrawingEditor().view().drawing());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		insertintodrawingvisitor = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		insertintodrawingvisitor = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigure()
-	/**
-	 * Method testVisitFigure is testing visitFigure
-	 * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor#visitFigure(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method visitFigure()
-	public void testVisitFigure() throws Exception {
-		// JUnitDoclet begin method visitFigure
-		// JUnitDoclet end method visitFigure
-	}
-
-	// JUnitDoclet begin javadoc_method visitHandle()
-	/**
-	 * Method testVisitHandle is testing visitHandle
-	 * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor#visitHandle(CH.ifa.draw.framework.Handle)
-	 */
-	// JUnitDoclet end javadoc_method visitHandle()
-	public void testVisitHandle() throws Exception {
-		// JUnitDoclet begin method visitHandle
-		// JUnitDoclet end method visitHandle
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigureChangeListener()
-	/**
-	 * Method testVisitFigureChangeListener is testing visitFigureChangeListener
-	 * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor#visitFigureChangeListener(CH.ifa.draw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method visitFigureChangeListener()
-	public void testVisitFigureChangeListener() throws Exception {
-		// JUnitDoclet begin method visitFigureChangeListener
-		// JUnitDoclet end method visitFigureChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method getInsertedFigures()
-	/**
-	 * Method testGetInsertedFigures is testing getInsertedFigures
-	 * @see CH.ifa.draw.standard.InsertIntoDrawingVisitor#getInsertedFigures()
-	 */
-	// JUnitDoclet end javadoc_method getInsertedFigures()
-	public void testGetInsertedFigures() throws Exception {
-		// JUnitDoclet begin method getInsertedFigures
-		// JUnitDoclet end method getInsertedFigures
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/LocatorConnectorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/LocatorConnectorTest.java
deleted file mode 100644
index 348b5bc2a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/LocatorConnectorTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.LocatorConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LocatorConnectorTest is generated by
- * JUnitDoclet to hold the tests for LocatorConnector.
- * @see CH.ifa.draw.standard.LocatorConnector
- */
-// JUnitDoclet end javadoc_class
-public class LocatorConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LocatorConnector locatorconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LocatorConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LocatorConnectorTest(String name) {
-		// JUnitDoclet begin method LocatorConnectorTest
-		super(name);
-		// JUnitDoclet end method LocatorConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.LocatorConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.LocatorConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		locatorconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		locatorconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.standard.LocatorConnector#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.standard.LocatorConnector#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.LocatorConnector#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.standard.LocatorConnector#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.standard.LocatorConnector#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method getLocator()
-	/**
-	 * Method testGetLocator is testing getLocator
-	 * @see CH.ifa.draw.standard.LocatorConnector#getLocator()
-	 */
-	// JUnitDoclet end javadoc_method getLocator()
-	public void testGetLocator() throws Exception {
-		// JUnitDoclet begin method getLocator
-		// JUnitDoclet end method getLocator
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/LocatorHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/LocatorHandleTest.java
deleted file mode 100644
index 128aa9eb4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/LocatorHandleTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.LocatorHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LocatorHandleTest is generated by
- * JUnitDoclet to hold the tests for LocatorHandle.
- * @see CH.ifa.draw.standard.LocatorHandle
- */
-// JUnitDoclet end javadoc_class
-public class LocatorHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LocatorHandle locatorhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LocatorHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LocatorHandleTest(String name) {
-		// JUnitDoclet begin method LocatorHandleTest
-		super(name);
-		// JUnitDoclet end method LocatorHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.LocatorHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.LocatorHandle(new RectangleFigure(new Point(), new Point()), new RelativeLocator(1.0, 2.0));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		locatorhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		locatorhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getLocator()
-	/**
-	 * Method testGetLocator is testing getLocator
-	 * @see CH.ifa.draw.standard.LocatorHandle#getLocator()
-	 */
-	// JUnitDoclet end javadoc_method getLocator()
-	public void testGetLocator() throws Exception {
-		// JUnitDoclet begin method getLocator
-		// JUnitDoclet end method getLocator
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.LocatorHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/NullDrawingViewTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/NullDrawingViewTest.java
deleted file mode 100644
index ce208c43b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/NullDrawingViewTest.java
+++ /dev/null
@@ -1,650 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.NullDrawingView;
-import CH.ifa.draw.standard.SimpleUpdateStrategy;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullDrawingViewTest is generated by
- * JUnitDoclet to hold the tests for NullDrawingView.
- * @see CH.ifa.draw.standard.NullDrawingView
- */
-// JUnitDoclet end javadoc_class
-public class NullDrawingViewTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullDrawingView nulldrawingview;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullDrawingViewTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullDrawingViewTest(String name) {
-		// JUnitDoclet begin method NullDrawingViewTest
-		super(name);
-		// JUnitDoclet end method NullDrawingViewTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.NullDrawingView createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return (NullDrawingView)NullDrawingView.getManagedDrawingView(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nulldrawingview = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nulldrawingview = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setEditor()
-	/**
-	 * Method testSetEditor is testing setEditor
-	 * @see CH.ifa.draw.standard.NullDrawingView#setEditor(CH.ifa.draw.framework.DrawingEditor)
-	 */
-	// JUnitDoclet end javadoc_method setEditor()
-	public void testSetEditor() throws Exception {
-		// JUnitDoclet begin method setEditor
-		// JUnitDoclet end method setEditor
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see CH.ifa.draw.standard.NullDrawingView#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method drawing()
-	/**
-	 * Method testDrawing is testing drawing
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawing()
-	 */
-	// JUnitDoclet end javadoc_method drawing()
-	public void testDrawing() throws Exception {
-		// JUnitDoclet begin method drawing
-		// JUnitDoclet end method drawing
-	}
-
-	// JUnitDoclet begin javadoc_method setDrawing()
-	/**
-	 * Method testSetDrawing is testing setDrawing
-	 * @see CH.ifa.draw.standard.NullDrawingView#setDrawing(CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method setDrawing()
-	public void testSetDrawing() throws Exception {
-		// JUnitDoclet begin method setDrawing
-		// JUnitDoclet end method setDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method editor()
-	/**
-	 * Method testEditor is testing editor
-	 * @see CH.ifa.draw.standard.NullDrawingView#editor()
-	 */
-	// JUnitDoclet end javadoc_method editor()
-	public void testEditor() throws Exception {
-		// JUnitDoclet begin method editor
-		// JUnitDoclet end method editor
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.standard.NullDrawingView#add(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.standard.NullDrawingView#remove(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see CH.ifa.draw.standard.NullDrawingView#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method getSize()
-	/**
-	 * Method testGetSize is testing getSize
-	 * @see CH.ifa.draw.standard.NullDrawingView#getSize()
-	 */
-	// JUnitDoclet end javadoc_method getSize()
-	public void testGetSize() throws Exception {
-		// JUnitDoclet begin method getSize
-		// JUnitDoclet end method getSize
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see CH.ifa.draw.standard.NullDrawingView#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.standard.NullDrawingView#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method setDisplayUpdate()
-	/**
-	 * Method testSetGetDisplayUpdate is testing setDisplayUpdate
-	 * and getDisplayUpdate together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.NullDrawingView#setDisplayUpdate(CH.ifa.draw.framework.Painter)
-	 * @see CH.ifa.draw.standard.NullDrawingView#getDisplayUpdate()
-	 */
-	// JUnitDoclet end javadoc_method setDisplayUpdate()
-	public void testSetGetDisplayUpdate() throws Exception {
-		// JUnitDoclet begin method setDisplayUpdate getDisplayUpdate
-		CH.ifa.draw.framework.Painter[] tests = { new SimpleUpdateStrategy(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			nulldrawingview.setDisplayUpdate(tests[i]);
-			assertEquals(tests[i], nulldrawingview.getDisplayUpdate());
-		}
-		// JUnitDoclet end method setDisplayUpdate getDisplayUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method selection()
-	/**
-	 * Method testSelection is testing selection
-	 * @see CH.ifa.draw.standard.NullDrawingView#selection()
-	 */
-	// JUnitDoclet end javadoc_method selection()
-	public void testSelection() throws Exception {
-		// JUnitDoclet begin method selection
-		// JUnitDoclet end method selection
-	}
-
-	// JUnitDoclet begin javadoc_method selectionZOrdered()
-	/**
-	 * Method testSelectionZOrdered is testing selectionZOrdered
-	 * @see CH.ifa.draw.standard.NullDrawingView#selectionZOrdered()
-	 */
-	// JUnitDoclet end javadoc_method selectionZOrdered()
-	public void testSelectionZOrdered() throws Exception {
-		// JUnitDoclet begin method selectionZOrdered
-		// JUnitDoclet end method selectionZOrdered
-	}
-
-	// JUnitDoclet begin javadoc_method selectionCount()
-	/**
-	 * Method testSelectionCount is testing selectionCount
-	 * @see CH.ifa.draw.standard.NullDrawingView#selectionCount()
-	 */
-	// JUnitDoclet end javadoc_method selectionCount()
-	public void testSelectionCount() throws Exception {
-		// JUnitDoclet begin method selectionCount
-		// JUnitDoclet end method selectionCount
-	}
-
-	// JUnitDoclet begin javadoc_method isFigureSelected()
-	/**
-	 * Method testIsFigureSelected is testing isFigureSelected
-	 * @see CH.ifa.draw.standard.NullDrawingView#isFigureSelected(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method isFigureSelected()
-	public void testIsFigureSelected() throws Exception {
-		// JUnitDoclet begin method isFigureSelected
-		// JUnitDoclet end method isFigureSelected
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelection()
-	/**
-	 * Method testAddToSelection is testing addToSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#addToSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method addToSelection()
-	public void testAddToSelection() throws Exception {
-		// JUnitDoclet begin method addToSelection
-		// JUnitDoclet end method addToSelection
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelectionAll()
-	/**
-	 * Method testAddToSelectionAll is testing addToSelectionAll
-	 * @see CH.ifa.draw.standard.NullDrawingView#addToSelectionAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addToSelectionAll()
-	public void testAddToSelectionAll() throws Exception {
-		// JUnitDoclet begin method addToSelectionAll
-		// JUnitDoclet end method addToSelectionAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromSelection()
-	/**
-	 * Method testRemoveFromSelection is testing removeFromSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#removeFromSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method removeFromSelection()
-	public void testRemoveFromSelection() throws Exception {
-		// JUnitDoclet begin method removeFromSelection
-		// JUnitDoclet end method removeFromSelection
-	}
-
-	// JUnitDoclet begin javadoc_method toggleSelection()
-	/**
-	 * Method testToggleSelection is testing toggleSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#toggleSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method toggleSelection()
-	public void testToggleSelection() throws Exception {
-		// JUnitDoclet begin method toggleSelection
-		// JUnitDoclet end method toggleSelection
-	}
-
-	// JUnitDoclet begin javadoc_method clearSelection()
-	/**
-	 * Method testClearSelection is testing clearSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#clearSelection()
-	 */
-	// JUnitDoclet end javadoc_method clearSelection()
-	public void testClearSelection() throws Exception {
-		// JUnitDoclet begin method clearSelection
-		// JUnitDoclet end method clearSelection
-	}
-
-	// JUnitDoclet begin javadoc_method getFigureSelection()
-	/**
-	 * Method testGetFigureSelection is testing getFigureSelection
-	 * @see CH.ifa.draw.standard.NullDrawingView#getFigureSelection()
-	 */
-	// JUnitDoclet end javadoc_method getFigureSelection()
-	public void testGetFigureSelection() throws Exception {
-		// JUnitDoclet begin method getFigureSelection
-		// JUnitDoclet end method getFigureSelection
-	}
-
-	// JUnitDoclet begin javadoc_method findHandle()
-	/**
-	 * Method testFindHandle is testing findHandle
-	 * @see CH.ifa.draw.standard.NullDrawingView#findHandle(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findHandle()
-	public void testFindHandle() throws Exception {
-		// JUnitDoclet begin method findHandle
-		// JUnitDoclet end method findHandle
-	}
-
-	// JUnitDoclet begin javadoc_method lastClick()
-	/**
-	 * Method testLastClick is testing lastClick
-	 * @see CH.ifa.draw.standard.NullDrawingView#lastClick()
-	 */
-	// JUnitDoclet end javadoc_method lastClick()
-	public void testLastClick() throws Exception {
-		// JUnitDoclet begin method lastClick
-		// JUnitDoclet end method lastClick
-	}
-
-	// JUnitDoclet begin javadoc_method setConstrainer()
-	/**
-	 * NullDrawingView.setConstrainer is a no-op.
-	 *   
-	 * @see CH.ifa.draw.standard.NullDrawingView#setConstrainer(CH.ifa.draw.framework.PointConstrainer)
-	 * @see CH.ifa.draw.standard.NullDrawingView#getConstrainer()
-	 */
-	// JUnitDoclet end javadoc_method setConstrainer()
-	public void testSetGetConstrainer() throws Exception {
-		// JUnitDoclet begin method setConstrainer getConstrainer
-		// Do nothing: NullDrawingView.setConstrainer is a no-op.
-		// JUnitDoclet end method setConstrainer getConstrainer
-	}
-
-	// JUnitDoclet begin javadoc_method checkDamage()
-	/**
-	 * Method testCheckDamage is testing checkDamage
-	 * @see CH.ifa.draw.standard.NullDrawingView#checkDamage()
-	 */
-	// JUnitDoclet end javadoc_method checkDamage()
-	public void testCheckDamage() throws Exception {
-		// JUnitDoclet begin method checkDamage
-		// JUnitDoclet end method checkDamage
-	}
-
-	// JUnitDoclet begin javadoc_method repairDamage()
-	/**
-	 * Method testRepairDamage is testing repairDamage
-	 * @see CH.ifa.draw.standard.NullDrawingView#repairDamage()
-	 */
-	// JUnitDoclet end javadoc_method repairDamage()
-	public void testRepairDamage() throws Exception {
-		// JUnitDoclet begin method repairDamage
-		// JUnitDoclet end method repairDamage
-	}
-
-	// JUnitDoclet begin javadoc_method paint()
-	/**
-	 * Method testPaint is testing paint
-	 * @see CH.ifa.draw.standard.NullDrawingView#paint(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paint()
-	public void testPaint() throws Exception {
-		// JUnitDoclet begin method paint
-		// JUnitDoclet end method paint
-	}
-
-	// JUnitDoclet begin javadoc_method createImage()
-	/**
-	 * Method testCreateImage is testing createImage
-	 * @see CH.ifa.draw.standard.NullDrawingView#createImage(int, int)
-	 */
-	// JUnitDoclet end javadoc_method createImage()
-	public void testCreateImage() throws Exception {
-		// JUnitDoclet begin method createImage
-		// JUnitDoclet end method createImage
-	}
-
-	// JUnitDoclet begin javadoc_method getGraphics()
-	/**
-	 * Method testGetGraphics is testing getGraphics
-	 * @see CH.ifa.draw.standard.NullDrawingView#getGraphics()
-	 */
-	// JUnitDoclet end javadoc_method getGraphics()
-	public void testGetGraphics() throws Exception {
-		// JUnitDoclet begin method getGraphics
-		// JUnitDoclet end method getGraphics
-	}
-
-	// JUnitDoclet begin javadoc_method setBackground()
-	/**
-	 * Method testSetGetBackground is testing setBackground
-	 * and getBackground together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.NullDrawingView#setBackground(java.awt.Color)
-	 * @see CH.ifa.draw.standard.NullDrawingView#getBackground()
-	 */
-	// JUnitDoclet end javadoc_method setBackground()
-	public void testSetGetBackground() throws Exception {
-		// JUnitDoclet begin method setBackground getBackground
-		java.awt.Color[] tests = { java.awt.Color.BLACK, null };
-
-		for (int i = 0; i < tests.length; i++) {
-			nulldrawingview.setBackground(tests[i]);
-			assertEquals(tests[i], nulldrawingview.getBackground());
-		}
-		// JUnitDoclet end method setBackground getBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawAll()
-	/**
-	 * Method testDrawAll is testing drawAll
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawAll(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawAll()
-	public void testDrawAll() throws Exception {
-		// JUnitDoclet begin method drawAll
-		// JUnitDoclet end method drawAll
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.NullDrawingView#draw(java.awt.Graphics, CH.ifa.draw.framework.FigureEnumeration)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method drawHandles()
-	/**
-	 * Method testDrawHandles is testing drawHandles
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawHandles(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawHandles()
-	public void testDrawHandles() throws Exception {
-		// JUnitDoclet begin method drawHandles
-		// JUnitDoclet end method drawHandles
-	}
-
-	// JUnitDoclet begin javadoc_method drawDrawing()
-	/**
-	 * Method testDrawDrawing is testing drawDrawing
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawDrawing(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawDrawing()
-	public void testDrawDrawing() throws Exception {
-		// JUnitDoclet begin method drawDrawing
-		// JUnitDoclet end method drawDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method setCursor()
-	/**
-	 * Method testSetCursor is testing setCursor
-	 * @see CH.ifa.draw.standard.NullDrawingView#setCursor(java.awt.Cursor)
-	 */
-	// JUnitDoclet end javadoc_method setCursor()
-	public void testSetCursor() throws Exception {
-		// JUnitDoclet begin method setCursor
-		// JUnitDoclet end method setCursor
-	}
-
-	// JUnitDoclet begin javadoc_method freezeView()
-	/**
-	 * Method testFreezeView is testing freezeView
-	 * @see CH.ifa.draw.standard.NullDrawingView#freezeView()
-	 */
-	// JUnitDoclet end javadoc_method freezeView()
-	public void testFreezeView() throws Exception {
-		// JUnitDoclet begin method freezeView
-		// JUnitDoclet end method freezeView
-	}
-
-	// JUnitDoclet begin javadoc_method unfreezeView()
-	/**
-	 * Method testUnfreezeView is testing unfreezeView
-	 * @see CH.ifa.draw.standard.NullDrawingView#unfreezeView()
-	 */
-	// JUnitDoclet end javadoc_method unfreezeView()
-	public void testUnfreezeView() throws Exception {
-		// JUnitDoclet begin method unfreezeView
-		// JUnitDoclet end method unfreezeView
-	}
-
-	// JUnitDoclet begin javadoc_method addFigureSelectionListener()
-	/**
-	 * Method testAddFigureSelectionListener is testing addFigureSelectionListener
-	 * @see CH.ifa.draw.standard.NullDrawingView#addFigureSelectionListener(CH.ifa.draw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method addFigureSelectionListener()
-	public void testAddFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method addFigureSelectionListener
-		// JUnitDoclet end method addFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeFigureSelectionListener()
-	/**
-	 * Method testRemoveFigureSelectionListener is testing removeFigureSelectionListener
-	 * @see CH.ifa.draw.standard.NullDrawingView#removeFigureSelectionListener(CH.ifa.draw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method removeFigureSelectionListener()
-	public void testRemoveFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method removeFigureSelectionListener
-		// JUnitDoclet end method removeFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method getConnectionFigures()
-	/**
-	 * Method testGetConnectionFigures is testing getConnectionFigures
-	 * @see CH.ifa.draw.standard.NullDrawingView#getConnectionFigures(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method getConnectionFigures()
-	public void testGetConnectionFigures() throws Exception {
-		// JUnitDoclet begin method getConnectionFigures
-		// JUnitDoclet end method getConnectionFigures
-	}
-
-	// JUnitDoclet begin javadoc_method insertFigures()
-	/**
-	 * Method testInsertFigures is testing insertFigures
-	 * @see CH.ifa.draw.standard.NullDrawingView#insertFigures(CH.ifa.draw.framework.FigureEnumeration, int, int, boolean)
-	 */
-	// JUnitDoclet end javadoc_method insertFigures()
-	public void testInsertFigures() throws Exception {
-		// JUnitDoclet begin method insertFigures
-		// JUnitDoclet end method insertFigures
-	}
-
-	// JUnitDoclet begin javadoc_method drawingInvalidated()
-	/**
-	 * Method testDrawingInvalidated is testing drawingInvalidated
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawingInvalidated(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingInvalidated()
-	public void testDrawingInvalidated() throws Exception {
-		// JUnitDoclet begin method drawingInvalidated
-		// JUnitDoclet end method drawingInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method drawingRequestUpdate()
-	/**
-	 * Method testDrawingRequestUpdate is testing drawingRequestUpdate
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawingRequestUpdate(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingRequestUpdate()
-	public void testDrawingRequestUpdate() throws Exception {
-		// JUnitDoclet begin method drawingRequestUpdate
-		// JUnitDoclet end method drawingRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method drawingTitleChanged()
-	/**
-	 * Method testDrawingTitleChanged is testing drawingTitleChanged
-	 * @see CH.ifa.draw.standard.NullDrawingView#drawingTitleChanged(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingTitleChanged()
-	public void testDrawingTitleChanged() throws Exception {
-		// JUnitDoclet begin method drawingTitleChanged
-		// JUnitDoclet end method drawingTitleChanged
-	}
-
-	// JUnitDoclet begin javadoc_method isInteractive()
-	/**
-	 * Method testIsInteractive is testing isInteractive
-	 * @see CH.ifa.draw.standard.NullDrawingView#isInteractive()
-	 */
-	// JUnitDoclet end javadoc_method isInteractive()
-	public void testIsInteractive() throws Exception {
-		// JUnitDoclet begin method isInteractive
-		// JUnitDoclet end method isInteractive
-	}
-
-	// JUnitDoclet begin javadoc_method getManagedDrawingView()
-	/**
-	 * Method testGetManagedDrawingView is testing getManagedDrawingView
-	 * @see CH.ifa.draw.standard.NullDrawingView#getManagedDrawingView(CH.ifa.draw.framework.DrawingEditor)
-	 */
-	// JUnitDoclet end javadoc_method getManagedDrawingView()
-	public void testGetManagedDrawingView() throws Exception {
-		// JUnitDoclet begin method getManagedDrawingView
-		// JUnitDoclet end method getManagedDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/NullHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/NullHandleTest.java
deleted file mode 100644
index 99d104fd7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/NullHandleTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.NullHandle;
-import CH.ifa.draw.standard.RelativeLocator;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullHandleTest is generated by
- * JUnitDoclet to hold the tests for NullHandle.
- * @see CH.ifa.draw.standard.NullHandle
- */
-// JUnitDoclet end javadoc_class
-public class NullHandleTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullHandle nullhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullHandleTest(String name) {
-		// JUnitDoclet begin method NullHandleTest
-		super(name);
-		// JUnitDoclet end method NullHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.NullHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.NullHandle(new RectangleFigure(new Point(5, 5), new Point(100, 100)), new RelativeLocator());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nullhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nullhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.NullHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/NullToolTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/NullToolTest.java
deleted file mode 100644
index 04cbfd9b3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/NullToolTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.NullTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullToolTest is generated by
- * JUnitDoclet to hold the tests for NullTool.
- * @see CH.ifa.draw.standard.NullTool
- */
-// JUnitDoclet end javadoc_class
-public class NullToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullTool nulltool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullToolTest(String name) {
-		// JUnitDoclet begin method NullToolTest
-		super(name);
-		// JUnitDoclet end method NullToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.NullTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.NullTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nulltool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nulltool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.standard.NullTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.standard.NullTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/OffsetLocatorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/OffsetLocatorTest.java
deleted file mode 100644
index a3a4eca2d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/OffsetLocatorTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.OffsetLocator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase OffsetLocatorTest is generated by
- * JUnitDoclet to hold the tests for OffsetLocator.
- * @see CH.ifa.draw.standard.OffsetLocator
- */
-// JUnitDoclet end javadoc_class
-public class OffsetLocatorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private OffsetLocator offsetlocator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor OffsetLocatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public OffsetLocatorTest(String name) {
-		// JUnitDoclet begin method OffsetLocatorTest
-		super(name);
-		// JUnitDoclet end method OffsetLocatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.OffsetLocator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.OffsetLocator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		offsetlocator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		offsetlocator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.OffsetLocator#locate(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method moveBy()
-	/**
-	 * Method testMoveBy is testing moveBy
-	 * @see CH.ifa.draw.standard.OffsetLocator#moveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method moveBy()
-	public void testMoveBy() throws Exception {
-		// JUnitDoclet begin method moveBy
-		// JUnitDoclet end method moveBy
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.standard.OffsetLocator#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.standard.OffsetLocator#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/PasteCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/PasteCommandTest.java
deleted file mode 100644
index 96f12690a..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/PasteCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.PasteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PasteCommandTest is generated by
- * JUnitDoclet to hold the tests for PasteCommand.
- * @see CH.ifa.draw.standard.PasteCommand
- */
-// JUnitDoclet end javadoc_class
-public class PasteCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PasteCommand pastecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PasteCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PasteCommandTest(String name) {
-		// JUnitDoclet begin method PasteCommandTest
-		super(name);
-		// JUnitDoclet end method PasteCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.PasteCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.PasteCommand("TestPaste", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pastecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pastecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.PasteCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.PasteCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/PeripheralLocatorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/PeripheralLocatorTest.java
deleted file mode 100644
index 0fe9ec0e1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/PeripheralLocatorTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.PeripheralLocator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PeripheralLocatorTest is generated by
- * JUnitDoclet to hold the tests for PeripheralLocator.
- * @see CH.ifa.draw.standard.PeripheralLocator
- */
-// JUnitDoclet end javadoc_class
-public class PeripheralLocatorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PeripheralLocator peripherallocator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PeripheralLocatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PeripheralLocatorTest(String name) {
-		// JUnitDoclet begin method PeripheralLocatorTest
-		super(name);
-		// JUnitDoclet end method PeripheralLocatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.PeripheralLocator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.PeripheralLocator(5, 10);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		peripherallocator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		peripherallocator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.PeripheralLocator#locate(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/RelativeLocatorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/RelativeLocatorTest.java
deleted file mode 100644
index 3b823d8fd..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/RelativeLocatorTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.RelativeLocator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RelativeLocatorTest is generated by
- * JUnitDoclet to hold the tests for RelativeLocator.
- * @see CH.ifa.draw.standard.RelativeLocator
- */
-// JUnitDoclet end javadoc_class
-public class RelativeLocatorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RelativeLocator relativelocator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RelativeLocatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RelativeLocatorTest(String name) {
-		// JUnitDoclet begin method RelativeLocatorTest
-		super(name);
-		// JUnitDoclet end method RelativeLocatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.RelativeLocator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.RelativeLocator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		relativelocator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		relativelocator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see CH.ifa.draw.standard.RelativeLocator#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.standard.RelativeLocator#locate(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see CH.ifa.draw.standard.RelativeLocator#write(CH.ifa.draw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see CH.ifa.draw.standard.RelativeLocator#read(CH.ifa.draw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method east()
-	/**
-	 * Method testEast is testing east
-	 * @see CH.ifa.draw.standard.RelativeLocator#east()
-	 */
-	// JUnitDoclet end javadoc_method east()
-	public void testEast() throws Exception {
-		// JUnitDoclet begin method east
-		// JUnitDoclet end method east
-	}
-
-	// JUnitDoclet begin javadoc_method north()
-	/**
-	 * Method testNorth is testing north
-	 * @see CH.ifa.draw.standard.RelativeLocator#north()
-	 */
-	// JUnitDoclet end javadoc_method north()
-	public void testNorth() throws Exception {
-		// JUnitDoclet begin method north
-		// JUnitDoclet end method north
-	}
-
-	// JUnitDoclet begin javadoc_method west()
-	/**
-	 * Method testWest is testing west
-	 * @see CH.ifa.draw.standard.RelativeLocator#west()
-	 */
-	// JUnitDoclet end javadoc_method west()
-	public void testWest() throws Exception {
-		// JUnitDoclet begin method west
-		// JUnitDoclet end method west
-	}
-
-	// JUnitDoclet begin javadoc_method northEast()
-	/**
-	 * Method testNorthEast is testing northEast
-	 * @see CH.ifa.draw.standard.RelativeLocator#northEast()
-	 */
-	// JUnitDoclet end javadoc_method northEast()
-	public void testNorthEast() throws Exception {
-		// JUnitDoclet begin method northEast
-		// JUnitDoclet end method northEast
-	}
-
-	// JUnitDoclet begin javadoc_method northWest()
-	/**
-	 * Method testNorthWest is testing northWest
-	 * @see CH.ifa.draw.standard.RelativeLocator#northWest()
-	 */
-	// JUnitDoclet end javadoc_method northWest()
-	public void testNorthWest() throws Exception {
-		// JUnitDoclet begin method northWest
-		// JUnitDoclet end method northWest
-	}
-
-	// JUnitDoclet begin javadoc_method south()
-	/**
-	 * Method testSouth is testing south
-	 * @see CH.ifa.draw.standard.RelativeLocator#south()
-	 */
-	// JUnitDoclet end javadoc_method south()
-	public void testSouth() throws Exception {
-		// JUnitDoclet begin method south
-		// JUnitDoclet end method south
-	}
-
-	// JUnitDoclet begin javadoc_method southEast()
-	/**
-	 * Method testSouthEast is testing southEast
-	 * @see CH.ifa.draw.standard.RelativeLocator#southEast()
-	 */
-	// JUnitDoclet end javadoc_method southEast()
-	public void testSouthEast() throws Exception {
-		// JUnitDoclet begin method southEast
-		// JUnitDoclet end method southEast
-	}
-
-	// JUnitDoclet begin javadoc_method southWest()
-	/**
-	 * Method testSouthWest is testing southWest
-	 * @see CH.ifa.draw.standard.RelativeLocator#southWest()
-	 */
-	// JUnitDoclet end javadoc_method southWest()
-	public void testSouthWest() throws Exception {
-		// JUnitDoclet begin method southWest
-		// JUnitDoclet end method southWest
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see CH.ifa.draw.standard.RelativeLocator#center()
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ReverseFigureEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ReverseFigureEnumeratorTest.java
deleted file mode 100644
index 35dbdc58d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ReverseFigureEnumeratorTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.ReverseFigureEnumerator;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ReverseFigureEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for ReverseFigureEnumerator.
- * @see CH.ifa.draw.standard.ReverseFigureEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class ReverseFigureEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ReverseFigureEnumerator reversefigureenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ReverseFigureEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ReverseFigureEnumeratorTest(String name) {
-		// JUnitDoclet begin method ReverseFigureEnumeratorTest
-		super(name);
-		// JUnitDoclet end method ReverseFigureEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ReverseFigureEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add(new RectangleFigure(new Point(10, 10), new Point(50, 50)));
-		l.add(new PolyLineFigure());
-		return new CH.ifa.draw.standard.ReverseFigureEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		reversefigureenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		reversefigureenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see CH.ifa.draw.standard.ReverseFigureEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see CH.ifa.draw.standard.ReverseFigureEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.ReverseFigureEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SelectAllCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SelectAllCommandTest.java
deleted file mode 100644
index b601eb566..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SelectAllCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.SelectAllCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SelectAllCommandTest is generated by
- * JUnitDoclet to hold the tests for SelectAllCommand.
- * @see CH.ifa.draw.standard.SelectAllCommand
- */
-// JUnitDoclet end javadoc_class
-public class SelectAllCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SelectAllCommand selectallcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SelectAllCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SelectAllCommandTest(String name) {
-		// JUnitDoclet begin method SelectAllCommandTest
-		super(name);
-		// JUnitDoclet end method SelectAllCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SelectAllCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SelectAllCommand("TestSelectAll", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		selectallcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		selectallcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.SelectAllCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.standard.SelectAllCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SelectAreaTrackerTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SelectAreaTrackerTest.java
deleted file mode 100644
index 412bef654..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SelectAreaTrackerTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.SelectAreaTracker;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SelectAreaTrackerTest is generated by
- * JUnitDoclet to hold the tests for SelectAreaTracker.
- * @see CH.ifa.draw.standard.SelectAreaTracker
- */
-// JUnitDoclet end javadoc_class
-public class SelectAreaTrackerTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SelectAreaTracker selectareatracker;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SelectAreaTrackerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SelectAreaTrackerTest(String name) {
-		// JUnitDoclet begin method SelectAreaTrackerTest
-		super(name);
-		// JUnitDoclet end method SelectAreaTrackerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SelectAreaTracker createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SelectAreaTracker(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		selectareatracker = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		selectareatracker = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.SelectAreaTracker#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.SelectAreaTracker#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.SelectAreaTracker#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SelectionToolTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SelectionToolTest.java
deleted file mode 100644
index cbd639694..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SelectionToolTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.SelectionTool;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SelectionToolTest is generated by
- * JUnitDoclet to hold the tests for SelectionTool.
- * @see CH.ifa.draw.standard.SelectionTool
- */
-// JUnitDoclet end javadoc_class
-public class SelectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SelectionTool selectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SelectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SelectionToolTest(String name) {
-		// JUnitDoclet begin method SelectionToolTest
-		super(name);
-		// JUnitDoclet end method SelectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SelectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SelectionTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		selectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		selectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.standard.SelectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.standard.SelectionTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.standard.SelectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.standard.SelectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SendToBackCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SendToBackCommandTest.java
deleted file mode 100644
index b871b15fb..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SendToBackCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.SendToBackCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SendToBackCommandTest is generated by
- * JUnitDoclet to hold the tests for SendToBackCommand.
- * @see CH.ifa.draw.standard.SendToBackCommand
- */
-// JUnitDoclet end javadoc_class
-public class SendToBackCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SendToBackCommand sendtobackcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SendToBackCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SendToBackCommandTest(String name) {
-		// JUnitDoclet begin method SendToBackCommandTest
-		super(name);
-		// JUnitDoclet end method SendToBackCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SendToBackCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SendToBackCommand("TestSendToBack", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		sendtobackcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		sendtobackcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.SendToBackCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SimpleUpdateStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SimpleUpdateStrategyTest.java
deleted file mode 100644
index f1a3a6e5e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SimpleUpdateStrategyTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.SimpleUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SimpleUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for SimpleUpdateStrategy.
- * @see CH.ifa.draw.standard.SimpleUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class SimpleUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SimpleUpdateStrategy simpleupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SimpleUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SimpleUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method SimpleUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method SimpleUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SimpleUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SimpleUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		simpleupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		simpleupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.SimpleUpdateStrategy#draw(java.awt.Graphics, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/SingleFigureEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/SingleFigureEnumeratorTest.java
deleted file mode 100644
index c6ce4ef83..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/SingleFigureEnumeratorTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SingleFigureEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for SingleFigureEnumerator.
- * @see CH.ifa.draw.standard.SingleFigureEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class SingleFigureEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SingleFigureEnumerator singlefigureenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SingleFigureEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SingleFigureEnumeratorTest(String name) {
-		// JUnitDoclet begin method SingleFigureEnumeratorTest
-		super(name);
-		// JUnitDoclet end method SingleFigureEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.SingleFigureEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.SingleFigureEnumerator(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		singlefigureenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		singlefigureenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see CH.ifa.draw.standard.SingleFigureEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see CH.ifa.draw.standard.SingleFigureEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see CH.ifa.draw.standard.SingleFigureEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingTest.java
deleted file mode 100644
index 26b9e1407..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingTest.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import CH.ifa.draw.standard.StandardDrawing;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardDrawingTest is generated by
- * JUnitDoclet to hold the tests for StandardDrawing.
- * @see CH.ifa.draw.standard.StandardDrawing
- */
-// JUnitDoclet end javadoc_class
-public class StandardDrawingTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardDrawing standarddrawing;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardDrawingTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardDrawingTest(String name) {
-		// JUnitDoclet begin method StandardDrawingTest
-		super(name);
-		// JUnitDoclet end method StandardDrawingTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.StandardDrawing createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.StandardDrawing();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standarddrawing = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standarddrawing = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addDrawingChangeListener()
-	/**
-	 * Method testAddDrawingChangeListener is testing addDrawingChangeListener
-	 * @see CH.ifa.draw.standard.StandardDrawing#addDrawingChangeListener(CH.ifa.draw.framework.DrawingChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method addDrawingChangeListener()
-	public void testAddDrawingChangeListener() throws Exception {
-		// JUnitDoclet begin method addDrawingChangeListener
-		// JUnitDoclet end method addDrawingChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDrawingChangeListener()
-	/**
-	 * Method testRemoveDrawingChangeListener is testing removeDrawingChangeListener
-	 * @see CH.ifa.draw.standard.StandardDrawing#removeDrawingChangeListener(CH.ifa.draw.framework.DrawingChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDrawingChangeListener()
-	public void testRemoveDrawingChangeListener() throws Exception {
-		// JUnitDoclet begin method removeDrawingChangeListener
-		// JUnitDoclet end method removeDrawingChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method drawingChangeListeners()
-	/**
-	 * Method testDrawingChangeListeners is testing drawingChangeListeners
-	 * @see CH.ifa.draw.standard.StandardDrawing#drawingChangeListeners()
-	 */
-	// JUnitDoclet end javadoc_method drawingChangeListeners()
-	public void testDrawingChangeListeners() throws Exception {
-		// JUnitDoclet begin method drawingChangeListeners
-		// JUnitDoclet end method drawingChangeListeners
-	}
-
-	// JUnitDoclet begin javadoc_method orphan()
-	/**
-	 * Method testOrphan is testing orphan
-	 * @see CH.ifa.draw.standard.StandardDrawing#orphan(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method orphan()
-	public void testOrphan() throws Exception {
-		// JUnitDoclet begin method orphan
-		// JUnitDoclet end method orphan
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.standard.StandardDrawing#add(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see CH.ifa.draw.standard.StandardDrawing#figureInvalidated(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method fireDrawingTitleChanged()
-	/**
-	 * Method testFireDrawingTitleChanged is testing fireDrawingTitleChanged
-	 * @see CH.ifa.draw.standard.StandardDrawing#fireDrawingTitleChanged()
-	 */
-	// JUnitDoclet end javadoc_method fireDrawingTitleChanged()
-	public void testFireDrawingTitleChanged() throws Exception {
-		// JUnitDoclet begin method fireDrawingTitleChanged
-		// JUnitDoclet end method fireDrawingTitleChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see CH.ifa.draw.standard.StandardDrawing#figureRequestUpdate(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see CH.ifa.draw.standard.StandardDrawing#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.standard.StandardDrawing#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see CH.ifa.draw.standard.StandardDrawing#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method lock()
-	/**
-	 * Method testLock is testing lock
-	 * @see CH.ifa.draw.standard.StandardDrawing#lock()
-	 */
-	// JUnitDoclet end javadoc_method lock()
-	public void testLock() throws Exception {
-		// JUnitDoclet begin method lock
-		// JUnitDoclet end method lock
-	}
-
-	// JUnitDoclet begin javadoc_method unlock()
-	/**
-	 * Method testUnlock is testing unlock
-	 * @see CH.ifa.draw.standard.StandardDrawing#unlock()
-	 */
-	// JUnitDoclet end javadoc_method unlock()
-	public void testUnlock() throws Exception {
-		// JUnitDoclet begin method unlock
-		// JUnitDoclet end method unlock
-	}
-
-	// JUnitDoclet begin javadoc_method setTitle()
-	/**
-	 * Method testSetGetTitle is testing setTitle
-	 * and getTitle together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.StandardDrawing#setTitle(java.lang.String)
-	 * @see CH.ifa.draw.standard.StandardDrawing#getTitle()
-	 */
-	// JUnitDoclet end javadoc_method setTitle()
-	public void testSetGetTitle() throws Exception {
-		// JUnitDoclet begin method setTitle getTitle
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standarddrawing.setTitle(tests[i]);
-			assertEquals(tests[i], standarddrawing.getTitle());
-		}
-		// JUnitDoclet end method setTitle getTitle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingViewTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingViewTest.java
deleted file mode 100644
index fdb54df0f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/StandardDrawingViewTest.java
+++ /dev/null
@@ -1,728 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.standard.GridConstrainer;
-import CH.ifa.draw.standard.SimpleUpdateStrategy;
-import CH.ifa.draw.standard.StandardDrawingView;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardDrawingViewTest is generated by
- * JUnitDoclet to hold the tests for StandardDrawingView.
- * @see CH.ifa.draw.standard.StandardDrawingView
- */
-// JUnitDoclet end javadoc_class
-public class StandardDrawingViewTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardDrawingView standarddrawingview;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardDrawingViewTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardDrawingViewTest(String name) {
-		// JUnitDoclet begin method StandardDrawingViewTest
-		super(name);
-		// JUnitDoclet end method StandardDrawingViewTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.StandardDrawingView createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return (StandardDrawingView)getDrawingEditor().view();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		getDrawingEditor().newWindow(new StandardDrawing());
-		standarddrawingview = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standarddrawingview = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setEditor()
-	/**
-	 * Method testSetEditor is testing setEditor
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setEditor(CH.ifa.draw.framework.DrawingEditor)
-	 */
-	// JUnitDoclet end javadoc_method setEditor()
-	public void testSetEditor() throws Exception {
-		// JUnitDoclet begin method setEditor
-		// JUnitDoclet end method setEditor
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see CH.ifa.draw.standard.StandardDrawingView#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method drawing()
-	/**
-	 * Method testDrawing is testing drawing
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawing()
-	 */
-	// JUnitDoclet end javadoc_method drawing()
-	public void testDrawing() throws Exception {
-		// JUnitDoclet begin method drawing
-		// JUnitDoclet end method drawing
-	}
-
-	// JUnitDoclet begin javadoc_method setDrawing()
-	/**
-	 * Method testSetDrawing is testing setDrawing
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setDrawing(CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method setDrawing()
-	public void testSetDrawing() throws Exception {
-		// JUnitDoclet begin method setDrawing
-		// JUnitDoclet end method setDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method editor()
-	/**
-	 * Method testEditor is testing editor
-	 * @see CH.ifa.draw.standard.StandardDrawingView#editor()
-	 */
-	// JUnitDoclet end javadoc_method editor()
-	public void testEditor() throws Exception {
-		// JUnitDoclet begin method editor
-		// JUnitDoclet end method editor
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.standard.StandardDrawingView#add(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.standard.StandardDrawingView#remove(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method figureExists()
-	/**
-	 * Method testFigureExists is testing figureExists
-	 * @see CH.ifa.draw.standard.StandardDrawingView#figureExists(CH.ifa.draw.framework.Figure, CH.ifa.draw.framework.FigureEnumeration)
-	 */
-	// JUnitDoclet end javadoc_method figureExists()
-	public void testFigureExists() throws Exception {
-		// JUnitDoclet begin method figureExists
-		// JUnitDoclet end method figureExists
-	}
-
-	// JUnitDoclet begin javadoc_method insertFigures()
-	/**
-	 * Method testInsertFigures is testing insertFigures
-	 * @see CH.ifa.draw.standard.StandardDrawingView#insertFigures(CH.ifa.draw.framework.FigureEnumeration, int, int, boolean)
-	 */
-	// JUnitDoclet end javadoc_method insertFigures()
-	public void testInsertFigures() throws Exception {
-		// JUnitDoclet begin method insertFigures
-		// JUnitDoclet end method insertFigures
-	}
-
-	// JUnitDoclet begin javadoc_method getConnectionFigures()
-	/**
-	 * Method testGetConnectionFigures is testing getConnectionFigures
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getConnectionFigures(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method getConnectionFigures()
-	public void testGetConnectionFigures() throws Exception {
-		// JUnitDoclet begin method getConnectionFigures
-		// JUnitDoclet end method getConnectionFigures
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method setDisplayUpdate()
-	/**
-	 * Method testSetGetDisplayUpdate is testing setDisplayUpdate
-	 * and getDisplayUpdate together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setDisplayUpdate(CH.ifa.draw.framework.Painter)
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getDisplayUpdate()
-	 */
-	// JUnitDoclet end javadoc_method setDisplayUpdate()
-	public void testSetGetDisplayUpdate() throws Exception {
-		// JUnitDoclet begin method setDisplayUpdate getDisplayUpdate
-		CH.ifa.draw.framework.Painter[] tests = { new SimpleUpdateStrategy(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standarddrawingview.setDisplayUpdate(tests[i]);
-			assertEquals(tests[i], standarddrawingview.getDisplayUpdate());
-		}
-		// JUnitDoclet end method setDisplayUpdate getDisplayUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method selection()
-	/**
-	 * Method testSelection is testing selection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#selection()
-	 */
-	// JUnitDoclet end javadoc_method selection()
-	public void testSelection() throws Exception {
-		// JUnitDoclet begin method selection
-		// JUnitDoclet end method selection
-	}
-
-	// JUnitDoclet begin javadoc_method selectionZOrdered()
-	/**
-	 * Method testSelectionZOrdered is testing selectionZOrdered
-	 * @see CH.ifa.draw.standard.StandardDrawingView#selectionZOrdered()
-	 */
-	// JUnitDoclet end javadoc_method selectionZOrdered()
-	public void testSelectionZOrdered() throws Exception {
-		// JUnitDoclet begin method selectionZOrdered
-		// JUnitDoclet end method selectionZOrdered
-	}
-
-	// JUnitDoclet begin javadoc_method selectionCount()
-	/**
-	 * Method testSelectionCount is testing selectionCount
-	 * @see CH.ifa.draw.standard.StandardDrawingView#selectionCount()
-	 */
-	// JUnitDoclet end javadoc_method selectionCount()
-	public void testSelectionCount() throws Exception {
-		// JUnitDoclet begin method selectionCount
-		// JUnitDoclet end method selectionCount
-	}
-
-	// JUnitDoclet begin javadoc_method isFigureSelected()
-	/**
-	 * Method testIsFigureSelected is testing isFigureSelected
-	 * @see CH.ifa.draw.standard.StandardDrawingView#isFigureSelected(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method isFigureSelected()
-	public void testIsFigureSelected() throws Exception {
-		// JUnitDoclet begin method isFigureSelected
-		// JUnitDoclet end method isFigureSelected
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelection()
-	/**
-	 * Method testAddToSelection is testing addToSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addToSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method addToSelection()
-	public void testAddToSelection() throws Exception {
-		// JUnitDoclet begin method addToSelection
-		// JUnitDoclet end method addToSelection
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelectionAll()
-	/**
-	 * Method testAddToSelectionAll is testing addToSelectionAll
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addToSelectionAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addToSelectionAll()
-	public void testAddToSelectionAll() throws Exception {
-		// JUnitDoclet begin method addToSelectionAll
-		// JUnitDoclet end method addToSelectionAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromSelection()
-	/**
-	 * Method testRemoveFromSelection is testing removeFromSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#removeFromSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method removeFromSelection()
-	public void testRemoveFromSelection() throws Exception {
-		// JUnitDoclet begin method removeFromSelection
-		// JUnitDoclet end method removeFromSelection
-	}
-
-	// JUnitDoclet begin javadoc_method toggleSelection()
-	/**
-	 * Method testToggleSelection is testing toggleSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#toggleSelection(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method toggleSelection()
-	public void testToggleSelection() throws Exception {
-		// JUnitDoclet begin method toggleSelection
-		// JUnitDoclet end method toggleSelection
-	}
-
-	// JUnitDoclet begin javadoc_method clearSelection()
-	/**
-	 * Method testClearSelection is testing clearSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#clearSelection()
-	 */
-	// JUnitDoclet end javadoc_method clearSelection()
-	public void testClearSelection() throws Exception {
-		// JUnitDoclet begin method clearSelection
-		// JUnitDoclet end method clearSelection
-	}
-
-	// JUnitDoclet begin javadoc_method getFigureSelection()
-	/**
-	 * Method testGetFigureSelection is testing getFigureSelection
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getFigureSelection()
-	 */
-	// JUnitDoclet end javadoc_method getFigureSelection()
-	public void testGetFigureSelection() throws Exception {
-		// JUnitDoclet begin method getFigureSelection
-		// JUnitDoclet end method getFigureSelection
-	}
-
-	// JUnitDoclet begin javadoc_method findHandle()
-	/**
-	 * Method testFindHandle is testing findHandle
-	 * @see CH.ifa.draw.standard.StandardDrawingView#findHandle(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findHandle()
-	public void testFindHandle() throws Exception {
-		// JUnitDoclet begin method findHandle
-		// JUnitDoclet end method findHandle
-	}
-
-	// JUnitDoclet begin javadoc_method lastClick()
-	/**
-	 * Method testLastClick is testing lastClick
-	 * @see CH.ifa.draw.standard.StandardDrawingView#lastClick()
-	 */
-	// JUnitDoclet end javadoc_method lastClick()
-	public void testLastClick() throws Exception {
-		// JUnitDoclet begin method lastClick
-		// JUnitDoclet end method lastClick
-	}
-
-	// JUnitDoclet begin javadoc_method setConstrainer()
-	/**
-	 * Method testSetGetConstrainer is testing setConstrainer
-	 * and getConstrainer together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setConstrainer(CH.ifa.draw.framework.PointConstrainer)
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getConstrainer()
-	 */
-	// JUnitDoclet end javadoc_method setConstrainer()
-	public void testSetGetConstrainer() throws Exception {
-		// JUnitDoclet begin method setConstrainer getConstrainer
-		CH.ifa.draw.framework.PointConstrainer[] tests = { new GridConstrainer(5, 5), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standarddrawingview.setConstrainer(tests[i]);
-			assertEquals(tests[i], standarddrawingview.getConstrainer());
-		}
-		// JUnitDoclet end method setConstrainer getConstrainer
-	}
-
-	// JUnitDoclet begin javadoc_method checkDamage()
-	/**
-	 * Method testCheckDamage is testing checkDamage
-	 * @see CH.ifa.draw.standard.StandardDrawingView#checkDamage()
-	 */
-	// JUnitDoclet end javadoc_method checkDamage()
-	public void testCheckDamage() throws Exception {
-		// JUnitDoclet begin method checkDamage
-		// JUnitDoclet end method checkDamage
-	}
-
-	// JUnitDoclet begin javadoc_method repairDamage()
-	/**
-	 * Method testRepairDamage is testing repairDamage
-	 * @see CH.ifa.draw.standard.StandardDrawingView#repairDamage()
-	 */
-	// JUnitDoclet end javadoc_method repairDamage()
-	public void testRepairDamage() throws Exception {
-		// JUnitDoclet begin method repairDamage
-		// JUnitDoclet end method repairDamage
-	}
-
-	// JUnitDoclet begin javadoc_method drawingInvalidated()
-	/**
-	 * Method testDrawingInvalidated is testing drawingInvalidated
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawingInvalidated(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingInvalidated()
-	public void testDrawingInvalidated() throws Exception {
-		// JUnitDoclet begin method drawingInvalidated
-		// JUnitDoclet end method drawingInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method drawingRequestUpdate()
-	/**
-	 * Method testDrawingRequestUpdate is testing drawingRequestUpdate
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawingRequestUpdate(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingRequestUpdate()
-	public void testDrawingRequestUpdate() throws Exception {
-		// JUnitDoclet begin method drawingRequestUpdate
-		// JUnitDoclet end method drawingRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method drawingTitleChanged()
-	/**
-	 * Method testDrawingTitleChanged is testing drawingTitleChanged
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawingTitleChanged(CH.ifa.draw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingTitleChanged()
-	public void testDrawingTitleChanged() throws Exception {
-		// JUnitDoclet begin method drawingTitleChanged
-		// JUnitDoclet end method drawingTitleChanged
-	}
-
-	// JUnitDoclet begin javadoc_method drawAll()
-	/**
-	 * Method testDrawAll is testing drawAll
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawAll(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawAll()
-	public void testDrawAll() throws Exception {
-		// JUnitDoclet begin method drawAll
-		// JUnitDoclet end method drawAll
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.standard.StandardDrawingView#draw(java.awt.Graphics, CH.ifa.draw.framework.FigureEnumeration)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method drawHandles()
-	/**
-	 * Method testDrawHandles is testing drawHandles
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawHandles(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawHandles()
-	public void testDrawHandles() throws Exception {
-		// JUnitDoclet begin method drawHandles
-		// JUnitDoclet end method drawHandles
-	}
-
-	// JUnitDoclet begin javadoc_method drawDrawing()
-	/**
-	 * Method testDrawDrawing is testing drawDrawing
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawDrawing(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawDrawing()
-	public void testDrawDrawing() throws Exception {
-		// JUnitDoclet begin method drawDrawing
-		// JUnitDoclet end method drawDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method addBackground()
-	/**
-	 * Method testAddBackground is testing addBackground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addBackground(CH.ifa.draw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method addBackground()
-	public void testAddBackground() throws Exception {
-		// JUnitDoclet begin method addBackground
-		// JUnitDoclet end method addBackground
-	}
-
-	// JUnitDoclet begin javadoc_method removeBackground()
-	/**
-	 * Method testRemoveBackground is testing removeBackground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#removeBackground(CH.ifa.draw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method removeBackground()
-	public void testRemoveBackground() throws Exception {
-		// JUnitDoclet begin method removeBackground
-		// JUnitDoclet end method removeBackground
-	}
-
-	// JUnitDoclet begin javadoc_method removeForeground()
-	/**
-	 * Method testRemoveForeground is testing removeForeground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#removeForeground(CH.ifa.draw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method removeForeground()
-	public void testRemoveForeground() throws Exception {
-		// JUnitDoclet begin method removeForeground
-		// JUnitDoclet end method removeForeground
-	}
-
-	// JUnitDoclet begin javadoc_method addForeground()
-	/**
-	 * Method testAddForeground is testing addForeground
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addForeground(CH.ifa.draw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method addForeground()
-	public void testAddForeground() throws Exception {
-		// JUnitDoclet begin method addForeground
-		// JUnitDoclet end method addForeground
-	}
-
-	// JUnitDoclet begin javadoc_method freezeView()
-	/**
-	 * Method testFreezeView is testing freezeView
-	 * @see CH.ifa.draw.standard.StandardDrawingView#freezeView()
-	 */
-	// JUnitDoclet end javadoc_method freezeView()
-	public void testFreezeView() throws Exception {
-		// JUnitDoclet begin method freezeView
-		// JUnitDoclet end method freezeView
-	}
-
-	// JUnitDoclet begin javadoc_method unfreezeView()
-	/**
-	 * Method testUnfreezeView is testing unfreezeView
-	 * @see CH.ifa.draw.standard.StandardDrawingView#unfreezeView()
-	 */
-	// JUnitDoclet end javadoc_method unfreezeView()
-	public void testUnfreezeView() throws Exception {
-		// JUnitDoclet begin method unfreezeView
-		// JUnitDoclet end method unfreezeView
-	}
-
-	// JUnitDoclet begin javadoc_method isFocusTraversable()
-	/**
-	 * Method testIsFocusTraversable is testing isFocusTraversable
-	 * @see CH.ifa.draw.standard.StandardDrawingView#isFocusTraversable()
-	 */
-	// JUnitDoclet end javadoc_method isFocusTraversable()
-	public void testIsFocusTraversable() throws Exception {
-		// JUnitDoclet begin method isFocusTraversable
-		// JUnitDoclet end method isFocusTraversable
-	}
-
-	// JUnitDoclet begin javadoc_method isInteractive()
-	/**
-	 * Method testIsInteractive is testing isInteractive
-	 * @see CH.ifa.draw.standard.StandardDrawingView#isInteractive()
-	 */
-	// JUnitDoclet end javadoc_method isInteractive()
-	public void testIsInteractive() throws Exception {
-		// JUnitDoclet begin method isInteractive
-		// JUnitDoclet end method isInteractive
-	}
-
-	// JUnitDoclet begin javadoc_method keyTyped()
-	/**
-	 * Method testKeyTyped is testing keyTyped
-	 * @see CH.ifa.draw.standard.StandardDrawingView#keyTyped(java.awt.event.KeyEvent)
-	 */
-	// JUnitDoclet end javadoc_method keyTyped()
-	public void testKeyTyped() throws Exception {
-		// JUnitDoclet begin method keyTyped
-		// JUnitDoclet end method keyTyped
-	}
-
-	// JUnitDoclet begin javadoc_method keyReleased()
-	/**
-	 * Method testKeyReleased is testing keyReleased
-	 * @see CH.ifa.draw.standard.StandardDrawingView#keyReleased(java.awt.event.KeyEvent)
-	 */
-	// JUnitDoclet end javadoc_method keyReleased()
-	public void testKeyReleased() throws Exception {
-		// JUnitDoclet begin method keyReleased
-		// JUnitDoclet end method keyReleased
-	}
-
-	// JUnitDoclet begin javadoc_method addFigureSelectionListener()
-	/**
-	 * Method testAddFigureSelectionListener is testing addFigureSelectionListener
-	 * @see CH.ifa.draw.standard.StandardDrawingView#addFigureSelectionListener(CH.ifa.draw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method addFigureSelectionListener()
-	public void testAddFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method addFigureSelectionListener
-		// JUnitDoclet end method addFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeFigureSelectionListener()
-	/**
-	 * Method testRemoveFigureSelectionListener is testing removeFigureSelectionListener
-	 * @see CH.ifa.draw.standard.StandardDrawingView#removeFigureSelectionListener(CH.ifa.draw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method removeFigureSelectionListener()
-	public void testRemoveFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method removeFigureSelectionListener
-		// JUnitDoclet end method removeFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method getDefaultDNDActions()
-	/**
-	 * Method testGetDefaultDNDActions is testing getDefaultDNDActions
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getDefaultDNDActions()
-	 */
-	// JUnitDoclet end javadoc_method getDefaultDNDActions()
-	public void testGetDefaultDNDActions() throws Exception {
-		// JUnitDoclet begin method getDefaultDNDActions
-		// JUnitDoclet end method getDefaultDNDActions
-	}
-
-	// JUnitDoclet begin javadoc_method autoscroll()
-	/**
-	 * Method testAutoscroll is testing autoscroll
-	 * @see CH.ifa.draw.standard.StandardDrawingView#autoscroll(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method autoscroll()
-	public void testAutoscroll() throws Exception {
-		// JUnitDoclet begin method autoscroll
-		// JUnitDoclet end method autoscroll
-	}
-
-	// JUnitDoclet begin javadoc_method getAutoscrollInsets()
-	/**
-	 * Method testGetAutoscrollInsets is testing getAutoscrollInsets
-	 * @see CH.ifa.draw.standard.StandardDrawingView#getAutoscrollInsets()
-	 */
-	// JUnitDoclet end javadoc_method getAutoscrollInsets()
-	public void testGetAutoscrollInsets() throws Exception {
-		// JUnitDoclet begin method getAutoscrollInsets
-		// JUnitDoclet end method getAutoscrollInsets
-	}
-
-	// JUnitDoclet begin javadoc_method toString()
-	/**
-	 * Method testToString is testing toString
-	 * @see CH.ifa.draw.standard.StandardDrawingView#toString()
-	 */
-	// JUnitDoclet end javadoc_method toString()
-	public void testToString() throws Exception {
-		// JUnitDoclet begin method toString
-		// JUnitDoclet end method toString
-	}
-
-	// JUnitDoclet begin javadoc_method setDragSourceActive()
-	/**
-	 * Method testSetDragSourceActive is testing setDragSourceActive
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setDragSourceActive(boolean)
-	 */
-	// JUnitDoclet end javadoc_method setDragSourceActive()
-	public void testSetDragSourceActive() throws Exception {
-		// JUnitDoclet begin method setDragSourceActive
-		// JUnitDoclet end method setDragSourceActive
-	}
-
-	// JUnitDoclet begin javadoc_method setDropTargetActive()
-	/**
-	 * Method testSetDropTargetActive is testing setDropTargetActive
-	 * @see CH.ifa.draw.standard.StandardDrawingView#setDropTargetActive(boolean)
-	 */
-	// JUnitDoclet end javadoc_method setDropTargetActive()
-	public void testSetDropTargetActive() throws Exception {
-		// JUnitDoclet begin method setDropTargetActive
-		// JUnitDoclet end method setDropTargetActive
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/StandardFigureSelectionTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/StandardFigureSelectionTest.java
deleted file mode 100644
index 7153b9a37..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/StandardFigureSelectionTest.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.standard.StandardFigureSelection;
-import CH.ifa.draw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardFigureSelectionTest is generated by
- * JUnitDoclet to hold the tests for StandardFigureSelection.
- * @see CH.ifa.draw.standard.StandardFigureSelection
- */
-// JUnitDoclet end javadoc_class
-public class StandardFigureSelectionTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardFigureSelection standardfigureselection;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardFigureSelectionTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardFigureSelectionTest(String name) {
-		// JUnitDoclet begin method StandardFigureSelectionTest
-		super(name);
-		// JUnitDoclet end method StandardFigureSelectionTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.StandardFigureSelection createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l.add(new PolyLineFigure(20, 20));
-		FigureEnumeration fenum = new FigureEnumerator(l);
-		return new CH.ifa.draw.standard.StandardFigureSelection(fenum, l.size());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardfigureselection = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardfigureselection = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getType()
-	/**
-	 * Method testGetType is testing getType
-	 * @see CH.ifa.draw.standard.StandardFigureSelection#getType()
-	 */
-	// JUnitDoclet end javadoc_method getType()
-	public void testGetType() throws Exception {
-		// JUnitDoclet begin method getType
-		// JUnitDoclet end method getType
-	}
-
-	// JUnitDoclet begin javadoc_method getData()
-	/**
-	 * Method testGetData is testing getData
-	 * @see CH.ifa.draw.standard.StandardFigureSelection#getData(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getData()
-	public void testGetData() throws Exception {
-		// JUnitDoclet begin method getData
-		// JUnitDoclet end method getData
-	}
-
-	// JUnitDoclet begin javadoc_method duplicateFigures()
-	/**
-	 * Method testDuplicateFigures is testing duplicateFigures
-	 * @see CH.ifa.draw.standard.StandardFigureSelection#duplicateFigures(CH.ifa.draw.framework.FigureEnumeration, int)
-	 */
-	// JUnitDoclet end javadoc_method duplicateFigures()
-	public void testDuplicateFigures() throws Exception {
-		// JUnitDoclet begin method duplicateFigures
-		// JUnitDoclet end method duplicateFigures
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/StandardSuite.java b/JHotDraw/src/CH/ifa/draw/test/standard/StandardSuite.java
deleted file mode 100644
index de9642151..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/StandardSuite.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite StandardSuite
-*/
-// JUnitDoclet end javadoc_class
-public class StandardSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.standard");
-
-		suite.addTestSuite(CH.ifa.draw.test.standard.PeripheralLocatorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SingleFigureEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.NullDrawingViewTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.NullToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.HandleAndEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.InsertIntoDrawingVisitorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.DeleteFromDrawingVisitorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SelectAllCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FigureAndEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.HandleEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.StandardFigureSelectionTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FastBufferedUpdateStrategyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ToolButtonTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ToggleGridCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.StandardDrawingViewTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.StandardDrawingTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SimpleUpdateStrategyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SelectionToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SelectAreaTrackerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ReverseFigureEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.RelativeLocatorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.PasteCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.OffsetLocatorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.NullHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.LocatorConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.HandleTrackerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.GridConstrainerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FigureEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FigureChangeEventMulticasterTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.DuplicateCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.DragTrackerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.DeleteCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.CutCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.CreationToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.CopyCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ConnectionToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ConnectionHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ChopBoxConnectorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ChangeConnectionStartHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ChangeConnectionEndHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.ChangeAttributeCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.BufferedUpdateStrategyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.SendToBackCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.BringToFrontCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.LocatorHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.BoxHandleKitTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.AlignCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.standard.FigureChangeAdapterTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ToggleGridCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ToggleGridCommandTest.java
deleted file mode 100644
index f688fcfa3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ToggleGridCommandTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.ToggleGridCommand;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ToggleGridCommandTest is generated by
- * JUnitDoclet to hold the tests for ToggleGridCommand.
- * @see CH.ifa.draw.standard.ToggleGridCommand
- */
-// JUnitDoclet end javadoc_class
-public class ToggleGridCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ToggleGridCommand togglegridcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ToggleGridCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ToggleGridCommandTest(String name) {
-		// JUnitDoclet begin method ToggleGridCommandTest
-		super(name);
-		// JUnitDoclet end method ToggleGridCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ToggleGridCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.standard.ToggleGridCommand("TestToggle", getDrawingEditor(), new Point(5, 5));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		togglegridcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		togglegridcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.standard.ToggleGridCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/standard/ToolButtonTest.java b/JHotDraw/src/CH/ifa/draw/test/standard/ToolButtonTest.java
deleted file mode 100644
index 7eacaf69e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/standard/ToolButtonTest.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.standard;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.framework.Tool;
-import CH.ifa.draw.standard.SelectionTool;
-import CH.ifa.draw.standard.ToolButton;
-import CH.ifa.draw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ToolButtonTest is generated by
- * JUnitDoclet to hold the tests for ToolButton.
- * @see CH.ifa.draw.standard.ToolButton
- */
-// JUnitDoclet end javadoc_class
-public class ToolButtonTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ToolButton toolbutton;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ToolButtonTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ToolButtonTest(String name) {
-		// JUnitDoclet begin method ToolButtonTest
-		super(name);
-		// JUnitDoclet end method ToolButtonTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.standard.ToolButton createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Tool tool = new SelectionTool(getDrawingEditor());
-		return new CH.ifa.draw.standard.ToolButton(getDrawingEditor(), DrawApplication.IMAGES + "SEL", "Selection Tool", tool);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		toolbutton = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		toolbutton = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see CH.ifa.draw.standard.ToolButton#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method name()
-	/**
-	 * Method testName is testing name
-	 * @see CH.ifa.draw.standard.ToolButton#name()
-	 */
-	// JUnitDoclet end javadoc_method name()
-	public void testName() throws Exception {
-		// JUnitDoclet begin method name
-		// JUnitDoclet end method name
-	}
-
-	// JUnitDoclet begin javadoc_method attributeValue()
-	/**
-	 * Method testAttributeValue is testing attributeValue
-	 * @see CH.ifa.draw.standard.ToolButton#attributeValue()
-	 */
-	// JUnitDoclet end javadoc_method attributeValue()
-	public void testAttributeValue() throws Exception {
-		// JUnitDoclet begin method attributeValue
-		// JUnitDoclet end method attributeValue
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see CH.ifa.draw.standard.ToolButton#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.standard.ToolButton#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method getMaximumSize()
-	/**
-	 * Method testGetMaximumSize is testing getMaximumSize
-	 * @see CH.ifa.draw.standard.ToolButton#getMaximumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMaximumSize()
-	public void testGetMaximumSize() throws Exception {
-		// JUnitDoclet begin method getMaximumSize
-		// JUnitDoclet end method getMaximumSize
-	}
-
-	// JUnitDoclet begin javadoc_method paintSelected()
-	/**
-	 * Method testPaintSelected is testing paintSelected
-	 * @see CH.ifa.draw.standard.ToolButton#paintSelected(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paintSelected()
-	public void testPaintSelected() throws Exception {
-		// JUnitDoclet begin method paintSelected
-		// JUnitDoclet end method paintSelected
-	}
-
-	// JUnitDoclet begin javadoc_method paint()
-	/**
-	 * Method testPaint is testing paint
-	 * @see CH.ifa.draw.standard.ToolButton#paint(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paint()
-	public void testPaint() throws Exception {
-		// JUnitDoclet begin method paint
-		// JUnitDoclet end method paint
-	}
-
-	// JUnitDoclet begin javadoc_method toolUsable()
-	/**
-	 * Method testToolUsable is testing toolUsable
-	 * @see CH.ifa.draw.standard.ToolButton#toolUsable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUsable()
-	public void testToolUsable() throws Exception {
-		// JUnitDoclet begin method toolUsable
-		// JUnitDoclet end method toolUsable
-	}
-
-	// JUnitDoclet begin javadoc_method toolUnusable()
-	/**
-	 * Method testToolUnusable is testing toolUnusable
-	 * @see CH.ifa.draw.standard.ToolButton#toolUnusable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUnusable()
-	public void testToolUnusable() throws Exception {
-		// JUnitDoclet begin method toolUnusable
-		// JUnitDoclet end method toolUnusable
-	}
-
-	// JUnitDoclet begin javadoc_method toolActivated()
-	/**
-	 * Method testToolActivated is testing toolActivated
-	 * @see CH.ifa.draw.standard.ToolButton#toolActivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolActivated()
-	public void testToolActivated() throws Exception {
-		// JUnitDoclet begin method toolActivated
-		// JUnitDoclet end method toolActivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolDeactivated()
-	/**
-	 * Method testToolDeactivated is testing toolDeactivated
-	 * @see CH.ifa.draw.standard.ToolButton#toolDeactivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDeactivated()
-	public void testToolDeactivated() throws Exception {
-		// JUnitDoclet begin method toolDeactivated
-		// JUnitDoclet end method toolDeactivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolEnabled()
-	/**
-	 * Method testToolEnabled is testing toolEnabled
-	 * @see CH.ifa.draw.standard.ToolButton#toolEnabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolEnabled()
-	public void testToolEnabled() throws Exception {
-		// JUnitDoclet begin method toolEnabled
-		// JUnitDoclet end method toolEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method toolDisabled()
-	/**
-	 * Method testToolDisabled is testing toolDisabled
-	 * @see CH.ifa.draw.standard.ToolButton#toolDisabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDisabled()
-	public void testToolDisabled() throws Exception {
-		// JUnitDoclet begin method toolDisabled
-		// JUnitDoclet end method toolDisabled
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/util/AllTests.java
deleted file mode 100644
index 5658b7ff1..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/AllTests.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.util");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(BoundsTest.class));
-		suite.addTest(new TestSuite(ClipboardTest.class));
-		suite.addTest(new TestSuite(ColorMapTest.class));
-		suite.addTest(new TestSuite(CommandButtonTest.class));
-		suite.addTest(new TestSuite(CommandChoiceTest.class));
-		suite.addTest(new TestSuite(CommandMenuTest.class));
-		suite.addTest(new TestSuite(FillerTest.class));
-		suite.addTest(new TestSuite(FloatingTextFieldTest.class));
-		suite.addTest(new TestSuite(GeomTest.class));
-		suite.addTest(new TestSuite(GraphLayoutTest.class));
-		suite.addTest(new TestSuite(IconkitTest.class));
-		suite.addTest(new TestSuite(PaletteIconTest.class));
-		suite.addTest(new TestSuite(PaletteLayoutTest.class));
-		suite.addTest(new TestSuite(RedoCommandTest.class));
-		suite.addTest(new TestSuite(ReverseListEnumeratorTest.class));
-		suite.addTest(new TestSuite(SerializationStorageFormatTest.class));
-		suite.addTest(new TestSuite(StandardStorageFormatTest.class));
-		suite.addTest(new TestSuite(StandardVersionControlStrategyTest.class));
-		suite.addTest(new TestSuite(StorableInputTest.class));
-		suite.addTest(new TestSuite(StorableOutputTest.class));
-		suite.addTest(new TestSuite(StorageFormatManagerTest.class));
-		suite.addTest(new TestSuite(UndoCommandTest.class));
-		suite.addTest(new TestSuite(UndoManagerTest.class));
-		suite.addTest(new TestSuite(UndoRedoActivityTest.class));
-		suite.addTest(new TestSuite(UndoableAdapterTest.class));
-		suite.addTest(new TestSuite(UndoableCommandTest.class));
-		suite.addTest(new TestSuite(UndoableHandleTest.class));
-		suite.addTest(new TestSuite(UndoableToolTest.class));
-		suite.addTest(new TestSuite(VersionManagementTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/BoundsTest.java b/JHotDraw/src/CH/ifa/draw/test/util/BoundsTest.java
deleted file mode 100644
index af4aa819f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/BoundsTest.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.awt.Dimension;
-import java.awt.geom.Point2D;
-
-import CH.ifa.draw.util.Bounds;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BoundsTest is generated by
- * JUnitDoclet to hold the tests for Bounds.
- * @see CH.ifa.draw.util.Bounds
- */
-// JUnitDoclet end javadoc_class
-public class BoundsTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Bounds bounds;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BoundsTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BoundsTest(String name) {
-		// JUnitDoclet begin method BoundsTest
-		super(name);
-		// JUnitDoclet end method BoundsTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Bounds createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.Bounds(new Dimension(100, 100));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bounds = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bounds = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getLesserX()
-	/**
-	 * Method testGetLesserX is testing getLesserX
-	 * @see CH.ifa.draw.util.Bounds#getLesserX()
-	 */
-	// JUnitDoclet end javadoc_method getLesserX()
-	public void testGetLesserX() throws Exception {
-		// JUnitDoclet begin method getLesserX
-		// JUnitDoclet end method getLesserX
-	}
-
-	// JUnitDoclet begin javadoc_method getGreaterX()
-	/**
-	 * Method testGetGreaterX is testing getGreaterX
-	 * @see CH.ifa.draw.util.Bounds#getGreaterX()
-	 */
-	// JUnitDoclet end javadoc_method getGreaterX()
-	public void testGetGreaterX() throws Exception {
-		// JUnitDoclet begin method getGreaterX
-		// JUnitDoclet end method getGreaterX
-	}
-
-	// JUnitDoclet begin javadoc_method getLesserY()
-	/**
-	 * Method testGetLesserY is testing getLesserY
-	 * @see CH.ifa.draw.util.Bounds#getLesserY()
-	 */
-	// JUnitDoclet end javadoc_method getLesserY()
-	public void testGetLesserY() throws Exception {
-		// JUnitDoclet begin method getLesserY
-		// JUnitDoclet end method getLesserY
-	}
-
-	// JUnitDoclet begin javadoc_method getGreaterY()
-	/**
-	 * Method testGetGreaterY is testing getGreaterY
-	 * @see CH.ifa.draw.util.Bounds#getGreaterY()
-	 */
-	// JUnitDoclet end javadoc_method getGreaterY()
-	public void testGetGreaterY() throws Exception {
-		// JUnitDoclet begin method getGreaterY
-		// JUnitDoclet end method getGreaterY
-	}
-
-	// JUnitDoclet begin javadoc_method getWest()
-	/**
-	 * Method testGetWest is testing getWest
-	 * @see CH.ifa.draw.util.Bounds#getWest()
-	 */
-	// JUnitDoclet end javadoc_method getWest()
-	public void testGetWest() throws Exception {
-		// JUnitDoclet begin method getWest
-		// JUnitDoclet end method getWest
-	}
-
-	// JUnitDoclet begin javadoc_method getEast()
-	/**
-	 * Method testGetEast is testing getEast
-	 * @see CH.ifa.draw.util.Bounds#getEast()
-	 */
-	// JUnitDoclet end javadoc_method getEast()
-	public void testGetEast() throws Exception {
-		// JUnitDoclet begin method getEast
-		// JUnitDoclet end method getEast
-	}
-
-	// JUnitDoclet begin javadoc_method getSouth()
-	/**
-	 * Method testGetSouth is testing getSouth
-	 * @see CH.ifa.draw.util.Bounds#getSouth()
-	 */
-	// JUnitDoclet end javadoc_method getSouth()
-	public void testGetSouth() throws Exception {
-		// JUnitDoclet begin method getSouth
-		// JUnitDoclet end method getSouth
-	}
-
-	// JUnitDoclet begin javadoc_method getNorth()
-	/**
-	 * Method testGetNorth is testing getNorth
-	 * @see CH.ifa.draw.util.Bounds#getNorth()
-	 */
-	// JUnitDoclet end javadoc_method getNorth()
-	public void testGetNorth() throws Exception {
-		// JUnitDoclet begin method getNorth
-		// JUnitDoclet end method getNorth
-	}
-
-	// JUnitDoclet begin javadoc_method getWidth()
-	/**
-	 * Method testGetWidth is testing getWidth
-	 * @see CH.ifa.draw.util.Bounds#getWidth()
-	 */
-	// JUnitDoclet end javadoc_method getWidth()
-	public void testGetWidth() throws Exception {
-		// JUnitDoclet begin method getWidth
-		// JUnitDoclet end method getWidth
-	}
-
-	// JUnitDoclet begin javadoc_method getHeight()
-	/**
-	 * Method testGetHeight is testing getHeight
-	 * @see CH.ifa.draw.util.Bounds#getHeight()
-	 */
-	// JUnitDoclet end javadoc_method getHeight()
-	public void testGetHeight() throws Exception {
-		// JUnitDoclet begin method getHeight
-		// JUnitDoclet end method getHeight
-	}
-
-	// JUnitDoclet begin javadoc_method asRectangle2D()
-	/**
-	 * Method testAsRectangle2D is testing asRectangle2D
-	 * @see CH.ifa.draw.util.Bounds#asRectangle2D()
-	 */
-	// JUnitDoclet end javadoc_method asRectangle2D()
-	public void testAsRectangle2D() throws Exception {
-		// JUnitDoclet begin method asRectangle2D
-		// JUnitDoclet end method asRectangle2D
-	}
-
-	// JUnitDoclet begin javadoc_method setCenter()
-	/**
-	 * Method testSetGetCenter is testing setCenter
-	 * and getCenter together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.Bounds#setCenter(java.awt.geom.Point2D)
-	 * @see CH.ifa.draw.util.Bounds#getCenter()
-	 */
-	// JUnitDoclet end javadoc_method setCenter()
-	public void testSetGetCenter() throws Exception {
-		// JUnitDoclet begin method setCenter getCenter
-		Point2D[] tests = { new Point2D.Double(2.0, 3.0)};
-
-		for (int i = 0; i < tests.length; i++) {
-			bounds.setCenter(tests[i]);
-			assertEquals(tests[i], bounds.getCenter());
-		}
-		// JUnitDoclet end method setCenter getCenter
-	}
-
-	// JUnitDoclet begin method setNullCenter()
-	/**
-	  * Test a null argument to setCenter.  Expect an IllegalArgumentException
-	  * 
-	  * @see CH.ifa.draw.util.Bounds#setCenter(java.awt.geom.Point2D)
-	  */
-	public void testSetNullCenter() throws Exception {
-		Point2D original = bounds.getCenter();
-
-		try {
-			bounds.setCenter(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-			assertEquals("setCenter(null) altered property value", original, bounds.getCenter());
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method zoomBy()
-	/**
-	 * Method testZoomBy is testing zoomBy
-	 * @see CH.ifa.draw.util.Bounds#zoomBy(double)
-	 */
-	// JUnitDoclet end javadoc_method zoomBy()
-	public void testZoomBy() throws Exception {
-		// JUnitDoclet begin method zoomBy
-		// JUnitDoclet end method zoomBy
-	}
-
-	// JUnitDoclet begin javadoc_method shiftBy()
-	/**
-	 * Method testShiftBy is testing shiftBy
-	 * @see CH.ifa.draw.util.Bounds#shiftBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method shiftBy()
-	public void testShiftBy() throws Exception {
-		// JUnitDoclet begin method shiftBy
-		// JUnitDoclet end method shiftBy
-	}
-
-	// JUnitDoclet begin javadoc_method offset()
-	/**
-	 * Method testOffset is testing offset
-	 * @see CH.ifa.draw.util.Bounds#offset(double, double)
-	 */
-	// JUnitDoclet end javadoc_method offset()
-	public void testOffset() throws Exception {
-		// JUnitDoclet begin method offset
-		// JUnitDoclet end method offset
-	}
-
-	// JUnitDoclet begin javadoc_method expandToRatio()
-	/**
-	 * Method testExpandToRatio is testing expandToRatio
-	 * @see CH.ifa.draw.util.Bounds#expandToRatio(double)
-	 */
-	// JUnitDoclet end javadoc_method expandToRatio()
-	public void testExpandToRatio() throws Exception {
-		// JUnitDoclet begin method expandToRatio
-		// JUnitDoclet end method expandToRatio
-	}
-
-	// JUnitDoclet begin javadoc_method includeXCoordinate()
-	/**
-	 * Method testIncludeXCoordinate is testing includeXCoordinate
-	 * @see CH.ifa.draw.util.Bounds#includeXCoordinate(double)
-	 */
-	// JUnitDoclet end javadoc_method includeXCoordinate()
-	public void testIncludeXCoordinate() throws Exception {
-		// JUnitDoclet begin method includeXCoordinate
-		// JUnitDoclet end method includeXCoordinate
-	}
-
-	// JUnitDoclet begin javadoc_method includeYCoordinate()
-	/**
-	 * Method testIncludeYCoordinate is testing includeYCoordinate
-	 * @see CH.ifa.draw.util.Bounds#includeYCoordinate(double)
-	 */
-	// JUnitDoclet end javadoc_method includeYCoordinate()
-	public void testIncludeYCoordinate() throws Exception {
-		// JUnitDoclet begin method includeYCoordinate
-		// JUnitDoclet end method includeYCoordinate
-	}
-
-	// JUnitDoclet begin javadoc_method includePoint()
-	/**
-	 * Method testIncludePoint is testing includePoint
-	 * @see CH.ifa.draw.util.Bounds#includePoint(double, double)
-	 */
-	// JUnitDoclet end javadoc_method includePoint()
-	public void testIncludePoint() throws Exception {
-		// JUnitDoclet begin method includePoint
-		// JUnitDoclet end method includePoint
-	}
-
-	// JUnitDoclet begin javadoc_method includeLine()
-	/**
-	 * Method testIncludeLine is testing includeLine
-	 * @see CH.ifa.draw.util.Bounds#includeLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method includeLine()
-	public void testIncludeLine() throws Exception {
-		// JUnitDoclet begin method includeLine
-		// JUnitDoclet end method includeLine
-	}
-
-	// JUnitDoclet begin javadoc_method includeBounds()
-	/**
-	 * Method testIncludeBounds is testing includeBounds
-	 * @see CH.ifa.draw.util.Bounds#includeBounds(CH.ifa.draw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method includeBounds()
-	public void testIncludeBounds() throws Exception {
-		// JUnitDoclet begin method includeBounds
-		// JUnitDoclet end method includeBounds
-	}
-
-	// JUnitDoclet begin javadoc_method includeRectangle2D()
-	/**
-	 * Method testIncludeRectangle2D is testing includeRectangle2D
-	 * @see CH.ifa.draw.util.Bounds#includeRectangle2D(java.awt.geom.Rectangle2D)
-	 */
-	// JUnitDoclet end javadoc_method includeRectangle2D()
-	public void testIncludeRectangle2D() throws Exception {
-		// JUnitDoclet begin method includeRectangle2D
-		// JUnitDoclet end method includeRectangle2D
-	}
-
-	// JUnitDoclet begin javadoc_method intersect()
-	/**
-	 * Method testIntersect is testing intersect
-	 * @see CH.ifa.draw.util.Bounds#intersect(CH.ifa.draw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method intersect()
-	public void testIntersect() throws Exception {
-		// JUnitDoclet begin method intersect
-		// JUnitDoclet end method intersect
-	}
-
-	// JUnitDoclet begin javadoc_method intersectsPoint()
-	/**
-	 * Method testIntersectsPoint is testing intersectsPoint
-	 * @see CH.ifa.draw.util.Bounds#intersectsPoint(double, double)
-	 */
-	// JUnitDoclet end javadoc_method intersectsPoint()
-	public void testIntersectsPoint() throws Exception {
-		// JUnitDoclet begin method intersectsPoint
-		// JUnitDoclet end method intersectsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method intersectsLine()
-	/**
-	 * Method testIntersectsLine is testing intersectsLine
-	 * @see CH.ifa.draw.util.Bounds#intersectsLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method intersectsLine()
-	public void testIntersectsLine() throws Exception {
-		// JUnitDoclet begin method intersectsLine
-		// JUnitDoclet end method intersectsLine
-	}
-
-	// JUnitDoclet begin javadoc_method intersectsBounds()
-	/**
-	 * Method testIntersectsBounds is testing intersectsBounds
-	 * @see CH.ifa.draw.util.Bounds#intersectsBounds(CH.ifa.draw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method intersectsBounds()
-	public void testIntersectsBounds() throws Exception {
-		// JUnitDoclet begin method intersectsBounds
-		// JUnitDoclet end method intersectsBounds
-	}
-
-	// JUnitDoclet begin javadoc_method completelyContainsLine()
-	/**
-	 * Method testCompletelyContainsLine is testing completelyContainsLine
-	 * @see CH.ifa.draw.util.Bounds#completelyContainsLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method completelyContainsLine()
-	public void testCompletelyContainsLine() throws Exception {
-		// JUnitDoclet begin method completelyContainsLine
-		// JUnitDoclet end method completelyContainsLine
-	}
-
-	// JUnitDoclet begin javadoc_method isCompletelyInside()
-	/**
-	 * Method testIsCompletelyInside is testing isCompletelyInside
-	 * @see CH.ifa.draw.util.Bounds#isCompletelyInside(CH.ifa.draw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method isCompletelyInside()
-	public void testIsCompletelyInside() throws Exception {
-		// JUnitDoclet begin method isCompletelyInside
-		// JUnitDoclet end method isCompletelyInside
-	}
-
-	// JUnitDoclet begin javadoc_method cropLine()
-	/**
-	 * Method testCropLine is testing cropLine
-	 * @see CH.ifa.draw.util.Bounds#cropLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method cropLine()
-	public void testCropLine() throws Exception {
-		// JUnitDoclet begin method cropLine
-		// JUnitDoclet end method cropLine
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see CH.ifa.draw.util.Bounds#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method hashCode()
-	/**
-	 * Method testHashCode is testing hashCode
-	 * @see CH.ifa.draw.util.Bounds#hashCode()
-	 */
-	// JUnitDoclet end javadoc_method hashCode()
-	public void testHashCode() throws Exception {
-		// JUnitDoclet begin method hashCode
-		// JUnitDoclet end method hashCode
-	}
-
-	// JUnitDoclet begin javadoc_method toString()
-	/**
-	 * Method testToString is testing toString
-	 * @see CH.ifa.draw.util.Bounds#toString()
-	 */
-	// JUnitDoclet end javadoc_method toString()
-	public void testToString() throws Exception {
-		// JUnitDoclet begin method toString
-		// JUnitDoclet end method toString
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/ClipboardTest.java b/JHotDraw/src/CH/ifa/draw/test/util/ClipboardTest.java
deleted file mode 100644
index 4cdcc7f0d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/ClipboardTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.Clipboard;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ClipboardTest is generated by
- * JUnitDoclet to hold the tests for Clipboard.
- * @see CH.ifa.draw.util.Clipboard
- */
-// JUnitDoclet end javadoc_class
-public class ClipboardTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Clipboard clipboard;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ClipboardTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ClipboardTest(String name) {
-		// JUnitDoclet begin method ClipboardTest
-		super(name);
-		// JUnitDoclet end method ClipboardTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Clipboard createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return CH.ifa.draw.util.Clipboard.getClipboard();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		clipboard = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		clipboard = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getClipboard()
-	/**
-	 * Method testGetClipboard is testing getClipboard
-	 * @see CH.ifa.draw.util.Clipboard#getClipboard()
-	 */
-	// JUnitDoclet end javadoc_method getClipboard()
-	public void testGetClipboard() throws Exception {
-		// JUnitDoclet begin method getClipboard
-		// JUnitDoclet end method getClipboard
-	}
-
-	// JUnitDoclet begin javadoc_method setContents()
-	/**
-	 * Method testSetGetContents is testing setContents
-	 * and getContents together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.Clipboard#setContents(java.lang.Object)
-	 * @see CH.ifa.draw.util.Clipboard#getContents()
-	 */
-	// JUnitDoclet end javadoc_method setContents()
-	public void testSetGetContents() throws Exception {
-		// JUnitDoclet begin method setContents getContents
-		java.lang.Object[] tests = { new java.lang.Object(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			clipboard.setContents(tests[i]);
-			assertEquals(tests[i], clipboard.getContents());
-		}
-		// JUnitDoclet end method setContents getContents
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/ColorMapTest.java b/JHotDraw/src/CH/ifa/draw/test/util/ColorMapTest.java
deleted file mode 100644
index 67151b4a2..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/ColorMapTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.ColorMap;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ColorMapTest is generated by
- * JUnitDoclet to hold the tests for ColorMap.
- * @see CH.ifa.draw.util.ColorMap
- */
-// JUnitDoclet end javadoc_class
-public class ColorMapTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ColorMap colormap;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ColorMapTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ColorMapTest(String name) {
-		// JUnitDoclet begin method ColorMapTest
-		super(name);
-		// JUnitDoclet end method ColorMapTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.ColorMap createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.ColorMap();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		colormap = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		colormap = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see CH.ifa.draw.util.ColorMap#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method color()
-	/**
-	 * Method testColor is testing color
-	 * @see CH.ifa.draw.util.ColorMap#color(int)
-	 */
-	// JUnitDoclet end javadoc_method color()
-	public void testColor() throws Exception {
-		// JUnitDoclet begin method color
-		// JUnitDoclet end method color
-	}
-
-	// JUnitDoclet begin javadoc_method name()
-	/**
-	 * Method testName is testing name
-	 * @see CH.ifa.draw.util.ColorMap#name(int)
-	 */
-	// JUnitDoclet end javadoc_method name()
-	public void testName() throws Exception {
-		// JUnitDoclet begin method name
-		// JUnitDoclet end method name
-	}
-
-	// JUnitDoclet begin javadoc_method colorIndex()
-	/**
-	 * Method testColorIndex is testing colorIndex
-	 * @see CH.ifa.draw.util.ColorMap#colorIndex(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method colorIndex()
-	public void testColorIndex() throws Exception {
-		// JUnitDoclet begin method colorIndex
-		// JUnitDoclet end method colorIndex
-	}
-
-	// JUnitDoclet begin javadoc_method isTransparent()
-	/**
-	 * Method testIsTransparent is testing isTransparent
-	 * @see CH.ifa.draw.util.ColorMap#isTransparent(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method isTransparent()
-	public void testIsTransparent() throws Exception {
-		// JUnitDoclet begin method isTransparent
-		// JUnitDoclet end method isTransparent
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/CommandButtonTest.java b/JHotDraw/src/CH/ifa/draw/test/util/CommandButtonTest.java
deleted file mode 100644
index f80664526..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/CommandButtonTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DuplicateCommand;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.CommandButton;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandButtonTest is generated by
- * JUnitDoclet to hold the tests for CommandButton.
- * @see CH.ifa.draw.util.CommandButton
- */
-// JUnitDoclet end javadoc_class
-public class CommandButtonTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandButton commandbutton;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandButtonTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandButtonTest(String name) {
-		// JUnitDoclet begin method CommandButtonTest
-		super(name);
-		// JUnitDoclet end method CommandButtonTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.CommandButton createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.CommandButton(new DuplicateCommand("Duplicate", getDrawingEditor()));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandbutton = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandbutton = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see CH.ifa.draw.util.CommandButton#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/CommandChoiceTest.java b/JHotDraw/src/CH/ifa/draw/test/util/CommandChoiceTest.java
deleted file mode 100644
index 3ccddfa6e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/CommandChoiceTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.CommandChoice;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandChoiceTest is generated by
- * JUnitDoclet to hold the tests for CommandChoice.
- * @see CH.ifa.draw.util.CommandChoice
- */
-// JUnitDoclet end javadoc_class
-public class CommandChoiceTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandChoice commandchoice;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandChoiceTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandChoiceTest(String name) {
-		// JUnitDoclet begin method CommandChoiceTest
-		super(name);
-		// JUnitDoclet end method CommandChoiceTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.CommandChoice createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.CommandChoice();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandchoice = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandchoice = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addItem()
-	/**
-	 * Method testAddItem is testing addItem
-	 * @see CH.ifa.draw.util.CommandChoice#addItem(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method addItem()
-	public void testAddItem() throws Exception {
-		// JUnitDoclet begin method addItem
-		// JUnitDoclet end method addItem
-	}
-
-	// JUnitDoclet begin javadoc_method itemStateChanged()
-	/**
-	 * Method testItemStateChanged is testing itemStateChanged
-	 * @see CH.ifa.draw.util.CommandChoice#itemStateChanged(java.awt.event.ItemEvent)
-	 */
-	// JUnitDoclet end javadoc_method itemStateChanged()
-	public void testItemStateChanged() throws Exception {
-		// JUnitDoclet begin method itemStateChanged
-		// JUnitDoclet end method itemStateChanged
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/CommandMenuTest.java b/JHotDraw/src/CH/ifa/draw/test/util/CommandMenuTest.java
deleted file mode 100644
index 81344b393..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/CommandMenuTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.CommandMenu;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandMenuTest is generated by
- * JUnitDoclet to hold the tests for CommandMenu.
- * @see CH.ifa.draw.util.CommandMenu
- */
-// JUnitDoclet end javadoc_class
-public class CommandMenuTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandMenu commandmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandMenuTest(String name) {
-		// JUnitDoclet begin method CommandMenuTest
-		super(name);
-		// JUnitDoclet end method CommandMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.CommandMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.CommandMenu("TestCommandMenu");
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.util.CommandMenu#add(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method addCheckItem()
-	/**
-	 * Method testAddCheckItem is testing addCheckItem
-	 * @see CH.ifa.draw.util.CommandMenu#addCheckItem(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method addCheckItem()
-	public void testAddCheckItem() throws Exception {
-		// JUnitDoclet begin method addCheckItem
-		// JUnitDoclet end method addCheckItem
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.CommandMenu#remove(CH.ifa.draw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method enable()
-	/**
-	 * Method testEnable is testing enable
-	 * @see CH.ifa.draw.util.CommandMenu#enable(java.lang.String, boolean)
-	 */
-	// JUnitDoclet end javadoc_method enable()
-	public void testEnable() throws Exception {
-		// JUnitDoclet begin method enable
-		// JUnitDoclet end method enable
-	}
-
-	// JUnitDoclet begin javadoc_method checkEnabled()
-	/**
-	 * Method testCheckEnabled is testing checkEnabled
-	 * @see CH.ifa.draw.util.CommandMenu#checkEnabled()
-	 */
-	// JUnitDoclet end javadoc_method checkEnabled()
-	public void testCheckEnabled() throws Exception {
-		// JUnitDoclet begin method checkEnabled
-		// JUnitDoclet end method checkEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see CH.ifa.draw.util.CommandMenu#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecuted()
-	/**
-	 * Method testCommandExecuted is testing commandExecuted
-	 * @see CH.ifa.draw.util.CommandMenu#commandExecuted(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecuted()
-	public void testCommandExecuted() throws Exception {
-		// JUnitDoclet begin method commandExecuted
-		// JUnitDoclet end method commandExecuted
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecutable()
-	/**
-	 * Method testCommandExecutable is testing commandExecutable
-	 * @see CH.ifa.draw.util.CommandMenu#commandExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecutable()
-	public void testCommandExecutable() throws Exception {
-		// JUnitDoclet begin method commandExecutable
-		// JUnitDoclet end method commandExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method commandNotExecutable()
-	/**
-	 * Method testCommandNotExecutable is testing commandNotExecutable
-	 * @see CH.ifa.draw.util.CommandMenu#commandNotExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandNotExecutable()
-	public void testCommandNotExecutable() throws Exception {
-		// JUnitDoclet begin method commandNotExecutable
-		// JUnitDoclet end method commandNotExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/FillerTest.java b/JHotDraw/src/CH/ifa/draw/test/util/FillerTest.java
deleted file mode 100644
index e5f58e17e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/FillerTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.Filler;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FillerTest is generated by
- * JUnitDoclet to hold the tests for Filler.
- * @see CH.ifa.draw.util.Filler
- */
-// JUnitDoclet end javadoc_class
-public class FillerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Filler filler;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FillerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FillerTest(String name) {
-		// JUnitDoclet begin method FillerTest
-		super(name);
-		// JUnitDoclet end method FillerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Filler createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.Filler(10, 10);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		filler = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		filler = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see CH.ifa.draw.util.Filler#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.util.Filler#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method getBackground()
-	/**
-	 * Method testGetBackground is testing getBackground
-	 * @see CH.ifa.draw.util.Filler#getBackground()
-	 */
-	// JUnitDoclet end javadoc_method getBackground()
-	public void testGetBackground() throws Exception {
-		// JUnitDoclet begin method getBackground
-		// JUnitDoclet end method getBackground
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/FloatingTextFieldTest.java b/JHotDraw/src/CH/ifa/draw/test/util/FloatingTextFieldTest.java
deleted file mode 100644
index 3925b386e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/FloatingTextFieldTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.FloatingTextField;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FloatingTextFieldTest is generated by
- * JUnitDoclet to hold the tests for FloatingTextField.
- * @see CH.ifa.draw.util.FloatingTextField
- */
-// JUnitDoclet end javadoc_class
-public class FloatingTextFieldTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FloatingTextField floatingtextfield;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FloatingTextFieldTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FloatingTextFieldTest(String name) {
-		// JUnitDoclet begin method FloatingTextFieldTest
-		super(name);
-		// JUnitDoclet end method FloatingTextFieldTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.FloatingTextField createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.FloatingTextField();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		floatingtextfield = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		floatingtextfield = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createOverlay()
-	/**
-	 * Method testCreateOverlay is testing createOverlay
-	 * @see CH.ifa.draw.util.FloatingTextField#createOverlay(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method createOverlay()
-	public void testCreateOverlay() throws Exception {
-		// JUnitDoclet begin method createOverlay
-		// JUnitDoclet end method createOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method addActionListener()
-	/**
-	 * Method testAddActionListener is testing addActionListener
-	 * @see CH.ifa.draw.util.FloatingTextField#addActionListener(java.awt.event.ActionListener)
-	 */
-	// JUnitDoclet end javadoc_method addActionListener()
-	public void testAddActionListener() throws Exception {
-		// JUnitDoclet begin method addActionListener
-		// JUnitDoclet end method addActionListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeActionListener()
-	/**
-	 * Method testRemoveActionListener is testing removeActionListener
-	 * @see CH.ifa.draw.util.FloatingTextField#removeActionListener(java.awt.event.ActionListener)
-	 */
-	// JUnitDoclet end javadoc_method removeActionListener()
-	public void testRemoveActionListener() throws Exception {
-		// JUnitDoclet begin method removeActionListener
-		// JUnitDoclet end method removeActionListener
-	}
-
-	// JUnitDoclet begin javadoc_method setBounds()
-	/**
-	 * Method testSetBounds is testing setBounds
-	 * @see CH.ifa.draw.util.FloatingTextField#setBounds(java.awt.Rectangle, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method setBounds()
-	public void testSetBounds() throws Exception {
-		// JUnitDoclet begin method setBounds
-		// JUnitDoclet end method setBounds
-	}
-
-	// JUnitDoclet begin javadoc_method getText()
-	/**
-	 * Method testGetText is testing getText
-	 * @see CH.ifa.draw.util.FloatingTextField#getText()
-	 */
-	// JUnitDoclet end javadoc_method getText()
-	public void testGetText() throws Exception {
-		// JUnitDoclet begin method getText
-		// JUnitDoclet end method getText
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see CH.ifa.draw.util.FloatingTextField#getPreferredSize(int)
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method endOverlay()
-	/**
-	 * Method testEndOverlay is testing endOverlay
-	 * @see CH.ifa.draw.util.FloatingTextField#endOverlay()
-	 */
-	// JUnitDoclet end javadoc_method endOverlay()
-	public void testEndOverlay() throws Exception {
-		// JUnitDoclet begin method endOverlay
-		// JUnitDoclet end method endOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/GeomTest.java b/JHotDraw/src/CH/ifa/draw/test/util/GeomTest.java
deleted file mode 100644
index 529ce70fd..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/GeomTest.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.Geom;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GeomTest is generated by
- * JUnitDoclet to hold the tests for Geom.
- * @see CH.ifa.draw.util.Geom
- */
-// JUnitDoclet end javadoc_class
-public class GeomTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Geom geom;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GeomTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GeomTest(String name) {
-		// JUnitDoclet begin method GeomTest
-		super(name);
-		// JUnitDoclet end method GeomTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Geom createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		// Geom has static methods and cannot be instantiated.
-		return null;
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		geom = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		geom = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method lineContainsPoint()
-	/**
-	 * Method testLineContainsPoint is testing lineContainsPoint
-	 * @see CH.ifa.draw.util.Geom#lineContainsPoint(int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method lineContainsPoint()
-	public void testLineContainsPoint() throws Exception {
-		// JUnitDoclet begin method lineContainsPoint
-		// JUnitDoclet end method lineContainsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method direction()
-	/**
-	 * Method testDirection is testing direction
-	 * @see CH.ifa.draw.util.Geom#direction(int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method direction()
-	public void testDirection() throws Exception {
-		// JUnitDoclet begin method direction
-		// JUnitDoclet end method direction
-	}
-
-	// JUnitDoclet begin javadoc_method south()
-	/**
-	 * Method testSouth is testing south
-	 * @see CH.ifa.draw.util.Geom#south(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method south()
-	public void testSouth() throws Exception {
-		// JUnitDoclet begin method south
-		// JUnitDoclet end method south
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see CH.ifa.draw.util.Geom#center(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method west()
-	/**
-	 * Method testWest is testing west
-	 * @see CH.ifa.draw.util.Geom#west(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method west()
-	public void testWest() throws Exception {
-		// JUnitDoclet begin method west
-		// JUnitDoclet end method west
-	}
-
-	// JUnitDoclet begin javadoc_method east()
-	/**
-	 * Method testEast is testing east
-	 * @see CH.ifa.draw.util.Geom#east(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method east()
-	public void testEast() throws Exception {
-		// JUnitDoclet begin method east
-		// JUnitDoclet end method east
-	}
-
-	// JUnitDoclet begin javadoc_method north()
-	/**
-	 * Method testNorth is testing north
-	 * @see CH.ifa.draw.util.Geom#north(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method north()
-	public void testNorth() throws Exception {
-		// JUnitDoclet begin method north
-		// JUnitDoclet end method north
-	}
-
-	// JUnitDoclet begin javadoc_method corner()
-	/**
-	 * Method testCorner is testing corner
-	 * @see CH.ifa.draw.util.Geom#corner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method corner()
-	public void testCorner() throws Exception {
-		// JUnitDoclet begin method corner
-		// JUnitDoclet end method corner
-	}
-
-	// JUnitDoclet begin javadoc_method topLeftCorner()
-	/**
-	 * Method testTopLeftCorner is testing topLeftCorner
-	 * @see CH.ifa.draw.util.Geom#topLeftCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method topLeftCorner()
-	public void testTopLeftCorner() throws Exception {
-		// JUnitDoclet begin method topLeftCorner
-		// JUnitDoclet end method topLeftCorner
-	}
-
-	// JUnitDoclet begin javadoc_method topRightCorner()
-	/**
-	 * Method testTopRightCorner is testing topRightCorner
-	 * @see CH.ifa.draw.util.Geom#topRightCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method topRightCorner()
-	public void testTopRightCorner() throws Exception {
-		// JUnitDoclet begin method topRightCorner
-		// JUnitDoclet end method topRightCorner
-	}
-
-	// JUnitDoclet begin javadoc_method bottomLeftCorner()
-	/**
-	 * Method testBottomLeftCorner is testing bottomLeftCorner
-	 * @see CH.ifa.draw.util.Geom#bottomLeftCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method bottomLeftCorner()
-	public void testBottomLeftCorner() throws Exception {
-		// JUnitDoclet begin method bottomLeftCorner
-		// JUnitDoclet end method bottomLeftCorner
-	}
-
-	// JUnitDoclet begin javadoc_method bottomRightCorner()
-	/**
-	 * Method testBottomRightCorner is testing bottomRightCorner
-	 * @see CH.ifa.draw.util.Geom#bottomRightCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method bottomRightCorner()
-	public void testBottomRightCorner() throws Exception {
-		// JUnitDoclet begin method bottomRightCorner
-		// JUnitDoclet end method bottomRightCorner
-	}
-
-	// JUnitDoclet begin javadoc_method range()
-	/**
-	 * Method testRange is testing range
-	 * @see CH.ifa.draw.util.Geom#range(int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method range()
-	public void testRange() throws Exception {
-		// JUnitDoclet begin method range
-		// JUnitDoclet end method range
-	}
-
-	// JUnitDoclet begin javadoc_method length2()
-	/**
-	 * Method testLength2 is testing length2
-	 * @see CH.ifa.draw.util.Geom#length2(int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method length2()
-	public void testLength2() throws Exception {
-		// JUnitDoclet begin method length2
-		// JUnitDoclet end method length2
-	}
-
-	// JUnitDoclet begin javadoc_method length()
-	/**
-	 * Method testLength is testing length
-	 * @see CH.ifa.draw.util.Geom#length(int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method length()
-	public void testLength() throws Exception {
-		// JUnitDoclet begin method length
-		// JUnitDoclet end method length
-	}
-
-	// JUnitDoclet begin javadoc_method pointToAngle()
-	/**
-	 * Method testPointToAngle is testing pointToAngle
-	 * @see CH.ifa.draw.util.Geom#pointToAngle(java.awt.Rectangle, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method pointToAngle()
-	public void testPointToAngle() throws Exception {
-		// JUnitDoclet begin method pointToAngle
-		// JUnitDoclet end method pointToAngle
-	}
-
-	// JUnitDoclet begin javadoc_method angleToPoint()
-	/**
-	 * Method testAngleToPoint is testing angleToPoint
-	 * @see CH.ifa.draw.util.Geom#angleToPoint(java.awt.Rectangle, double)
-	 */
-	// JUnitDoclet end javadoc_method angleToPoint()
-	public void testAngleToPoint() throws Exception {
-		// JUnitDoclet begin method angleToPoint
-		// JUnitDoclet end method angleToPoint
-	}
-
-	// JUnitDoclet begin javadoc_method polarToPoint()
-	/**
-	 * Method testPolarToPoint is testing polarToPoint
-	 * @see CH.ifa.draw.util.Geom#polarToPoint(double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method polarToPoint()
-	public void testPolarToPoint() throws Exception {
-		// JUnitDoclet begin method polarToPoint
-		// JUnitDoclet end method polarToPoint
-	}
-
-	// JUnitDoclet begin javadoc_method ovalAngleToPoint()
-	/**
-	 * Method testOvalAngleToPoint is testing ovalAngleToPoint
-	 * @see CH.ifa.draw.util.Geom#ovalAngleToPoint(java.awt.Rectangle, double)
-	 */
-	// JUnitDoclet end javadoc_method ovalAngleToPoint()
-	public void testOvalAngleToPoint() throws Exception {
-		// JUnitDoclet begin method ovalAngleToPoint
-		// JUnitDoclet end method ovalAngleToPoint
-	}
-
-	// JUnitDoclet begin javadoc_method intersect()
-	/**
-	 * Method testIntersect is testing intersect
-	 * @see CH.ifa.draw.util.Geom#intersect(int, int, int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method intersect()
-	public void testIntersect() throws Exception {
-		// JUnitDoclet begin method intersect
-		// JUnitDoclet end method intersect
-	}
-
-	// JUnitDoclet begin javadoc_method distanceFromLine()
-	/**
-	 * Method testDistanceFromLine is testing distanceFromLine
-	 * @see CH.ifa.draw.util.Geom#distanceFromLine(int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method distanceFromLine()
-	public void testDistanceFromLine() throws Exception {
-		// JUnitDoclet begin method distanceFromLine
-		// JUnitDoclet end method distanceFromLine
-	}
-
-	// JUnitDoclet begin javadoc_method distanceFromLine2D()
-	/**
-	 * Method testDistanceFromLine2D is testing distanceFromLine2D
-	 * @see CH.ifa.draw.util.Geom#distanceFromLine2D(int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method distanceFromLine2D()
-	public void testDistanceFromLine2D() throws Exception {
-		// JUnitDoclet begin method distanceFromLine2D
-		// JUnitDoclet end method distanceFromLine2D
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/GraphLayoutTest.java b/JHotDraw/src/CH/ifa/draw/test/util/GraphLayoutTest.java
deleted file mode 100644
index d96ee3d40..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/GraphLayoutTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.GraphLayout;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GraphLayoutTest is generated by
- * JUnitDoclet to hold the tests for GraphLayout.
- * @see CH.ifa.draw.util.GraphLayout
- */
-// JUnitDoclet end javadoc_class
-public class GraphLayoutTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private GraphLayout graphlayout;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GraphLayoutTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GraphLayoutTest(String name) {
-		// JUnitDoclet begin method GraphLayoutTest
-		super(name);
-		// JUnitDoclet end method GraphLayoutTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.GraphLayout createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.GraphLayout();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		graphlayout = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		graphlayout = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addNode()
-	/**
-	 * Method testAddNode is testing addNode
-	 * @see CH.ifa.draw.util.GraphLayout#addNode(CH.ifa.draw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method addNode()
-	public void testAddNode() throws Exception {
-		// JUnitDoclet begin method addNode
-		// JUnitDoclet end method addNode
-	}
-
-	// JUnitDoclet begin javadoc_method addEdge()
-	/**
-	 * Method testAddEdge is testing addEdge
-	 * @see CH.ifa.draw.util.GraphLayout#addEdge(CH.ifa.draw.framework.ConnectionFigure, int)
-	 */
-	// JUnitDoclet end javadoc_method addEdge()
-	public void testAddEdge() throws Exception {
-		// JUnitDoclet begin method addEdge
-		// JUnitDoclet end method addEdge
-	}
-
-	// JUnitDoclet begin javadoc_method relax()
-	/**
-	 * Method testRelax is testing relax
-	 * @see CH.ifa.draw.util.GraphLayout#relax()
-	 */
-	// JUnitDoclet end javadoc_method relax()
-	public void testRelax() throws Exception {
-		// JUnitDoclet begin method relax
-		// JUnitDoclet end method relax
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see CH.ifa.draw.util.GraphLayout#figureChanged(CH.ifa.draw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.GraphLayout#remove()
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/IconkitTest.java b/JHotDraw/src/CH/ifa/draw/test/util/IconkitTest.java
deleted file mode 100644
index ad58f53a9..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/IconkitTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.Iconkit;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase IconkitTest is generated by
- * JUnitDoclet to hold the tests for Iconkit.
- * @see CH.ifa.draw.util.Iconkit
- */
-// JUnitDoclet end javadoc_class
-public class IconkitTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Iconkit iconkit;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor IconkitTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public IconkitTest(String name) {
-		// JUnitDoclet begin method IconkitTest
-		super(name);
-		// JUnitDoclet end method IconkitTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.Iconkit createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.Iconkit(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		iconkit = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		iconkit = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method instance()
-	/**
-	 * Method testInstance is testing instance
-	 * @see CH.ifa.draw.util.Iconkit#instance()
-	 */
-	// JUnitDoclet end javadoc_method instance()
-	public void testInstance() throws Exception {
-		// JUnitDoclet begin method instance
-		// JUnitDoclet end method instance
-	}
-
-	// JUnitDoclet begin javadoc_method loadRegisteredImages()
-	/**
-	 * Method testLoadRegisteredImages is testing loadRegisteredImages
-	 * @see CH.ifa.draw.util.Iconkit#loadRegisteredImages(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method loadRegisteredImages()
-	public void testLoadRegisteredImages() throws Exception {
-		// JUnitDoclet begin method loadRegisteredImages
-		// JUnitDoclet end method loadRegisteredImages
-	}
-
-	// JUnitDoclet begin javadoc_method registerImage()
-	/**
-	 * Method testRegisterImage is testing registerImage
-	 * @see CH.ifa.draw.util.Iconkit#registerImage(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method registerImage()
-	public void testRegisterImage() throws Exception {
-		// JUnitDoclet begin method registerImage
-		// JUnitDoclet end method registerImage
-	}
-
-	// JUnitDoclet begin javadoc_method registerAndLoadImage()
-	/**
-	 * Method testRegisterAndLoadImage is testing registerAndLoadImage
-	 * @see CH.ifa.draw.util.Iconkit#registerAndLoadImage(java.awt.Component, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method registerAndLoadImage()
-	public void testRegisterAndLoadImage() throws Exception {
-		// JUnitDoclet begin method registerAndLoadImage
-		// JUnitDoclet end method registerAndLoadImage
-	}
-
-	// JUnitDoclet begin javadoc_method loadImage()
-	/**
-	 * Method testLoadImage is testing loadImage
-	 * @see CH.ifa.draw.util.Iconkit#loadImage(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method loadImage()
-	public void testLoadImage() throws Exception {
-		// JUnitDoclet begin method loadImage
-		// JUnitDoclet end method loadImage
-	}
-
-	// JUnitDoclet begin javadoc_method loadImageResource()
-	/**
-	 * Method testLoadImageResource is testing loadImageResource
-	 * @see CH.ifa.draw.util.Iconkit#loadImageResource(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method loadImageResource()
-	public void testLoadImageResource() throws Exception {
-		// JUnitDoclet begin method loadImageResource
-		// JUnitDoclet end method loadImageResource
-	}
-
-	// JUnitDoclet begin javadoc_method getImage()
-	/**
-	 * Method testGetImage is testing getImage
-	 * @see CH.ifa.draw.util.Iconkit#getImage(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getImage()
-	public void testGetImage() throws Exception {
-		// JUnitDoclet begin method getImage
-		// JUnitDoclet end method getImage
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/JDOStorageFormatTest.java b/JHotDraw/src/CH/ifa/draw/test/util/JDOStorageFormatTest.java
deleted file mode 100644
index 692a796b4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/JDOStorageFormatTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.JDOStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestCase JDOStorageFormatTest is generated by
-* JUnitDoclet to hold the tests for JDOStorageFormat.
-* @see CH.ifa.draw.util.JDOStorageFormat
-*/
-// JUnitDoclet end javadoc_class
-public class JDOStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JDOStorageFormat jdostorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JDOStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JDOStorageFormatTest(String name) {
-		// JUnitDoclet begin method JDOStorageFormatTest
-		super(name);
-		// JUnitDoclet end method JDOStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.JDOStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.JDOStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		jdostorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		jdostorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see CH.ifa.draw.util.JDOStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see CH.ifa.draw.util.JDOStorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see CH.ifa.draw.util.JDOStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see CH.ifa.draw.util.JDOStorageFormat#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/PaletteIconTest.java b/JHotDraw/src/CH/ifa/draw/test/util/PaletteIconTest.java
deleted file mode 100644
index b10546310..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/PaletteIconTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.PaletteIcon;
-import CH.ifa.draw.util.Iconkit;
-import CH.ifa.draw.application.DrawApplication;
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-import CH.ifa.draw.test.JHDTestCase;
-
-import java.awt.*;
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestCase PaletteIconTest is generated by
-* JUnitDoclet to hold the tests for PaletteIcon.
-* @see CH.ifa.draw.util.PaletteIcon
-*/
-// JUnitDoclet end javadoc_class
-public class PaletteIconTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PaletteIcon paletteicon;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PaletteIconTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PaletteIconTest(String name) {
-		// JUnitDoclet begin method PaletteIconTest
-		super(name);
-		// JUnitDoclet end method PaletteIconTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.PaletteIcon createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Iconkit kit = Iconkit.instance();
-		if (kit == null) {
-			throw new JHotDrawRuntimeException("Iconkit instance isn't set");
-		}
-
-		String iconName = DrawApplication.IMAGES + "SEL";
-		Image im[] = new Image[3];
-		im[0] = kit.loadImageResource(iconName + "1.gif");
-		im[1] = kit.loadImageResource(iconName + "2.gif");
-		im[2] = kit.loadImageResource(iconName + "3.gif");
-
-		MediaTracker tracker = new MediaTracker(getDrawingEditor());
-		for (int i = 0; i < 3; i++) {
-			tracker.addImage(im[i], i);
-		}
-		try {
-			tracker.waitForAll();
-		}
-		catch (Exception e) {
-			// ignore exception
-		}
-
-		return new PaletteIcon(new Dimension(24, 24), im[0], im[1], im[2]);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		paletteicon = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		paletteicon = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method normal()
-	/**
-	 * Method testNormal is testing normal
-	 * @see CH.ifa.draw.util.PaletteIcon#normal()
-	 */
-	// JUnitDoclet end javadoc_method normal()
-	public void testNormal() throws Exception {
-		// JUnitDoclet begin method normal
-		// JUnitDoclet end method normal
-	}
-
-	// JUnitDoclet begin javadoc_method pressed()
-	/**
-	 * Method testPressed is testing pressed
-	 * @see CH.ifa.draw.util.PaletteIcon#pressed()
-	 */
-	// JUnitDoclet end javadoc_method pressed()
-	public void testPressed() throws Exception {
-		// JUnitDoclet begin method pressed
-		// JUnitDoclet end method pressed
-	}
-
-	// JUnitDoclet begin javadoc_method selected()
-	/**
-	 * Method testSelected is testing selected
-	 * @see CH.ifa.draw.util.PaletteIcon#selected()
-	 */
-	// JUnitDoclet end javadoc_method selected()
-	public void testSelected() throws Exception {
-		// JUnitDoclet begin method selected
-		// JUnitDoclet end method selected
-	}
-
-	// JUnitDoclet begin javadoc_method getWidth()
-	/**
-	 * Method testGetWidth is testing getWidth
-	 * @see CH.ifa.draw.util.PaletteIcon#getWidth()
-	 */
-	// JUnitDoclet end javadoc_method getWidth()
-	public void testGetWidth() throws Exception {
-		// JUnitDoclet begin method getWidth
-		// JUnitDoclet end method getWidth
-	}
-
-	// JUnitDoclet begin javadoc_method getHeight()
-	/**
-	 * Method testGetHeight is testing getHeight
-	 * @see CH.ifa.draw.util.PaletteIcon#getHeight()
-	 */
-	// JUnitDoclet end javadoc_method getHeight()
-	public void testGetHeight() throws Exception {
-		// JUnitDoclet begin method getHeight
-		// JUnitDoclet end method getHeight
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/PaletteLayoutTest.java b/JHotDraw/src/CH/ifa/draw/test/util/PaletteLayoutTest.java
deleted file mode 100644
index f55d6fe5b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/PaletteLayoutTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.awt.Point;
-
-import CH.ifa.draw.util.PaletteLayout;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PaletteLayoutTest is generated by
- * JUnitDoclet to hold the tests for PaletteLayout.
- * @see CH.ifa.draw.util.PaletteLayout
- */
-// JUnitDoclet end javadoc_class
-public class PaletteLayoutTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PaletteLayout palettelayout;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PaletteLayoutTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PaletteLayoutTest(String name) {
-		// JUnitDoclet begin method PaletteLayoutTest
-		super(name);
-		// JUnitDoclet end method PaletteLayoutTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.PaletteLayout createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.PaletteLayout(10, new Point(5, 5));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		palettelayout = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		palettelayout = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addLayoutComponent()
-	/**
-	 * Method testAddLayoutComponent is testing addLayoutComponent
-	 * @see CH.ifa.draw.util.PaletteLayout#addLayoutComponent(java.lang.String, java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method addLayoutComponent()
-	public void testAddLayoutComponent() throws Exception {
-		// JUnitDoclet begin method addLayoutComponent
-		// JUnitDoclet end method addLayoutComponent
-	}
-
-	// JUnitDoclet begin javadoc_method removeLayoutComponent()
-	/**
-	 * Method testRemoveLayoutComponent is testing removeLayoutComponent
-	 * @see CH.ifa.draw.util.PaletteLayout#removeLayoutComponent(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method removeLayoutComponent()
-	public void testRemoveLayoutComponent() throws Exception {
-		// JUnitDoclet begin method removeLayoutComponent
-		// JUnitDoclet end method removeLayoutComponent
-	}
-
-	// JUnitDoclet begin javadoc_method preferredLayoutSize()
-	/**
-	 * Method testPreferredLayoutSize is testing preferredLayoutSize
-	 * @see CH.ifa.draw.util.PaletteLayout#preferredLayoutSize(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method preferredLayoutSize()
-	public void testPreferredLayoutSize() throws Exception {
-		// JUnitDoclet begin method preferredLayoutSize
-		// JUnitDoclet end method preferredLayoutSize
-	}
-
-	// JUnitDoclet begin javadoc_method minimumLayoutSize()
-	/**
-	 * Method testMinimumLayoutSize is testing minimumLayoutSize
-	 * @see CH.ifa.draw.util.PaletteLayout#minimumLayoutSize(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method minimumLayoutSize()
-	public void testMinimumLayoutSize() throws Exception {
-		// JUnitDoclet begin method minimumLayoutSize
-		// JUnitDoclet end method minimumLayoutSize
-	}
-
-	// JUnitDoclet begin javadoc_method layoutContainer()
-	/**
-	 * Method testLayoutContainer is testing layoutContainer
-	 * @see CH.ifa.draw.util.PaletteLayout#layoutContainer(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method layoutContainer()
-	public void testLayoutContainer() throws Exception {
-		// JUnitDoclet begin method layoutContainer
-		// JUnitDoclet end method layoutContainer
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/RedoCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/util/RedoCommandTest.java
deleted file mode 100644
index 7913327d7..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/RedoCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.RedoCommand;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RedoCommandTest is generated by
- * JUnitDoclet to hold the tests for RedoCommand.
- * @see CH.ifa.draw.util.RedoCommand
- */
-// JUnitDoclet end javadoc_class
-public class RedoCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RedoCommand redocommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RedoCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RedoCommandTest(String name) {
-		// JUnitDoclet begin method RedoCommandTest
-		super(name);
-		// JUnitDoclet end method RedoCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.RedoCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.RedoCommand("TestRedo", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		redocommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		redocommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.util.RedoCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.util.RedoCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/ReverseListEnumeratorTest.java b/JHotDraw/src/CH/ifa/draw/test/util/ReverseListEnumeratorTest.java
deleted file mode 100644
index 7bb4b929d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/ReverseListEnumeratorTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.CollectionsFactory;
-import CH.ifa.draw.util.ReverseListEnumerator;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ReverseListEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for ReverseListEnumerator.
- * @see CH.ifa.draw.util.ReverseListEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class ReverseListEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ReverseListEnumerator reverselistenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ReverseListEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ReverseListEnumeratorTest(String name) {
-		// JUnitDoclet begin method ReverseListEnumeratorTest
-		super(name);
-		// JUnitDoclet end method ReverseListEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.ReverseListEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add("TestString1");
-		l.add("TestString2");
-		return new CH.ifa.draw.util.ReverseListEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		reverselistenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		reverselistenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNext()
-	/**
-	 * Method testHasNext is testing hasNext
-	 * @see CH.ifa.draw.util.ReverseListEnumerator#hasNext()
-	 */
-	// JUnitDoclet end javadoc_method hasNext()
-	public void testHasNext() throws Exception {
-		// JUnitDoclet begin method hasNext
-		// JUnitDoclet end method hasNext
-	}
-
-	// JUnitDoclet begin javadoc_method next()
-	/**
-	 * Method testNext is testing next
-	 * @see CH.ifa.draw.util.ReverseListEnumerator#next()
-	 */
-	// JUnitDoclet end javadoc_method next()
-	public void testNext() throws Exception {
-		// JUnitDoclet begin method next
-		// JUnitDoclet end method next
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.ReverseListEnumerator#remove()
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/SerializationStorageFormatTest.java b/JHotDraw/src/CH/ifa/draw/test/util/SerializationStorageFormatTest.java
deleted file mode 100644
index 9cae000db..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/SerializationStorageFormatTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import CH.ifa.draw.util.SerializationStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SerializationStorageFormatTest is generated by
- * JUnitDoclet to hold the tests for SerializationStorageFormat.
- * @see CH.ifa.draw.util.SerializationStorageFormat
- */
-// JUnitDoclet end javadoc_class
-public class SerializationStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SerializationStorageFormat serializationstorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SerializationStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SerializationStorageFormatTest(String name) {
-		// JUnitDoclet begin method SerializationStorageFormatTest
-		super(name);
-		// JUnitDoclet end method SerializationStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.SerializationStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.SerializationStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		serializationstorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		serializationstorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see CH.ifa.draw.util.SerializationStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see CH.ifa.draw.util.SerializationStorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see CH.ifa.draw.util.SerializationStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StandardStorageFormatTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StandardStorageFormatTest.java
deleted file mode 100644
index 591141cdb..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StandardStorageFormatTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.StandardStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardStorageFormatTest is generated by
- * JUnitDoclet to hold the tests for StandardStorageFormat.
- * @see CH.ifa.draw.util.StandardStorageFormat
- */
-// JUnitDoclet end javadoc_class
-public class StandardStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardStorageFormat standardstorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardStorageFormatTest(String name) {
-		// JUnitDoclet begin method StandardStorageFormatTest
-		super(name);
-		// JUnitDoclet end method StandardStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StandardStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.StandardStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardstorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardstorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setFileExtension()
-	/**
-	 * Method testSetGetFileExtension is testing setFileExtension
-	 * and getFileExtension together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.StandardStorageFormat#setFileExtension(java.lang.String)
-	 * @see CH.ifa.draw.util.StandardStorageFormat#getFileExtension()
-	 */
-	// JUnitDoclet end javadoc_method setFileExtension()
-	public void testSetGetFileExtension() throws Exception {
-		// JUnitDoclet begin method setFileExtension getFileExtension
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standardstorageformat.setFileExtension(tests[i]);
-			assertEquals(tests[i], standardstorageformat.getFileExtension());
-		}
-		// JUnitDoclet end method setFileExtension getFileExtension
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see CH.ifa.draw.util.StandardStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method setFileDescription()
-	/**
-	 * Method testSetGetFileDescription is testing setFileDescription
-	 * and getFileDescription together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.StandardStorageFormat#setFileDescription(java.lang.String)
-	 * @see CH.ifa.draw.util.StandardStorageFormat#getFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method setFileDescription()
-	public void testSetGetFileDescription() throws Exception {
-		// JUnitDoclet begin method setFileDescription getFileDescription
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standardstorageformat.setFileDescription(tests[i]);
-			assertEquals(tests[i], standardstorageformat.getFileDescription());
-		}
-		// JUnitDoclet end method setFileDescription getFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method setFileFilter()
-	/**
-	 * Method testSetGetFileFilter is testing setFileFilter
-	 * and getFileFilter together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.StandardStorageFormat#setFileFilter(javax.swing.filechooser.FileFilter)
-	 * @see CH.ifa.draw.util.StandardStorageFormat#getFileFilter()
-	 */
-	// JUnitDoclet end javadoc_method setFileFilter()
-	public void testSetGetFileFilter() throws Exception {
-		// JUnitDoclet begin method setFileFilter getFileFilter
-		javax.swing.filechooser.FileFilter[] tests = { null, null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standardstorageformat.setFileFilter(tests[i]);
-			assertEquals(tests[i], standardstorageformat.getFileFilter());
-		}
-		// JUnitDoclet end method setFileFilter getFileFilter
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see CH.ifa.draw.util.StandardStorageFormat#store(java.lang.String, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see CH.ifa.draw.util.StandardStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see CH.ifa.draw.util.StandardStorageFormat#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StandardVersionControlStrategyTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StandardVersionControlStrategyTest.java
deleted file mode 100644
index 0352cfc34..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StandardVersionControlStrategyTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.StandardVersionControlStrategy;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardVersionControlStrategyTest is generated by
- * JUnitDoclet to hold the tests for StandardVersionControlStrategy.
- * @see CH.ifa.draw.util.StandardVersionControlStrategy
- */
-// JUnitDoclet end javadoc_class
-public class StandardVersionControlStrategyTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardVersionControlStrategy standardversioncontrolstrategy;
-	// JUnitDoclet end class
-	/**
-	 * Constructor StandardVersionControlStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardVersionControlStrategyTest(String name) {
-		// JUnitDoclet begin method StandardVersionControlStrategyTest
-		super(name);
-		// JUnitDoclet end method StandardVersionControlStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StandardVersionControlStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.StandardVersionControlStrategy(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardversioncontrolstrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardversioncontrolstrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method assertCompatibleVersion()
-	/**
-	 * Method testAssertCompatibleVersion is testing assertCompatibleVersion
-	 * @see CH.ifa.draw.util.StandardVersionControlStrategy#assertCompatibleVersion()
-	 */
-	// JUnitDoclet end javadoc_method assertCompatibleVersion()
-	public void testAssertCompatibleVersion() throws Exception {
-		// JUnitDoclet begin method assertCompatibleVersion
-		// JUnitDoclet end method assertCompatibleVersion
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StorableInputTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StorableInputTest.java
deleted file mode 100644
index 772b78e4f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StorableInputTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-
-import CH.ifa.draw.util.StorableInput;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StorableInputTest is generated by
- * JUnitDoclet to hold the tests for StorableInput.
- * @see CH.ifa.draw.util.StorableInput
- */
-// JUnitDoclet end javadoc_class
-public class StorableInputTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StorableInput storableinput;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StorableInputTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StorableInputTest(String name) {
-		// JUnitDoclet begin method StorableInputTest
-		super(name);
-		// JUnitDoclet end method StorableInputTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StorableInput createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		File tempFile = File.createTempFile("StorableInputTest", "dat");
-		FileInputStream stream = new FileInputStream(tempFile);
-		tempFile.deleteOnExit();
-		return new CH.ifa.draw.util.StorableInput(stream);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		storableinput = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		storableinput = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method readStorable()
-	/**
-	 * Method testReadStorable is testing readStorable
-	 * @see CH.ifa.draw.util.StorableInput#readStorable()
-	 */
-	// JUnitDoclet end javadoc_method readStorable()
-	public void testReadStorable() throws Exception {
-		// JUnitDoclet begin method readStorable
-		// JUnitDoclet end method readStorable
-	}
-
-	// JUnitDoclet begin javadoc_method readString()
-	/**
-	 * Method testReadString is testing readString
-	 * @see CH.ifa.draw.util.StorableInput#readString()
-	 */
-	// JUnitDoclet end javadoc_method readString()
-	public void testReadString() throws Exception {
-		// JUnitDoclet begin method readString
-		// JUnitDoclet end method readString
-	}
-
-	// JUnitDoclet begin javadoc_method readInt()
-	/**
-	 * Method testReadInt is testing readInt
-	 * @see CH.ifa.draw.util.StorableInput#readInt()
-	 */
-	// JUnitDoclet end javadoc_method readInt()
-	public void testReadInt() throws Exception {
-		// JUnitDoclet begin method readInt
-		// JUnitDoclet end method readInt
-	}
-
-	// JUnitDoclet begin javadoc_method readLong()
-	/**
-	 * Method testReadLong is testing readLong
-	 * @see CH.ifa.draw.util.StorableInput#readLong()
-	 */
-	// JUnitDoclet end javadoc_method readLong()
-	public void testReadLong() throws Exception {
-		// JUnitDoclet begin method readLong
-		// JUnitDoclet end method readLong
-	}
-
-	// JUnitDoclet begin javadoc_method readColor()
-	/**
-	 * Method testReadColor is testing readColor
-	 * @see CH.ifa.draw.util.StorableInput#readColor()
-	 */
-	// JUnitDoclet end javadoc_method readColor()
-	public void testReadColor() throws Exception {
-		// JUnitDoclet begin method readColor
-		// JUnitDoclet end method readColor
-	}
-
-	// JUnitDoclet begin javadoc_method readDouble()
-	/**
-	 * Method testReadDouble is testing readDouble
-	 * @see CH.ifa.draw.util.StorableInput#readDouble()
-	 */
-	// JUnitDoclet end javadoc_method readDouble()
-	public void testReadDouble() throws Exception {
-		// JUnitDoclet begin method readDouble
-		// JUnitDoclet end method readDouble
-	}
-
-	// JUnitDoclet begin javadoc_method readBoolean()
-	/**
-	 * Method testReadBoolean is testing readBoolean
-	 * @see CH.ifa.draw.util.StorableInput#readBoolean()
-	 */
-	// JUnitDoclet end javadoc_method readBoolean()
-	public void testReadBoolean() throws Exception {
-		// JUnitDoclet begin method readBoolean
-		// JUnitDoclet end method readBoolean
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StorableOutputTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StorableOutputTest.java
deleted file mode 100644
index e80317dcd..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StorableOutputTest.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.io.File;
-import java.io.FileOutputStream;
-
-import CH.ifa.draw.util.StorableOutput;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StorableOutputTest is generated by
- * JUnitDoclet to hold the tests for StorableOutput.
- * @see CH.ifa.draw.util.StorableOutput
- */
-// JUnitDoclet end javadoc_class
-public class StorableOutputTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StorableOutput storableoutput;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StorableOutputTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StorableOutputTest(String name) {
-		// JUnitDoclet begin method StorableOutputTest
-		super(name);
-		// JUnitDoclet end method StorableOutputTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StorableOutput createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		File tempFile = File.createTempFile("StorableOutputTest", "dat");
-		FileOutputStream stream = new FileOutputStream(tempFile);
-		tempFile.deleteOnExit();
-		return new CH.ifa.draw.util.StorableOutput(stream);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		storableoutput = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		storableoutput = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method writeStorable()
-	/**
-	 * Method testWriteStorable is testing writeStorable
-	 * @see CH.ifa.draw.util.StorableOutput#writeStorable(CH.ifa.draw.util.Storable)
-	 */
-	// JUnitDoclet end javadoc_method writeStorable()
-	public void testWriteStorable() throws Exception {
-		// JUnitDoclet begin method writeStorable
-		// JUnitDoclet end method writeStorable
-	}
-
-	// JUnitDoclet begin javadoc_method writeInt()
-	/**
-	 * Method testWriteInt is testing writeInt
-	 * @see CH.ifa.draw.util.StorableOutput#writeInt(int)
-	 */
-	// JUnitDoclet end javadoc_method writeInt()
-	public void testWriteInt() throws Exception {
-		// JUnitDoclet begin method writeInt
-		// JUnitDoclet end method writeInt
-	}
-
-	// JUnitDoclet begin javadoc_method writeLong()
-	/**
-	 * Method testWriteLong is testing writeLong
-	 * @see CH.ifa.draw.util.StorableOutput#writeLong(long)
-	 */
-	// JUnitDoclet end javadoc_method writeLong()
-	public void testWriteLong() throws Exception {
-		// JUnitDoclet begin method writeLong
-		// JUnitDoclet end method writeLong
-	}
-
-	// JUnitDoclet begin javadoc_method writeColor()
-	/**
-	 * Method testWriteColor is testing writeColor
-	 * @see CH.ifa.draw.util.StorableOutput#writeColor(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method writeColor()
-	public void testWriteColor() throws Exception {
-		// JUnitDoclet begin method writeColor
-		// JUnitDoclet end method writeColor
-	}
-
-	// JUnitDoclet begin javadoc_method writeDouble()
-	/**
-	 * Method testWriteDouble is testing writeDouble
-	 * @see CH.ifa.draw.util.StorableOutput#writeDouble(double)
-	 */
-	// JUnitDoclet end javadoc_method writeDouble()
-	public void testWriteDouble() throws Exception {
-		// JUnitDoclet begin method writeDouble
-		// JUnitDoclet end method writeDouble
-	}
-
-	// JUnitDoclet begin javadoc_method writeBoolean()
-	/**
-	 * Method testWriteBoolean is testing writeBoolean
-	 * @see CH.ifa.draw.util.StorableOutput#writeBoolean(boolean)
-	 */
-	// JUnitDoclet end javadoc_method writeBoolean()
-	public void testWriteBoolean() throws Exception {
-		// JUnitDoclet begin method writeBoolean
-		// JUnitDoclet end method writeBoolean
-	}
-
-	// JUnitDoclet begin javadoc_method writeString()
-	/**
-	 * Method testWriteString is testing writeString
-	 * @see CH.ifa.draw.util.StorableOutput#writeString(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method writeString()
-	public void testWriteString() throws Exception {
-		// JUnitDoclet begin method writeString
-		// JUnitDoclet end method writeString
-	}
-
-	// JUnitDoclet begin javadoc_method close()
-	/**
-	 * Method testClose is testing close
-	 * @see CH.ifa.draw.util.StorableOutput#close()
-	 */
-	// JUnitDoclet end javadoc_method close()
-	public void testClose() throws Exception {
-		// JUnitDoclet begin method close
-		// JUnitDoclet end method close
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/StorageFormatManagerTest.java b/JHotDraw/src/CH/ifa/draw/test/util/StorageFormatManagerTest.java
deleted file mode 100644
index f692f587f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/StorageFormatManagerTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.StandardStorageFormat;
-import CH.ifa.draw.util.StorageFormatManager;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StorageFormatManagerTest is generated by
- * JUnitDoclet to hold the tests for StorageFormatManager.
- * @see CH.ifa.draw.util.StorageFormatManager
- */
-// JUnitDoclet end javadoc_class
-public class StorageFormatManagerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StorageFormatManager storageformatmanager;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StorageFormatManagerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StorageFormatManagerTest(String name) {
-		// JUnitDoclet begin method StorageFormatManagerTest
-		super(name);
-		// JUnitDoclet end method StorageFormatManagerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.StorageFormatManager createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.StorageFormatManager();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		storageformatmanager = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		storageformatmanager = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addStorageFormat()
-	/**
-	 * Method testAddStorageFormat is testing addStorageFormat
-	 * @see CH.ifa.draw.util.StorageFormatManager#addStorageFormat(CH.ifa.draw.util.StorageFormat)
-	 */
-	// JUnitDoclet end javadoc_method addStorageFormat()
-	public void testAddStorageFormat() throws Exception {
-		// JUnitDoclet begin method addStorageFormat
-		// JUnitDoclet end method addStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method removeStorageFormat()
-	/**
-	 * Method testRemoveStorageFormat is testing removeStorageFormat
-	 * @see CH.ifa.draw.util.StorageFormatManager#removeStorageFormat(CH.ifa.draw.util.StorageFormat)
-	 */
-	// JUnitDoclet end javadoc_method removeStorageFormat()
-	public void testRemoveStorageFormat() throws Exception {
-		// JUnitDoclet begin method removeStorageFormat
-		// JUnitDoclet end method removeStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method containsStorageFormat()
-	/**
-	 * Method testContainsStorageFormat is testing containsStorageFormat
-	 * @see CH.ifa.draw.util.StorageFormatManager#containsStorageFormat(CH.ifa.draw.util.StorageFormat)
-	 */
-	// JUnitDoclet end javadoc_method containsStorageFormat()
-	public void testContainsStorageFormat() throws Exception {
-		// JUnitDoclet begin method containsStorageFormat
-		// JUnitDoclet end method containsStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method setDefaultStorageFormat()
-	/**
-	 * Method testSetGetDefaultStorageFormat is testing setDefaultStorageFormat
-	 * and getDefaultStorageFormat together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.StorageFormatManager#setDefaultStorageFormat(CH.ifa.draw.util.StorageFormat)
-	 * @see CH.ifa.draw.util.StorageFormatManager#getDefaultStorageFormat()
-	 */
-	// JUnitDoclet end javadoc_method setDefaultStorageFormat()
-	public void testSetGetDefaultStorageFormat() throws Exception {
-		// JUnitDoclet begin method setDefaultStorageFormat getDefaultStorageFormat
-		CH.ifa.draw.util.StorageFormat[] tests = { new StandardStorageFormat(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			storageformatmanager.setDefaultStorageFormat(tests[i]);
-			assertEquals(tests[i], storageformatmanager.getDefaultStorageFormat());
-		}
-		// JUnitDoclet end method setDefaultStorageFormat getDefaultStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method registerFileFilters()
-	/**
-	 * Method testRegisterFileFilters is testing registerFileFilters
-	 * @see CH.ifa.draw.util.StorageFormatManager#registerFileFilters(javax.swing.JFileChooser)
-	 */
-	// JUnitDoclet end javadoc_method registerFileFilters()
-	public void testRegisterFileFilters() throws Exception {
-		// JUnitDoclet begin method registerFileFilters
-		// JUnitDoclet end method registerFileFilters
-	}
-
-	// JUnitDoclet begin javadoc_method findStorageFormat()
-	/**
-	 * Method testFindStorageFormat is testing findStorageFormat
-	 * @see CH.ifa.draw.util.StorageFormatManager#findStorageFormat(javax.swing.filechooser.FileFilter)
-	 */
-	// JUnitDoclet end javadoc_method findStorageFormat()
-	public void testFindStorageFormat() throws Exception {
-		// JUnitDoclet begin method findStorageFormat
-		// JUnitDoclet end method findStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoCommandTest.java
deleted file mode 100644
index 70e41ccc5..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoCommand;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoCommandTest is generated by
- * JUnitDoclet to hold the tests for UndoCommand.
- * @see CH.ifa.draw.util.UndoCommand
- */
-// JUnitDoclet end javadoc_class
-public class UndoCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoCommand undocommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoCommandTest(String name) {
-		// JUnitDoclet begin method UndoCommandTest
-		super(name);
-		// JUnitDoclet end method UndoCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoCommand("TestUndo", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undocommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undocommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.util.UndoCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see CH.ifa.draw.util.UndoCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoManagerTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoManagerTest.java
deleted file mode 100644
index e165cea14..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoManagerTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.UndoManager;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoManagerTest is generated by
- * JUnitDoclet to hold the tests for UndoManager.
- * @see CH.ifa.draw.util.UndoManager
- */
-// JUnitDoclet end javadoc_class
-public class UndoManagerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoManager undomanager;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoManagerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoManagerTest(String name) {
-		// JUnitDoclet begin method UndoManagerTest
-		super(name);
-		// JUnitDoclet end method UndoManagerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoManager createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoManager();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undomanager = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undomanager = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method pushUndo()
-	/**
-	 * Method testPushUndo is testing pushUndo
-	 * @see CH.ifa.draw.util.UndoManager#pushUndo(CH.ifa.draw.util.Undoable)
-	 */
-	// JUnitDoclet end javadoc_method pushUndo()
-	public void testPushUndo() throws Exception {
-		// JUnitDoclet begin method pushUndo
-		// JUnitDoclet end method pushUndo
-	}
-
-	// JUnitDoclet begin javadoc_method pushRedo()
-	/**
-	 * Method testPushRedo is testing pushRedo
-	 * @see CH.ifa.draw.util.UndoManager#pushRedo(CH.ifa.draw.util.Undoable)
-	 */
-	// JUnitDoclet end javadoc_method pushRedo()
-	public void testPushRedo() throws Exception {
-		// JUnitDoclet begin method pushRedo
-		// JUnitDoclet end method pushRedo
-	}
-
-	// JUnitDoclet begin javadoc_method isUndoable()
-	/**
-	 * Method testIsUndoable is testing isUndoable
-	 * @see CH.ifa.draw.util.UndoManager#isUndoable()
-	 */
-	// JUnitDoclet end javadoc_method isUndoable()
-	public void testIsUndoable() throws Exception {
-		// JUnitDoclet begin method isUndoable
-		// JUnitDoclet end method isUndoable
-	}
-
-	// JUnitDoclet begin javadoc_method isRedoable()
-	/**
-	 * Method testIsRedoable is testing isRedoable
-	 * @see CH.ifa.draw.util.UndoManager#isRedoable()
-	 */
-	// JUnitDoclet end javadoc_method isRedoable()
-	public void testIsRedoable() throws Exception {
-		// JUnitDoclet begin method isRedoable
-		// JUnitDoclet end method isRedoable
-	}
-
-	// JUnitDoclet begin javadoc_method getUndoSize()
-	/**
-	 * Method testGetUndoSize is testing getUndoSize
-	 * @see CH.ifa.draw.util.UndoManager#getUndoSize()
-	 */
-	// JUnitDoclet end javadoc_method getUndoSize()
-	public void testGetUndoSize() throws Exception {
-		// JUnitDoclet begin method getUndoSize
-		// JUnitDoclet end method getUndoSize
-	}
-
-	// JUnitDoclet begin javadoc_method getRedoSize()
-	/**
-	 * Method testGetRedoSize is testing getRedoSize
-	 * @see CH.ifa.draw.util.UndoManager#getRedoSize()
-	 */
-	// JUnitDoclet end javadoc_method getRedoSize()
-	public void testGetRedoSize() throws Exception {
-		// JUnitDoclet begin method getRedoSize
-		// JUnitDoclet end method getRedoSize
-	}
-
-	// JUnitDoclet begin javadoc_method popUndo()
-	/**
-	 * Method testPopUndo is testing popUndo
-	 * @see CH.ifa.draw.util.UndoManager#popUndo()
-	 */
-	// JUnitDoclet end javadoc_method popUndo()
-	public void testPopUndo() throws Exception {
-		// JUnitDoclet begin method popUndo
-		// JUnitDoclet end method popUndo
-	}
-
-	// JUnitDoclet begin javadoc_method popRedo()
-	/**
-	 * Method testPopRedo is testing popRedo
-	 * @see CH.ifa.draw.util.UndoManager#popRedo()
-	 */
-	// JUnitDoclet end javadoc_method popRedo()
-	public void testPopRedo() throws Exception {
-		// JUnitDoclet begin method popRedo
-		// JUnitDoclet end method popRedo
-	}
-
-	// JUnitDoclet begin javadoc_method clearUndos()
-	/**
-	 * Method testClearUndos is testing clearUndos
-	 * @see CH.ifa.draw.util.UndoManager#clearUndos()
-	 */
-	// JUnitDoclet end javadoc_method clearUndos()
-	public void testClearUndos() throws Exception {
-		// JUnitDoclet begin method clearUndos
-		// JUnitDoclet end method clearUndos
-	}
-
-	// JUnitDoclet begin javadoc_method clearRedos()
-	/**
-	 * Method testClearRedos is testing clearRedos
-	 * @see CH.ifa.draw.util.UndoManager#clearRedos()
-	 */
-	// JUnitDoclet end javadoc_method clearRedos()
-	public void testClearRedos() throws Exception {
-		// JUnitDoclet begin method clearRedos
-		// JUnitDoclet end method clearRedos
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoRedoActivityTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoRedoActivityTest.java
deleted file mode 100644
index 9faabc515..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoRedoActivityTest.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.awt.Point;
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.standard.PasteCommand;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoRedoActivity;
-import CH.ifa.draw.util.Undoable;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoRedoActivityTest is generated by
- * JUnitDoclet to hold the tests for UndoRedoActivity.
- * @see CH.ifa.draw.util.UndoRedoActivity
- */
-// JUnitDoclet end javadoc_class
-public class UndoRedoActivityTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoRedoActivity undoredoactivity;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoRedoActivityTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoRedoActivityTest(String name) {
-		// JUnitDoclet begin method UndoRedoActivityTest
-		super(name);
-		// JUnitDoclet end method UndoRedoActivityTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoRedoActivity createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Undoable undoActivity = new PasteCommand.UndoActivity(getDrawingEditor().view());
-		undoActivity.setAffectedFigures(new SingleFigureEnumerator(new RectangleFigure(new Point(33, 33), new Point(44, 44))));
-		return (UndoRedoActivity)UndoRedoActivity.createUndoRedoActivity(undoActivity);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoredoactivity = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoredoactivity = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method undo()
-	/**
-	 * Method testUndo is testing undo
-	 * @see CH.ifa.draw.util.UndoRedoActivity#undo()
-	 */
-	// JUnitDoclet end javadoc_method undo()
-	public void testUndo() throws Exception {
-		// JUnitDoclet begin method undo
-		// JUnitDoclet end method undo
-	}
-
-	// JUnitDoclet begin javadoc_method redo()
-	/**
-	 * Method testRedo is testing redo
-	 * @see CH.ifa.draw.util.UndoRedoActivity#redo()
-	 */
-	// JUnitDoclet end javadoc_method redo()
-	public void testRedo() throws Exception {
-		// JUnitDoclet begin method redo
-		// JUnitDoclet end method redo
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoable()
-	/**
-	 * Method testSetIsUndoable is testing setUndoable
-	 * and isUndoable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoRedoActivity#setUndoable(boolean)
-	 * @see CH.ifa.draw.util.UndoRedoActivity#isUndoable()
-	 */
-	// JUnitDoclet end javadoc_method setUndoable()
-	public void testSetIsUndoable() throws Exception {
-		// JUnitDoclet begin method setUndoable isUndoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoredoactivity.setUndoable(tests[i]);
-			assertEquals(tests[i], undoredoactivity.isUndoable());
-		}
-		// JUnitDoclet end method setUndoable isUndoable
-	}
-
-	// JUnitDoclet begin javadoc_method setRedoable()
-	/**
-	 * Method testSetIsRedoable is testing setRedoable
-	 * and isRedoable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoRedoActivity#setRedoable(boolean)
-	 * @see CH.ifa.draw.util.UndoRedoActivity#isRedoable()
-	 */
-	// JUnitDoclet end javadoc_method setRedoable()
-	public void testSetIsRedoable() throws Exception {
-		// JUnitDoclet begin method setRedoable isRedoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoredoactivity.setRedoable(tests[i]);
-			assertEquals(tests[i], undoredoactivity.isRedoable());
-		}
-		// JUnitDoclet end method setRedoable isRedoable
-	}
-
-	// JUnitDoclet begin javadoc_method setAffectedFigures()
-	/**
-	 * Method testSetGetAffectedFigures is testing setAffectedFigures
-	 * and getAffectedFigures together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoRedoActivity#setAffectedFigures(CH.ifa.draw.framework.FigureEnumeration)
-	 * @see CH.ifa.draw.util.UndoRedoActivity#getAffectedFigures()
-	 */
-	// JUnitDoclet end javadoc_method setAffectedFigures()
-	public void testSetGetAffectedFigures() throws Exception {
-		// JUnitDoclet begin method setAffectedFigures getAffectedFigures
-		FigureEnumeration[] tests = { new SingleFigureEnumerator(new RectangleFigure(new Point(44, 44), new Point(55, 55)))};
-
-		for (int i = 0; i < tests.length; i++) {
-			undoredoactivity.setAffectedFigures(tests[i]);
-			FigureEnumeration returned = undoredoactivity.getAffectedFigures();
-			tests[i].reset();
-			while (returned.hasNextFigure()) {
-				assertTrue(tests[i].hasNextFigure());
-				assertEquals(tests[i].nextFigure(), returned.nextFigure());
-			}
-			assertFalse(tests[i].hasNextFigure());
-		}
-		// JUnitDoclet end method setAffectedFigures getAffectedFigures
-	}
-
-	// JUnitDoclet begin method testSetNullAffectedFigures()
-	/**
-	  * Test a null argument to setAffectedFigures.  Expect an IllegalArgumentException
-	  * 
-	  * @see CH.ifa.draw.util.UndoRedoActivity#setAffectedFigures(CH.ifa.draw.framework.PointConstrainer)
-	  */
-	public void testSetNullAffectedFigures() throws Exception {
-		FigureEnumeration original = undoredoactivity.getAffectedFigures();
-
-		try {
-			undoredoactivity.setAffectedFigures(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method getAffectedFiguresCount()
-	/**
-	 * Method testGetAffectedFiguresCount is testing getAffectedFiguresCount
-	 * @see CH.ifa.draw.util.UndoRedoActivity#getAffectedFiguresCount()
-	 */
-	// JUnitDoclet end javadoc_method getAffectedFiguresCount()
-	public void testGetAffectedFiguresCount() throws Exception {
-		// JUnitDoclet begin method getAffectedFiguresCount
-		// JUnitDoclet end method getAffectedFiguresCount
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see CH.ifa.draw.util.UndoRedoActivity#getDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.util.UndoRedoActivity#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method getReversedActivity()
-	/**
-	 * Method testGetReversedActivity is testing getReversedActivity
-	 * @see CH.ifa.draw.util.UndoRedoActivity#getReversedActivity()
-	 */
-	// JUnitDoclet end javadoc_method getReversedActivity()
-	public void testGetReversedActivity() throws Exception {
-		// JUnitDoclet begin method getReversedActivity
-		// JUnitDoclet end method getReversedActivity
-	}
-
-	// JUnitDoclet begin javadoc_method createUndoRedoActivity()
-	/**
-	 * Method testCreateUndoRedoActivity is testing createUndoRedoActivity
-	 * @see CH.ifa.draw.util.UndoRedoActivity#createUndoRedoActivity(CH.ifa.draw.util.Undoable)
-	 */
-	// JUnitDoclet end javadoc_method createUndoRedoActivity()
-	public void testCreateUndoRedoActivity() throws Exception {
-		// JUnitDoclet begin method createUndoRedoActivity
-		// JUnitDoclet end method createUndoRedoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoableAdapterTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoableAdapterTest.java
deleted file mode 100644
index b91fcbb88..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoableAdapterTest.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoableAdapter;
-import CH.ifa.draw.standard.SingleFigureEnumerator;
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.framework.FigureEnumeration;
-
-import java.awt.*;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableAdapterTest is generated by
- * JUnitDoclet to hold the tests for UndoableAdapter.
- * @see CH.ifa.draw.util.UndoableAdapter
- */
-// JUnitDoclet end javadoc_class
-public class UndoableAdapterTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableAdapter undoableadapter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableAdapterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableAdapterTest(String name) {
-		// JUnitDoclet begin method UndoableAdapterTest
-		super(name);
-		// JUnitDoclet end method UndoableAdapterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoableAdapter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoableAdapter(getDrawingEditor().view());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoableadapter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoableadapter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method undo()
-	/**
-	 * Method testUndo is testing undo
-	 * @see CH.ifa.draw.util.UndoableAdapter#undo()
-	 */
-	// JUnitDoclet end javadoc_method undo()
-	public void testUndo() throws Exception {
-		// JUnitDoclet begin method undo
-		// JUnitDoclet end method undo
-	}
-
-	// JUnitDoclet begin javadoc_method redo()
-	/**
-	 * Method testRedo is testing redo
-	 * @see CH.ifa.draw.util.UndoableAdapter#redo()
-	 */
-	// JUnitDoclet end javadoc_method redo()
-	public void testRedo() throws Exception {
-		// JUnitDoclet begin method redo
-		// JUnitDoclet end method redo
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoable()
-	/**
-	 * Method testSetIsUndoable is testing setUndoable
-	 * and isUndoable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableAdapter#setUndoable(boolean)
-	 * @see CH.ifa.draw.util.UndoableAdapter#isUndoable()
-	 */
-	// JUnitDoclet end javadoc_method setUndoable()
-	public void testSetIsUndoable() throws Exception {
-		// JUnitDoclet begin method setUndoable isUndoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoableadapter.setUndoable(tests[i]);
-			assertEquals(tests[i], undoableadapter.isUndoable());
-		}
-		// JUnitDoclet end method setUndoable isUndoable
-	}
-
-	// JUnitDoclet begin javadoc_method setRedoable()
-	/**
-	 * Method testSetIsRedoable is testing setRedoable
-	 * and isRedoable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableAdapter#setRedoable(boolean)
-	 * @see CH.ifa.draw.util.UndoableAdapter#isRedoable()
-	 */
-	// JUnitDoclet end javadoc_method setRedoable()
-	public void testSetIsRedoable() throws Exception {
-		// JUnitDoclet begin method setRedoable isRedoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoableadapter.setRedoable(tests[i]);
-			assertEquals(tests[i], undoableadapter.isRedoable());
-		}
-		// JUnitDoclet end method setRedoable isRedoable
-	}
-
-	// JUnitDoclet begin javadoc_method setAffectedFigures()
-	/**
-	 * Method testSetGetAffectedFigures is testing setAffectedFigures
-	 * and getAffectedFigures together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableAdapter#setAffectedFigures(CH.ifa.draw.framework.FigureEnumeration)
-	 * @see CH.ifa.draw.util.UndoableAdapter#getAffectedFigures()
-	 */
-	// JUnitDoclet end javadoc_method setAffectedFigures()
-	public void testSetGetAffectedFigures() throws Exception {
-		// JUnitDoclet begin method setAffectedFigures getAffectedFigures
-		FigureEnumeration[] tests = { new SingleFigureEnumerator(new RectangleFigure(new Point(30, 30), new Point(60, 60)))};
-
-		for (int i = 0; i < tests.length; i++) {
-			undoableadapter.setAffectedFigures(tests[i]);
-			FigureEnumeration returned = undoableadapter.getAffectedFigures();
-			tests[i].reset();
-			while (returned.hasNextFigure()) {
-				assertTrue(tests[i].hasNextFigure());
-				assertEquals(tests[i].nextFigure(), returned.nextFigure());
-			}
-			assertFalse(tests[i].hasNextFigure());
-		}
-		// JUnitDoclet end method setAffectedFigures getAffectedFigures
-	}
-
-	// JUnitDoclet begin method testSetNullAffectedFigures()
-	/**
-		* Test a null argument to setAffectedFigures.  Expect an IllegalArgumentException
-		* 
-		* @see CH.ifa.draw.util.UndoRedoActivity#setAffectedFigures(CH.ifa.draw.framework.PointConstrainer)
-		*/
-	public void testSetNullAffectedFigures() throws Exception {
-		FigureEnumeration original = undoableadapter.getAffectedFigures();
-
-		try {
-			undoableadapter.setAffectedFigures(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method getAffectedFiguresCount()
-	/**
-	 * Method testGetAffectedFiguresCount is testing getAffectedFiguresCount
-	 * @see CH.ifa.draw.util.UndoableAdapter#getAffectedFiguresCount()
-	 */
-	// JUnitDoclet end javadoc_method getAffectedFiguresCount()
-	public void testGetAffectedFiguresCount() throws Exception {
-		// JUnitDoclet begin method getAffectedFiguresCount
-		// JUnitDoclet end method getAffectedFiguresCount
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see CH.ifa.draw.util.UndoableAdapter#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see CH.ifa.draw.util.UndoableAdapter#getDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoableCommandTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoableCommandTest.java
deleted file mode 100644
index b0d213ab0..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoableCommandTest.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.standard.DeleteCommand;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoableCommand;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableCommandTest is generated by
- * JUnitDoclet to hold the tests for UndoableCommand.
- * @see CH.ifa.draw.util.UndoableCommand
- */
-// JUnitDoclet end javadoc_class
-public class UndoableCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableCommand undoablecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableCommandTest(String name) {
-		// JUnitDoclet begin method UndoableCommandTest
-		super(name);
-		// JUnitDoclet end method UndoableCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoableCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoableCommand(new DeleteCommand("Delete", getDrawingEditor()));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoablecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoablecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see CH.ifa.draw.util.UndoableCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutable()
-	/**
-	 * Method testIsExecutable is testing isExecutable
-	 * @see CH.ifa.draw.util.UndoableCommand#isExecutable()
-	 */
-	// JUnitDoclet end javadoc_method isExecutable()
-	public void testIsExecutable() throws Exception {
-		// JUnitDoclet begin method isExecutable
-		// JUnitDoclet end method isExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method name()
-	/**
-	 * Method testName is testing name
-	 * @see CH.ifa.draw.util.UndoableCommand#name()
-	 */
-	// JUnitDoclet end javadoc_method name()
-	public void testName() throws Exception {
-		// JUnitDoclet begin method name
-		// JUnitDoclet end method name
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingEditor()
-	/**
-	 * Method testGetDrawingEditor is testing getDrawingEditor
-	 * @see CH.ifa.draw.util.UndoableCommand#getDrawingEditor()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingEditor()
-	public void testGetDrawingEditor() throws Exception {
-		// JUnitDoclet begin method getDrawingEditor
-		// JUnitDoclet end method getDrawingEditor
-	}
-
-	// JUnitDoclet begin javadoc_method view()
-	/**
-	 * Method testView is testing view
-	 * @see CH.ifa.draw.util.UndoableCommand#view()
-	 */
-	// JUnitDoclet end javadoc_method view()
-	public void testView() throws Exception {
-		// JUnitDoclet begin method view
-		// JUnitDoclet end method view
-	}
-
-	// JUnitDoclet begin javadoc_method figureSelectionChanged()
-	/**
-	 * Method testFigureSelectionChanged is testing figureSelectionChanged
-	 * @see CH.ifa.draw.util.UndoableCommand#figureSelectionChanged(CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method figureSelectionChanged()
-	public void testFigureSelectionChanged() throws Exception {
-		// JUnitDoclet begin method figureSelectionChanged
-		// JUnitDoclet end method figureSelectionChanged
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoActivity()
-	/**
-	 * Method testSetGetUndoActivity is testing setUndoActivity
-	 * and getUndoActivity together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableCommand#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 * @see CH.ifa.draw.util.UndoableCommand#getUndoActivity()
-	 */
-	// JUnitDoclet end javadoc_method setUndoActivity()
-	public void testSetGetUndoActivity() throws Exception {
-		// JUnitDoclet begin method setUndoActivity getUndoActivity
-		// Do nothing: UndoCommand.setUndoActivity() is a no-op
-		// JUnitDoclet end method setUndoActivity getUndoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method addCommandListener()
-	/**
-	 * Method testAddCommandListener is testing addCommandListener
-	 * @see CH.ifa.draw.util.UndoableCommand#addCommandListener(CH.ifa.draw.util.CommandListener)
-	 */
-	// JUnitDoclet end javadoc_method addCommandListener()
-	public void testAddCommandListener() throws Exception {
-		// JUnitDoclet begin method addCommandListener
-		// JUnitDoclet end method addCommandListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeCommandListener()
-	/**
-	 * Method testRemoveCommandListener is testing removeCommandListener
-	 * @see CH.ifa.draw.util.UndoableCommand#removeCommandListener(CH.ifa.draw.util.CommandListener)
-	 */
-	// JUnitDoclet end javadoc_method removeCommandListener()
-	public void testRemoveCommandListener() throws Exception {
-		// JUnitDoclet begin method removeCommandListener
-		// JUnitDoclet end method removeCommandListener
-	}
-
-	// JUnitDoclet begin javadoc_method createEventDispatcher()
-	/**
-	 * Method testCreateEventDispatcher is testing createEventDispatcher
-	 * @see CH.ifa.draw.util.UndoableCommand#createEventDispatcher()
-	 */
-	// JUnitDoclet end javadoc_method createEventDispatcher()
-	public void testCreateEventDispatcher() throws Exception {
-		// JUnitDoclet begin method createEventDispatcher
-		// JUnitDoclet end method createEventDispatcher
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecuted()
-	/**
-	 * Method testCommandExecuted is testing commandExecuted
-	 * @see CH.ifa.draw.util.UndoableCommand#commandExecuted(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecuted()
-	public void testCommandExecuted() throws Exception {
-		// JUnitDoclet begin method commandExecuted
-		// JUnitDoclet end method commandExecuted
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecutable()
-	/**
-	 * Method testCommandExecutable is testing commandExecutable
-	 * @see CH.ifa.draw.util.UndoableCommand#commandExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecutable()
-	public void testCommandExecutable() throws Exception {
-		// JUnitDoclet begin method commandExecutable
-		// JUnitDoclet end method commandExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method commandNotExecutable()
-	/**
-	 * Method testCommandNotExecutable is testing commandNotExecutable
-	 * @see CH.ifa.draw.util.UndoableCommand#commandNotExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandNotExecutable()
-	public void testCommandNotExecutable() throws Exception {
-		// JUnitDoclet begin method commandNotExecutable
-		// JUnitDoclet end method commandNotExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoableHandleTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoableHandleTest.java
deleted file mode 100644
index fae47d73f..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoableHandleTest.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.standard.BoxHandleKit;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoableHandle;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableHandleTest is generated by
- * JUnitDoclet to hold the tests for UndoableHandle.
- * @see CH.ifa.draw.util.UndoableHandle
- */
-// JUnitDoclet end javadoc_class
-public class UndoableHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableHandle undoablehandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableHandleTest(String name) {
-		// JUnitDoclet begin method UndoableHandleTest
-		super(name);
-		// JUnitDoclet end method UndoableHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UndoableHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new UndoableHandle(BoxHandleKit.south(new RectangleFigure(new Point(44, 44), new Point(88, 88))));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoablehandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoablehandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see CH.ifa.draw.util.UndoableHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see CH.ifa.draw.util.UndoableHandle#invokeStart(int, int, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see CH.ifa.draw.util.UndoableHandle#invokeStep(int, int, CH.ifa.draw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see CH.ifa.draw.util.UndoableHandle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method owner()
-	/**
-	 * Method testOwner is testing owner
-	 * @see CH.ifa.draw.util.UndoableHandle#owner()
-	 */
-	// JUnitDoclet end javadoc_method owner()
-	public void testOwner() throws Exception {
-		// JUnitDoclet begin method owner
-		// JUnitDoclet end method owner
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see CH.ifa.draw.util.UndoableHandle#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see CH.ifa.draw.util.UndoableHandle#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see CH.ifa.draw.util.UndoableHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see CH.ifa.draw.util.UndoableHandle#getDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoActivity()
-	/**
-	 * Method testSetGetUndoActivity is testing setUndoActivity
-	 * and getUndoActivity together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableHandle#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 * @see CH.ifa.draw.util.UndoableHandle#getUndoActivity()
-	 */
-	// JUnitDoclet end javadoc_method setUndoActivity()
-	public void testSetGetUndoActivity() throws Exception {
-		// JUnitDoclet begin method setUndoActivity getUndoActivity
-		// Do nothing: UndoableHandle.setUndoActivity() is a no-op.
-		// JUnitDoclet end method setUndoActivity getUndoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UndoableToolTest.java b/JHotDraw/src/CH/ifa/draw/test/util/UndoableToolTest.java
deleted file mode 100644
index 2f2a79259..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UndoableToolTest.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.contrib.DiamondFigure;
-import CH.ifa.draw.standard.CreationTool;
-import CH.ifa.draw.test.JHDTestCase;
-import CH.ifa.draw.util.UndoableTool;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableToolTest is generated by
- * JUnitDoclet to hold the tests for UndoableTool.
- * @see CH.ifa.draw.util.UndoableTool
- */
-// JUnitDoclet end javadoc_class
-public class UndoableToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableTool undoabletool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableToolTest(String name) {
-		// JUnitDoclet begin method UndoableToolTest
-		super(name);
-		// JUnitDoclet end method UndoableToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.UndoableTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.UndoableTool(new UndoableTool(new CreationTool(getDrawingEditor(), new DiamondFigure())));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoabletool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoabletool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see CH.ifa.draw.util.UndoableTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see CH.ifa.draw.util.UndoableTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see CH.ifa.draw.util.UndoableTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see CH.ifa.draw.util.UndoableTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see CH.ifa.draw.util.UndoableTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see CH.ifa.draw.util.UndoableTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method keyDown()
-	/**
-	 * Method testKeyDown is testing keyDown
-	 * @see CH.ifa.draw.util.UndoableTool#keyDown(java.awt.event.KeyEvent, int)
-	 */
-	// JUnitDoclet end javadoc_method keyDown()
-	public void testKeyDown() throws Exception {
-		// JUnitDoclet begin method keyDown
-		// JUnitDoclet end method keyDown
-	}
-
-	// JUnitDoclet begin javadoc_method isActive()
-	/**
-	 * Method testIsActive is testing isActive
-	 * @see CH.ifa.draw.util.UndoableTool#isActive()
-	 */
-	// JUnitDoclet end javadoc_method isActive()
-	public void testIsActive() throws Exception {
-		// JUnitDoclet begin method isActive
-		// JUnitDoclet end method isActive
-	}
-
-	// JUnitDoclet begin javadoc_method setUsable()
-	/**
-	 * Method testSetIsUsable is testing setUsable
-	 * and isUsable together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableTool#setUsable(boolean)
-	 * @see CH.ifa.draw.util.UndoableTool#isUsable()
-	 */
-	// JUnitDoclet end javadoc_method setUsable()
-	public void testSetIsUsable() throws Exception {
-		// JUnitDoclet begin method setUsable isUsable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoabletool.setUsable(tests[i]);
-			assertEquals(tests[i], undoabletool.isUsable());
-		}
-		// JUnitDoclet end method setUsable isUsable
-	}
-
-	// JUnitDoclet begin javadoc_method setEnabled()
-	/**
-	 * Method testSetIsEnabled is testing setEnabled
-	 * and isEnabled together by setting some value
-	 * and verifying it by reading.
-	 * @see CH.ifa.draw.util.UndoableTool#setEnabled(boolean)
-	 * @see CH.ifa.draw.util.UndoableTool#isEnabled()
-	 */
-	// JUnitDoclet end javadoc_method setEnabled()
-	public void testSetIsEnabled() throws Exception {
-		// JUnitDoclet begin method setEnabled isEnabled
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoabletool.setEnabled(tests[i]);
-			assertEquals(tests[i], undoabletool.isEnabled());
-		}
-		// JUnitDoclet end method setEnabled isEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method editor()
-	/**
-	 * Method testEditor is testing editor
-	 * @see CH.ifa.draw.util.UndoableTool#editor()
-	 */
-	// JUnitDoclet end javadoc_method editor()
-	public void testEditor() throws Exception {
-		// JUnitDoclet begin method editor
-		// JUnitDoclet end method editor
-	}
-
-	// JUnitDoclet begin javadoc_method view()
-	/**
-	 * Method testView is testing view
-	 * @see CH.ifa.draw.util.UndoableTool#view()
-	 */
-	// JUnitDoclet end javadoc_method view()
-	public void testView() throws Exception {
-		// JUnitDoclet begin method view
-		// JUnitDoclet end method view
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoActivity()
-	/**
-	 * @see CH.ifa.draw.util.UndoableTool#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 * @see CH.ifa.draw.util.UndoableTool#getUndoActivity()
-	 */
-	// JUnitDoclet end javadoc_method setUndoActivity()
-	public void testSetGetUndoActivity() throws Exception {
-		// JUnitDoclet begin method setUndoActivity getUndoActivity
-		// Do nothing: UndoableTool.setUndoActivity is a no-op
-		// JUnitDoclet end method setUndoActivity getUndoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method toolUsable()
-	/**
-	 * Method testToolUsable is testing toolUsable
-	 * @see CH.ifa.draw.util.UndoableTool#toolUsable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUsable()
-	public void testToolUsable() throws Exception {
-		// JUnitDoclet begin method toolUsable
-		// JUnitDoclet end method toolUsable
-	}
-
-	// JUnitDoclet begin javadoc_method toolUnusable()
-	/**
-	 * Method testToolUnusable is testing toolUnusable
-	 * @see CH.ifa.draw.util.UndoableTool#toolUnusable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUnusable()
-	public void testToolUnusable() throws Exception {
-		// JUnitDoclet begin method toolUnusable
-		// JUnitDoclet end method toolUnusable
-	}
-
-	// JUnitDoclet begin javadoc_method toolActivated()
-	/**
-	 * Method testToolActivated is testing toolActivated
-	 * @see CH.ifa.draw.util.UndoableTool#toolActivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolActivated()
-	public void testToolActivated() throws Exception {
-		// JUnitDoclet begin method toolActivated
-		// JUnitDoclet end method toolActivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolDeactivated()
-	/**
-	 * Method testToolDeactivated is testing toolDeactivated
-	 * @see CH.ifa.draw.util.UndoableTool#toolDeactivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDeactivated()
-	public void testToolDeactivated() throws Exception {
-		// JUnitDoclet begin method toolDeactivated
-		// JUnitDoclet end method toolDeactivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolEnabled()
-	/**
-	 * Method testToolEnabled is testing toolEnabled
-	 * @see CH.ifa.draw.util.UndoableTool#toolEnabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolEnabled()
-	public void testToolEnabled() throws Exception {
-		// JUnitDoclet begin method toolEnabled
-		// JUnitDoclet end method toolEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method toolDisabled()
-	/**
-	 * Method testToolDisabled is testing toolDisabled
-	 * @see CH.ifa.draw.util.UndoableTool#toolDisabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDisabled()
-	public void testToolDisabled() throws Exception {
-		// JUnitDoclet begin method toolDisabled
-		// JUnitDoclet end method toolDisabled
-	}
-
-	// JUnitDoclet begin javadoc_method addToolListener()
-	/**
-	 * Method testAddToolListener is testing addToolListener
-	 * @see CH.ifa.draw.util.UndoableTool#addToolListener(CH.ifa.draw.framework.ToolListener)
-	 */
-	// JUnitDoclet end javadoc_method addToolListener()
-	public void testAddToolListener() throws Exception {
-		// JUnitDoclet begin method addToolListener
-		// JUnitDoclet end method addToolListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeToolListener()
-	/**
-	 * Method testRemoveToolListener is testing removeToolListener
-	 * @see CH.ifa.draw.util.UndoableTool#removeToolListener(CH.ifa.draw.framework.ToolListener)
-	 */
-	// JUnitDoclet end javadoc_method removeToolListener()
-	public void testRemoveToolListener() throws Exception {
-		// JUnitDoclet begin method removeToolListener
-		// JUnitDoclet end method removeToolListener
-	}
-
-	// JUnitDoclet begin javadoc_method createEventDispatcher()
-	/**
-	 * Method testCreateEventDispatcher is testing createEventDispatcher
-	 * @see CH.ifa.draw.util.UndoableTool#createEventDispatcher()
-	 */
-	// JUnitDoclet end javadoc_method createEventDispatcher()
-	public void testCreateEventDispatcher() throws Exception {
-		// JUnitDoclet begin method createEventDispatcher
-		// JUnitDoclet end method createEventDispatcher
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveView()
-	/**
-	 * Method testGetActiveView is testing getActiveView
-	 * @see CH.ifa.draw.util.UndoableTool#getActiveView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveView()
-	public void testGetActiveView() throws Exception {
-		// JUnitDoclet begin method getActiveView
-		// JUnitDoclet end method getActiveView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/UtilSuite.java b/JHotDraw/src/CH/ifa/draw/test/util/UtilSuite.java
deleted file mode 100644
index 99890543b..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/UtilSuite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite UtilSuite
-*/
-// JUnitDoclet end javadoc_class
-public class UtilSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.util");
-
-		suite.addTestSuite(CH.ifa.draw.test.util.ReverseListEnumeratorTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StandardVersionControlStrategyTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.VersionManagementTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoableHandleTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoRedoActivityTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoableAdapterTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoableToolTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.RedoCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoableCommandTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.GraphLayoutTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.BoundsTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StorageFormatManagerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.SerializationStorageFormatTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StandardStorageFormatTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.PaletteLayoutTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.PaletteIconTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.IconkitTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.GeomTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.FloatingTextFieldTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.FillerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.CommandMenuTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.CommandChoiceTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.CommandButtonTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StorableInputTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.StorableOutputTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.UndoManagerTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.ColorMapTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.ClipboardTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/VersionManagementTest.java b/JHotDraw/src/CH/ifa/draw/test/util/VersionManagementTest.java
deleted file mode 100644
index 13adbf9e4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/VersionManagementTest.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util;
-
-// JUnitDoclet begin import
-import CH.ifa.draw.util.VersionManagement;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase VersionManagementTest is generated by
- * JUnitDoclet to hold the tests for VersionManagement.
- * @see CH.ifa.draw.util.VersionManagement
- */
-// JUnitDoclet end javadoc_class
-public class VersionManagementTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private VersionManagement versionmanagement;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor VersionManagementTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public VersionManagementTest(String name) {
-		// JUnitDoclet begin method VersionManagementTest
-		super(name);
-		// JUnitDoclet end method VersionManagementTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.VersionManagement createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.VersionManagement();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		versionmanagement = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		versionmanagement = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getJHotDrawVersion()
-	/**
-	 * Method testGetJHotDrawVersion is testing getJHotDrawVersion
-	 * @see CH.ifa.draw.util.VersionManagement#getJHotDrawVersion()
-	 */
-	// JUnitDoclet end javadoc_method getJHotDrawVersion()
-	public void testGetJHotDrawVersion() throws Exception {
-		// JUnitDoclet begin method getJHotDrawVersion
-		// JUnitDoclet end method getJHotDrawVersion
-	}
-
-	// JUnitDoclet begin javadoc_method getPackageVersion()
-	/**
-	 * Method testGetPackageVersion is testing getPackageVersion
-	 * @see CH.ifa.draw.util.VersionManagement#getPackageVersion(java.lang.Package)
-	 */
-	// JUnitDoclet end javadoc_method getPackageVersion()
-	public void testGetPackageVersion() throws Exception {
-		// JUnitDoclet begin method getPackageVersion
-		// JUnitDoclet end method getPackageVersion
-	}
-
-	// JUnitDoclet begin javadoc_method isCompatibleVersion()
-	/**
-	 * Method testIsCompatibleVersion is testing isCompatibleVersion
-	 * @see CH.ifa.draw.util.VersionManagement#isCompatibleVersion(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method isCompatibleVersion()
-	public void testIsCompatibleVersion() throws Exception {
-		// JUnitDoclet begin method isCompatibleVersion
-		// JUnitDoclet end method isCompatibleVersion
-	}
-
-	// JUnitDoclet begin javadoc_method readVersionFromFile()
-	/**
-	 * Method testReadVersionFromFile is testing readVersionFromFile
-	 * @see CH.ifa.draw.util.VersionManagement#readVersionFromFile(java.lang.String, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method readVersionFromFile()
-	public void testReadVersionFromFile() throws Exception {
-		// JUnitDoclet begin method readVersionFromFile
-		// JUnitDoclet end method readVersionFromFile
-	}
-
-	// JUnitDoclet begin javadoc_method normalizePackageName()
-	/**
-	 * Method testNormalizePackageName is testing normalizePackageName
-	 * @see CH.ifa.draw.util.VersionManagement#normalizePackageName(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method normalizePackageName()
-	public void testNormalizePackageName() throws Exception {
-		// JUnitDoclet begin method normalizePackageName
-		// JUnitDoclet end method normalizePackageName
-	}
-
-	// JUnitDoclet begin javadoc_method extractVersionInfo()
-	/**
-	 * Method testExtractVersionInfo is testing extractVersionInfo
-	 * @see CH.ifa.draw.util.VersionManagement#extractVersionInfo(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method extractVersionInfo()
-	public void testExtractVersionInfo() throws Exception {
-		// JUnitDoclet begin method extractVersionInfo
-		// JUnitDoclet end method extractVersionInfo
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/AllTests.java
deleted file mode 100644
index 61039dd7c..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/AllTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.util.collections.jdk11");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(CollectionsFactoryJDK11Test.class));
-		suite.addTest(new TestSuite(IteratorWrapperTest.class));
-		suite.addTest(new TestSuite(ListWrapperTest.class));
-		suite.addTest(new TestSuite(MapWrapperTest.class));
-		suite.addTest(new TestSuite(SetWrapperTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java
deleted file mode 100644
index da8811290..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CollectionsFactoryJDK11Test is generated by
- * JUnitDoclet to hold the tests for CollectionsFactoryJDK11.
- * @see CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11
- */
-// JUnitDoclet end javadoc_class
-public class CollectionsFactoryJDK11Test
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CollectionsFactoryJDK11 collectionsfactoryjdk11;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CollectionsFactoryJDK11Test is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CollectionsFactoryJDK11Test(String name) {
-		// JUnitDoclet begin method CollectionsFactoryJDK11Test
-		super(name);
-		// JUnitDoclet end method CollectionsFactoryJDK11Test
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11 createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		collectionsfactoryjdk11 = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		collectionsfactoryjdk11 = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createList()
-	/**
-	 * Method testCreateList is testing createList
-	 * @see CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11#createList()
-	 */
-	// JUnitDoclet end javadoc_method createList()
-	public void testCreateList() throws Exception {
-		// JUnitDoclet begin method createList
-		// JUnitDoclet end method createList
-	}
-
-	// JUnitDoclet begin javadoc_method createMap()
-	/**
-	 * Method testCreateMap is testing createMap
-	 * @see CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11#createMap()
-	 */
-	// JUnitDoclet end javadoc_method createMap()
-	public void testCreateMap() throws Exception {
-		// JUnitDoclet begin method createMap
-		// JUnitDoclet end method createMap
-	}
-
-	// JUnitDoclet begin javadoc_method createSet()
-	/**
-	 * Method testCreateSet is testing createSet
-	 * @see CH.ifa.draw.util.collections.jdk11.CollectionsFactoryJDK11#createSet()
-	 */
-	// JUnitDoclet end javadoc_method createSet()
-	public void testCreateSet() throws Exception {
-		// JUnitDoclet begin method createSet
-		// JUnitDoclet end method createSet
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/IteratorWrapperTest.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/IteratorWrapperTest.java
deleted file mode 100644
index 90492ef31..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/IteratorWrapperTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import CH.ifa.draw.figures.RectangleFigure;
-import CH.ifa.draw.figures.PolyLineFigure;
-import CH.ifa.draw.util.collections.jdk11.IteratorWrapper;
-
-import java.util.Vector;
-import java.awt.*;
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestCase IteratorWrapperTest is generated by
-* JUnitDoclet to hold the tests for IteratorWrapper.
-* @see CH.ifa.draw.util.collections.jdk11.IteratorWrapper
-*/
-// JUnitDoclet end javadoc_class
-public class IteratorWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private IteratorWrapper iteratorwrapper;
-	// JUnitDoclet end class
-
-	/**
-	* Constructor IteratorWrapperTest is
-	* basically calling the inherited constructor to
-	* initiate the TestCase for use by the Framework.
-	*/
-	public IteratorWrapperTest(String name) {
-		// JUnitDoclet begin method IteratorWrapperTest
-		super(name);
-		// JUnitDoclet end method IteratorWrapperTest
-	}
-
-	/**
-	* Factory method for instances of the class to be tested.
-	*/
-	public CH.ifa.draw.util.collections.jdk11.IteratorWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Vector v = new Vector();
-		v.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		v.add(new PolyLineFigure(20, 20));
-		v.add(new RectangleFigure(new Point(100, 10), new Point(150, 100)));
-		return new CH.ifa.draw.util.collections.jdk11.IteratorWrapper(v.elements());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	* Method setUp is overwriting the framework method to
-	* prepare an instance of this TestCase for a single test.
-	* It's called from the JUnit framework only.
-	*/
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		iteratorwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	* Method tearDown is overwriting the framework method to
-	* clean up after each single test of this TestCase.
-	* It's called from the JUnit framework only.
-	*/
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		iteratorwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNext()
-	/**
-	* Method testHasNext is testing hasNext
-	* @see CH.ifa.draw.util.collections.jdk11.IteratorWrapper#hasNext()
-	*/
-	// JUnitDoclet end javadoc_method hasNext()
-	public void testHasNext() throws Exception {
-		// JUnitDoclet begin method hasNext
-		// JUnitDoclet end method hasNext
-	}
-
-	// JUnitDoclet begin javadoc_method next()
-	/**
-	* Method testNext is testing next
-	* @see CH.ifa.draw.util.collections.jdk11.IteratorWrapper#next()
-	*/
-	// JUnitDoclet end javadoc_method next()
-	public void testNext() throws Exception {
-		// JUnitDoclet begin method next
-		// JUnitDoclet end method next
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	* Method testRemove is testing remove
-	* @see CH.ifa.draw.util.collections.jdk11.IteratorWrapper#remove()
-	*/
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	* JUnitDoclet moves marker to this method, if there is not match
-	* for them in the regenerated code and if the marker is not empty.
-	* This way, no test gets lost when regenerating after renaming.
-	* <b>Method testVault is supposed to be empty.</b>
-	*/
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/Jdk11Suite.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/Jdk11Suite.java
deleted file mode 100644
index b08da45e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/Jdk11Suite.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite Jdk11Suite
-*/
-// JUnitDoclet end javadoc_class
-public class Jdk11Suite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("CH.ifa.draw.test.util.collections.jdk11");
-
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.SetWrapperTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.CollectionsFactoryJDK11Test.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.MapWrapperTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.ListWrapperTest.class);
-		suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk11.IteratorWrapperTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/ListWrapperTest.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/ListWrapperTest.java
deleted file mode 100644
index 00ba968de..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/ListWrapperTest.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import CH.ifa.draw.util.collections.jdk11.ListWrapper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ListWrapperTest is generated by
- * JUnitDoclet to hold the tests for ListWrapper.
- * @see CH.ifa.draw.util.collections.jdk11.ListWrapper
- */
-// JUnitDoclet end javadoc_class
-public class ListWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ListWrapper listwrapper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ListWrapperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ListWrapperTest(String name) {
-		// JUnitDoclet begin method ListWrapperTest
-		super(name);
-		// JUnitDoclet end method ListWrapperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk11.ListWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk11.ListWrapper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		listwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		listwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method contains()
-	/**
-	 * Method testContains is testing contains
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#contains(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method contains()
-	public void testContains() throws Exception {
-		// JUnitDoclet begin method contains
-		// JUnitDoclet end method contains
-	}
-
-	// JUnitDoclet begin javadoc_method iterator()
-	/**
-	 * Method testIterator is testing iterator
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#iterator()
-	 */
-	// JUnitDoclet end javadoc_method iterator()
-	public void testIterator() throws Exception {
-		// JUnitDoclet begin method iterator
-		// JUnitDoclet end method iterator
-	}
-
-	// JUnitDoclet begin javadoc_method toArray()
-	/**
-	 * Method testToArray is testing toArray
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#toArray()
-	 */
-	// JUnitDoclet end javadoc_method toArray()
-	public void testToArray() throws Exception {
-		// JUnitDoclet begin method toArray
-		// JUnitDoclet end method toArray
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#add(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#remove(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method containsAll()
-	/**
-	 * Method testContainsAll is testing containsAll
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#containsAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method containsAll()
-	public void testContainsAll() throws Exception {
-		// JUnitDoclet begin method containsAll
-		// JUnitDoclet end method containsAll
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeAll()
-	/**
-	 * Method testRemoveAll is testing removeAll
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#removeAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method removeAll()
-	public void testRemoveAll() throws Exception {
-		// JUnitDoclet begin method removeAll
-		// JUnitDoclet end method removeAll
-	}
-
-	// JUnitDoclet begin javadoc_method retainAll()
-	/**
-	 * Method testRetainAll is testing retainAll
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#retainAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method retainAll()
-	public void testRetainAll() throws Exception {
-		// JUnitDoclet begin method retainAll
-		// JUnitDoclet end method retainAll
-	}
-
-	// JUnitDoclet begin javadoc_method clear()
-	/**
-	 * Method testClear is testing clear
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#clear()
-	 */
-	// JUnitDoclet end javadoc_method clear()
-	public void testClear() throws Exception {
-		// JUnitDoclet begin method clear
-		// JUnitDoclet end method clear
-	}
-
-	// JUnitDoclet begin javadoc_method get()
-	/**
-	 * Method testGet is testing get
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#get(int)
-	 */
-	// JUnitDoclet end javadoc_method get()
-	public void testGet() throws Exception {
-		// JUnitDoclet begin method get
-		// JUnitDoclet end method get
-	}
-
-	// JUnitDoclet begin javadoc_method set()
-	/**
-	 * Method testSet is testing set
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#set(int, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method set()
-	public void testSet() throws Exception {
-		// JUnitDoclet begin method set
-		// JUnitDoclet end method set
-	}
-
-	// JUnitDoclet begin javadoc_method indexOf()
-	/**
-	 * Method testIndexOf is testing indexOf
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#indexOf(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method indexOf()
-	public void testIndexOf() throws Exception {
-		// JUnitDoclet begin method indexOf
-		// JUnitDoclet end method indexOf
-	}
-
-	// JUnitDoclet begin javadoc_method lastIndexOf()
-	/**
-	 * Method testLastIndexOf is testing lastIndexOf
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#lastIndexOf(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method lastIndexOf()
-	public void testLastIndexOf() throws Exception {
-		// JUnitDoclet begin method lastIndexOf
-		// JUnitDoclet end method lastIndexOf
-	}
-
-	// JUnitDoclet begin javadoc_method listIterator()
-	/**
-	 * Method testListIterator is testing listIterator
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#listIterator()
-	 */
-	// JUnitDoclet end javadoc_method listIterator()
-	public void testListIterator() throws Exception {
-		// JUnitDoclet begin method listIterator
-		// JUnitDoclet end method listIterator
-	}
-
-	// JUnitDoclet begin javadoc_method subList()
-	/**
-	 * Method testSubList is testing subList
-	 * @see CH.ifa.draw.util.collections.jdk11.ListWrapper#subList(int, int)
-	 */
-	// JUnitDoclet end javadoc_method subList()
-	public void testSubList() throws Exception {
-		// JUnitDoclet begin method subList
-		// JUnitDoclet end method subList
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/MapWrapperTest.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/MapWrapperTest.java
deleted file mode 100644
index a71f6f31e..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/MapWrapperTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import CH.ifa.draw.util.collections.jdk11.MapWrapper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MapWrapperTest is generated by
- * JUnitDoclet to hold the tests for MapWrapper.
- * @see CH.ifa.draw.util.collections.jdk11.MapWrapper
- */
-// JUnitDoclet end javadoc_class
-public class MapWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MapWrapper mapwrapper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MapWrapperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MapWrapperTest(String name) {
-		// JUnitDoclet begin method MapWrapperTest
-		super(name);
-		// JUnitDoclet end method MapWrapperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk11.MapWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk11.MapWrapper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		mapwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		mapwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method containsKey()
-	/**
-	 * Method testContainsKey is testing containsKey
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#containsKey(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method containsKey()
-	public void testContainsKey() throws Exception {
-		// JUnitDoclet begin method containsKey
-		// JUnitDoclet end method containsKey
-	}
-
-	// JUnitDoclet begin javadoc_method containsValue()
-	/**
-	 * Method testContainsValue is testing containsValue
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#containsValue(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method containsValue()
-	public void testContainsValue() throws Exception {
-		// JUnitDoclet begin method containsValue
-		// JUnitDoclet end method containsValue
-	}
-
-	// JUnitDoclet begin javadoc_method get()
-	/**
-	 * Method testGet is testing get
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#get(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method get()
-	public void testGet() throws Exception {
-		// JUnitDoclet begin method get
-		// JUnitDoclet end method get
-	}
-
-	// JUnitDoclet begin javadoc_method put()
-	/**
-	 * Method testPut is testing put
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#put(java.lang.Object, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method put()
-	public void testPut() throws Exception {
-		// JUnitDoclet begin method put
-		// JUnitDoclet end method put
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#remove(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method putAll()
-	/**
-	 * Method testPutAll is testing putAll
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#putAll(java.util.Map)
-	 */
-	// JUnitDoclet end javadoc_method putAll()
-	public void testPutAll() throws Exception {
-		// JUnitDoclet begin method putAll
-		// JUnitDoclet end method putAll
-	}
-
-	// JUnitDoclet begin javadoc_method clear()
-	/**
-	 * Method testClear is testing clear
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#clear()
-	 */
-	// JUnitDoclet end javadoc_method clear()
-	public void testClear() throws Exception {
-		// JUnitDoclet begin method clear
-		// JUnitDoclet end method clear
-	}
-
-	// JUnitDoclet begin javadoc_method keySet()
-	/**
-	 * Method testKeySet is testing keySet
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#keySet()
-	 */
-	// JUnitDoclet end javadoc_method keySet()
-	public void testKeySet() throws Exception {
-		// JUnitDoclet begin method keySet
-		// JUnitDoclet end method keySet
-	}
-
-	// JUnitDoclet begin javadoc_method values()
-	/**
-	 * Method testValues is testing values
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#values()
-	 */
-	// JUnitDoclet end javadoc_method values()
-	public void testValues() throws Exception {
-		// JUnitDoclet begin method values
-		// JUnitDoclet end method values
-	}
-
-	// JUnitDoclet begin javadoc_method entrySet()
-	/**
-	 * Method testEntrySet is testing entrySet
-	 * @see CH.ifa.draw.util.collections.jdk11.MapWrapper#entrySet()
-	 */
-	// JUnitDoclet end javadoc_method entrySet()
-	public void testEntrySet() throws Exception {
-		// JUnitDoclet begin method entrySet
-		// JUnitDoclet end method entrySet
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/SetWrapperTest.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/SetWrapperTest.java
deleted file mode 100644
index 6dfa75203..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk11/SetWrapperTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk11;
-
-import CH.ifa.draw.util.collections.jdk11.SetWrapper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SetWrapperTest is generated by
- * JUnitDoclet to hold the tests for SetWrapper.
- * @see CH.ifa.draw.util.collections.jdk11.SetWrapper
- */
-// JUnitDoclet end javadoc_class
-public class SetWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SetWrapper setwrapper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SetWrapperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SetWrapperTest(String name) {
-		// JUnitDoclet begin method SetWrapperTest
-		super(name);
-		// JUnitDoclet end method SetWrapperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk11.SetWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk11.SetWrapper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		setwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		setwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method contains()
-	/**
-	 * Method testContains is testing contains
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#contains(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method contains()
-	public void testContains() throws Exception {
-		// JUnitDoclet begin method contains
-		// JUnitDoclet end method contains
-	}
-
-	// JUnitDoclet begin javadoc_method iterator()
-	/**
-	 * Method testIterator is testing iterator
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#iterator()
-	 */
-	// JUnitDoclet end javadoc_method iterator()
-	public void testIterator() throws Exception {
-		// JUnitDoclet begin method iterator
-		// JUnitDoclet end method iterator
-	}
-
-	// JUnitDoclet begin javadoc_method toArray()
-	/**
-	 * Method testToArray is testing toArray
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#toArray()
-	 */
-	// JUnitDoclet end javadoc_method toArray()
-	public void testToArray() throws Exception {
-		// JUnitDoclet begin method toArray
-		// JUnitDoclet end method toArray
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#add(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#remove(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method containsAll()
-	/**
-	 * Method testContainsAll is testing containsAll
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#containsAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method containsAll()
-	public void testContainsAll() throws Exception {
-		// JUnitDoclet begin method containsAll
-		// JUnitDoclet end method containsAll
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method retainAll()
-	/**
-	 * Method testRetainAll is testing retainAll
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#retainAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method retainAll()
-	public void testRetainAll() throws Exception {
-		// JUnitDoclet begin method retainAll
-		// JUnitDoclet end method retainAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeAll()
-	/**
-	 * Method testRemoveAll is testing removeAll
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#removeAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method removeAll()
-	public void testRemoveAll() throws Exception {
-		// JUnitDoclet begin method removeAll
-		// JUnitDoclet end method removeAll
-	}
-
-	// JUnitDoclet begin javadoc_method clear()
-	/**
-	 * Method testClear is testing clear
-	 * @see CH.ifa.draw.util.collections.jdk11.SetWrapper#clear()
-	 */
-	// JUnitDoclet end javadoc_method clear()
-	public void testClear() throws Exception {
-		// JUnitDoclet begin method clear
-		// JUnitDoclet end method clear
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/AllTests.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/AllTests.java
deleted file mode 100644
index 1220398a4..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/AllTests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk12;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision$
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for CH.ifa.draw.test.util.collections.jdk12");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(CollectionsFactoryJDK12Test.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java
deleted file mode 100644
index 1b723004d..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.test.util.collections.jdk12;
-
-import CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CollectionsFactoryJDK12Test is generated by
- * JUnitDoclet to hold the tests for CollectionsFactoryJDK12.
- * @see CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12
- */
-// JUnitDoclet end javadoc_class
-public class CollectionsFactoryJDK12Test
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CollectionsFactoryJDK12 collectionsfactoryjdk12;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CollectionsFactoryJDK12Test is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CollectionsFactoryJDK12Test(String name) {
-		// JUnitDoclet begin method CollectionsFactoryJDK12Test
-		super(name);
-		// JUnitDoclet end method CollectionsFactoryJDK12Test
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12 createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		collectionsfactoryjdk12 = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		collectionsfactoryjdk12 = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createList()
-	/**
-	 * Method testCreateList is testing createList
-	 * @see CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12#createList()
-	 */
-	// JUnitDoclet end javadoc_method createList()
-	public void testCreateList() throws Exception {
-		// JUnitDoclet begin method createList
-		// JUnitDoclet end method createList
-	}
-
-	// JUnitDoclet begin javadoc_method createMap()
-	/**
-	 * Method testCreateMap is testing createMap
-	 * @see CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12#createMap()
-	 */
-	// JUnitDoclet end javadoc_method createMap()
-	public void testCreateMap() throws Exception {
-		// JUnitDoclet begin method createMap
-		// JUnitDoclet end method createMap
-	}
-
-	// JUnitDoclet begin javadoc_method createSet()
-	/**
-	 * Method testCreateSet is testing createSet
-	 * @see CH.ifa.draw.util.collections.jdk12.CollectionsFactoryJDK12#createSet()
-	 */
-	// JUnitDoclet end javadoc_method createSet()
-	public void testCreateSet() throws Exception {
-		// JUnitDoclet begin method createSet
-		// JUnitDoclet end method createSet
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/Jdk12Suite.java b/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/Jdk12Suite.java
deleted file mode 100644
index 376200076..000000000
--- a/JHotDraw/src/CH/ifa/draw/test/util/collections/jdk12/Jdk12Suite.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package CH.ifa.draw.test.util.collections.jdk12;
-
-
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite Jdk12Suite
-*/
-// JUnitDoclet end javadoc_class
-public class Jdk12Suite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // JUnitDoclet end class
-  
-  public static TestSuite suite() {
-    
-    TestSuite suite;
-    
-    suite = new TestSuite("CH.ifa.draw.test.util.collections.jdk12");
-    
-    suite.addTestSuite(CH.ifa.draw.test.util.collections.jdk12.CollectionsFactoryJDK12Test.class);
-    
-    
-    
-    // JUnitDoclet begin method suite()
-    // JUnitDoclet end method suite()
-    
-    return suite;
-  }
-  
-  /**
-  * Method to execute the TestSuite from command line
-  * using JUnit's textui.TestRunner .
-  */
-  public static void main(String[] args) {
-    // JUnitDoclet begin method testsuite.main
-    junit.textui.TestRunner.run(suite());
-    // JUnitDoclet end method testsuite.main
-  }
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Animatable.java b/JHotDraw/src/CH/ifa/draw/util/Animatable.java
deleted file mode 100644
index 0d4b452ad..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Animatable.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)Animatable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * Animatable defines a simple animation interface
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Animatable {
-	/**
-	 * Perform a step of the animation.
-	 */
-	void animationStep();
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Bounds.java b/JHotDraw/src/CH/ifa/draw/util/Bounds.java
deleted file mode 100644
index 0e670bf50..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Bounds.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*
- * @(#)Bounds.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.Dimension;
-import java.awt.geom.Point2D;
-import java.awt.geom.Rectangle2D;
-import java.io.Serializable;
-
-/** 
- * This class is a rectangle with floating point
- * dimensions and location.  This class provides
- * many convenient geometrical methods related to
- * rectangles.  Basically, this class is like
- * java.awt.geom.Rectangle2D with some extra
- * functionality.
- *
- * @author WMG (28.02.1999)
- * @version <$CURRENT_VERSION$>
- */
-public class Bounds implements Serializable {
-
-	//_________________________________________________________VARIABLES
-
-	protected double   _dX1 = 0;
-	protected double   _dY1 = 0;
-	protected double   _dX2 = 0;
-	protected double   _dY2 = 0;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public Bounds(double x, double y) {
-		_dX1 = x;
-		_dX2 = x;
-		_dY1 = y;
-		_dY2 = y;
-	}
-
-	public Bounds(double x1, double y1, double x2, double y2) {
-		_dX1 = Math.min(x1, x2);
-		_dX2 = Math.max(x1, x2);
-		_dY1 = Math.min(y1, y2);
-		_dY2 = Math.max(y1, y2);
-	}
-
-	public Bounds(Point2D aPoint2D) {
-		this(aPoint2D.getX(), aPoint2D.getY());
-	}
-
-	public Bounds(Point2D firstPoint2D, Point2D secondPoint2D) {
-		this(firstPoint2D.getX(), firstPoint2D.getY(),
-		secondPoint2D.getX(), secondPoint2D.getY());
-	}
-
-	public Bounds(Bounds aBounds) {
-		this(aBounds.getLesserX(), aBounds.getLesserY(),
-		aBounds.getGreaterX(), aBounds.getGreaterY());
-	}
-
-	public Bounds(Rectangle2D aRectangle2D) {
-		_dX1 = aRectangle2D.getMinX();
-		_dX2 = aRectangle2D.getMaxX();
-		_dY1 = aRectangle2D.getMinY();
-		_dY2 = aRectangle2D.getMaxY();
-	}
-
-	public Bounds(Point2D centerPoint2D, double dWidth, double dHeight) {
-		_dX1 = centerPoint2D.getX() - (dWidth / 2.0);
-		_dX2 = centerPoint2D.getX() + (dWidth / 2.0);
-		_dY1 = centerPoint2D.getY() - (dHeight / 2.0);
-		_dY2 = centerPoint2D.getY() + (dHeight / 2.0);
-	}
-
-	public Bounds(Dimension aDimension) {
-		this(0, 0, aDimension.width, aDimension.height);
-	}
-
-	protected Bounds() {
-		// empty constructor
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public double getLesserX() {
-		return _dX1;
-	}
-
-	public double getGreaterX() {
-		return _dX2;
-	}
-
-	public double getLesserY() {
-		return _dY1;
-	}
-
-	public double getGreaterY() {
-		return _dY2;
-	}
-
-	public double getWest() {
-		return _dX1;
-	}
-
-	public double getEast() {
-		return _dX2;
-	}
-
-	public double getSouth() {
-		return _dY1;
-	}
-
-	public double getNorth() {
-		return _dY2;
-	}
-
-	public double getWidth() {
-		return _dX2 - _dX1;
-	}
-
-	public double getHeight() {
-		return _dY2 - _dY1;
-	}
-
-	public Rectangle2D asRectangle2D() {
-		return new Rectangle2D.Double(getLesserX(), getLesserY(),
-		getWidth(), getHeight());
-	}
-
-	public void setCenter(Point2D centerPoint2D) {
-		if(centerPoint2D == null) {
-			throw new IllegalArgumentException();
-		}
-		Point2D currentCenterPoint2D = getCenter();
-		double dDeltaX = centerPoint2D.getX() - currentCenterPoint2D.getX();
-		double dDeltaY = centerPoint2D.getY() - currentCenterPoint2D.getY();
-		offset(dDeltaX, dDeltaY);
-	}
-
-	public Point2D getCenter() {
-		return new Point2D.Double((_dX1 + _dX2) / 2.0, (_dY1 + _dY2) / 2.0);
-	}
-
-	public void zoomBy(double dRatio) {
-		double dWidth = _dX2 - _dX1;
-		double dHeight = _dY2 - _dY1;
-		double dNewWidth = (dWidth * dRatio);
-		double dNewHeight = (dHeight * dRatio);
-		Point2D centerPoint2D = getCenter();
-		_dX1 = centerPoint2D.getX() - (dNewWidth / 2.0);
-		_dY1 = centerPoint2D.getY() - (dNewHeight / 2.0);
-		_dX2 = centerPoint2D.getX() + (dNewWidth / 2.0);
-		_dY2 = centerPoint2D.getY() + (dNewHeight / 2.0);
-	}
-
-	public void shiftBy(int nXPercentage, int nYPercentage) {
-		double dWidth = _dX2 - _dX1;
-		double dHeight = _dY2 - _dY1;
-		double dDeltaX = (dWidth * nXPercentage) / 100.0;
-		double dDeltaY = (dHeight * nYPercentage) / 100.0;
-		offset(dDeltaX, dDeltaY);
-	}
-
-	public void offset(double dDeltaX, double dDeltaY) {
-		_dX1 += dDeltaX;
-		_dX2 += dDeltaX;
-		_dY1 += dDeltaY;
-		_dY2 += dDeltaY;
-	}
-
-	/**
-	 * This will cause the bounds to grow until the given ratio
-	 * is satisfied. The Ration is calculated by
-	 * <code> getWidth() / getHeight() </code>
-	 **/
-	public void expandToRatio(double dRatio) {
-		double dCurrentRatio = getWidth() / getHeight();
-		if (dCurrentRatio < dRatio) {
-			double dNewWidth = dRatio * getHeight();
-			double dCenterX = (_dX1 + _dX2) / 2.0;
-			double dDelta = dNewWidth / 2.0;
-			_dX1 = dCenterX - dDelta;
-			_dX2 = dCenterX + dDelta;
-		}
-		if (dCurrentRatio > dRatio) {
-			double dNewHeight = getWidth() / dRatio;
-			double dCenterY = (_dY1 + _dY2) / 2.0;
-			double dDelta = dNewHeight / 2.0;
-			_dY1 = dCenterY - dDelta;
-			_dY2 = dCenterY + dDelta;
-		}
-	}
-
-	public void includeXCoordinate(double x) {
-		_dX1 = min(_dX1, _dX2, x);
-		_dX2 = max(_dX1, _dX2, x);
-	}
-
-	public void includeYCoordinate(double y) {
-		_dY1 = min(_dY1, _dY2, y);
-		_dY2 = max(_dY1, _dY2, y);
-	}
-
-	public void includePoint(double x, double y) {
-		includeXCoordinate(x);
-		includeYCoordinate(y);
-	}
-
-	public void includePoint(Point2D aPoint2D) {
-		includePoint(aPoint2D.getX(), aPoint2D.getY());
-	}
-
-	public void includeLine(double x1, double y1, double x2, double y2) {
-		includePoint(x1, y1);
-		includePoint(x2, y2);
-	}
-
-	public void includeLine(Point2D onePoint2D, Point2D twoPoint2D) {
-		includeLine(onePoint2D.getX(), onePoint2D.getY(),
-		twoPoint2D.getX(), twoPoint2D.getY());
-	}
-
-	public void includeBounds(Bounds aBounds) {
-		includeXCoordinate(aBounds.getLesserX());
-		includeXCoordinate(aBounds.getGreaterX());
-		includeYCoordinate(aBounds.getLesserY());
-		includeYCoordinate(aBounds.getGreaterY());
-	}
-
-	public void includeRectangle2D(Rectangle2D aRectangle2D) {
-		includeXCoordinate(aRectangle2D.getMinX());
-		includeXCoordinate(aRectangle2D.getMaxX());
-		includeYCoordinate(aRectangle2D.getMinY());
-		includeYCoordinate(aRectangle2D.getMaxY());
-	}
-
-	public void intersect(Bounds aBounds) {
-		_dX1 = Math.max(_dX1, aBounds.getLesserX());
-		_dY1 = Math.max(_dY1, aBounds.getLesserY());
-		_dX2 = Math.min(_dX2, aBounds.getGreaterX());
-		_dY2 = Math.min(_dY2, aBounds.getGreaterY());
-
-		if (_dX1 > _dX2) {
-			_dX1 = _dX2;
-		}
-		if (_dY1 > _dY2) {
-			_dY1 = _dY2;
-		}
-	}
-
-	public boolean intersectsPoint(double x, double y) {
-		return ((_dX1 <= x) && (x <= _dX2) && (_dY1 <= y) && (y <= _dY2));
-	}
-
-	public boolean intersectsPoint(Point2D aPoint2D) {
-		return intersectsPoint(aPoint2D.getX(), aPoint2D.getY());
-	}
-
-
-	public boolean intersectsLine(double x1, double y1, double x2, double y2) {
-		if (intersectsPoint(x1, y1)) {
-			return true;
-		}
-		if (intersectsPoint(x2, y2)) {
-			return true;
-		}
-		if ((x1 < _dX1) && (x2 < _dX1)) {
-			return false;
-		}
-		if ((x1 > _dX2) && (x2 > _dX2)) {
-			return false;
-		}
-		if ((y1 < _dY1) && (y2 < _dY1)) {
-			return false;
-		}
-		if ((y1 > _dY2) && (y2 > _dY2)) {
-			return false;
-		}
-		if (((_dX1 <= x1) && (x1 <= _dX2)) && ((_dX1 <= x2) && (x2 <= _dX2))) {
-			return true;
-		}
-		if (((_dY1 <= y1) && (y1 <= _dY2)) && ((_dY1 <= y2) && (y2 <= _dY2))) {
-			return true;
-		}
-	
-		double dSlope = (y2-y1) / (x2-x1);
-		double _dYIntersectionAtX1 = dSlope * (_dX1 - x1) + y1;
-		double _dYIntersectionAtX2 = dSlope * (_dX2 - x1) + y1;
-		double _dXIntersectionAtY1 = (_dY1 - y1) / dSlope +  x1;
-		double _dXIntersectionAtY2 = (_dY2 - y1) / dSlope +  x1;
-
-		return (intersectsPoint(_dX1, _dYIntersectionAtX1)) ||
-			(intersectsPoint(_dX2, _dYIntersectionAtX2)) ||
-			(intersectsPoint(_dXIntersectionAtY1, _dY1)) ||
-			(intersectsPoint(_dXIntersectionAtY2, _dY2));
-	}
-
-	public boolean intersectsLine(Point2D onePoint2D, Point2D twoPoint2D) {
-		return intersectsLine(onePoint2D.getX(), onePoint2D.getY(),
-			twoPoint2D.getX(), twoPoint2D.getY());
-	}
-
-	//use K-map to simplify
-	public boolean intersectsBounds(Bounds aBounds) {
-		double dLesserX = aBounds.getLesserX();
-		double dGreaterX = aBounds.getGreaterX();
-		double dLesserY = aBounds.getLesserY();
-		double dGreaterY = aBounds.getGreaterY();
-
-		if (dLesserX < _dX1) {
-			if (dLesserY < _dY1) {
-				return ((dGreaterX >= _dX1) && (dGreaterY >= _dY1));
-			}
-			else {
-				return ((dGreaterX >= _dX1) && (dLesserY <= _dY2));
-			}
-		}
-		else {
-			if (dLesserY < _dY1) {
-				return ((dLesserX <= _dX2) && (dGreaterY >= _dY1));
-			}
-			else {
-				return ((dLesserX <= _dX2) && (dLesserY <= _dY2));
-			}
-		}
-	}
-
-	public boolean completelyContainsLine(double x1, double y1, double x2, double y2) {
-		return (_dX1 > Math.min(x1, x2)) &&
-			(_dX2 < Math.max(x1, x2)) &&
-			(_dY1 > Math.min(y1, y2)) &&
-			(_dY2 < Math.max(y1, y2));
-	}
-
-	public boolean isCompletelyInside(Bounds aBounds) {
-		return (_dX1 > aBounds.getLesserX()) &&
-			(_dX2 < aBounds.getGreaterX()) &&
-			(_dY1 > aBounds.getLesserY()) &&
-			(_dY2 < aBounds.getGreaterY());
-	}
-
-	public Point2D[] cropLine(double x1, double y1, double x2, double y2) {
-		if (!intersectsLine(x1, y1, x2, y2)) {
-			return null;
-		}
-
-		Point2D[] resultLine = new Point2D[2];
-		Point2D beginPoint2D = new Point2D.Double(x1, y1);
-		Point2D endPoint2D = new Point2D.Double(x2, y2);
-
-		if (beginPoint2D.getX() == endPoint2D.getX()) {
-			if (beginPoint2D.getY() > _dY2) {
-				beginPoint2D.setLocation(beginPoint2D.getX(), _dY2);
-			}
-			if (endPoint2D.getY() > _dY2) {
-				endPoint2D.setLocation(endPoint2D.getX(), _dY2);
-			}
-			if (beginPoint2D.getY() < _dY1) {
-				beginPoint2D.setLocation(beginPoint2D.getX(), _dY1);
-			}
-			if (endPoint2D.getY() < _dY1) {
-				endPoint2D.setLocation(endPoint2D.getX(), _dY1);
-			}
-		}
-		else if (beginPoint2D.getY() == endPoint2D.getY()) {
-			if (beginPoint2D.getX() > _dX2) {
-				beginPoint2D.setLocation(_dX2, beginPoint2D.getY());
-			}
-			if (endPoint2D.getX() > _dX2) {
-				endPoint2D.setLocation(_dX2, endPoint2D.getY());
-			}
-			if (beginPoint2D.getX() < _dX1) {
-				beginPoint2D.setLocation(_dX1, beginPoint2D.getY());
-			}
-			if (endPoint2D.getX() < _dX1) {
-				endPoint2D.setLocation(_dX1, endPoint2D.getY());
-			}
-		}
-		else {
-			double dSlope = (beginPoint2D.getY() - endPoint2D.getY()) 
-				/ (beginPoint2D.getX() - endPoint2D.getX());
-
-			if (!intersectsPoint(beginPoint2D)) {
-				if (beginPoint2D.getY() > _dY2) {
-					double x = ((_dY2 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						beginPoint2D.setLocation(x, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), _dY2);
-					}
-				}
-				if (beginPoint2D.getY() < _dY1) {
-					double x = ((_dY1 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						beginPoint2D.setLocation(x, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), _dY1);
-					}
-				}
-				if (beginPoint2D.getX() > _dX2) {
-					double y = dSlope*(_dX2 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						beginPoint2D.setLocation(_dX2, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), y);
-					}
-				}
-				if (beginPoint2D.getX() < _dX1) {
-					double y = dSlope*(_dX1 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						beginPoint2D.setLocation(_dX1, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), y);
-					}
-				}
-			}
-			if (!intersectsPoint(endPoint2D)) {
-				if (endPoint2D.getY() > _dY2) {
-					double x = ((_dY2 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						endPoint2D.setLocation(x, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), _dY2);
-					}
-				}
-				if (endPoint2D.getY() < _dY1) {
-					double x = ((_dY1 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						endPoint2D.setLocation(x, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), _dY1);
-					}
-				}
-				if (endPoint2D.getX() > _dX2) {
-					double y = dSlope*(_dX2 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						endPoint2D.setLocation(_dX2, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), y);
-					}
-				}
-				if (endPoint2D.getX() < _dX1) {
-					double y = dSlope*(_dX1 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						endPoint2D.setLocation(_dX1, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), y);
-					}
-				}
-			}
-		}
-
-		resultLine[0] = beginPoint2D;
-		resultLine[1] = endPoint2D;
-
-		return resultLine;
-	}
-
-	public boolean equals(Object anObject) {
-		if ((anObject == null) || (!(anObject instanceof Bounds))) {
-			return false;
-		}
-		Bounds aBounds = (Bounds) anObject;
-
-		if ((_dX1 == aBounds.getLesserX()) &&
-				(_dX2 == aBounds.getGreaterX()) &&
-				(_dY1 == aBounds.getLesserY()) &&
-				(_dY2 == aBounds.getGreaterY())) {
-			return true;
-		}
-
-		return false;
-	}
-
-	public int hashCode() {
-		double temp = Math.abs(_dX1 + _dX2 +_dY1 + _dY2);
-		while ((temp != 0) && (temp < 1)) {
-			temp *= 4;
-		}
-
-		return (int) temp;
-	}
-
-	public String toString() {
-		return Double.toString(_dX1) + " " + Double.toString(_dY1)
-			+ " " + Double.toString(_dX2) + " " + Double.toString(_dY2);
-	}
-
-	private double min( double x1, double x2, double x3 ) {
-		return Math.min( Math.min( x1, x2 ), x3 );
-	}
-
-	private double max( double x1, double x2, double x3 ) {
-		return Math.max( Math.max( x1, x2 ), x3 );
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Clipboard.java b/JHotDraw/src/CH/ifa/draw/util/Clipboard.java
deleted file mode 100644
index f48b90596..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Clipboard.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * @(#)Clipboard.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * A temporary replacement for a global clipboard.
- * It is a singleton that can be used to store and
- * get the contents of the clipboard.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class Clipboard {
-	static Clipboard fgClipboard = new Clipboard();
-
-	/**
-	 * Gets the clipboard.
-	 */
-	static public Clipboard getClipboard() {
-		return fgClipboard;
-	}
-
-	private Object fContents;
-
-	private Clipboard() {
-	}
-
-	/**
-	 * Sets the contents of the clipboard.
-	 */
-	public void setContents(Object contents) {
-		fContents = contents;
-	}
-
-	/**
-	 * Gets the contents of the clipboard.
-	 */
-	public Object getContents() {
-		return fContents;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/CollectionsFactory.java b/JHotDraw/src/CH/ifa/draw/util/CollectionsFactory.java
deleted file mode 100644
index d5b31baf5..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CollectionsFactory.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * @(#)CollectionsFactory.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public abstract class CollectionsFactory {
-	private static String JAVA_UTIL_LIST = "java.util.List";
-	private static String COLLECTIONS_FACTORY_PACKAGE = "CH.ifa.draw.util.collections.jdk";
-
-	private static final CollectionsFactory factory = determineCollectionsFactory();
-
-	public abstract List createList();
-
-	public abstract List createList(Collection initList);
-
-	public abstract List createList(int initSize);
-
-	public abstract Map createMap();
-
-	public abstract Map createMap(Map initMap);
-
-	public abstract Set createSet();
-
-	public abstract Set createSet(Set initSet);
-
-	public static CollectionsFactory current() {
-		return factory;
-	}
-
-	protected static CollectionsFactory determineCollectionsFactory() {
-		String jdkVersion = null;
-		if (isJDK12()) {
-			jdkVersion = "12";
-		}
-		else {
-			jdkVersion = "11";
-		}
-		return createCollectionsFactory(jdkVersion);
-	}
-
-	protected static boolean isJDK12() {
-		try {
-			Class.forName(JAVA_UTIL_LIST);
-			return true;
-		}
-		catch (ClassNotFoundException e) {
-			// ignore
-		}
-		return false;
-	}
-
-	protected static CollectionsFactory createCollectionsFactory(String jdkVersion) {
-		try {
-			Class factoryClass = Class.forName(COLLECTIONS_FACTORY_PACKAGE + jdkVersion + ".CollectionsFactoryJDK" + jdkVersion);
-			return (CollectionsFactory)factoryClass.newInstance();
-		}
-		catch (ClassNotFoundException e) {
-			throw new JHotDrawRuntimeException(e);
-		}
-		catch (InstantiationException e) {
-			throw new JHotDrawRuntimeException(e);
-		}
-		catch (IllegalAccessException e) {
-			throw new JHotDrawRuntimeException(e);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/ColorMap.java b/JHotDraw/src/CH/ifa/draw/util/ColorMap.java
deleted file mode 100644
index 31a1db302..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/ColorMap.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * @(#)ColorMap.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.Color;
-
-class ColorEntry {
-	public String 	fName;
-	public Color 	fColor;
-
-	ColorEntry(String name, Color color) {
-		fColor = color;
-		fName = name;
-	}
-}
-
-/**
- * A map that is filled with some standard colors. The colors
- * can be looked up by name or index.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ColorMap {
-
-	static ColorEntry fMap[] = {
-				new ColorEntry("Black",         Color.black),
-				new ColorEntry("Blue",          Color.blue),
-				new ColorEntry("Green",         Color.green),
-				new ColorEntry("Red",           Color.red),
-				new ColorEntry("Pink",          Color.pink),
-				new ColorEntry("Magenta",       Color.magenta),
-				new ColorEntry("Orange",        Color.orange),
-				new ColorEntry("Yellow",        Color.yellow),
-				new ColorEntry("New Tan",       new Color(0xEBC79E)),
-				new ColorEntry("Aquamarine",    new Color(0x70DB93)),
-				new ColorEntry("Sea Green",     new Color(0x238E68)),
-				new ColorEntry("Dark Gray",     Color.darkGray),
-				new ColorEntry("Light Gray",    Color.lightGray),
-				new ColorEntry("White",         Color.white),
-				// there is no support for alpha values so we use a special value
-				// to represent a transparent color
-				new ColorEntry("None",          new Color(0xFFC79E))
-	};
-
-	public static int size() {
-		return fMap.length;
-	}
-
-	public static Color color(int index) {
-		if (index < size() && index >= 0) {
-			return fMap[index].fColor;
-		}
-
-		throw new ArrayIndexOutOfBoundsException("Color index: " + index);
-	}
-
-	public static Color color(String name) {
-		for (int i = 0; i < fMap.length; i++) {
-			if (fMap[i].fName.equals(name)) {
-				return fMap[i].fColor;
-			}
-		}
-
-		return Color.black;
-	}
-
-	public static String name(int index) {
-		if (index < size() && index >= 0) {
-			return fMap[index].fName;
-		}
-
-		throw new ArrayIndexOutOfBoundsException("Color index: " + index);
-	}
-
-	public static int colorIndex(Color color) {
-		for (int i=0; i<fMap.length; i++) {
-			if (fMap[i].fColor.equals(color)) {
-				return i;
-			}
-		}
-		
-		return 0;
-	}
-
-	public static boolean isTransparent(Color color) {
-		return color.equals(color("None"));
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Command.java b/JHotDraw/src/CH/ifa/draw/util/Command.java
deleted file mode 100644
index 3b661b731..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Command.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * @(#)Command.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.DrawingEditor;
-
-/**
- * Commands encapsulate an action to be executed. Commands have
- * a name and can be used in conjunction with <i>Command enabled</i>
- * ui components.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld010.htm>Command</a></b><br>
- * Command is a simple instance of the command pattern without undo
- * support.
- * <hr>
- *
- * @see CommandButton
- * @see CommandMenu
- * @see CommandChoice
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Command {
-
-	/**
-	 * Executes the command.
-	 */
-	public void execute();
-
-	/**
-	 * Tests if the command can be executed.
-	 */
-	public boolean isExecutable();
-
-	/**
-	 * Gets the command name.
-	 */
-	public String name();
-	
-	public DrawingEditor getDrawingEditor();
-
-	public Undoable getUndoActivity();
-
-	public void setUndoActivity(Undoable newUndoableActivity);
-	
-	public void addCommandListener(CommandListener newCommandListener);
-	public void removeCommandListener(CommandListener oldCommandListener);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/CommandButton.java b/JHotDraw/src/CH/ifa/draw/util/CommandButton.java
deleted file mode 100644
index 36659fa57..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CommandButton.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)CommandButton.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-
-/**
- * A Command enabled button. Clicking the button executes the command.
- *
- * @see Command
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class CommandButton
-		extends JButton implements ActionListener {
-
-	private Command   fCommand;
-
-	/**
-	 * Initializes the button with the given command.
-	 * The command's name is used as the label.
-	 */
-	public CommandButton(Command command) {
-		super(command.name());
-		fCommand = command;
-		addActionListener(this);
-	}
-
-	/**
-	 * Executes the command. If the command's name was changed
-	 * as a result of the command the button's label is updated
-	 * accordingly.
-	 */
-	public void actionPerformed(ActionEvent e) {
-		fCommand.execute();
-		if (!getText().equals(fCommand.name()) ) {
-			setText(fCommand.name());
-		}
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/util/CommandChoice.java b/JHotDraw/src/CH/ifa/draw/util/CommandChoice.java
deleted file mode 100644
index 45eb57f1c..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CommandChoice.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * @(#)CommandChoice.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.util.List;
-
-/**
- * A Command enabled choice. Selecting a choice executes the
- * corresponding command.
- *
- * @see Command
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class CommandChoice extends JComboBox implements ItemListener {
-
-	private List   fCommands;
-
-	public CommandChoice() {
-		super();
-		fCommands = CollectionsFactory.current().createList(10);
-		addItemListener(this);
-	}
-
-	/**
-	 * Adds a command to the menu.
-	 */
-	public synchronized void addItem(Command command) {
-		addItem(command.name());
-		fCommands.add(command);
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void itemStateChanged(ItemEvent e) {
-		if ((getSelectedIndex() >= 0) && (getSelectedIndex() < fCommands.size())) {
-			Command command = (Command)fCommands.get(getSelectedIndex());
-            if (command.isExecutable()) {
-				command.execute();
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/CommandListener.java b/JHotDraw/src/CH/ifa/draw/util/CommandListener.java
deleted file mode 100644
index 13205ae43..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CommandListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)CommandListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.util.EventObject;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface CommandListener {
-	public void commandExecuted(EventObject commandEvent);
-	public void commandExecutable(EventObject commandEvent);
-	public void commandNotExecutable(EventObject commandEvent);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/CommandMenu.java b/JHotDraw/src/CH/ifa/draw/util/CommandMenu.java
deleted file mode 100644
index 2e5bf8c59..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/CommandMenu.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @(#)CommandMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.JHotDrawRuntimeException;
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-import java.util.*;
-
-/**
- * A Command enabled menu. Selecting a menu item
- * executes the corresponding command.
- *
- * @see Command
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class CommandMenu extends JMenu implements ActionListener, CommandListener {
-
-	private HashMap  hm;
-
-	public CommandMenu(String name) {
-		super(name);
-		hm = new HashMap();
-	}
-
-	/**
-	 * Adds a command to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command) {
-		addMenuItem(command, new JMenuItem(command.name()));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command, MenuShortcut shortcut) {
-		addMenuItem(command, new JMenuItem(command.name(), shortcut.getKey()));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void addCheckItem(Command command) {
-		addMenuItem(command, new JCheckBoxMenuItem(command.name()));
-	}
-
-	protected void addMenuItem(Command command, JMenuItem m) {
-		m.setName(command.name());
-		m.addActionListener(this);
-		add(m);
-		command.addCommandListener(this);
-		hm.put(m, command);
-//		checkEnabled();
-	}
-	
-	public synchronized void remove(Command command) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	public synchronized void remove(MenuItem item) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	/**
-	 * Changes the enabling/disabling state of a named menu item.
-	 */
-	public synchronized void enable(String name, boolean state) {
-		for (int i = 0; i < getItemCount(); i++) {
-			JMenuItem item = getItem(i);
-			if (name.equals(item.getText())) {
-				item.setEnabled(state);
-				return;
-			}
-		}
-	}
-
-	public synchronized void checkEnabled() {
-		// ignore separators (a separator has a hyphen as its label)
-		for (int i = 0; i < getMenuComponentCount(); i++) {
-			Component c = getMenuComponent(i);
-			Command cmd = (Command) hm.get(c);
-			if (cmd != null) {
-				c.setEnabled(cmd.isExecutable());
-			}
-		}
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void actionPerformed(ActionEvent e) {
-		Object source = e.getSource();
-		for (int i = 0; i < getItemCount(); i++) {
-			JMenuItem item = getItem(i);
-			// ignore separators (a separator has a hyphen as its label)
-			if (source == item) {
-				Command cmd = (Command) hm.get(item);
-				if (cmd != null) {
-				    cmd.execute();
-				}
-				break;
-			}
-		}
-	}
-
-	public void commandExecuted(EventObject commandEvent) {
-//		checkEnabled();
-	}
-	
-	public void commandExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-	
-	public void commandNotExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-}
-
-
diff --git a/JHotDraw/src/CH/ifa/draw/util/Filler.java b/JHotDraw/src/CH/ifa/draw/util/Filler.java
deleted file mode 100644
index 2dbbef5e3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Filler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * @(#)Filler.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.JPanel;
-import java.awt.*;
-
-/**
- * A component that can be used to reserve white space in a layout.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class Filler
-		extends JPanel {
-
-	private int     fWidth;
-	private int     fHeight;
-	private Color   fBackground;
-
-
-	public Filler(int width, int height) {
-		this(width, height, null);
-	}
-
-	public Filler(int width, int height, Color background) {
-		fWidth = width;
-		fHeight = height;
-		fBackground = background;
-	}
-
-	public Dimension getMinimumSize() {
-		return new Dimension(fWidth, fHeight);
-	}
-
-	public Dimension getPreferredSize() {
-		return getMinimumSize();
-	}
-
-	public Color getBackground() {
-		if (fBackground != null) {
-			return fBackground;
-		}
-		return super.getBackground();
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/util/FloatingTextField.java b/JHotDraw/src/CH/ifa/draw/util/FloatingTextField.java
deleted file mode 100644
index d2c1eb893..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/FloatingTextField.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)FloatingTextField.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A text field overlay that is used to edit a TextFigure.
- * A FloatingTextField requires a two step initialization:
- * In a first step the overlay is created and in a
- * second step it can be positioned.
- *
- * @see CH.ifa.draw.figures.TextFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class FloatingTextField {
-
-	private JTextField   fEditWidget;
-	private Container   fContainer;
-
-	public FloatingTextField() {
-		fEditWidget = new JTextField(20);
-	}
-
-	/**
-	 * Creates the overlay for the given Component.
-	 */
-	public void createOverlay(Container container) {
-		createOverlay(container, null);
-	}
-
-	/**
-	 * Creates the overlay for the given Container using a
-	 * specific font.
-	 */
-	public void createOverlay(Container container, Font font) {
-		container.add(fEditWidget, 0);
-		if (font != null) {
-			fEditWidget.setFont(font);
-		}
-		fContainer = container;
-	}
-
-	/**
-	 * Adds an action listener
-	 */
-	public void addActionListener(ActionListener listener) {
-		fEditWidget.addActionListener(listener);
-	}
-
-	/**
-	 * Remove an action listener
-	 */
-	public void removeActionListener(ActionListener listener) {
-		fEditWidget.removeActionListener(listener);
-	}
-
-	/**
-	 * Positions the overlay.
-	 */
-	public void setBounds(Rectangle r, String text) {
-		fEditWidget.setText(text);
-		fEditWidget.setLocation(r.x, r.y);
-		fEditWidget.setSize(r.width, r.height);
-		fEditWidget.setVisible(true);
-		fEditWidget.selectAll();
-		fEditWidget.requestFocus();
-	}
-
-	/**
-	 * Gets the text contents of the overlay.
-	 */
-	public String getText() {
-		return fEditWidget.getText();
-	}
-
-	/**
-	 * Gets the preferred size of the overlay.
-	 */
-	public Dimension getPreferredSize(int cols) {
-		fEditWidget.setColumns(cols);
-		return fEditWidget.getPreferredSize();
-	}
-
-	/**
-	 * Removes the overlay.
-	 */
-	public void endOverlay() {
-		fContainer.requestFocus();
-		if (fEditWidget != null) {
-			fEditWidget.setVisible(false);
-			fContainer.remove(fEditWidget);
-
-			Rectangle bounds = fEditWidget.getBounds();
-			fContainer.repaint(bounds.x, bounds.y, bounds.width, bounds.height);
-		}
-	}
-}
-
diff --git a/JHotDraw/src/CH/ifa/draw/util/Geom.java b/JHotDraw/src/CH/ifa/draw/util/Geom.java
deleted file mode 100644
index 5c3f50488..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Geom.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * @(#)Geom.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.Rectangle;
-import java.awt.Point;
-import java.awt.geom.Line2D;
-
-/**
- * Some geometric utilities.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class Geom {
-
-	private Geom() {} // never instantiated
-
-	/**
-	 * Tests if a point is on a line.
-	 */
-	static public boolean lineContainsPoint(int x1, int y1,
-							int x2, int y2,
-							int px, int py) {
-
-		Rectangle r = new Rectangle(new Point(x1, y1));
-		r.add(x2, y2);
-		r.grow(2, 2);
-		if (! r.contains(px,py)) {
-			return false;
-		}
-
-		double a, b, x, y;
-
-		if (x1 == x2) {
-			return (Math.abs(px - x1) < 3);
-		}
-		if (y1 == y2) {
-			return (Math.abs(py - y1) < 3);
-		}
-
-		a = (y1 - y2) / (x1 - x2);
-		b = y1 - a * x1;
-		x = (py - b) / a;
-		y = a * px + b;
-
-		return (Math.min(Math.abs(x - px), Math.abs(y - py)) < 4);
-	}
-
-	static public final int NORTH = 1;
-	static public final int SOUTH = 2;
-	static public final int WEST = 3;
-	static public final int EAST = 4;
-
-	/**
-	 * Returns the direction NORTH, SOUTH, WEST, EAST from
-	 * one point to another one.
-	 */
-	static public int direction(int x1, int y1, int x2, int y2) {
-		int direction = 0;
-		int vx = x2 - x1;
-		int vy = y2 - y1;
-
-		if (vy < vx && vx > -vy) {
-			direction = EAST;
-		}
-		else if (vy > vx && vy > -vx) {
-			direction = NORTH;
-		}
-		else if (vx < vy && vx < -vy) {
-			direction = WEST;
-		}
-		else {
-			direction = SOUTH;
-		}
-		return direction;
-	}
-
-	static public Point south(Rectangle r) {
-		return new Point(r.x + r.width /2, r.y + r.height);
-	}
-
-	static public Point center(Rectangle r) {
-		return new Point(r.x + r.width /2, r.y + r.height/2);
-	}
-
-	static public Point west(Rectangle r) {
-		return new Point(r.x, r.y + r.height/ 2);
-	}
-
-	static public Point east(Rectangle r) {
-		return new Point(r.x+r.width, r.y + r.height/ 2);
-	}
-
-	static public Point north(Rectangle r) {
-		return new Point(r.x+r.width/2, r.y);
-	}
-
-	/**
-	 * Returns the corner (bottom right) of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point corner(Rectangle r)
-	{
-		return new Point((int)r.getMaxX(), (int)r.getMaxY());
-	}
-
-
-	/**
-	 * Returns the top left corner of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point topLeftCorner(Rectangle r)
-	{
-		return r.getLocation();
-	}
-
-
-	/**
-	 * Returns the top right corner of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point topRightCorner(Rectangle r)
-	{
-		return new Point((int)r.getMaxX(), (int)r.getMinY());
-	}
-
-
-	/**
-	 * Returns the bottom left corner of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point bottomLeftCorner(Rectangle r)
-	{
-		return new Point((int)r.getMinX(), (int)r.getMaxY());
-	}
-
-
-	/**
-	 * Returns the bottom right corner of the rectangle.
-	 * Same as corner, added for naming coherence with the other
-	 * corner extracting methods
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point bottomRightCorner(Rectangle r)
-	{
-		return corner(r);
-	}
-
-	/**
-	 * Constains a value to the given range.
-	 * @return the constrained value
-	 */
-	static public int range(int min, int max, int value) {
-		if (value < min) {
-			value = min;
-		}
-		if (value > max) {
-			value = max;
-		}
-		return value;
-	}
-
-	/**
-	 * Gets the square distance between two points.
-	 */
-	static public long length2(int x1, int y1, int x2, int y2) {
-		return (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1);
-	}
-
-	/**
-	 * Gets the distance between to points
-	 */
-	static public long length(int x1, int y1, int x2, int y2) {
-		return (long)Math.sqrt(length2(x1, y1, x2, y2));
-	}
-
-	/**
-	 * Gets the angle of a point relative to a rectangle.
-	 */
-	static public double pointToAngle(Rectangle r, Point p) {
-		int px = p.x - (r.x + r.width/2);
-		int py = p.y - (r.y + r.height/2);
-		return Math.atan2(py*r.width, px*r.height);
-	}
-
-	/**
-	 * Gets the point on a rectangle that corresponds to the given angle.
-	 */
-	static public Point angleToPoint(Rectangle r, double angle) {
-		double si = Math.sin(angle);
-		double co = Math.cos(angle);
-		double e = 0.0001;
-
-		int x= 0, y= 0;
-		if (Math.abs(si) > e) {
-			x= (int) ((1.0 + co/Math.abs(si))/2.0 * r.width);
-			x= range(0, r.width, x);
-		}
-		else if (co >= 0.0) {
-			x= r.width;
-		}
-		if (Math.abs(co) > e) {
-			y= (int) ((1.0 + si/Math.abs(co))/2.0 * r.height);
-			y= range(0, r.height, y);
-		}
-		else if (si >= 0.0) {
-			y= r.height;
-		}
-		return new Point(r.x + x, r.y + y);
-	}
-
-	/**
-	 * Converts a polar to a point
-	 */
-	static public Point polarToPoint(double angle, double fx, double fy) {
-		double si = Math.sin(angle);
-		double co = Math.cos(angle);
-		return new Point((int)(fx*co+0.5), (int)(fy*si+0.5));
-	}
-
-	/**
-	 * Gets the point on an oval that corresponds to the given angle.
-	 */
-	static public Point ovalAngleToPoint(Rectangle r, double angle) {
-		Point center = Geom.center(r);
-		Point p = Geom.polarToPoint(angle, r.width/2, r.height/2);
-		return new Point(center.x + p.x, center.y + p.y);
-	}
-
-	/**
-	 * Standard line intersection algorithm
-	 * Return the point of intersection if it exists, else null
-	 **/
-	// from Doug Lea's PolygonFigure
-	static public Point intersect(int xa, // line 1 point 1 x
-								int ya, // line 1 point 1 y
-								int xb, // line 1 point 2 x
-								int yb, // line 1 point 2 y
-								int xc, // line 2 point 1 x
-								int yc, // line 2 point 1 y
-								int xd, // line 2 point 2 x
-								int yd) { // line 2 point 2 y
-
-		// source: http://vision.dai.ed.ac.uk/andrewfg/c-g-a-faq.html
-		// eq: for lines AB and CD
-		//     (YA-YC)(XD-XC)-(XA-XC)(YD-YC)
-		// r = -----------------------------  (eqn 1)
-		//     (XB-XA)(YD-YC)-(YB-YA)(XD-XC)
-		//
-		//     (YA-YC)(XB-XA)-(XA-XC)(YB-YA)
-		// s = -----------------------------  (eqn 2)
-		//     (XB-XA)(YD-YC)-(YB-YA)(XD-XC)
-		//  XI = XA + r(XB-XA)
-		//  YI = YA + r(YB-YA)
-	
-		double denom = ((xb - xa) * (yd - yc) - (yb - ya) * (xd - xc));
-	
-		double rnum = ((ya - yc) * (xd - xc) - (xa - xc) * (yd - yc));
-
-		if (denom == 0.0) { // parallel
-			if (rnum == 0.0) { // coincident; pick one end of first line
-				if ((xa < xb && (xb < xc || xb < xd)) ||
-					(xa > xb && (xb > xc || xb > xd))) {
-					return new Point(xb, yb);
-				}
-				else {
-					return new Point(xa, ya);
-				}
-			}
-			else {
-				return null;
-			}
-		}
-
-		double r = rnum / denom;
-		double snum = ((ya - yc) * (xb - xa) - (xa - xc) * (yb - ya));
-		double s = snum / denom;
-
-		if (0.0 <= r && r <= 1.0 && 0.0 <= s && s <= 1.0) {
-			int px = (int)(xa + (xb - xa) * r);
-			int py = (int)(ya + (yb - ya) * r);
-			return new Point(px, py);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * compute distance of point from line segment, or
-	 * Double.MAX_VALUE if perpendicular projection is outside segment; or
-	 * If pts on line are same, return distance from point
-	 **/
-	// from Doug Lea's PolygonFigure
-	public static double distanceFromLine(int xa, int ya,
-										int xb, int yb,
-										int xc, int yc) {
-
-
-		// source:http://vision.dai.ed.ac.uk/andrewfg/c-g-a-faq.html#q7
-		//Let the point be C (XC,YC) and the line be AB (XA,YA) to (XB,YB).
-		//The length of the
-		//      line segment AB is L:
-		//
-		//                    ___________________
-		//                   |        2         2
-		//              L = \| (XB-XA) + (YB-YA)
-		//and
-		//
-		//                  (YA-YC)(YA-YB)-(XA-XC)(XB-XA)
-		//              r = -----------------------------
-		//                              L**2
-		//
-		//                  (YA-YC)(XB-XA)-(XA-XC)(YB-YA)
-		//              s = -----------------------------
-		//                              L**2
-		//
-		//      Let I be the point of perpendicular projection of C onto AB, the
-		//
-		//              XI=XA+r(XB-XA)
-		//              YI=YA+r(YB-YA)
-		//
-		//      Distance from A to I = r*L
-		//      Distance from C to I = s*L
-		//
-		//      If r < 0 I is on backward extension of AB
-		//      If r>1 I is on ahead extension of AB
-		//      If 0<=r<=1 I is on AB
-		//
-		//      If s < 0 C is left of AB (you can just check the numerator)
-		//      If s>0 C is right of AB
-		//      If s=0 C is on AB
-
-		int xdiff = xb - xa;
-		int ydiff = yb - ya;
-		long l2 = xdiff * xdiff + ydiff * ydiff;
-
-		if (l2 == 0) {
-			return Geom.length(xa, ya, xc, yc);
-		}
-
-		double rnum =  (ya - yc) * (ya - yb) - (xa - xc) * (xb - xa);
-		double r = rnum / l2;
-
-		if (r < 0.0 || r > 1.0) {
-			return Double.MAX_VALUE;
-		}
-
-		double xi = xa + r * xdiff;
-		double yi = ya + r * ydiff;
-		double xd = xc - xi;
-		double yd = yc - yi;
-		return Math.sqrt(xd * xd + yd * yd);
-
-		/*
-			for directional version, instead use
-			double snum =  (ya-yc) * (xb-xa) - (xa-xc) * (yb-ya);
-			double s = snum / l2;
-
-			double l = Math.sqrt((double)l2);
-			return = s * l;
-			*/
-	}
-
-	/**
-	 * compute distance of point from line segment.<br>
-	 * Uses AWT Line2D utility methods
-	 */
-	public static double distanceFromLine2D(int xa, int ya,
-										int xb, int yb,
-										int xc, int yc) {
-		Line2D.Double line = new Line2D.Double(xa, xb, ya, yb);
-		return line.ptSegDist(xc, yc);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/GraphLayout.java b/JHotDraw/src/CH/ifa/draw/util/GraphLayout.java
deleted file mode 100644
index 34d8128d4..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/GraphLayout.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * @(#)GraphLayout.java
- *
- * The original file Graph.java (1.5 99/11/29) is
- * Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
- * Adapted by F. Wienberg, 1999
- *
- * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
- * modify and redistribute this software in source and binary code form,
- * provided that i) this copyright notice and license appear on all copies of
- * the software; and ii) Licensee does not utilize the software in a manner
- * which is disparaging to Sun.
- *
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
- * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
- * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
- * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
- * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
- * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
- * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
- * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * This software is not designed or intended for use in on-line control of
- * aircraft, air traffic, aircraft navigation or aircraft communications; or in
- * the design, construction, operation or maintenance of any nuclear
- * facility. Licensee represents and warrants that it will not use or
- * redistribute the Software for such purposes.
- */
-
-package CH.ifa.draw.util;
-
-import java.util.*;
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.*;
-import java.awt.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class GraphLayout extends FigureChangeAdapter {
-	public double LENGTH_FACTOR=1.0;
-	public double REPULSION_STRENGTH=0.5;
-	public double REPULSION_LIMIT=200.0;
-	int REPULSION_TYPE=0; // 0: (1-r)/r   1: 1-r   2: (1-r)^2
-	public double SPRING_STRENGTH=0.1;
-	public double TORQUE_STRENGTH=0.25;
-	public double FRICTION_FACTOR=0.75;
-
-	private Hashtable nodes = new Hashtable(),
-				  edges = new Hashtable();
-
-	public GraphLayout() {}
-
-	private GraphNode getGraphNode(Figure node) {
-		  return (GraphNode)nodes.get(node);
-	}
-
-	private double len(Figure edge) {
-		  return ((Double)edges.get(edge)).doubleValue()*LENGTH_FACTOR;
-	}
-
-	public void addNode(Figure node) {
-		  nodes.put(node, new GraphNode(node));
-		  node.addFigureChangeListener(this);
-	}
-
-	public void addEdge(ConnectionFigure edge, int addlen) {
-		  Dimension d1 = edge.getStartConnector().owner().size();
-		  Dimension d2 = edge.getEndConnector().owner().size();
-		  int len = Math.max(d1.width,d1.height)/2 +
-				Math.max(d2.width,d2.height)/2 + addlen;
-		  edges.put(edge, new Double(len));
-	}
-
-	public synchronized void relax() {
-		  if (nodes == null)
-			  return;
-		  Enumeration edgeEnum = edges.keys();
-		  while (edgeEnum.hasMoreElements()) {
-			  ConnectionFigure e = (ConnectionFigure)edgeEnum.nextElement();
-			  double targetlen = len(e);
-			  GraphNode from = getGraphNode(e.getStartConnector().owner());
-			  GraphNode to = getGraphNode(e.getEndConnector().owner());
-			  double vx = to.x - from.x;
-			  double vy = to.y - from.y;
-			  double len = Math.sqrt(vx * vx + vy * vy);
-
-			  if (len>0) {
-				  double f = SPRING_STRENGTH * (targetlen - len) / len;
-					  double dx = f * vx;
-					  double dy = f * vy;
-
-					  double phi=Math.atan2(vx,vy);
-					  double dir=-Math.sin(4*phi);
-					  dx += TORQUE_STRENGTH*vy*dir/len;
-					  dy += -TORQUE_STRENGTH*vx*dir/len;
-
-					  to.dx += dx;
-					  to.dy += dy;
-					  from.dx += -dx;
-					  from.dy += -dy;
-				}
-			}
-
-			Enumeration nodeEnum1 = nodes.elements();
-			while (nodeEnum1.hasMoreElements()) {
-				GraphNode n1 = (GraphNode)nodeEnum1.nextElement();
-				double dx = 0;
-				double dy = 0;
-
-				Enumeration nodeEnum2 = nodes.elements();
-				while (nodeEnum2.hasMoreElements()) {
-					  GraphNode n2 = (GraphNode)nodeEnum2.nextElement();
-					  if (n1 == n2) {
-						  continue;
-					  }
-					  double vx = n1.x - n2.x;
-					  double vy = n1.y - n2.y;
-					  double lensqr = vx * vx + vy * vy;
-					  double len = Math.sqrt(lensqr);
-					  if (len == 0) {
-						  dx += REPULSION_STRENGTH * Math.random();
-						  dy += REPULSION_STRENGTH * Math.random();
-					  }
-					  else if (len < REPULSION_LIMIT) {
-						  // Normalize length.
-						  vx=vx/REPULSION_LIMIT;
-						  vy=vy/REPULSION_LIMIT;
-						  len=len/REPULSION_LIMIT;
-						  // Compute force.
-						  double f=0;
-
-						  switch (REPULSION_TYPE) {
-							  case 0:
-								  f = 0.5 * (1 - len) / len;
-									break;
-							  case 1:
-								  f = 1 - len;
-									break;
-							  case 2:
-								  f = 2 * (1 - len) * (1 - len);
-									break;
-						  }
-
-						f *= REPULSION_STRENGTH;
-						dx += f * vx;
-						dy += f * vy;
-					}
-			  }
-
-			  n1.dx += dx;
-			  n1.dy += dy;
-		  }
-
-		  Enumeration nodeEnum = nodes.keys();
-		  while (nodeEnum.hasMoreElements()) {
-			  Figure node = (Figure)nodeEnum.nextElement();
-			  GraphNode n = getGraphNode(node);
-			  if (!Boolean.TRUE.equals(node.getAttribute(FigureAttributeConstant.LOCATION))) {
-					n.x += Math.max(-5, Math.min(5, n.dx));
-					n.y += Math.max(-5, Math.min(5, n.dy));
-					Point c = node.center();
-					node.moveBy((int)Math.round(n.x)-c.x,
-							(int)Math.round(n.y)-c.y);
-
-					//System.out.println("v= " + n.dx + "," + n.dy);
-					if (n.x < 0) {
-						n.x = 0;
-					}
-					if (n.y < 0) {
-						n.y = 0;
-					}
-			  }
-			  n.dx *= FRICTION_FACTOR;
-			  n.dy *= FRICTION_FACTOR;
-		  }
-	}
-
-	/**
-	 * Sent when a figure changed
-	 */
-	synchronized public void figureChanged(FigureChangeEvent e) {
-		  if (nodes!=null) {
-			  Figure node = e.getFigure();
-			  if (nodes.containsKey(node)) {
-				  getGraphNode(node).update();
-			  }
-		  }
-	}
-
-	public void remove() {
-		  if (nodes!=null) {
-			  Enumeration nodeEnum = nodes.keys();
-			  while (nodeEnum.hasMoreElements()) {
-					Figure node = (Figure)nodeEnum.nextElement();
-					node.removeFigureChangeListener(this);
-			  }
-			  nodes = null;
-			  edges = null;
-		  }
-	}
-}
-
-class GraphNode {
-	double x=0.0, y=0.0;
-	double dx=0.0;
-	double dy=0.0;
-	final Figure node;
-
-	GraphNode(Figure newNode) {
-		  node = newNode;
-		  update();
-	}
-
-	void update() {
-		  Point p = node.center();
-		  if (Math.abs(p.x - Math.round(x))>1 ||
-			  Math.abs(p.y - Math.round(y))>1) {
-			  x = p.x;
-			  y = p.y;
-			  //System.out.println(this+" has new coords: "+x+","+y+"\n");
-		  }
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Iconkit.java b/JHotDraw/src/CH/ifa/draw/util/Iconkit.java
deleted file mode 100644
index 91189ec5f..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Iconkit.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * @(#)Iconkit.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.image.ImageProducer;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Hashtable;
-
-/**
- * The Iconkit class supports the sharing of images. It maintains
- * a map of image names and their corresponding images.
- *
- * Iconkit also supports to load a collection of images in
- * synchronized way.
- * The resolution of a path name to an image is delegated to the DrawingEditor.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld031.htm>Singleton</a></b><br>
- * The Iconkit is a singleton.
- * <hr>
- *
- * @version <$CURRENT_VERSION$>
- */
-public class Iconkit {
-	private Map                 fMap;
-	private List                fRegisteredImages;
-	private Component           fComponent;
-	private final static int    ID = 123;
-	private static Iconkit      fgIconkit = null;
-	private static boolean      fgDebug = false;
-
-	/**
-	 * Constructs an Iconkit that uses the given editor to
-	 * resolve image path names.
-	 */
-	public Iconkit(Component component) {
-		fMap = new Hashtable(53);
-		fRegisteredImages = CollectionsFactory.current().createList(10);
-		fComponent = component;
-		fgIconkit = this;
-	}
-
-	/**
-	 * Gets the single instance
-	 */
-	public static Iconkit instance() {
-		return fgIconkit;
-	}
-
-	/**
-	 * Loads all registered images.
-	 * @see #registerImage
-	 */
-	public void loadRegisteredImages(Component component) {
-		if (fRegisteredImages.size() == 0)
-			return;
-
-		MediaTracker tracker = new MediaTracker(component);
-
-		// register images with MediaTracker
-		Iterator iter = fRegisteredImages.iterator();
-		while (iter.hasNext()) {
-			String fileName = (String)iter.next();
-			if (basicGetImage(fileName) == null) {
-				tracker.addImage(loadImage(fileName), ID);
-			}
-		}
-		fRegisteredImages.clear();
-
-		// block until all images are loaded
-		try {
-			tracker.waitForAll();
-		}
-		catch (Exception e) {
-			// ignore: do nothing
-		}
-	}
-
-	/**
-	 * Registers an image that is then loaded together with
-	 * the other registered images by loadRegisteredImages.
-	 * @see #loadRegisteredImages
-	 */
-	public void registerImage(String fileName) {
-		fRegisteredImages.add(fileName);
-	}
-
-	/**
-	 * Registers and loads an image.
-	 */
-	public Image registerAndLoadImage(Component component, String fileName) {
-		registerImage(fileName);
-		loadRegisteredImages(component);
-		return getImage(fileName);
-	}
-
-	/**
-	 * Loads an image with the given name.
-	 */
-	public Image loadImage(String filename) {
-		if (fMap.containsKey(filename)) {
-			return (Image) fMap.get(filename);
-		}
-		Image image = loadImageResource(filename);
-		if (image != null) {
-			fMap.put(filename, image);
-		}
-		return image;
-	}
-
-	public Image loadImage(String filename, boolean waitForLoad) {
-		Image image = loadImage(filename);
-		if (image!=null && waitForLoad) {
-			ImageIcon icon = new ImageIcon(image);
-			image = icon.getImage(); //this forces the wait to happen
-		}
-		return image;
-	}
-
-	public Image loadImageResource(String resourcename) {
-		Toolkit toolkit = Toolkit.getDefaultToolkit();
-		try {
-			URL url = getClass().getResource(resourcename);
-			if (fgDebug) {
-				System.out.println(resourcename);
-			}
-			return toolkit.createImage((ImageProducer) url.getContent());
-		}
-		catch (Exception ex) {
-			return null;
-		}
-	}
-
-	/**
-	 * Gets the image with the given name. If the image
-	 * can't be found it tries it again after loading
-	 * all the registered images.
-	 */
-	public Image getImage(String filename) {
-		Image image = basicGetImage(filename);
-		if (image != null) {
-			return image;
-		}
-		// load registered images and try again
-		loadRegisteredImages(fComponent);
-		// try again
-		return basicGetImage(filename);
-	}
-
-	private Image basicGetImage(String filename) {
-		if (fMap.containsKey(filename)) {
-			return (Image) fMap.get(filename);
-		}
-		return null;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/JDOStorageFormat.java b/JHotDraw/src/CH/ifa/draw/util/JDOStorageFormat.java
deleted file mode 100644
index 6ed15f1e9..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/JDOStorageFormat.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * @(#)SerializationStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.StandardDrawing;
-
-import java.io.*;
-import java.util.*;
-import java.util.List;
-import java.awt.*;
-
-import javax.jdo.*;
-import javax.swing.*;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.event.ListSelectionEvent;
-
-
-/**
- * @author Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class JDOStorageFormat extends StandardStorageFormat {
-
-	private Map pms;
-
-	/**
-	 * Create a SerialzationStorageFormat for storing and restoring Drawings.
-	 */
-	public JDOStorageFormat() {
-		super();
-		pms = CollectionsFactory.current().createMap();
-		// close database connection when application exits
-		Runtime.getRuntime().addShutdownHook(new Thread() {
-			public void run() {
-				Iterator iter = pms.values().iterator();
-//				while (iter.hasNext()) {
-//					((PersistenceManager)iter.next()).close();
-//				}
-			}
-		});
-	}
-
-	/**
-	 * Factory method to create the file extension recognized by the FileFilter for this
-	 * SerializationStorageFormat. The SerializationStorageFormat has the file extension "ser"
-	 * (e.g. my_picasso.ser).
-	 *
-	 * @return new file extension
-	 */
-	protected String createFileExtension() {
-		return "j2";
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return new file description
-	 */
-	public String createFileDescription() {
-		return "Database (" + getFileExtension() + ")";
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isRestoreFormat()
-	 */
-	public boolean isRestoreFormat() {
-		return true;
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isStoreFormat()
-	 */
-	public boolean isStoreFormat() {
-		return true;
-	}
-
-	/**
-	 * Store a Drawing under a given name. The name should be valid with regard to the FileFilter
-	 * that means, it should already contain the appropriate file extension.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param storeDrawing drawing to be saved
-	 */
-	public String store(String fileName, Drawing storeDrawing) throws IOException {
-		PersistenceManager pm = getPersistenceManager(fileName);
-		String drawingName = null;
-
-		Drawing txnDrawing = crossTxnBoundaries(storeDrawing);
-		endTransaction(pm, false);
-
-		startTransaction(pm);
-		try {
-			Extent extent = pm.getExtent(StandardDrawing.class, true);
-			DrawingListModel listModel = new DrawingListModel(extent.iterator());
-			drawingName = showStoreDialog(listModel, storeDrawing);
-			if (drawingName != null) {
-				storeDrawing.setTitle(drawingName);
-				txnDrawing.setTitle(drawingName);
-				pm.makePersistent(txnDrawing);
-			}
-		}
-		finally {
-			endTransaction(pm, (drawingName != null));
-		}
-
-		// there must be always a transaction running
-		startTransaction(pm);
-		return drawingName;
-	}
-
-	/**
-	 * Restore a Drawing from a file with a given name. The name must be should with regard to the
-	 * FileFilter that means, it should have the appropriate file extension.
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public synchronized Drawing restore(String fileName) throws IOException {
-		PersistenceManager pm = getPersistenceManager(fileName);
-
-		endTransaction(pm, false);
-		startTransaction(pm);
-		Drawing restoredDrawing  = null;
-
-		try {
-			Extent extent = pm.getExtent(StandardDrawing.class, true);
-			DrawingListModel listModel = new DrawingListModel(extent.iterator());
-			Drawing txnDrawing = showRestoreDialog(listModel);
-			if (txnDrawing != null) {
-//				pm.retrieve(txnDrawing);
-//				retrieveAll(pm, (StandardDrawing)txnDrawing);
-//				restoredDrawing = crossTxnBoundaries(txnDrawing);
-				restoredDrawing = txnDrawing;
-			}
-		}
-		finally {
-			endTransaction(pm, false);
-		}
-
-		// there must be always a transaction running
-		startTransaction(pm);
-		return restoredDrawing;
-	}
-
-	private void retrieveAll(PersistenceManager pm, Figure figure) {
-		pm.retrieve(figure);
-		FigureEnumeration fe = figure.figures();
-		while (fe.hasNextFigure()) {
-			retrieveAll(pm, fe.nextFigure());
-		}
-	}
-
-	private Drawing crossTxnBoundaries(Drawing originalDrawing) {
-		return (Drawing)((StandardDrawing)originalDrawing).clone();
-//		return originalDrawing;
-	}
-
-	private synchronized PersistenceManager getPersistenceManager(String fileName) {
-		PersistenceManager pm = (PersistenceManager)pms.get(fileName);
-		if (pm == null) {
-			pm = createPersistenceManagerFactory(fileName).getPersistenceManager();
-			pms.put(fileName, pm);
-		}
-		return pm;
-	}
-
-	private PersistenceManagerFactory createPersistenceManagerFactory(String dbFileName) {
-		Properties pmfProps = new Properties();
-
-        pmfProps.put(
-            "javax.jdo.PersistenceManagerFactoryClass",
-            "com.poet.jdo.PersistenceManagerFactories" );
-        pmfProps.put(
-            "javax.jdo.option.ConnectionURL",
-            "fastobjects://LOCAL/MyBase.j1" );
-        final PersistenceManagerFactory pmf =
-            JDOHelper.getPersistenceManagerFactory( pmfProps );
-
-		return pmf;
-	}
-
-	private static void startTransaction(PersistenceManager pm) {
-		if (!pm.currentTransaction().isActive()) {
-			pm.currentTransaction().begin();
-		}
-	}
-
-	private static void endTransaction(PersistenceManager pm, boolean doCommit) {
-		if (pm.currentTransaction().isActive()) {
-			if (doCommit) {
-				pm.currentTransaction().commit();
-			}
-			else {
-				pm.currentTransaction().rollback();
-			}
-		}
-	}
-
-	private String showStoreDialog(ListModel listModel, Drawing storeDrawing) {
-		final String msgString = "Specify a name for the drawing";
-
-		final JTextField nameTextField = new JTextField(storeDrawing.getTitle());
-		final JList dataList = new JList(listModel);
-		final JScrollPane dbContentScrollPane = new JScrollPane(dataList);
-		Object[] guiComponents = {msgString, dbContentScrollPane, nameTextField};
-
-		dataList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-		dataList.setValueIsAdjusting(true);
-		dataList.addListSelectionListener(new ListSelectionListener() {
-            public void valueChanged(ListSelectionEvent e) {
-				nameTextField.setText(dataList.getSelectedValue().toString());
-			}
-		});
-
-		final JOptionPane optionPane = new JOptionPane(
-			guiComponents,
-			JOptionPane.PLAIN_MESSAGE,
-			JOptionPane.OK_CANCEL_OPTION);
-
-		final JDialog dialog = optionPane.createDialog(null, "Restore a drawing from the database");
-//		dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
-//		dialog.addWindowListener(new WindowAdapter() {
-//			public void windowClosing(WindowEvent we) {
-//				System.exit(0);
-//			}
-//		});
-		dialog.setVisible(true);
-		if ((optionPane.getValue() != null) && (optionPane.getValue().equals(new Integer(JOptionPane.OK_OPTION)))) {
-			return nameTextField.getText();
-		}
-		else {
-			return null;
-		}
-	}
-
-	private Drawing showRestoreDialog(DrawingListModel listModel) {
-		final String msgString = "Select a drawing";
-
-		final JList dataList = new JList(listModel);
-		final JScrollPane dbContentScrollPane = new JScrollPane(dataList);
-		Object[] guiComponents = {msgString, dbContentScrollPane};
-
-		dataList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-		dataList.setValueIsAdjusting(true);
-
-		final JOptionPane optionPane = new JOptionPane(
-			guiComponents,
-			JOptionPane.PLAIN_MESSAGE,
-			JOptionPane.OK_CANCEL_OPTION);
-
-		final JDialog dialog = optionPane.createDialog(null, "Restore a drawing from the database");
-		dialog.setVisible(true);
-		if ((optionPane.getValue() != null)
-				&& (optionPane.getValue().equals(new Integer(JOptionPane.OK_OPTION)))
-				&& (dataList.getSelectedIndex() >= 0)
-				&& (dataList.getSelectedIndex() < dataList.getModel().getSize())) {
-			return listModel.getDrawingAt(dataList.getSelectedIndex());
-		}
-		else {
-			return null;
-		}
-	}
-
-	static class DrawingListModel extends AbstractListModel {
-		private List myList;
-
-		DrawingListModel(Iterator iter) {
-			myList = CollectionsFactory.current().createList();
-			while (iter.hasNext()) {
-				Object o = iter.next();
-				System.out.println("extent: " + o + " .. " + ((Drawing)o).getTitle());
-				myList.add(o);
-			}
-		}
-
-		public Object getElementAt(int index) {
-			return getDrawingAt(index).getTitle();
-		}
-
-		protected Drawing getDrawingAt(int index) {
-			return ((Drawing)myList.get(index));
-		}
-
-		public int getSize() {
-			return myList.size();
-		}
-	}
-
-	static class DrawingSelector extends JDialog {
-		DrawingSelector() {
-			init();
-		}
-
-		private void init() {
-			setTitle("Select Drawing");
-			getContentPane().setLayout(new BorderLayout());
-			getContentPane().add(new JLabel("Database content"), BorderLayout.NORTH);
-			setSize(200, 200);
-		}
-	}
-
-	public static void main(String[] args) {
-		DrawingSelector frame = new DrawingSelector();
-		try {
-			Drawing newDrawing = new StandardDrawing();
-			newDrawing.setTitle("TestDrawingName" + new Random(System.currentTimeMillis()).nextLong());
-			new JDOStorageFormat().store("base.j2", newDrawing);
-			System.exit(0);
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-//		frame.setVisible(true);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/PaletteButton.java b/JHotDraw/src/CH/ifa/draw/util/PaletteButton.java
deleted file mode 100644
index eb7281772..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/PaletteButton.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)PaletteButton.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.*;
-import java.awt.event.*;
-
-/**
- * A palette button is a three state button. The states are normal
- * pressed and selected. It uses to the palette listener interface
- * to notify about state changes.
- *
- * @see PaletteListener
- * @see PaletteLayout
- *
- * @version <$CURRENT_VERSION$>
-*/
-public abstract class PaletteButton
-				extends JButton
-				implements MouseListener, MouseMotionListener {
-
-	protected static final int NORMAL = 1;
-	protected static final int PRESSED = 2;
-	protected static final int SELECTED = 3;
-
-	private int             fState;
-	private int             fOldState;
-
-	private PaletteListener  fListener;
-
-	/**
-	 * Constructs a PaletteButton.
-	 * @param listener the listener to be notified.
-	 */
-	public PaletteButton(PaletteListener listener) {
-		fListener = listener;
-		fState = fOldState = NORMAL;
-		addMouseListener(this);
-		addMouseMotionListener(this);
-	}
-
-	public Object value() {
-		return null;
-	}
-
-	public String name() {
-		return "";
-	}
-
-	public void reset() {
-		if (isEnabled()) {
-			fState = NORMAL;
-			setSelected(false);
-			repaint();
-		}
-	}
-
-	public void select() {
-		if (isEnabled()) {
-			fState = SELECTED;
-			setSelected(true);
-			repaint();
-		}
-	}
-
-	public void mousePressed(MouseEvent e) {
-		if (isEnabled()) {
-			fOldState = fState;
-			fState = PRESSED;
-			repaint();
-		}
-	}
-
-	public void mouseDragged(MouseEvent e) {
-		if (isEnabled()) {
-			if (contains(e.getX(),e.getY())) {
-				fState = PRESSED;
-			}
-			else {
-				fState = fOldState;
-			}
-			repaint();
-		}
-	}
-
-	public void mouseReleased(MouseEvent e) {
-		if (isEnabled()) {
-			fState = fOldState;
-			repaint();
-			if (contains(e.getX(),e.getY())) {
-				fListener.paletteUserSelected(this);
-			}
-		}
-	}
-
-	public void mouseMoved(MouseEvent e) {
-		fListener.paletteUserOver(this, true);
-	}
-
-	public void mouseExited(MouseEvent e) {
-		if (fState == PRESSED) {
-			// JDK1.1 on MS-Windows sometimes looses mouse released
-			mouseDragged(e);
-		}
-		fListener.paletteUserOver(this, false);
-	}
-
-	public void mouseClicked(MouseEvent e) {}
-	public void mouseEntered(MouseEvent e) {}
-
-//  Not necessary anymore in JFC due to the support of Icons in JButton
-/*
-	public abstract void paintBackground(Graphics g);
-	public abstract void paintNormal(Graphics g);
-	public abstract void paintPressed(Graphics g);
-	public abstract void paintSelected(Graphics g);
-
-	public void update(Graphics g) {
-		paint(g);
-	}
-	
-	public void paint(Graphics g) {
-		paintBackground(g);
-
-		switch (fState) {
-		case PRESSED:
-			paintPressed(g);
-			break;
-		case SELECTED:
-			paintSelected(g);
-			break;
-		case NORMAL:
-		default:
-			paintNormal(g);
-			break;
-		}
-	}
-*/
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/PaletteIcon.java b/JHotDraw/src/CH/ifa/draw/util/PaletteIcon.java
deleted file mode 100644
index 90f4e821b..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/PaletteIcon.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * @(#)PaletteIcon.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.*;
-
-/**
- * A three state icon that can be used in Palettes.
- *
- * @see PaletteButton
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PaletteIcon extends Object {
-
-	Image       fNormal;
-	Image       fPressed;
-	Image       fSelected;
-	Dimension   fSize;
-
-	public PaletteIcon(Dimension size, Image normal, Image pressed, Image selected) {
-		fSize = size;
-		fNormal = normal;
-		fPressed = pressed;
-		fSelected = selected;
-	}
-
-	public Image normal() { return fNormal; }
-	public Image pressed() { return fPressed; }
-	public Image selected() { return fSelected; }
-
-	public int getWidth() { return fSize.width; }
-	public int getHeight() { return fSize.height; }
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/PaletteLayout.java b/JHotDraw/src/CH/ifa/draw/util/PaletteLayout.java
deleted file mode 100644
index 63b1d84cd..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/PaletteLayout.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)PaletteLayout.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.*;
-
-/**
- * A custom layout manager for the palette.
- *
- * @see PaletteButton
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PaletteLayout implements LayoutManager {
-
-	private int         fGap;
-	private Point       fBorder;
-	private boolean     fVerticalLayout;
-
-	/**
-	 * Initializes the palette layout.
-	 * @param gap the gap between palette entries.
-	 */
-	public PaletteLayout(int gap) {
-		this(gap, new Point(0,0), true);
-	}
-
-	public PaletteLayout(int gap, Point border) {
-		this(gap, border, true);
-	}
-
-	public PaletteLayout(int gap, Point border, boolean vertical) {
-		fGap = gap;
-		fBorder = border;
-		fVerticalLayout = vertical;
-	}
-
-	public void addLayoutComponent(String name, Component comp) {
-	}
-
-	public void removeLayoutComponent(Component comp) {
-	}
-
-	public Dimension preferredLayoutSize(Container target) {
-		return minimumLayoutSize(target);
-	}
-
-	public Dimension minimumLayoutSize(Container target) {
-		Dimension dim = new Dimension(0, 0);
-		int nmembers = target.getComponentCount();
-
-		for (int i = 0 ; i < nmembers ; i++) {
-			Component m = target.getComponent(i);
-			if (m.isVisible()) {
-				Dimension d = m.getMinimumSize();
-				if (fVerticalLayout) {
-					dim.width = Math.max(dim.width, d.width);
-					if (i > 0) {
-						dim.height += fGap;
-					}
-					dim.height += d.height;
-				}
-				else {
-					dim.height = Math.max(dim.height, d.height);
-					if (i > 0) {
-						dim.width += fGap;
-					}
-					dim.width += d.width;
-				}
-			}
-		}
-
-		Insets insets = target.getInsets();
-		dim.width += insets.left + insets.right;
-		dim.width += 2 * fBorder.x;
-		dim.height += insets.top + insets.bottom;
-		dim.height += 2 * fBorder.y;
-		return dim;
-	}
-
-	public void layoutContainer(Container target) {
-		Insets insets = target.getInsets();
-		int nmembers = target.getComponentCount();
-		int x = insets.left + fBorder.x;
-		int y = insets.top + fBorder.y;
-
-		for (int i = 0 ; i < nmembers ; i++) {
-			Component m = target.getComponent(i);
-			if (m.isVisible()) {
-				Dimension d = m.getMinimumSize();
-				m.setBounds(x, y, d.width, d.height);
-				if (fVerticalLayout) {
-					y += d.height;
-					y += fGap;
-				}
-				else {
-					x += d.width;
-					x += fGap;
-				}
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/PaletteListener.java b/JHotDraw/src/CH/ifa/draw/util/PaletteListener.java
deleted file mode 100644
index 19274cad4..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/PaletteListener.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * @(#)PaletteListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * Interface for handling palette events.
- *
- * @see PaletteButton
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface PaletteListener {
-	/**
-	 * The user selected a palette entry. The selected button is
-	 * passed as an argument.
-	 */
-	public void paletteUserSelected(PaletteButton button);
-
-	/**
-	 * The user moved the mouse over the palette entry.
-	 */
-	public void paletteUserOver(PaletteButton button, boolean inside);
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/RedoCommand.java b/JHotDraw/src/CH/ifa/draw/util/RedoCommand.java
deleted file mode 100644
index 6bf082779..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/RedoCommand.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * @(#)RedoCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * Command to redo the latest undone change in the drawing.
- *
- * @version <$CURRENT_VERSION$>
- */ 
-public class RedoCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a properties command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public RedoCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		UndoManager um = getDrawingEditor().getUndoManager();
-		if ((um == null) || !um.isRedoable()) {
-			return;
-		}
-		
-		Undoable lastRedoable = um.popRedo();
-		// Execute redo
-		boolean hasBeenUndone = lastRedoable.redo();
-		// Add to undo stack
-		if (hasBeenUndone && lastRedoable.isUndoable()) {
-			um.pushUndo(lastRedoable);
-		}
-			
-		lastRedoable.getDrawingView().checkDamage();
-
-		getDrawingEditor().figureSelectionChanged(lastRedoable.getDrawingView());
-	}
-  
-	/**
-	 * Used in enabling the redo menu item.
-	 * Redo menu item will be enabled only when there is at least one redoable
-	 * activity in the UndoManager.
-	 */
-	public boolean isExecutableWithView() {
-		UndoManager um = getDrawingEditor().getUndoManager();
-		if ((um != null) && (um.getRedoSize() > 0)) {
-			return true;
-		}
-
-	    return false;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/ReverseListEnumerator.java b/JHotDraw/src/CH/ifa/draw/util/ReverseListEnumerator.java
deleted file mode 100644
index cf17a13df..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/ReverseListEnumerator.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * @(#)ReverseListEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Iterator;
-
-/**
- * An Enumeration that enumerates a list back (size-1) to front (0).
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ReverseListEnumerator implements Iterator {
-
-	private List myList;
-	private int count;
-
-	public ReverseListEnumerator(List l) {
-		myList = l;
-		count = myList.size() - 1;
-	}
-
-	public boolean hasNext() {
-		return count >= 0;
-	}
-
-	public Object next() {
-		if (count >= 0) {
-			return myList.get(count--);
-		}
-		throw new NoSuchElementException("ReverseListEnumerator");
-	}
-
-	public void remove() {
-		myList.remove(count);
-		count--;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/SerializationStorageFormat.java b/JHotDraw/src/CH/ifa/draw/util/SerializationStorageFormat.java
deleted file mode 100644
index dbc10edc3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/SerializationStorageFormat.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * @(#)SerializationStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-import CH.ifa.draw.framework.Drawing;
-
-/**
- * A SerializationStorageFormat is a straight-forward file format to store and restore
- * Drawings. It uses Java's serialization mechanism to store Drawings. The SerializationStorageFormat
- * has the file extension "ser" (e.g. my_picasso.ser).
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class SerializationStorageFormat extends StandardStorageFormat {
-
-	/**
-	 * Create a SerialzationStorageFormat for storing and restoring Drawings.
-	 */
-	public SerializationStorageFormat() {
-		super();
-	}
-
-	/**
-	 * Factory method to create the file extension recognized by the FileFilter for this
-	 * SerializationStorageFormat. The SerializationStorageFormat has the file extension "ser"
-	 * (e.g. my_picasso.ser).
-	 *
-	 * @return new file extension
-	 */
-	protected String createFileExtension() {
-		return "ser";
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return new file description
-	 */
-	public String createFileDescription() {
-		return "Serialization (" + getFileExtension() + ")";
-	}
-	
-	/**
-	 * Store a Drawing under a given name. The name should be valid with regard to the FileFilter
-	 * that means, it should already contain the appropriate file extension.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 */
-	public String store(String fileName, Drawing saveDrawing) throws IOException {
-		FileOutputStream stream = new FileOutputStream(adjustFileName(fileName));
-		ObjectOutput output = new ObjectOutputStream(stream);
-		output.writeObject(saveDrawing);
-		output.close();
-		return adjustFileName(fileName);
-	}
-
-	/**
-	 * Restore a Drawing from a file with a given name. The name must be should with regard to the
-	 * FileFilter that means, it should have the appropriate file extension.
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public Drawing restore(String fileName) throws IOException {
-		try {
-			FileInputStream stream = new FileInputStream(fileName);
-			ObjectInput input = new ObjectInputStream(stream);
-			return (Drawing)input.readObject();
-		}
-		catch (ClassNotFoundException exception) {
-			throw new IOException("Could not restore drawing '" + fileName +"': class not found!");
-		}
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/StandardStorageFormat.java b/JHotDraw/src/CH/ifa/draw/util/StandardStorageFormat.java
deleted file mode 100644
index 6ffc64deb..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StandardStorageFormat.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * @(#)StandardStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.filechooser.FileFilter;
-import java.io.IOException;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.File;
-import CH.ifa.draw.framework.Drawing;
-
-/**
- * A StandardStorageFormat is an internal file format to store and restore
- * Drawings. It uses its own descriptive syntax ands write classes and attributes
- * as plain text in a text file. The StandardStorageFormat has the file extension
- * "draw" (e.g. my_picasso.draw).
- *
- * @author Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class StandardStorageFormat implements StorageFormat {
-
-	/**
-	 * FileFilter for a javax.swing.JFileChooser which recognizes files with the
-	 * extension "draw"
-	 */
-	private FileFilter myFileFilter;
-
-	/**
-	 * File extension
-	 */
-	private String myFileExtension;
-
-	/**
-	 * Description of the file type when displaying the FileFilter
-	 */
-	private String myFileDescription;
-
-	/**
-	 * Create a StandardStorageFormat for storing and restoring Drawings.
-	 */
-	public StandardStorageFormat() {
-		setFileExtension(createFileExtension());
-		setFileDescription(createFileDescription());
-		setFileFilter(createFileFilter());
-	}
-
-	/**
-	 * Factory method to create the file extension recognized by the FileFilter for this
-	 * StandardStorageFormat. The StandardStorageFormat has the file extension "draw"
-	 * (e.g. my_picasso.draw).
-	 *
-	 * @return new file extension
-	 */
-	protected String createFileExtension() {
-		return myFileExtension = "draw";
-	}
-
-	/**
-	 * Set the file extension for the storage format
-	 *
-	 * @param newFileExtension extension
-	 */
-	public void setFileExtension(String newFileExtension) {
-		myFileExtension = newFileExtension;
-	}
-
-	/**
-	 * Return the file extension for the storage format
-	 *
-	 * @return file extension
-	 */
-	public String getFileExtension() {
-		return myFileExtension;
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return new file description
-	 */
-	public String createFileDescription() {
-		return "Internal Format (" + getFileExtension() + ")";
-	}
-
-	/**
-	 * Set the file description for the file type of the storage format
-	 *
-	 * @param newFileDescription description of the file type
-	 */
-	public void setFileDescription(String newFileDescription) {
-		myFileDescription = newFileDescription;
-	}
-
-	/**
-	 * Return the file description for the file type of the storage format
-	 *
-	 * @return description of the file type
-	 */
-	public String getFileDescription() {
-		return myFileDescription;
-	}
-
-	/**
-	 * Factory method to create a FileFilter that accepts file with the appropriate
-	 * file exention used by a javax.swing.JFileChooser. Subclasses can override this
-	 * method to provide their own file filters.
-	 *
-	 * @return FileFilter for this StorageFormat
-	 */
-	protected FileFilter createFileFilter() {
-		return new FileFilter() {
-			public boolean accept(File checkFile) {
-				// still display directories for navigation
-				if (checkFile.isDirectory()) {
-					return true;
-				}
-				else {
-					return checkFile.getName().endsWith("." + getFileExtension());
-				}
-			}
-
-			public String getDescription() {
-				return getFileDescription();
-			}
-		};
-	}
-
-	/**
-	 * Set the FileFilter used to identify Drawing files with the correct file
-	 * extension for this StorageFormat.
-	 *
-	 * @param newFileFilter FileFilter for this StorageFormat
-	 */
-	public void setFileFilter(FileFilter newFileFilter) {
-		myFileFilter = newFileFilter;
-	}
-
-	/**
-	 * Return the FileFilter used to identify Drawing files with the correct file
-	 * extension for this StorageFormat.
-	 *
-	 * @return FileFilter for this StorageFormat
-	 */
-	public FileFilter getFileFilter() {
-		return myFileFilter;
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isRestoreFormat()
-	 */
-	public boolean isRestoreFormat() {
-		return true;
-	}
-
-	/**
-	 * @see CH.ifa.draw.util.StorageFormat#isStoreFormat()
-	 */
-	public boolean isStoreFormat() {
-		return true;
-	}
-
-	/**
-	 * Store a Drawing under a given name. If the file name does not have the correct
-	 * file extension, then the file extension is added.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 * @return file name with correct file extension
-	 */
-	public String store(String fileName, Drawing saveDrawing) throws IOException {
-		FileOutputStream stream = new FileOutputStream(adjustFileName(fileName));
-		StorableOutput output = new StorableOutput(stream);
-		output.writeStorable(saveDrawing);
-		output.close();
-		return adjustFileName(fileName);
-	}
-
-	/**
-	 * Restore a Drawing from a file with a given name.
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public Drawing restore(String fileName) throws IOException {
-		if (!hasCorrectFileExtension(fileName)) {
-			return null;
-		}
-		else {
-			FileInputStream stream = new FileInputStream(fileName);
-			StorableInput input = new StorableInput(stream);
-			return (Drawing)input.readStorable();
-		}
-	}
-
-	/**
-	 * Test, whether two StorageFormats are the same. They are the same if they both support the
-	 * same file extension.
-	 *
-	 * @return true, if both StorageFormats have the same file extension, false otherwise
-	 */
-	public boolean equals(Object compareObject) {
-		if (compareObject instanceof StandardStorageFormat) {
-			return getFileExtension().equals(((StandardStorageFormat)compareObject).getFileExtension());
-		}
-		else {
-			return false;
-		}
-	}
-
-	/**
-	 * Adjust a file name to have the correct file extension.
-	 *
-	 * @param testFileName file name to be tested for a correct file extension
-	 * @return testFileName + file extension if necessary
-	 */
-	protected String adjustFileName(String testFileName) {
-		if (!hasCorrectFileExtension(testFileName)) {
-			return testFileName + "." + getFileExtension();
-		}
-		else {
-			return testFileName;
-		}
-	}
-
-	/**
-	 * Test whether the file name has the correct file extension
-	 *
-	 * @return true, if the file has the correct extension, false otherwise
-	 */
-	protected boolean hasCorrectFileExtension(String testFileName) {
-		return testFileName.endsWith("." + getFileExtension());
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/StandardVersionControlStrategy.java b/JHotDraw/src/CH/ifa/draw/util/StandardVersionControlStrategy.java
deleted file mode 100644
index 3968b3416..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StandardVersionControlStrategy.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * @(#)StandardVersionControlStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class StandardVersionControlStrategy implements VersionControlStrategy {
-	private VersionRequester myVersionRequester;
-	
-	public StandardVersionControlStrategy(VersionRequester newVersionRequester) {
-		setVersionRequester(newVersionRequester);
-	}
-	
-	/**
-	 * Define a strategy how to select those versions of JHotDraw
-	 * with which they are compatible.
-	 */
-	public void assertCompatibleVersion() {
-		String[] requiredVersions = getVersionRequester().getRequiredVersions();
-		// version is compatible if no version was specified
-		if (requiredVersions.length == 0) {
-			return;
-		}
-		for (int i = 0; i < requiredVersions.length; i++) {
-			if (isCompatibleVersion(requiredVersions[i])) {
-				// a compatible version has been found
-				return;
-			}
-		}
-		// no matching version was found
-		handleIncompatibleVersions();
-	}
-
-	/**
-	 * This method is called in open() if an incompatible version has been
-	 * encountered. Applications can override this method to provide customized
-	 * exception handling for this case. In the default implementation, a
-	 * JHotDrawRuntimeException is thrown.
-	 */
-	protected void handleIncompatibleVersions() {
-		// collect version info
-		String[] requiredVersions = getVersionRequester().getRequiredVersions();
-		StringBuffer expectedVersions = new StringBuffer("[");
-		for (int i = 0; i < requiredVersions.length - 1; i++) {
-			expectedVersions.append(requiredVersions[i] + ", ");
-		}
-		if (requiredVersions.length > 0) {
-			expectedVersions.append(requiredVersions[requiredVersions.length - 1]);
-		}
-		expectedVersions.append("]");
-
-		// no compatible version has been found
-		throw new JHotDrawRuntimeException("Incompatible version of JHotDraw found: "
-			+  VersionManagement.getJHotDrawVersion() 
-			+ " (expected: " + expectedVersions + ")");
-	}
-
-	/**
-	 * Subclasses can override this method to specify an algorithms that determines
-	 * how version strings are compared and which version strings can be regarded
-	 * as compatible. For example, a subclass may choose that all versions 5.x of
-	 * JHotDraw are compatible with the application, so only the first digit in
-	 * the version number is considered significant. In the default implementation,
-	 * all versions that are equal or greater than the expected version are compatible.
-	 *
-	 * @param compareVersionString application version to compare with JHotDraw's version
-	 */
-	protected boolean isCompatibleVersion(String compareVersionString) {
-		return VersionManagement.isCompatibleVersion(compareVersionString);
-	}
-	
-	private void setVersionRequester(VersionRequester newVersionRequester) {
-		myVersionRequester = newVersionRequester;
-	}
-	
-	protected VersionRequester getVersionRequester() {
-		return myVersionRequester;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Storable.java b/JHotDraw/src/CH/ifa/draw/util/Storable.java
deleted file mode 100644
index 3c04ca3df..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Storable.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Storable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-
-/**
- * Interface that is used by StorableInput and StorableOutput
- * to flatten and resurrect objects. Objects that implement
- * this interface and that are resurrected by StorableInput
- * have to provide a default constructor with no arguments.
- *
- * @see StorableInput
- * @see StorableOutput
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Storable {
-	/**
-	 * Writes the object to the StorableOutput.
-	 */
-	public void write(StorableOutput dw);
-
-	/**
-	 * Reads the object from the StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException;
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/StorableInput.java b/JHotDraw/src/CH/ifa/draw/util/StorableInput.java
deleted file mode 100644
index f696e10a2..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StorableInput.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * @(#)StorableInput.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-import java.awt.Color;
-import java.util.List;
-
-/**
- * An input stream that can be used to resurrect Storable objects.
- * StorableInput preserves the object identity of the stored objects.
- *
- * @see Storable
- * @see StorableOutput
- *
- * @version <$CURRENT_VERSION$>s
- */
-public class StorableInput {
-
-	private StreamTokenizer fTokenizer;
-	private List            fMap;
-
-	/**
-	 * Initializes a Storable input with the given input stream.
-	 */
-	public StorableInput(InputStream stream) {
-		Reader r = new BufferedReader(new InputStreamReader(stream));
-		fTokenizer = new StreamTokenizer(r);
-		// include inner class separate in class names
-		fTokenizer.wordChars('$', '$');
-		fMap = CollectionsFactory.current().createList();
-	}
-
-	/**
-	 * Reads and resurrects a Storable object from the input stream.
-	 */
-	public Storable readStorable() throws IOException {
-		Storable storable;
-		String s = readString();
-
-		if (s.equals("NULL")) {
-			return null;
-		}
-
-		if (s.equals("REF")) {
-			int ref = readInt();
-			return retrieve(ref);
-		}
-
-		storable = (Storable) makeInstance(s);
-		map(storable);
-		storable.read(this);
-		return storable;
-	}
-
-	/**
-	 * Reads a string from the input stream.
-	 */
-	public String readString() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_WORD || token == '"') {
-			return fTokenizer.sval;
-		}
-
-		String msg = "String expected in line: " + fTokenizer.lineno();
-		throw new IOException(msg);
-	}
-
-	/**
-	 * Reads an int from the input stream.
-	 */
-	public int readInt() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return (int) fTokenizer.nval;
-		}
-
-		String msg = "Integer expected in line: " + fTokenizer.lineno();
-		IOException exception =  new IOException(msg);
-		exception.printStackTrace();
-		throw new IOException(msg);
-	}
-
-	/**
-	 * Reads an int from the input stream.
-	 */
-	public long readLong() throws IOException {
-		long token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return (long)fTokenizer.nval;
-		}
-		String msg = "Long expected in line: " + fTokenizer.lineno();
-		IOException exception =  new IOException(msg);
-		//exception.printStackTrace();
-		throw exception;
-	}
-
-	/**
-	 * Reads a color from the input stream.
-	 */
-	public Color readColor() throws IOException {
-		return new Color(readInt(), readInt(), readInt());
-	}
-
-	/**
-	 * Reads a double from the input stream.
-	 */
-	public double readDouble() throws IOException {
-		double value = 0.0; 
-		int token = fTokenizer.nextToken(); 
-		if (token == StreamTokenizer.TT_NUMBER) { 
-			// Allow for a bug in StreamTokenizer, which causes the exponent 
-			// to be ignored, then read in as a string as the next token. 
-			// This is a nasty kludge and I think it could fail if a number 
-			// without an exponent is followed by a string beginning with "E" or "e" 
-			value = fTokenizer.nval; 
-			int token2 = fTokenizer.nextToken(); 
-			if (token2 == StreamTokenizer.TT_WORD && 
-					(fTokenizer.sval.charAt(0) == 'E' || fTokenizer.sval.charAt(0) == 'e')) { 
-				value = Double.valueOf(value+fTokenizer.sval).doubleValue(); 
-			} 
-			else { 
-				fTokenizer.pushBack(); 
-			} 
-			return value; 
-		}
-		else {
-			throw new IOException("Double expected in line: " + fTokenizer.lineno());
-		}
-	}
-
-	/**
-	 * Reads a boolean from the input stream.
-	 */
-	public boolean readBoolean() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return ((int) fTokenizer.nval) == 1;
-		}
-
-		String msg = "Integer expected in line: " + fTokenizer.lineno();
-		throw new IOException(msg);
-	}
-
-	private Object makeInstance(String className) throws IOException {
-		try {
-			Class cl = Class.forName(className);
-			return cl.newInstance();
-		}
-		catch (NoSuchMethodError e) {
-			throw new IOException("Class " + className
-				+ " does not seem to have a no-arg constructor");
-		}
-		catch (ClassNotFoundException e) {
-			throw new IOException("No class: " + className);
-		}
-		catch (InstantiationException e) {
-			throw new IOException("Cannot instantiate: " + className);
-		}
-		catch (IllegalAccessException e) {
-			throw new IOException("Class (" + className + ") not accessible");
-		}
-	}
-
-	private void map(Storable storable) {
-		if (!fMap.contains(storable)) {
-			fMap.add(storable);
-		}
-	}
-
-	private Storable retrieve(int ref) {
-		return (Storable)fMap.get(ref);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/StorableOutput.java b/JHotDraw/src/CH/ifa/draw/util/StorableOutput.java
deleted file mode 100644
index 2c1e5c3e6..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StorableOutput.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * @(#)StorableOutput.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-import java.awt.Color;
-import java.util.List;
-
-/**
- * An output stream that can be used to flatten Storable objects.
- * StorableOutput preserves the object identity of the stored objects.
- *
- * @see Storable
- * @see StorableInput
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class StorableOutput extends Object {
-
-	private PrintWriter     fStream;
-	private List            fMap;
-	private int             fIndent;
-
-	/**
-	 * Initializes the StorableOutput with the given output stream.
-	 */
-	public StorableOutput(OutputStream stream) {
-		fStream = new PrintWriter(stream);
-		fMap = CollectionsFactory.current().createList();
-		fIndent = 0;
-	}
-
-	/**
-	 * Writes a storable object to the output stream.
-	 */
-	public void writeStorable(Storable storable) {
-		if (storable == null) {
-			fStream.print("NULL");
-			space();
-			return;
-		}
-
-		if (mapped(storable)) {
-			writeRef(storable);
-			return;
-		}
-
-		incrementIndent();
-		startNewLine();
-		map(storable);
-		fStream.print(storable.getClass().getName());
-		space();
-		storable.write(this);
-		space();
-		decrementIndent();
-	}
-
-	/**
-	 * Writes an int to the output stream.
-	 */
-	public void writeInt(int i) {
-		fStream.print(i);
-		space();
-	}
-
-	/**
-	 * Writes a long to the output stream.
-	 */
-	public void writeLong(long l) {
-		fStream.print(l);
-		space();
-	}
-
-	public void writeColor(Color c) {
-		writeInt(c.getRed());
-		writeInt(c.getGreen());
-		writeInt(c.getBlue());
-	}
-
-	/**
-	 * Writes an int to the output stream.
-	 */
-	public void writeDouble(double d) {
-		fStream.print(d);
-		space();
-	}
-
-	/**
-	 * Writes an int to the output stream.
-	 */
-	public void writeBoolean(boolean b) {
-		if (b) {
-			fStream.print(1);
-		}
-		else {
-			fStream.print(0);
-		}
-		space();
-	}
-
-	/**
-	 * Writes a string to the output stream. Special characters
-	 * are quoted.
-	 */
-	public void writeString(String s) {
-		fStream.print('"');
-		for(int i = 0; i < s.length(); i++) {
-			char c = s.charAt(i);
-			switch(c) {
-				case '\n': fStream.print('\\'); fStream.print('n'); break;
-				case '"' : fStream.print('\\'); fStream.print('"'); break;
-				case '\\': fStream.print('\\'); fStream.print('\\'); break;
-				case '\t': fStream.print('\\'); fStream.print('\t'); break;
-				default: fStream.print(c);
-			}
-
-		}
-		fStream.print('"');
-		space();
-	}
-
-	/**
-	 * Closes a storable output stream.
-	 */
-	public void close() {
-		fStream.close();
-	}
-
-	private boolean mapped(Storable storable) {
-		return fMap.contains(storable);
-	}
-
-	private void map(Storable storable) {
-		if (!fMap.contains(storable)) {
-			fMap.add(storable);
-		}
-	}
-
-	private void writeRef(Storable storable) {
-		int ref = fMap.indexOf(storable);
-
-		fStream.print("REF");
-		space();
-		fStream.print(ref);
-		space();
-	}
-
-	private void incrementIndent() {
-		fIndent += 4;
-	}
-
-	private void decrementIndent() {
-		fIndent -= 4;
-		if (fIndent < 0) fIndent = 0;
-	}
-
-	private void startNewLine() {
-		fStream.println();
-		for (int i=0; i<fIndent; i++) {
-			space();
-		}
-	}
-
-	private void space() {
-		fStream.print(' ');
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/StorageFormat.java b/JHotDraw/src/CH/ifa/draw/util/StorageFormat.java
deleted file mode 100644
index 1cc1adae3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StorageFormat.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * @(#)StorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import javax.swing.filechooser.FileFilter;
-import java.io.IOException;
-import CH.ifa.draw.framework.Drawing;
-
-/**
- * Interface to define a storage format. A StorageFormat is a strategy that knows how to store
- * and restore a Drawing according to a specific encoding. Typically it can be recognized by
- * a file extension. To identify a valid file format for a Drawing an appropriate FileFilter
- * for a javax.swing.JFileChooser component can be requested.
- *
- * @see Drawing
- * @see StorageFormatManager
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface StorageFormat {
-
-	/**
-	 * Return a FileFilter that can be used to identify files which can be stored and restored
-	 * with this Storage Format. Typically, each storage format has its own recognizable file
-	 * extension.
-	 *
-	 * @return FileFilter to be used with a javax.swing.JFileChooser
-	 */
-	public FileFilter getFileFilter();
-	
-	/**
-	 * Every format has to identify itself as able to store and/or restore from
-	 * the format it represents. If the storage format can save to the format, it
-	 * should return true in this method.
-	 * @return boolean <code>true</code> if the format can save
-	 */
-	public boolean isStoreFormat();
-
-	/**
-	 * Every format has to identify itself as able to store and/or restore from
-	 * the format it represents. If the storage format can load from the format,
-	 * it should return true in this method.
-	 * @return boolean <code>true</code> if the format can load
-	 */
-	public boolean isRestoreFormat(); 
-
-	/**
-	 * Store a Drawing under a given name.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 * @return file name with correct file extension
-	 */
-	public String store(String fileName, Drawing saveDrawing) throws IOException;
-	
-	/**
-	 * Restore a Drawing from a file with a given name. 
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public Drawing restore(String fileName) throws IOException;
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/StorageFormatManager.java b/JHotDraw/src/CH/ifa/draw/util/StorageFormatManager.java
deleted file mode 100644
index 4ca1441d3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/StorageFormatManager.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * @(#)StorageFormatManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
- 
-package CH.ifa.draw.util;
-
-import javax.swing.JFileChooser;
-import javax.swing.filechooser.FileFilter;
-
-import java.io.File;
-import java.util.List;
-import java.util.Iterator;
-
-/**
- * The StorageFormatManager is a contains StorageFormats.
- * It is not a Singleton because it could be necessary to deal with different
- * format managers, e.g. one for importing Drawings, one for exporting Drawings.
- * If one StorageFormat matches the file extension of the Drawing file, then this
- * StorageFormat can be used to store or restore the Drawing.
- *
- * @see StorageFormat
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class StorageFormatManager {
-
-	/**
-	 * List containing all registered storage formats
-	 */
-	private List myStorageFormats;
-	
-	/**
-	 * Default storage format that should be selected in a javax.swing.JFileChooser
-	 */
-	private StorageFormat myDefaultStorageFormat;
-	
-	/**
-	 * Create a new StorageFormatManager.
-	 */
-	public StorageFormatManager() {
-		myStorageFormats = CollectionsFactory.current().createList();
-	}
-	
-	/**
-	 * Add a StorageFormat that should be supported by this StorageFormatManager.
-	 *
-	 * @param newStorageFormat new StorageFormat to be supported
-	 */
-	public void addStorageFormat(StorageFormat newStorageFormat) {
-		myStorageFormats.add(newStorageFormat);
-	}
-
-	/**
-	 * Remove a StorageFormat that should no longer be supported by this StorageFormatManager.
-	 * The StorageFormat is excluded in when search for a StorageFormat.
-	 *
-	 * @param oldStorageFormat old StorageFormat no longer to be supported
-	 */
-	public void removeStorageFormat(StorageFormat oldStorageFormat) {
-		myStorageFormats.remove(oldStorageFormat);
-	}
-	
-	/**
-	 * Test, whether a StorageFormat is supported by this StorageFormat
-	 */
-	public boolean containsStorageFormat(StorageFormat checkStorageFormat){
-		return myStorageFormats.contains(checkStorageFormat);
-	}
-	
-	/**
-	 * Set a StorageFormat as the default storage format which is selected in a
-	 * javax.swing.JFileChooser. The default storage format must be already
-	 * added with addStorageFormat. Setting the default storage format to null
-	 * does not automatically remove the StorageFormat from the list of
-	 * supported StorageFormats.
-	 *
-	 * @param newDefaultStorageFormat StorageFormat that should be selected in a JFileChooser
-	 */
-	public void setDefaultStorageFormat(StorageFormat newDefaultStorageFormat) {
-		myDefaultStorageFormat = newDefaultStorageFormat;
-	}
-	
-	/**
-	 * Return the StorageFormat which is used as selected file format in a javax.swing.JFileChooser
-	 *
-	 * @return default storage format
-	 */
-	public StorageFormat getDefaultStorageFormat() {
-		return myDefaultStorageFormat;
-	}
-	
-	/**
-	 * Register all FileFilters supported by StorageFormats
-	 *
-	 * @param fileChooser javax.swing.JFileChooser to which FileFilters are added
-	 */
-	public void registerFileFilters(JFileChooser fileChooser) {
-		if (fileChooser.getDialogType() == JFileChooser.OPEN_DIALOG) {
-			// behavior for open dialogs
-			StorageFormat sf;
-			for (Iterator e = myStorageFormats.iterator(); e.hasNext();) {
-				sf = (StorageFormat) e.next();
-				if (sf.isRestoreFormat()) {
-					fileChooser.addChoosableFileFilter(sf.getFileFilter());
-				}
-			}
-
-		// set a current activated file filter if a default storage Format has been defined
-			sf = getDefaultStorageFormat();
-			if (sf != null && sf.isRestoreFormat()) {
-				fileChooser.setFileFilter(sf.getFileFilter());
-			}
-		}
-		else if (fileChooser.getDialogType() == JFileChooser.SAVE_DIALOG) {
-			// behavior for save dialogs
-			StorageFormat sf;
-			for (Iterator e = myStorageFormats.iterator(); e.hasNext();) {
-				sf = (StorageFormat) e.next();
-				if (sf.isStoreFormat()) {
-					fileChooser.addChoosableFileFilter(sf.getFileFilter());
-				}
-			}
-
-			// set a current activated file filter if a default storage Format has been defined
-			sf = getDefaultStorageFormat();
-			if (sf != null && sf.isStoreFormat()) {
-				fileChooser.setFileFilter(sf.getFileFilter());
-			}
-		}
-		else {
-			// old behavior
-			StorageFormat sf;
-			for (Iterator e = myStorageFormats.iterator(); e.hasNext();) {
-				sf = (StorageFormat) e.next();
-				fileChooser.addChoosableFileFilter(sf.getFileFilter());
-			}
-
-			// set a current activated file filter if a default storage Format has been defined
-			sf = getDefaultStorageFormat();
-			if (sf != null) {
-				fileChooser.setFileFilter(sf.getFileFilter());
-			}
-		}
-	}
-
-	/**
-	 * Find a StorageFormat that can be used according to a FileFilter to store a Drawing
-	 * in a file or restore it from a file respectively.
-	 *
-	 * @param findFileFilter FileFilter used to identify a StorageFormat
-	 * @return StorageFormat, if a matching file extension could be found, false otherwise
-	 */
-	public StorageFormat findStorageFormat(FileFilter findFileFilter) {
-		Iterator formatsIterator = myStorageFormats.iterator();
-		StorageFormat currentStorageFormat = null;
-		while (formatsIterator.hasNext()) {
-			currentStorageFormat = (StorageFormat)formatsIterator.next();
-			if (currentStorageFormat.getFileFilter().equals(findFileFilter)) {
-				return currentStorageFormat;
-			}
-		}
-		
-		return null;
-	}
-
-	/**
-	 * Find a StorageFormat that can be used according to a file object to store a
-	 * Drawing in a file or restore it from a file respectively.
-	 *
-	 * @param file a File object to be matched
-	 * @return StorageFormat, if a matching file extension could be found, <code>null</code>
-	 * otherwise
-	 */
-	public StorageFormat findStorageFormat(File file) {
-		Iterator formatsIterator = myStorageFormats.iterator();
-		StorageFormat currentStorageFormat;
-		while (formatsIterator.hasNext()) {
-			currentStorageFormat = (StorageFormat) formatsIterator.next();
-			if (currentStorageFormat.getFileFilter().accept(file)) {
-				return currentStorageFormat;
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoCommand.java b/JHotDraw/src/CH/ifa/draw/util/UndoCommand.java
deleted file mode 100644
index 315b5f677..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoCommand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)UndoCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.standard.*;
-import CH.ifa.draw.framework.*;
-
-/**
- * Command to undo the latest change in the drawing.
- * Undo activities can be undone only once, therefore they
- * are not added to the undo stack again (redo activities
- * can be added to the redo stack again, because they can
- * be redone several times, every time pushing a corresponding
- * undo activity as well).
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */ 
-public class UndoCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a properties command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public UndoCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		UndoManager um = getDrawingEditor().getUndoManager();
-
-		if ((um == null) || !um.isUndoable()) {
-			return;
-		}
-		
-		Undoable lastUndoable = um.popUndo();
-		// Execute undo
-		boolean hasBeenUndone = lastUndoable.undo();
-
-		// Add to redo stack
-		if (hasBeenUndone && lastUndoable.isRedoable()) {
-			um.pushRedo(lastUndoable);
-		}
-		lastUndoable.getDrawingView().checkDamage();
-		
-		getDrawingEditor().figureSelectionChanged(lastUndoable.getDrawingView());
-	}
-  
-	/**
-	 * Used in enabling the undo menu item.
-	 * Undo menu item will be enabled only when there is atleast one undoable
-	 * activity registered with UndoManager.
-	 */
-	public boolean isExecutableWithView() {
-		UndoManager um = getDrawingEditor().getUndoManager();
-
-		if ((um != null) && (um.getUndoSize() > 0)) {
-			return true;
-		}
-
-		return false;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoManager.java b/JHotDraw/src/CH/ifa/draw/util/UndoManager.java
deleted file mode 100644
index 842f8684a..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoManager.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * @(#)UndoManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.DrawingView;
-
-import java.util.List;
-import java.util.Iterator;
-
-/**
- * This class manages all the undoable commands. It keeps track of all
- * the modifications done through user interactions.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoManager {
-	/**
-	 * Maximum default buffer size for undo and redo stack
-	 */
-	public static final int DEFAULT_BUFFER_SIZE = 20;
-
-	/**
-	 * Collection of undo activities
-	 */
-	private List redoStack;
-
-	/**
-	 * Collection of undo activities
-	 */
-	private List undoStack;
-	private int maxStackCapacity;
-
-	public UndoManager() {
-		this(DEFAULT_BUFFER_SIZE);
-	}
-
-	public UndoManager(int newUndoStackSize) {
-		maxStackCapacity = newUndoStackSize;
-		undoStack = CollectionsFactory.current().createList(maxStackCapacity);
-		redoStack = CollectionsFactory.current().createList(maxStackCapacity);
-	}
-
-	public void pushUndo(Undoable undoActivity) {
-		if (undoActivity.isUndoable()) {
-			removeFirstElementInFullList(undoStack);
-			undoStack.add(undoActivity);
-		}
-		else {
-			// a not undoable activity clears the stack because
-			// the last activity does not correspond with the
-			// last undo activity
-			undoStack = CollectionsFactory.current().createList(maxStackCapacity);
-		}
-	}
-
-	public void pushRedo(Undoable redoActivity) {
-		if (redoActivity.isRedoable()) {
-
-			removeFirstElementInFullList(redoStack);
-
-			// add redo activity only if it is not already the last
-			// one in the buffer
-			if ((getRedoSize() == 0) || (peekRedo() != redoActivity)) {
-				redoStack.add(redoActivity);
-			}
-		}
-		else {
-			// a not undoable activity clears the tack because
-			// the last activity does not correspond with the
-			// last undo activity
-			redoStack = CollectionsFactory.current().createList(maxStackCapacity);
-		}
-	}
-
-	/**
-	 * If buffersize exceeds, remove the oldest command
-	 */
-	private void removeFirstElementInFullList(List l) {
-		if (l.size() >= maxStackCapacity) {
-			Undoable removedActivity = (Undoable)l.remove(0);
-			removedActivity.release();
-		}
-	}
-
-	private Undoable getLastElement(List l) {
-		if (l.size() > 0) {
-			return (Undoable)l.get(l.size() - 1);
-		}
-		else {
-			return null;
-		}
-	}
-	public boolean isUndoable() {
-		if (getUndoSize() > 0) {
-			return getLastElement(undoStack).isUndoable();
-		}
-		else {
-			return false;
-		}
-	}
-
-	public boolean isRedoable() {
-		if (getRedoSize() > 0) {
-			return getLastElement(redoStack).isRedoable();
-		}
-		else {
-			return false;
-		}
-	}
-
-	protected Undoable peekUndo() {
-		if (getUndoSize() > 0) {
-			return getLastElement(undoStack);
-		}
-		else {
-			return null;
-		}
-	}
-
-	protected Undoable peekRedo() {
-		if (getRedoSize() > 0) {
-			return getLastElement(redoStack);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns the current size of undo buffer.
-	 */
-	public int getUndoSize() {
-		return undoStack.size();
-	}
-
-	/**
-	 * Returns the current size of redo buffer.
-	 */
-	public int getRedoSize() {
-		return redoStack.size();
-	}
-
-	/**
-	 * Throw NoSuchElementException if there is none
-	 */
-	public Undoable popUndo() {
-		// Get the last element - throw NoSuchElementException if there is none
-		Undoable lastUndoable = peekUndo();
-
-		// Remove it from undo collection
-		undoStack.remove(getUndoSize() - 1);
-
-		return lastUndoable;
-	}
-
-	/**
-	 * Throw NoSuchElementException if there is none
-	 */
-	public Undoable popRedo() {
-		// Get the last element - throw NoSuchElementException if there is none
-		Undoable lastUndoable = peekRedo();
-
-		// Remove it from undo collection
-		redoStack.remove(getRedoSize() - 1);
-
-		return lastUndoable;
-	}
-
-	public void clearUndos() {
-		clearStack(undoStack);
-	}
-
-	public void clearRedos() {
-		clearStack(redoStack);
-	}
-
-	protected void clearStack(List clearStack) {
-		clearStack.clear();
-	}
-
-	/**
-	 * Removes all undo activities that operate on the given DrawingView.
-	 * @param checkDV DrawingView which is compared undo's DrawingView
-	 */
-	public void clearUndos(DrawingView checkDV) {
-		Iterator iter = undoStack.iterator();
-		while (iter.hasNext()) {
-			Undoable currentUndo = (Undoable)iter.next();
-			if (currentUndo.getDrawingView() == checkDV) {
-				iter.remove();
-			}
-		}
-	}
-
-	/**
-	 * Removes all redo activities that operate on the given DrawingView.
-	 * @param checkDV DrawingView which is compared redo's DrawingView
-	 */
-	public void clearRedos(DrawingView checkDV) {
-		Iterator iter = redoStack.iterator();
-		while (iter.hasNext()) {
-			Undoable currentRedo = (Undoable)iter.next();
-			if (currentRedo.getDrawingView() == checkDV) {
-				iter.remove();
-			}
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoRedoActivity.java b/JHotDraw/src/CH/ifa/draw/util/UndoRedoActivity.java
deleted file mode 100644
index a6964468f..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoRedoActivity.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * @(#)DragTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-
-/**
- * An UndoRedoActivity can be used to turn a UndoActivity into a RedoActivity.
- * In this case, the redo() method of an encapsulated activity is called when
- * the undo() is executed, and undo() when redo() is executed.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoRedoActivity implements Undoable {
-	private Undoable myReversedActivity;
-	
-	protected UndoRedoActivity(Undoable newReversedActivity) {
-		setReversedActivity(newReversedActivity);
-	}
-
-	/**
-	 * Undo the activity
-	 * @return true if the activity could be undone, false otherwise
-	 */
-	public boolean undo() {
-		if (isRedoable()) {
-			return getReversedActivity().redo();
-		}
-		
-		return false;
-	}
-
-	/*
-	 * Redo the activity
-	 * @return true if the activity could be redone, false otherwise
-	 */
-	public boolean redo() {
-		if (isUndoable()) {
-			return getReversedActivity().undo();
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Dispatch to isRedoable of the activity to be reversed.
-	 */
-	public boolean isUndoable() {
-		return getReversedActivity().isRedoable();
-	}
-
-	/**
-	 * Dispatch to setRedoable of the activity to be reversed.
-	 */
-	public void setUndoable(boolean newIsUndoable) {
-		getReversedActivity().setRedoable(newIsUndoable);
-	}
-
-	/**
-	 * Dispatch to isUndoable of the activity to be reversed.
-	 */
-	public boolean isRedoable() {
-		return getReversedActivity().isUndoable();
-	}
-	
-	/**
-	 * Dispatch to setUndoable of the activity to be reversed.
-	 */
-	public void setRedoable(boolean newIsRedoable) {
-		getReversedActivity().setUndoable(newIsRedoable);
-	}
-	
-	public void setAffectedFigures(FigureEnumeration newAffectedFigures) {
-		getReversedActivity().setAffectedFigures(newAffectedFigures);
-	}
-
-	public FigureEnumeration getAffectedFigures() {
-		return getReversedActivity().getAffectedFigures();
-	}
-	
-	public int getAffectedFiguresCount() {
-		return getReversedActivity().getAffectedFiguresCount();
-	}
-
-	public DrawingView getDrawingView() {
-		return getReversedActivity().getDrawingView();
-	}
-	
-	public void release() {
-		getReversedActivity().release();
-	}
-			
-	protected void setReversedActivity(Undoable newReversedActivity) {
-		myReversedActivity = newReversedActivity;
-	}
-	
-	public Undoable getReversedActivity() {
-		return myReversedActivity;
-	}
-	
-	public static Undoable createUndoRedoActivity(Undoable toBeReversed) {
-		// instead of reversing the reversed activity just return the original activity
-		if (toBeReversed instanceof UndoRedoActivity) {
-			return ((UndoRedoActivity)toBeReversed).getReversedActivity();
-		}
-		else {
-			return new UndoRedoActivity(toBeReversed);
-		}
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/Undoable.java b/JHotDraw/src/CH/ifa/draw/util/Undoable.java
deleted file mode 100644
index 13c6f1700..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/Undoable.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @(#)Undoable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.FigureEnumeration;
-import CH.ifa.draw.framework.DrawingView;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface Undoable {
-	/**
-	 * Undo the activity
-	 * @return true if the activity could be undone, false otherwise
-	 */
-	public boolean undo();
-
-	/*
-	 * Redo the activity
-	 * @return true if the activity could be redone, false otherwise
-	 */
-	public boolean redo();
-	
-	public boolean isUndoable();
-	
-	public void setUndoable(boolean newIsUndoable);
-	
-	public boolean isRedoable();
-	
-	public void setRedoable(boolean newIsRedoable);
-	
-	/**
-	 * Releases all resources related to an undoable activity
-	 */
-	public void release();
-
-	public DrawingView getDrawingView();
-	
-	public void setAffectedFigures(FigureEnumeration newAffectedFigures);
-	
-	public FigureEnumeration getAffectedFigures();
-	
-	public int getAffectedFiguresCount();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoableAdapter.java b/JHotDraw/src/CH/ifa/draw/util/UndoableAdapter.java
deleted file mode 100644
index 1f283fe03..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoableAdapter.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * @(#)UndoableAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.FigureEnumerator;
-import CH.ifa.draw.standard.ReverseFigureEnumerator;
-import CH.ifa.draw.standard.StandardFigureSelection;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Most basic implementation for an Undoable activity. Subclasses should override
- * methods to provide specialized behaviour when necessary.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableAdapter implements Undoable {
-
-	private List   myAffectedFigures;
-	private boolean myIsUndoable;
-	private boolean myIsRedoable;
-	private DrawingView myDrawingView;
-
-	public UndoableAdapter(DrawingView newDrawingView) {
-		setDrawingView(newDrawingView);
-	}
-
-	/**
-	 * Undo the activity
-	 * @return true if the activity could be undone, false otherwise
-	 */
-	public boolean undo() {
-		return isUndoable();
-	}
-
-	/**
-	 * Redo the activity
-	 * @return true if the activity could be redone, false otherwise
-	 */
-	public boolean redo() {
-		return isRedoable();
-	}
-
-	public boolean isUndoable() {
-		return myIsUndoable;
-	}
-
-	public void setUndoable(boolean newIsUndoable) {
-		myIsUndoable = newIsUndoable;
-	}
-
-	public boolean isRedoable() {
-		return myIsRedoable;
-	}
-
-	public void setRedoable(boolean newIsRedoable) {
-		myIsRedoable = newIsRedoable;
-	}
-
-	public void setAffectedFigures(FigureEnumeration newAffectedFigures) {
-		// the enumeration is not reusable therefore a copy is made
-		// to be able to undo-redo the command several time
-		if(newAffectedFigures == null) {
-			throw new IllegalArgumentException();
-		}
-		rememberFigures(newAffectedFigures);
-	}
-
-	public FigureEnumeration getAffectedFigures() {
-		if(myAffectedFigures == null) {
-			return new FigureEnumerator(Collections.EMPTY_LIST);
-		}
-		else {
-			return new FigureEnumerator(CollectionsFactory.current().createList(myAffectedFigures));
-		}
-	}
-
-	public FigureEnumeration getAffectedFiguresReversed() {
-		return new ReverseFigureEnumerator(CollectionsFactory.current().createList(myAffectedFigures));
-	}
-
-	public int getAffectedFiguresCount() {
-		return myAffectedFigures.size();
-	}
-
-	protected void rememberFigures(FigureEnumeration toBeRemembered) {
-		myAffectedFigures = CollectionsFactory.current().createList();
-		while (toBeRemembered.hasNextFigure()) {
-			myAffectedFigures.add(toBeRemembered.nextFigure());
-		}
-	}
-
-	/**
-	 * Releases all resources related to an undoable activity
-	 */
-	public void release() {
-		FigureEnumeration fe = getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().release();
-		}
-		setAffectedFigures(FigureEnumerator.getEmptyEnumeration());
-	}
-
-	/**
-	 * Create new set of affected figures for redo operation because
-	 * deleting figures in an undo operation makes them unusable
-	 * Especially contained figures have been removed from their
-	 * observing container like CompositeFigure or DecoratorFigure.
-	 * Duplicating these figures re-establishes the dependencies.
-	 */
-	protected void duplicateAffectedFigures() {
-		setAffectedFigures(StandardFigureSelection.duplicateFigures(
-			getAffectedFigures(), getAffectedFiguresCount()));
-	}
-
-	public DrawingView getDrawingView() {
-		return myDrawingView;
-	}
-
-	protected void setDrawingView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoableCommand.java b/JHotDraw/src/CH/ifa/draw/util/UndoableCommand.java
deleted file mode 100644
index f579321f3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoableCommand.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @(#)UndoableCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.AbstractCommand;
-import java.util.EventObject;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableCommand implements Command, FigureSelectionListener, CommandListener {
-
-	private Command myWrappedCommand;
-	private boolean hasSelectionChanged;
-	private AbstractCommand.EventDispatcher myEventDispatcher;
-
-	public UndoableCommand(Command newWrappedCommand) {
-		setWrappedCommand(newWrappedCommand);
-		getWrappedCommand().addCommandListener(this);
-		setEventDispatcher(createEventDispatcher());
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void execute() {
-		hasSelectionChanged = false;
-		// listen for selection change events during executing the wrapped command
-		view().addFigureSelectionListener(this);
-
-		getWrappedCommand().execute();
-
-		Undoable undoableCommand = getWrappedCommand().getUndoActivity();
-		if ((undoableCommand != null) && (undoableCommand.isUndoable())) {
-			getDrawingEditor().getUndoManager().pushUndo(undoableCommand);
-			getDrawingEditor().getUndoManager().clearRedos();
-		}
-
-		// initiate manual update of undo/redo menu states if it has not
-		// been done automatically during executing the wrapped command
-		if (!hasSelectionChanged || (getDrawingEditor().getUndoManager().getUndoSize() == 1)) {
-			getDrawingEditor().figureSelectionChanged(view());
-		}
-
-		// remove because not all commands are listeners that have to be notified
-		// all the time (bug-id 595461)
-		view().removeFigureSelectionListener(this);
-	}
-
-	/**
-	 * Tests if the command can be executed.
-	 */
-	public boolean isExecutable() {
-		return getWrappedCommand().isExecutable();
-	}
-
-	protected void setWrappedCommand(Command newWrappedCommand) {
-		myWrappedCommand = newWrappedCommand;
-	}
-
-	protected Command getWrappedCommand() {
-		return myWrappedCommand;
-	}
-
-	/**
-	 * Gets the command name.
-	 */
-	public String name() {
-		return getWrappedCommand().name();
-	}
-
-	public DrawingEditor getDrawingEditor() {
-		return getWrappedCommand().getDrawingEditor();
-	}
-
-	public DrawingView view() {
-		return getDrawingEditor().view();
-	}
-
-	public void figureSelectionChanged(DrawingView view) {
-		hasSelectionChanged = true;
-	}
-
-	public Undoable getUndoActivity() {
-		return new UndoableAdapter(view());
-	}
-
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		// do nothing: always return default UndoableAdapter
-	}
-
-	public void addCommandListener(CommandListener newCommandListener) {
-		getEventDispatcher().addCommandListener(newCommandListener);
-	}
-
-	public void removeCommandListener(CommandListener oldCommandListener) {
-		getEventDispatcher().removeCommandListener(oldCommandListener);
-	}
-
-	private void setEventDispatcher(AbstractCommand.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractCommand.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	public AbstractCommand.EventDispatcher createEventDispatcher() {
-		return new AbstractCommand.EventDispatcher(this);
-	}
-
-	public void commandExecuted(EventObject commandEvent) {
-		getEventDispatcher().fireCommandExecutedEvent();
-	}
-
-	public void commandExecutable(EventObject commandEvent) {
-		getEventDispatcher().fireCommandExecutableEvent();
-	}
-
-	public void commandNotExecutable(EventObject commandEvent) {
-		getEventDispatcher().fireCommandNotExecutableEvent();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoableHandle.java b/JHotDraw/src/CH/ifa/draw/util/UndoableHandle.java
deleted file mode 100644
index 84cf89ab8..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoableHandle.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * @(#)UndoableHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.framework.Drawing;
-import CH.ifa.draw.framework.DrawingView;
-import CH.ifa.draw.framework.Figure;
-import CH.ifa.draw.framework.Handle;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableHandle implements Handle {
-
-	private Handle myWrappedHandle;
-	private DrawingView myDrawingView;
-
-	/**
-	 * Constructor for <code>UndoableHandle</code>.
-	 * @param newWrappedHandle
-	 */
-	public UndoableHandle(Handle newWrappedHandle) {
-		setWrappedHandle(newWrappedHandle);
-	}
-
-	/**
-	 * Constructor for <code>UndoableHandle</code>.
-	 * @param newWrappedHandle
-	 * @param newDrawingView
-	 * @deprecated use the constructor without the DrawingView instead
-	 */
-	public UndoableHandle(Handle newWrappedHandle, DrawingView newDrawingView) {
-		setWrappedHandle(newWrappedHandle);
-		setDrawingView(newDrawingView);
-	}
-	
-	/**
-	 * Locates the handle on the figure. The handle is drawn
-	 * centered around the returned point.
-	 * @see CH.ifa.draw.framework.Handle#locate()
-	 */
-	public Point locate() {
-		return getWrappedHandle().locate();
-	}
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 * @see CH.ifa.draw.framework.Handle#invokeStart(int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeStart(int x, int y, DrawingView view) {
-		getWrappedHandle().invokeStart(x, y, view);
-	}
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeStart(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStart(x, y, drawingView)
-	 */
-	public void invokeStart(int x, int y, Drawing drawing) {
-		getWrappedHandle().invokeStart(x, y, drawing);
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeStep(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		getWrappedHandle().invokeStep(x, y, anchorX, anchorY, view);
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param dx x delta of this step
-	 * @param dy y delta of this step
-	 * @see CH.ifa.draw.framework.Handle#invokeStep(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStep(x, y, anchorX, anchorY, drawingView)
-	 */
-	public void invokeStep(int dx, int dy, Drawing drawing) {
-		getWrappedHandle().invokeStep(dx, dy, drawing);
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see CH.ifa.draw.framework.Handle#invokeEnd(int, int, int, int, CH.ifa.draw.framework.DrawingView)
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		getWrappedHandle().invokeEnd(x, y, anchorX, anchorY, view);
-
-		Undoable undoableActivity = getWrappedHandle().getUndoActivity();
-		if ((undoableActivity != null) && (undoableActivity.isUndoable())) {
-			view.editor().getUndoManager().pushUndo(undoableActivity);
-			view.editor().getUndoManager().clearRedos();
-		}
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @see CH.ifa.draw.framework.Handle#invokeEnd(int, int, CH.ifa.draw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeEnd(x, y, anchorX, anchorY, drawingView).
-	 */
-	public void invokeEnd(int dx, int dy, Drawing drawing) {
-		getWrappedHandle().invokeEnd(dx, dy, drawing);
-	}
-
-	/**
-	 * Gets the handle's owner.
-	 * @see CH.ifa.draw.framework.Handle#owner()
-	 */
-	public Figure owner() {
-		return getWrappedHandle().owner();
-	}
-
-	/**
-	 * Gets the display box of the handle.
-	 * @see CH.ifa.draw.framework.Handle#displayBox()
-	 */
-	public Rectangle displayBox() {
-		return getWrappedHandle().displayBox();
-	}
-
-	/**
-	 * Tests if a point is contained in the handle.
-	 * @see CH.ifa.draw.framework.Handle#containsPoint(int, int)
-	 */
-	public boolean containsPoint(int x, int y) {
-		return getWrappedHandle().containsPoint(x, y);
-	}
-
-	/**
-	 * Draws this handle.
-	 * @see CH.ifa.draw.framework.Handle#draw(java.awt.Graphics)
-	 */
-	public void draw(Graphics g) {
-		getWrappedHandle().draw(g);
-	}
-
-	protected void setWrappedHandle(Handle newWrappedHandle) {
-		myWrappedHandle = newWrappedHandle;
-	}
-	
-	protected Handle getWrappedHandle() {
-		return myWrappedHandle;
-	}
-
-	/**
-	 * @deprecated attribute not required anymore
-	 */
-	public DrawingView getDrawingView() {
-		return myDrawingView;
-	}
-	
-	/**
-	 * @deprecated attribute not required anymore
-	 */
-	protected void setDrawingView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getUndoActivity()
-	 */
-	public Undoable getUndoActivity() {
-		return new UndoableAdapter(getDrawingView());
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#setUndoActivity(CH.ifa.draw.util.Undoable)
-	 */
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		// do nothing: always return default UndoableAdapter
-	}
-
-	/**
-	 * @see CH.ifa.draw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		return getWrappedHandle().getCursor();
-	}
-
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/UndoableTool.java b/JHotDraw/src/CH/ifa/draw/util/UndoableTool.java
deleted file mode 100644
index 1075dbce6..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/UndoableTool.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * @(#)UndoableTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import CH.ifa.draw.framework.*;
-import CH.ifa.draw.standard.AbstractTool;
-import java.awt.event.MouseEvent;
-import java.awt.event.KeyEvent;
-import java.util.EventObject;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableTool implements Tool, ToolListener {
-
-	private Tool myWrappedTool;
-	private AbstractTool.EventDispatcher myEventDispatcher;
-
-	public UndoableTool(Tool newWrappedTool) {
-		setEventDispatcher(createEventDispatcher());
-		setWrappedTool(newWrappedTool);
-		getWrappedTool().addToolListener(this);
-	}
-
-	/**
-	 * Activates the tool for the given view. This method is called
-	 * whenever the user switches to this tool. Use this method to
-	 * reinitialize a tool.
-	 */
-	public void activate() {
-		getWrappedTool().activate();
-	}
-
-	/**
-	 * Deactivates the tool. This method is called whenever the user
-	 * switches to another tool. Use this method to do some clean-up
-	 * when the tool is switched. Subclassers should always call
-	 * super.deactivate.
-	 */
-	public void deactivate() {
-		getWrappedTool().deactivate();
-		Undoable undoActivity = getWrappedTool().getUndoActivity();
-		if ((undoActivity != null) && (undoActivity.isUndoable())) {
-			editor().getUndoManager().pushUndo(undoActivity);
-			editor().getUndoManager().clearRedos();
-			// update menus
-			editor().figureSelectionChanged(getActiveView());
-		}
-	}
-
-	/**
-	 * Handles mouse down events in the drawing view.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		getWrappedTool().mouseDown(e, x, y);
-	}
-
-	/**
-	 * Handles mouse drag events in the drawing view.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		getWrappedTool().mouseDrag(e, x, y);
-	}
-
-	/**
-	 * Handles mouse up in the drawing view. After the mouse button
-	 * has been released, the associated tool activity can be undone
-	 * if the associated tool supports the undo operation from the Undoable interface.
-	 *
-	 * @see CH.ifa.draw.util.Undoable
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		getWrappedTool().mouseUp(e, x, y);
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-		getWrappedTool().mouseMove(evt, x, y);
-	}
-
-	/**
-	 * Handles key down events in the drawing view.
-	 */
-	public void keyDown(KeyEvent evt, int key) {
-		getWrappedTool().keyDown(evt, key);
-	}
-
-	public boolean isUsable() {
-		return getWrappedTool().isUsable();
-	}
-
-	public boolean isActive() {
-		// do not delegate but test whether this undoable tool is active
-		return editor().tool() == this;
-	}
-
-	public boolean isEnabled() {
-		return getWrappedTool().isEnabled();
-	}
-
-	public void setUsable(boolean newIsUsable) {
-		getWrappedTool().setUsable(newIsUsable);
-	}
-
-	public void setEnabled(boolean newIsEnabled) {
-		getWrappedTool().setEnabled(newIsEnabled);
-	}
-
-	protected void setWrappedTool(Tool newWrappedTool) {
-		myWrappedTool = newWrappedTool;
-	}
-
-	protected Tool getWrappedTool() {
-		return myWrappedTool;
-	}
-
-	public DrawingEditor editor() {
-		return getWrappedTool().editor();
-	}
-
-	public DrawingView view() {
-		return editor().view();
-	}
-
-	public Undoable getUndoActivity() {
-		return new UndoableAdapter(view());
-	}
-
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		// do nothing: always return default UndoableAdapter
-	}
-
-	public void toolUsable(EventObject toolEvent) {
-		getEventDispatcher().fireToolUsableEvent();
-	}
-
-	public void toolUnusable(EventObject toolEvent) {
-		getEventDispatcher().fireToolUnusableEvent();
-	}
-
-	public void toolActivated(EventObject toolEvent) {
-		getEventDispatcher().fireToolActivatedEvent();
-	}
-
-	public void toolDeactivated(EventObject toolEvent) {
-		getEventDispatcher().fireToolDeactivatedEvent();
-	}
-
-	public void toolEnabled(EventObject toolEvent) {
-		getEventDispatcher().fireToolEnabledEvent();
-	}
-
-	public void toolDisabled(EventObject toolEvent) {
-		getEventDispatcher().fireToolDisabledEvent();
-	}
-
-	public void addToolListener(ToolListener newToolListener) {
-		getEventDispatcher().addToolListener(newToolListener);
-	}
-
-	public void removeToolListener(ToolListener oldToolListener) {
-		getEventDispatcher().removeToolListener(oldToolListener);
-	}
-
-	private void setEventDispatcher(AbstractTool.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractTool.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	public AbstractTool.EventDispatcher createEventDispatcher() {
-		return new AbstractTool.EventDispatcher(this);
-	}
-
-	public DrawingView getActiveView() {
-		return editor().view();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/VersionControlStrategy.java b/JHotDraw/src/CH/ifa/draw/util/VersionControlStrategy.java
deleted file mode 100644
index e59852c1e..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/VersionControlStrategy.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)VersionControlStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface VersionControlStrategy {
-	/**
-	 * Define a strategy how to select those versions of JHotDraw
-	 * with which they are compatible.
-	 */
-	public void assertCompatibleVersion();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/VersionManagement.java b/JHotDraw/src/CH/ifa/draw/util/VersionManagement.java
deleted file mode 100644
index 65853c46d..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/VersionManagement.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * @(#)VersionManagement.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.*;
-
-/**
- * Collection of utility methods that are useful for dealing with version information
- * retrieved from reading jar files or package loaded by the class manager. Some
- * methods also help comparing version information. The method getJHotDrawVersion()
- * can be used to retrieve the current version of JHotDraw as loaded by the class manager.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class VersionManagement {
-	public static String JHOTDRAW_COMPONENT = "CH.ifa.draw/";
-	public static String JHOTDRAW_JAR = "jhotdraw.jar";
-	
-	public static Package[] packages = {
-			Package.getPackage("CH.ifa.draw.applet"),
-			Package.getPackage("CH.ifa.draw.application"),
-			Package.getPackage("CH.ifa.draw.contrib"),
-			Package.getPackage("CH.ifa.draw.figures"),
-			Package.getPackage("CH.ifa.draw.framework"),
-			Package.getPackage("CH.ifa.draw.standard"),
-			Package.getPackage("CH.ifa.draw.util")
-		};
-
-	/**
-	 * Return the version of the main package of the framework. A version number is
-	 * available if there is a corresponding version entry in the JHotDraw jar file
-	 * for the framework package.
-	 */	
-	public static String getJHotDrawVersion() {
-		// look for the framework main package
-		Package pack = packages[4];
-		return pack.getSpecificationVersion();
-	}
-
-	/**
-	 *
-	 */
-	public static String getPackageVersion(final Package lookupPackage) {
-		if (lookupPackage == null) {
-			return null;
-		}
-		
-		String specVersion = lookupPackage.getSpecificationVersion();
-		if (specVersion != null) {
-			return specVersion;
-		}
-		else {
-			// search in parent package
-			String normalizedPackageName = normalizePackageName(lookupPackage.getName());
-			String nextPackageName = getNextPackage(normalizedPackageName);
-			return getPackageVersion(Package.getPackage(nextPackageName));
-		}
-	}
-
-	/**
-	 * Check whether a given application version is compatible with the version
-	 * of JHotDraw currently loaded in the Java VM. A version number is
-	 * available if there is a corresponding version entry in the JHotDraw jar file
-	 * for the framework package.
-	 */	
-	public static boolean isCompatibleVersion(String compareVersionString) {
-//		Package pack = VersionManagement.class.getPackage();
-		Package pack = packages[4];
-		if (compareVersionString == null) {
-			return pack.getSpecificationVersion() == null;
-		}
-		else {
-			return pack.isCompatibleWith(compareVersionString);
-		}
-	}
-
-	/**
-	 * Read the version information from a file with a given file name. The file
-	 * must be a jar manifest file and all its entries are searched for package names
-	 * and their specification version information. All information is collected
-	 * in a map for later lookup of package names and their versions.
-	 *
-	 * @param versionFileName name of the jar file containing version information
-	 */
-	public static String readVersionFromFile(String applicationName, String versionFileName) {
-		try {
-			FileInputStream fileInput = new FileInputStream(versionFileName);
-			Manifest manifest = new Manifest();
-			manifest.read(fileInput);
-
-			Map entries = manifest.getEntries();
-			// Now write out the pre-entry attributes
-			Iterator entryIterator = entries.entrySet().iterator();
-			while (entryIterator.hasNext()) {
-				Map.Entry currentEntry = (Map.Entry)entryIterator.next();
-				String packageName = currentEntry.getKey().toString();
-				packageName = normalizePackageName(packageName);
-				Attributes attributes = (Attributes)currentEntry.getValue();
-				String packageSpecVersion = attributes.getValue(Attributes.Name.SPECIFICATION_VERSION);
-				packageSpecVersion = extractVersionInfo(packageSpecVersion);
-				return packageSpecVersion;
-			}
-		}
-		catch (IOException exception) {
-			exception.printStackTrace();
-		}
-		
-		// no version found
-		return null;
-	}
-
-	/**
-	 * Get the super package of a package specifier. The super package is the package
-	 * specifier without the latest package name, e.g. the next package for "org.jhotdraw.tools"
-	 * would be "org.jhotdraw".
-	 *
-	 * @param searchPackage package specifier
-	 * @return next package if one is available, null otherwise
-	 */
-	protected static String getNextPackage(String searchPackage) {
-		if (searchPackage == null) {
-			return null;
-		}
-	
-		int foundNextPackage = searchPackage.lastIndexOf('.');
-		if (foundNextPackage > 0) {
-			return searchPackage.substring(0, foundNextPackage);
-		}
-		else {
-			return null;
-		}
-	}
-	
-	/**
-	 * A package name is normalized by replacing all path delimiters by "." to retrieve
-	 * a valid standardized package specifier used in package declarations in Java source
-	 * files.
-	 *
-	 * @param toBeNormalized package name to be normalized
-	 * @return normalized package name
-	 */
-	public static String normalizePackageName(String toBeNormalized) {
-		// first, replace the standard package delimiter used in jars
-		String replaced = toBeNormalized.replace('/', '.');
-		// then, replace the default path separator in case this one was used as well
-		replaced = replaced.replace(File.pathSeparatorChar, '.');
-		if (replaced.endsWith(".")) {
-			int lastSeparator = replaced.lastIndexOf('.');
-			return replaced.substring(0, lastSeparator);
-		}
-		else {
-			return replaced;
-		}
-	}
-
-	/**
-	 * Get the version information specified in a jar manifest file without
-	 * any leading or trailing "\"".
-	 *
-	 * @param versionString a version string with possibly leading or trailing "\""
-	 * @return stripped version information
-	 */
-	public static String extractVersionInfo(String versionString) {
-		// guarding conditions
-		if (versionString == null) {
-			return null;
-		}
-		if (versionString.length() == 0) {
-			return "";
-		}
-		
-		int startIndex = versionString.indexOf("\"");
-		if (startIndex < 0) {
-			startIndex = 0;
-		}
-		else {
-			// start from next character
-			startIndex++;
-		}
-		
-		int endIndex = versionString.lastIndexOf("\"");
-		if (endIndex < 0) {
-			endIndex = versionString.length();
-		}
-		
-		return versionString.substring(startIndex, endIndex);
-	}
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/VersionRequester.java b/JHotDraw/src/CH/ifa/draw/util/VersionRequester.java
deleted file mode 100644
index 9b6a737b0..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/VersionRequester.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * @(#)VersionRequester.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface VersionRequester {
-	/**
-	 * Subclasses should override this method to specify to which versions of
-	 * JHotDraw they are compatible. A string array is returned so it is possible
-	 * to specify several version numbers of JHotDraw to which the application
-	 * is compatible with.
-	 *
-	 * @return all versions number of JHotDraw the application is compatible with.
-	 */
-	public abstract String[] getRequiredVersions();
-}
\ No newline at end of file
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/CollectionsFactoryJDK11.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/CollectionsFactoryJDK11.java
deleted file mode 100644
index e6d5d6b6a..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/CollectionsFactoryJDK11.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)CollectionsFactoryJDK11.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.util.collections.jdk11;
-
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CollectionsFactoryJDK11 extends CollectionsFactory {
-	public CollectionsFactoryJDK11() {
-		// required in order to create instances of this class via reflection
-	}
-
-	public List createList() {
-		return new ListWrapper();
-	}
-
-	public List createList(Collection initList) {
-		return new ListWrapper(initList);
-	}
-
-	public List createList(int initSize) {
-		return new ListWrapper(initSize);
-	}
-
-	public Map createMap() {
-		return new MapWrapper();
-	}
-
-	public Map createMap(Map initMap) {
-		return new MapWrapper(initMap);
-	}
-
-	public Set createSet() {
-		return new SetWrapper();
-	}
-
-	public Set createSet(Set initSet) {
-		return new SetWrapper(initSet);
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/IteratorWrapper.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/IteratorWrapper.java
deleted file mode 100644
index 1ba77d67d..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/IteratorWrapper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)IteratorWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util.collections.jdk11;
-
-import java.util.Iterator;
-import java.util.Enumeration;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class IteratorWrapper implements Iterator {
-	private Enumeration myEnumeration;
-	public IteratorWrapper(Enumeration enumeration) {
-		myEnumeration = enumeration;
-	}
-
-	public boolean hasNext() {
-		return myEnumeration.hasMoreElements();
-	}
-
-	public Object next() {
-		return myEnumeration.nextElement();
-	}
-
-	public void remove() {
-		// do nothing or throw exception
-		//throw new UnsupportedOperationException();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/ListWrapper.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/ListWrapper.java
deleted file mode 100644
index 8c3ca086c..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/ListWrapper.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)ListWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util.collections.jdk11;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class ListWrapper implements List {
-	private Vector myDelegee;
-
-	public ListWrapper() {
-		myDelegee = new Vector();
-	}
-
-	public ListWrapper(int initialSize) {
-		myDelegee = new Vector(initialSize);
-	}
-
-	public ListWrapper(Collection copyCollection) {
-		myDelegee = new Vector(copyCollection);
-	}
-
-	public int size() {
-		return myDelegee.size();
-	}
-
-	public boolean isEmpty() {
-		return myDelegee.isEmpty();
-	}
-
-	public boolean contains(Object o) {
-		return myDelegee.contains(o);
-	}
-
-	public Iterator iterator() {
-		return new IteratorWrapper(myDelegee.elements());
-	}
-
-	public Object[] toArray() {
-		return myDelegee.toArray();
-	}
-
-	public Object[] toArray(Object a[]) {
-		return myDelegee.toArray(a);
-	}
-
-	public boolean add(Object o) {
-		return myDelegee.add(o);
-	}
-
-	public boolean remove(Object o) {
-		return myDelegee.removeElement(o);
-	}
-
-	public boolean containsAll(Collection c) {
-		return myDelegee.containsAll(c);
-	}
-
-	public boolean addAll(Collection c) {
-		return myDelegee.addAll(c);
-	}
-
-	public boolean addAll(int index, Collection c) {
-		return myDelegee.addAll(index, c);
-	}
-
-	public boolean removeAll(Collection c) {
-		return myDelegee.removeAll(c);
-	}
-
-	public boolean retainAll(Collection c) {
-		return myDelegee.retainAll(c);
-	}
-
-	public void clear() {
-		myDelegee.clear();
-	}
-
-	public Object get(int index) {
-		return myDelegee.elementAt(index);
-	}
-
-	public Object set(int index, Object element) {
-		return myDelegee.set(index, element) ;
-	}
-
-	public void add(int index, Object element) {
-		myDelegee.add(index, element);
-	}
-
-	public Object remove(int index) {
-		return myDelegee.remove(index);
-	}
-
-	public int indexOf(Object o) {
-		return myDelegee.indexOf(o);
-	}
-
-	public int lastIndexOf(Object o) {
-		return myDelegee.lastIndexOf(o);
-	}
-
-	public ListIterator listIterator() {
-		return myDelegee.listIterator();
-	}
-
-	public ListIterator listIterator(int index) {
-		return myDelegee.listIterator(index);
-	}
-
-	public List subList(int fromIndex, int toIndex) {
-		return null;
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/MapWrapper.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/MapWrapper.java
deleted file mode 100644
index 0aa4022c3..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/MapWrapper.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * @(#)MapWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package CH.ifa.draw.util.collections.jdk11;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MapWrapper implements Map {
-	private Map myDelegee;
-
-	public MapWrapper() {
-		myDelegee = new Hashtable();
-	}
-
-	public MapWrapper(Map copyMap) {
-		myDelegee = new Hashtable(copyMap);
-	}
-
-	public int size() {
-		return myDelegee.size();
-	}
-
-	public boolean isEmpty() {
-		return myDelegee.isEmpty();
-	}
-
-	public boolean containsKey(Object key) {
-		return myDelegee.containsKey(key);
-	}
-
-	public boolean containsValue(Object value) {
-		return myDelegee.containsKey(value);
-	}
-
-	public Object get(Object key) {
-		return myDelegee.get(key);
-	}
-
-	public Object put(Object key, Object value) {
-		return myDelegee.put(key, value);
-	}
-
-	public Object remove(Object key) {
-		return myDelegee.remove(key);
-	}
-
-	public void putAll(Map t) {
-		myDelegee.putAll(t);
-	}
-
-	public void clear() {
-		myDelegee.clear();
-	}
-
-	public Set keySet() {
-		return myDelegee.keySet();
-	}
-
-	public Collection values() {
-		return myDelegee.values();
-	}
-
-	public Set entrySet() {
-		return myDelegee.entrySet();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/SetWrapper.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/SetWrapper.java
deleted file mode 100644
index a2bbbb6c6..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk11/SetWrapper.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * @(#)SetWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.util.collections.jdk11;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class SetWrapper implements Set {
-	private Hashtable myDelegee;
-
-	public SetWrapper() {
-		myDelegee = new Hashtable();
-	}
-
-	public SetWrapper(Set initSet) {
-		myDelegee = new Hashtable();
-		Iterator iter = initSet.iterator();
-		while (iter.hasNext()) {
-			add(iter.next());
-		}
-	}
-
-	public int size() {
-		return myDelegee.size();
-	}
-
-	public boolean isEmpty() {
-		return myDelegee.isEmpty();
-	}
-
-	public boolean contains(Object o) {
-		return myDelegee.containsKey(o);
-	}
-
-	public Iterator iterator() {
-		return new IteratorWrapper(myDelegee.elements());
-	}
-
-	public Object[] toArray() {
-		return new Object[0];
-	}
-
-	public Object[] toArray(Object a[]) {
-		return new Object[0];
-	}
-
-	public boolean add(Object o) {
-		return myDelegee.put(o, o) == null;
-	}
-
-	public boolean remove(Object o) {
-		return myDelegee.remove(o) != null;
-	}
-
-	public boolean containsAll(Collection c) {
-		return false;
-	}
-
-	public boolean addAll(Collection c) {
-		return false;
-	}
-
-	public boolean retainAll(Collection c) {
-		return false;
-	}
-
-	public boolean removeAll(Collection c) {
-		return false;
-	}
-
-	public void clear() {
-		myDelegee.clear();
-	}
-}
diff --git a/JHotDraw/src/CH/ifa/draw/util/collections/jdk12/CollectionsFactoryJDK12.java b/JHotDraw/src/CH/ifa/draw/util/collections/jdk12/CollectionsFactoryJDK12.java
deleted file mode 100644
index e29d84ab6..000000000
--- a/JHotDraw/src/CH/ifa/draw/util/collections/jdk12/CollectionsFactoryJDK12.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)CollectionsFactoryJDK12.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package CH.ifa.draw.util.collections.jdk12;
-
-import CH.ifa.draw.util.CollectionsFactory;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CollectionsFactoryJDK12 extends CollectionsFactory {
-	public CollectionsFactoryJDK12() {
-		// required in order to create instances of this class via reflection
-	}
-
-	public List createList() {
-		return new ArrayList();
-	}
-
-	public List createList(Collection initList) {
-		return new ArrayList(initList);
-	}
-
-	public List createList(int initSize) {
-		return new ArrayList(initSize);
-	}
-
-	public Map createMap() {
-		return new Hashtable();
-	}
-
-	public Map createMap(Map initMap) {
-		return new Hashtable(initMap);
-	}
-
-	public Set createSet() {
-		return new HashSet();
-	}
-
-	public Set createSet(Set initSet) {
-		return new HashSet(initSet);
-	}
-}
diff --git a/jhotdraw7/Templates/documentation-page.dwt b/Templates/documentation-page.dwt
similarity index 100%
rename from jhotdraw7/Templates/documentation-page.dwt
rename to Templates/documentation-page.dwt
diff --git a/jhotdraw7/Templates/documentation-toc.dwt b/Templates/documentation-toc.dwt
similarity index 100%
rename from jhotdraw7/Templates/documentation-toc.dwt
rename to Templates/documentation-toc.dwt
diff --git a/jhotdraw7/Templates/guide-template.dwt b/Templates/guide-template.dwt
similarity index 100%
rename from jhotdraw7/Templates/guide-template.dwt
rename to Templates/guide-template.dwt
diff --git a/jhotdraw7/Templates/toc-template.dwt b/Templates/toc-template.dwt
similarity index 100%
rename from jhotdraw7/Templates/toc-template.dwt
rename to Templates/toc-template.dwt
diff --git a/jhotdraw7/applet.policy b/applet.policy
similarity index 100%
rename from jhotdraw7/applet.policy
rename to applet.policy
diff --git a/jhotdraw7/build-all.xml b/build-all.xml
similarity index 100%
rename from jhotdraw7/build-all.xml
rename to build-all.xml
diff --git a/jhotdraw7/build-before-profiler.xml b/build-before-profiler.xml
similarity index 100%
rename from jhotdraw7/build-before-profiler.xml
rename to build-before-profiler.xml
diff --git a/jhotdraw7/build-bezierdemo.xml b/build-bezierdemo.xml
similarity index 100%
rename from jhotdraw7/build-bezierdemo.xml
rename to build-bezierdemo.xml
diff --git a/jhotdraw7/build-draw.xml b/build-draw.xml
similarity index 100%
rename from jhotdraw7/build-draw.xml
rename to build-draw.xml
diff --git a/jhotdraw7/build-jhotdraw.xml b/build-jhotdraw.xml
similarity index 100%
rename from jhotdraw7/build-jhotdraw.xml
rename to build-jhotdraw.xml
diff --git a/jhotdraw7/build-net.xml b/build-net.xml
similarity index 100%
rename from jhotdraw7/build-net.xml
rename to build-net.xml
diff --git a/jhotdraw7/build-odg.xml b/build-odg.xml
similarity index 100%
rename from jhotdraw7/build-odg.xml
rename to build-odg.xml
diff --git a/jhotdraw7/build-pert.xml b/build-pert.xml
similarity index 100%
rename from jhotdraw7/build-pert.xml
rename to build-pert.xml
diff --git a/jhotdraw7/build-svg.xml b/build-svg.xml
similarity index 100%
rename from jhotdraw7/build-svg.xml
rename to build-svg.xml
diff --git a/jhotdraw7/build-teddy.xml b/build-teddy.xml
similarity index 100%
rename from jhotdraw7/build-teddy.xml
rename to build-teddy.xml
diff --git a/jhotdraw7/build.xml b/build.xml
similarity index 100%
rename from jhotdraw7/build.xml
rename to build.xml
diff --git a/jhotdraw6/.classpath b/jhotdraw6/.classpath
deleted file mode 100644
index dbacca5b1..000000000
--- a/jhotdraw6/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src/main/resources"/>
-	<classpathentry kind="src" path="src/test/resources"/>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry kind="src" path="src/test/java"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jhotdraw6/.project b/jhotdraw6/.project
deleted file mode 100644
index 28c05406d..000000000
--- a/jhotdraw6/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>JHotDraw6-Sourceforge-SVN</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.maven.ide.eclipse.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.maven.ide.eclipse.maven2Nature</nature>
-	</natures>
-</projectDescription>
diff --git a/jhotdraw6/JavaDrawApplet.html b/jhotdraw6/JavaDrawApplet.html
deleted file mode 100644
index 3cf264368..000000000
--- a/jhotdraw6/JavaDrawApplet.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-
-<head>
-  <title>JHotDraw Applet</title>
-</head>
-<body>
-<h1>JavaDraw Applet</h1>
-<b><a href="org/jhotdraw/samples/javadraw/JavaDrawAppletHelp.html">Description</a></b>
-<hr>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 560 HEIGHT = 370  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "org.jhotdraw.samples.javadraw.JavaDrawApplet.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 560
-            HEIGHT = 370 
-            DRAWINGS ="Demo Pert"
-            Demo ="drawings/demo.draw"
-            Pert ="drawings/pert.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "org.jhotdraw.samples.javadraw.JavaDrawApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370></XMP>
-    <PARAM NAME = CODE VALUE = "org.jhotdraw.samples.javadraw.JavaDrawApplet.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = DRAWINGS VALUE ="Demo Pert">
-    <PARAM NAME = Demo VALUE ="drawings/demo.draw">
-    <PARAM NAME = Pert VALUE ="drawings/pert.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "org.jhotdraw.samples.javadraw.JavaDrawApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370>
-<PARAM NAME = DRAWINGS VALUE ="Demo Pert">
-<PARAM NAME = Demo VALUE ="drawings/demo.draw">
-<PARAM NAME = Pert VALUE ="drawings/pert.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/jhotdraw6/JavaDrawViewer.html b/jhotdraw6/JavaDrawViewer.html
deleted file mode 100644
index 741df9d78..000000000
--- a/jhotdraw6/JavaDrawViewer.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-
-<head>
-  <title>JavaDraw Viewer</title>
-</head>
-<h1>JavaDraw Viewer</h1>
-<hr>
-
-<body>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 460 HEIGHT = 350  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "org.jhotdraw.samples.javadraw.JavaDrawViewer.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 460
-            HEIGHT = 350 
-            Drawing ="drawings/demo.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "org.jhotdraw.samples.javadraw.JavaDrawViewer.class" ARCHIVE = "jhotdraw.jar" WIDTH = 460 HEIGHT = 350></XMP>
-    <PARAM NAME = CODE VALUE = "org.jhotdraw.samples.javadraw.JavaDrawViewer.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = Drawing VALUE ="drawings/demo.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "org.jhotdraw.samples.javadraw.JavaDrawViewer.class" ARCHIVE = "jhotdraw.jar" WIDTH = 460 HEIGHT = 350>
-<PARAM NAME = Drawing VALUE ="drawings/demo.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/jhotdraw6/NothingApplet.html b/jhotdraw6/NothingApplet.html
deleted file mode 100644
index 4b6727191..000000000
--- a/jhotdraw6/NothingApplet.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-
-<head>
-  <title>Nothing Applet</title>
-</head>
-<body>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 560 HEIGHT = 370  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "org.jhotdraw.samples.nothing.NothingApplet.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 560
-            HEIGHT = 370 
-            DRAWINGS ="Nothing"
-            Nothing ="drawings/nothing.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "org.jhotdraw.samples.nothing.NothingApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370></XMP>
-    <PARAM NAME = CODE VALUE = "org.jhotdraw.samples.nothing.NothingApplet.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = DRAWINGS VALUE ="Nothing">
-    <PARAM NAME = Nothing VALUE ="drawings/nothing.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "org.jhotdraw.samples.nothing.NothingApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 560 HEIGHT = 370>
-<PARAM NAME = DRAWINGS VALUE ="Nothing">
-<PARAM NAME = Nothing VALUE ="drawings/nothing.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/jhotdraw6/PertApplet.html b/jhotdraw6/PertApplet.html
deleted file mode 100644
index 142afc961..000000000
--- a/jhotdraw6/PertApplet.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-
-<head>
-  <title>Draw Applet</title>
-</head>
-<h1>PERT Applet</h1>
-<b><a href="org/jhotdraw/samples/pert/PertAppletHelp.html">Description</a></b>
-<hr>
-<body>
-
-<!--"CONVERTED_APPLET"-->
-<!-- HTML CONVERTER -->
-<SCRIPT LANGUAGE="JavaScript"><!--
-    var _info = navigator.userAgent; 
-    var _ns = false; 
-    var _ns6 = false;
-    var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
-//--></SCRIPT>
-    <COMMENT>
-        <SCRIPT LANGUAGE="JavaScript1.1"><!--
-        var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0 && java.lang.System.getProperty("os.version").indexOf("3.5") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
-        var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
-//--></SCRIPT>
-    </COMMENT>
-
-<SCRIPT LANGUAGE="JavaScript"><!--
-    if (_ie == true) document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 550 HEIGHT = 340  codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"><NOEMBED><XMP>');
-    else if (_ns == true && _ns6 == false) document.writeln('<EMBED 
-	    type="application/x-java-applet;version=1.4" 
-            CODE = "org.jhotdraw.samples.pert.PertApplet.class"
-            ARCHIVE = "jhotdraw.jar"
-            WIDTH = 550
-            HEIGHT = 340 
-            DRAWINGS ="SAMPLE"
-            SAMPLE ="drawings/pert.draw" 
-	    scriptable=false 
-	    pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED><XMP>');
-//--></SCRIPT>
-<APPLET  CODE = "org.jhotdraw.samples.pert.PertApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 550 HEIGHT = 340></XMP>
-    <PARAM NAME = CODE VALUE = "org.jhotdraw.samples.pert.PertApplet.class" >
-    <PARAM NAME = ARCHIVE VALUE = "jhotdraw.jar" >
-    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">
-    <PARAM NAME="scriptable" VALUE="false">
-    <PARAM NAME = DRAWINGS VALUE ="SAMPLE">
-    <PARAM NAME = SAMPLE VALUE ="drawings/pert.draw">
-
-
-</APPLET>
-</NOEMBED>
-</EMBED>
-</OBJECT>
-
-<!--
-<APPLET CODE = "org.jhotdraw.samples.pert.PertApplet.class" ARCHIVE = "jhotdraw.jar" WIDTH = 550 HEIGHT = 340>
-<PARAM NAME = DRAWINGS VALUE ="SAMPLE">
-<PARAM NAME = SAMPLE VALUE ="drawings/pert.draw">
-
-
-</APPLET>
--->
-<!--"END_CONVERTED_APPLET"-->
-
-
-</body>
-</html>
-
diff --git a/jhotdraw6/README.html b/jhotdraw6/README.html
deleted file mode 100644
index 7f6e1c9b5..000000000
--- a/jhotdraw6/README.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <title>JHotDraw 5.4</title>
-</head>
-<body>
-
-<h1>JHotDraw 5.4</h1>
-
-<hr><p>   
-<b>Preface: This is a beta release [JHotDraw5.4b1]<p>
-This beta release contains the latest CVS snapshot and should be considered as progress
-in work. It has not been extensively tested but is aimed to give developers access to a
-more recent version of JHotDraw that 5.3.<p>
-The release includes numereous new features among them: undo/redo support, enhanced MDI support,
-many new figures (TextArea and figures with HTML support), zooming, minimap preview,
-bug fixes,...<p>
-Moreover, it contains a skeleton test suite which has been generated using JUnitDoclet.
-The tests are compilable but not functional. Anyway, the excuse for not writing tests
-because there weren't any is now not valid anymore ;-) Anyone contributing tests and filling the
-test suite with life is welcome!<p>
-Finally, developers who require a more stable release or are not willing to bear with some
-bugs and exceptions should not use this beta release. Anyone else gets a preview of
-the new functionality and compatibility. Any comments are welcome but (timely) response
-cannot be guaranteed.
-</b>
-<p>
-
-<hr>This document gives an overview of the JHotDraw distribution, describes
- how to install it, and offers links for getting started. Please refer to
-the <a href="doc/ReleaseNotes.html"> release notes</a> for more information
-about the 5.4 release.  
-<h3>Contents</h3>
-<pre>JHotDraw<br>
-    drawings                    sample drawings<br>
-    documentation               documentation for JHotDraw<br>
-    javadoc                     javadoc generated documentation<br>
-    pattlets                    pattern summary slides. They are referred<br>
-                                to from the javadoc documentation.<br><br>
-    CH                          the JHotDraw class files<br>
-        ifa<br>
-            draw<br>
-                images          image resources<br>
-                util            common utilities that are independent of<br>
-                                JHotDraw<br>
-                framework       JHotDraw framework<br>
-                standard        standard implementations of the JHotDraw<br>
-                                framework abstractions<br>
-                figures         a set of figures and their support classes<br>
-                applet          standard UI for JHotDraw applets<br>
-                application     standard UI for JHotDraw applications<br>
-                contrib         a package with contributions to JHotDraw<br>
-                samples<br>
-                    nothing     Nothing sample<br>
-                    javadraw    JHotDraw sample<br>
-                    pert        PERT sample<br>
-                    net         A simple node and connections editor<br><br>
-    sources                     the java source files mirror the<br>
-                                hierarchy of the class files<br><br></pre>
-<h3>Installation</h3>
-The distribution includes no development environment specificconfiguration
-or makefiles.
-<p>To run the applets doesn't require any further installation steps.Refer
- to the <a href="doc/samples.html">samples</a> to view the sample applets.</p>
-   
-<p>To run the sample applications you should include the JHotDraw directory
-in your CLASSPATH. <b>Note</b> using a relative path to refer to JHotDraw
-can result in class loading errors. You run into this problem when the application's
-working directory is changed with a file dialog.</p>
-   
-<h3>Getting Started</h3>
- To get started check out the <a href="doc/samples.html">samples</a>  and the 
-<a href="doc/documentation.html">documentation</a> delivered with JHotDraw.
- 
-<h3>Legal</h3>
- These release is distributed under <a href="lgpl-license.html">LGPL</a>.<br>
- <br>
- The original version of JHotDraw is copyright 1996, 1997 by IFA Informatik 
-and <a href="mailto:erich_gamma@acm.org">Erich Gamma</a>.  
-<p>It is hereby granted that this software can be used, copied, modified,
-anddistributed without fee provided that this copyright noticeappears in
-all copies.</p>
-   
-<hr><br>
- <br>
-      
-</body>
-</html>
diff --git a/jhotdraw6/build.xml b/jhotdraw6/build.xml
deleted file mode 100644
index e0dbbb9a5..000000000
--- a/jhotdraw6/build.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- You may freely edit this file. See commented blocks below for -->
-<!-- some examples of how to customize the build. -->
-<!-- (If you delete it and reopen the project it will be recreated.) -->
-<project name="JHotDraw6" default="default" basedir=".">
-    <description>Builds, tests, and runs the project JHotDraw6.</description>
-    <import file="nbproject/build-impl.xml"/>
-    <!--
-
-    There exist several targets which are by default empty and which can be 
-    used for execution of your tasks. These targets are usually executed 
-    before and after some main targets. They are: 
-
-      -pre-init:                 called before initialization of project properties
-      -post-init:                called after initialization of project properties
-      -pre-compile:              called before javac compilation
-      -post-compile:             called after javac compilation
-      -pre-compile-single:       called before javac compilation of single file
-      -post-compile-single:      called after javac compilation of single file
-      -pre-compile-test:         called before javac compilation of JUnit tests
-      -post-compile-test:        called after javac compilation of JUnit tests
-      -pre-compile-test-single:  called before javac compilation of single JUnit test
-      -post-compile-test-single: called after javac compilation of single JUunit test
-      -pre-jar:                  called before JAR building
-      -post-jar:                 called after JAR building
-      -post-clean:               called after cleaning build products
-
-    (Targets beginning with '-' are not intended to be called on their own.)
-
-    Example of inserting an obfuscator after compilation could look like this:
-
-        <target name="-post-compile">
-            <obfuscate>
-                <fileset dir="${build.classes.dir}"/>
-            </obfuscate>
-        </target>
-
-    For list of available properties check the imported 
-    nbproject/build-impl.xml file. 
-
-
-    Another way to customize the build is by overriding existing main targets.
-    The targets of interest are: 
-
-      -init-macrodef-javac:     defines macro for javac compilation
-      -init-macrodef-junit:     defines macro for junit execution
-      -init-macrodef-debug:     defines macro for class debugging
-      -init-macrodef-java:      defines macro for class execution
-      -do-jar-with-manifest:    JAR building (if you are using a manifest)
-      -do-jar-without-manifest: JAR building (if you are not using a manifest)
-      run:                      execution of project 
-      -javadoc-build:           Javadoc generation
-      test-report:              JUnit report generation
-
-    An example of overriding the target for project execution could look like this:
-
-        <target name="run" depends="JHotDraw6-impl.jar">
-            <exec dir="bin" executable="launcher.exe">
-                <arg file="${dist.jar}"/>
-            </exec>
-        </target>
-
-    Notice that the overridden target depends on the jar target and not only on 
-    the compile target as the regular run target does. Again, for a list of available 
-    properties which you can use, check the target you are overriding in the
-    nbproject/build-impl.xml file. 
-
-    -->
-</project>
diff --git a/jhotdraw6/build/build.properties b/jhotdraw6/build/build.properties
deleted file mode 100644
index 234fe2cb5..000000000
--- a/jhotdraw6/build/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-dest.dir=..
\ No newline at end of file
diff --git a/jhotdraw6/build/build.xml b/jhotdraw6/build/build.xml
deleted file mode 100644
index 3a287a8a0..000000000
--- a/jhotdraw6/build/build.xml
+++ /dev/null
@@ -1,361 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JHotDraw" default="main" basedir=".">
-
-  <!-- Give user a chance to override without editing this file
-       (and without typing -D each time it compiles it -->
-  <property file="${user.home}/.ant.properties"/>
-  <property file="build.properties"/>
-  <!-- user-dependent properties can include (for copy and paste into mybuild.properties):
-    junit.class.path=
-    junitdoclet.class.path=
-    versiondoclet.class.path=
-    checkstyle.class.path=
-    namingstrategy.class.path=
-    jdo.class.path = 
-    batik.class.path = <batik-dom.jar;batik-svggen.jar;batik-awt-util.jar>
-    Note: be sure to use forward slashes as path separators even on Windows systems
-  -->
-  <property file="mybuild.properties"/>
-
-  <property name="build.dir" value="${dest.dir}/target/ant"/>
-  <property name="build.classes" value="${build.dir}"/>
-  <property name="build.jar.name" value="jhotdraw.jar"/>
-  <property name="build.jar" value="${dest.dir}/target/${build.jar.name}"/>
-  <property name="deploy.dir" value="${dest.dir}/deploy"/>
-  <property name="zip.file" value="${deploy.dir}/jhotdraw6.zip"/>
-
-  <property name="main.src.dir" value="${dest.dir}/src/main/java"/>
-  <property name="main.resources.dir" value="${dest.dir}/src/main/resources"/>
-  <property name="test.src.dir" value="${dest.dir}/src/test/java"/>
-  <property name="test.resources.dir" value="${dest.dir}/src/test/resources"/>
-
-  <property name="javadoc.dir" value="${dest.dir}/javadoc"/>
-  <property name="buildscript.dir" value="${dest.dir}/build"/>
-  <property name="testsuite.package.name" value="org.jhotdraw.test"/>
-  <property name="testsuite" value="${testsuite.package.name}.AllTests"/>
-  
-  <property name="javac.deprecation" value="off"/>
-  <property name="javac.includes" value="**/*.java"/>
-
-  <property name="manifest.name" value="jhotdraw.mf"/>
-
-  <!-- Dependencies on optional packages                                   -->  
-  <!--<property name="needs.batik.src" value="org/jhotdraw/contrib/SVG*.java"/>
-  <property name="needs.jdo.src" value="org/jhotdraw/util/JDOStorageFormat.java"/>
-  -->
-  <property name="needs.batik.src" value="**/SVG*.java"/>
-  <property name="needs.jdo.src" value="**/JDOStorageFormat.java"/>
-  <property name="needs.junit.src" value="org/jhotdraw/test/**"/>
-
-  <property name="needs.batik.class" value="org.jhotdraw.contrib.SVG*"/>
-  <property name="needs.jdo.class" value="org.jhotdraw.util.JDOStorageFormat"/>
-  <property name="needs.junit.class" value="org.jhotdraw.test.*"/>
-  
-  <property name="test.packages" value="org.jhotdraw.test.*"/>
-
-  <property environment="env"/>
-
-  <!-- =================================================================== -->
-  <!-- Set timestamp and check for optional packages                       -->
-  <!-- =================================================================== -->
-  <target name="init">
-  	<tstamp/>
-  	<mkdir dir="${build.dir}"/>
-  </target>
-
-  <target name="check_for_optional_packages">
-	<available property="batik.available" file="${batik.class.path}"/>
-	<available property="jdo.available" file="{jdo.class.path}"/>
-	<available property="versiondoclet.available" file="${versiondoclet.class.path}"/>
-	<available property="junit.available" file="${junit.class.path}"/>
-	<available property="junitdoclet.available" file="${junitdoclet.class.path}"/>
-	<available property="namingstrategy.available" file="${namingstrategy.class.path}"/>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Builds a complete package with all files from scratch               -->
-  <!-- =================================================================== -->
-  <target name="all" depends="clean, main, javadoc, junit_test, deploy">
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Builds a package with all essential files                           -->
-  <!-- ================================================================== -->
-  <target name="main" depends="init, compile, copy_resources, jar">
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Compiles the source code                                            -->
-  <!-- =================================================================== -->
-  <target name="compile" 
-          depends="check_for_optional_packages, delete_dependants" 
-          description="Compiles the source code">
-    <javac srcdir="${main.src.dir}"
-           destdir="${build.classes}"
-           debug="${javac.debug}"
-           deprecation="${javac.deprecation}"
-           optimize="${javac.optimize}"
-           fork="${javac.fork}">
-      <include name="${javac.includes}"/>
-      <exclude name="${needs.batik.src}" unless="batik.available"/>
-      <exclude name="${needs.jdo.src}" unless="jdo.available"/>
-      <exclude name="${needs.junit.src}"/>
-      <classpath>
-        <pathelement path="${java.class.path}"/>
-        <pathelement path="${jdo.class.path}"/>
-        <pathelement path="${batik.class.path}"/>
-      </classpath>
-    </javac>
-  </target>
-	
-  <target name="delete_dependants" unless="javac.nodepend">
-    <depend srcdir="${main.src.dir}" destdir="${build.classes}"
-            cache="depcache" closure="yes">
-      <include name="${javac.includes}"/>
-      <exclude name="${needs.batik.src}" unless="batik.available"/>
-      <exclude name="${needs.jdo.src}"  unless="jdo.available"/>
-      <exclude name="${needs.junit.src}"/>
-    </depend>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Generates JavaDoc                                                   -->
-  <!-- =================================================================== -->
-  <target name="javadoc" depends="check_for_optional_packages">
-    <antcall target="standard_javadoc"/>
-    <antcall target="versiondoclet_javadoc"/>
-  </target>
-
-  <target name="standard_javadoc" unless="versiondoclet.available">
-    <echo>using standard doclet...</echo>
-    <mkdir dir="${javadoc.dir}"/>
-    <javadoc
-      destdir      = "${javadoc.dir}"
-      classpath    = "${dest.dir}"
-      author       = "false"
-      version      = "true">
-      <fileset dir="${main.src.dir}" >
-        <include name="${javac.includes}"/>
-        <exclude name="${needs.junit.src}"/>
-      </fileset>
-    </javadoc>
-  </target>
-
-  <target name="versiondoclet_javadoc" if="versiondoclet.available">
-    <echo>using version doclet...</echo>
-    <mkdir dir="${javadoc.dir}"/>
-    <javadoc
-      destdir      = "${javadoc.dir}"
-      classpath    = "${dest.dir}"
-      author       = "false"
-      version      = "true">
-      <doclet name="org.jhotdraw.tools.versiondoclet.VersionDoclet">
-        <param name="-versionfile" value="${buildscript.dir}/${manifest.name}"/>
-        <param name="-version" value=""/>
-        <path>
-          <pathelement path="${versiondoclet.class.path}"/>
-        </path>
-      </doclet>
-      <fileset dir="${main.src.dir}" >
-        <include name="${javac.includes}"/>
-        <exclude name="${needs.junit.src}"/>
-      </fileset>
-    </javadoc>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Generates JUnit tests using JUnitDoclet                             -->
-  <!-- =================================================================== -->
-  <path id="tools_path">
-    <pathelement path="${java.home}/lib/tools.jar"/>
-  </path>
-
-  <path id="junit_test_path">
-    <pathelement path = "${dest.dir}"/>
-    <pathelement path = "${junit.class.path}"/>
-    <pathelement path = "${junitdoclet.class.path}"/>
-    <pathelement path = "${namingstrategy.class.path}"/>
-    <pathelement path = "${jdo.class.path}"/>
-    <pathelement path = "${batik.class.path}"/>
-    <pathelement path = "${java.class.path}"/>
-  </path>
-  
-  <target name="junit_doclet" depends="jar">
-    <javadoc
-      classpath           = "${dest.dir}"
-      sourcepath          = "${main.src.dir}"
-      defaultexcludes     = "yes">
-      <package name="org.jhotdraw.util.*"/>
-      <excludepackage name="${needs.batik.class}"/>
-      <excludepackage name="${needs.jdo.class}"/>
-      <excludepackage name="${test.packages}"/>
-      <doclet name="com.objectfab.tools.junitdoclet.JUnitDoclet">
-        <param name="-d" value="${test.src.dir}"/>
-        <param name="-properties" value="jhotdraw_junitdoclet.properties"/>
-        <!-- <param name="-buildall"/> -->
-        <param name="-testintest"/>
-        <param name="-naming" value="org.jhotdraw.tools.testnaming.JHDTestNamingStrategy"/>
-        <path>
-          <pathelement path = "${junitdoclet.class.path}"/>
-          <pathelement path = "${namingstrategy.class.path}"/>
-          <pathelement path = "${jdo.class.path}"/>
-          <pathelement path = "${batik.class.path}"/>
-        </path>
-      </doclet>
-    </javadoc>
-  </target>
-
-  <target name="junit_compile" depends="compile, junit_doclet">
- 	<javac srcdir="${test.src.dir}"
-           destdir="${dest.dir}"
-           debug="${javac.debug}"
-           deprecation="${javac.deprecation}"
-           optimize="${javac.optimize}">
-      <!-- <include name="${needs.junit.src}"/> -->
-      <include name="${javac.includes}"/>
-      <exclude name="${needs.batik.src}" unless="batik.available"/>
-      <exclude name="${needs.jdo.src}" unless="jdo.available"/>
-      <classpath>
-        <path refid="junit_test_path"/>
-      </classpath>
-    </javac>
-  </target>
-
-  <target name="junit_test" depends="junit_compile">
-    <junit fork="yes" haltonfailure="no">
-      <formatter type="plain" usefile="no"/>
-      <classpath>
-        <path refid="junit_test_path"/>
-      </classpath>
-      <test name="${testsuite}"/>
-    </junit>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Style check                                                         -->
-  <!-- =================================================================== -->
-<!--
-  <taskdef name="checkstyle" classname="com.puppycrawl.tools.checkstyle.CheckStyleTask"/>
-  <target name="stylecheck">
-      <checkstyle allowtabs="yes"
-              allownoauthor="yes"
-              maxlinelen="100"
-              headerfile="headerfile.txt"
-              headerignoreline="2"
-              relaxjavadoc="yes"
-              parampattern="."
-              constpattern="."
-              staticpattern="."
-              memberpattern=".">
-          <fileset dir="${src.dir}" includes="**/*.java"/>
-      </checkstyle>
-  </target>
--->
-  <!-- =================================================================== -->
-  <!-- Copies the resources into the build target directory                -->
-  <!-- Resources are non-code that needs to be packed into some jar file   -->
-  <!-- in their package structure, such as .gif, .properties, .html, etc.  -->
-  <!-- =================================================================== -->
-  <target name="copy_resources">
-    <copy toDir="${build.dir}">
-      <fileset dir="${main.resources.dir}">
-         <include name ="**/*.gif" />
-         <include name ="**/*.html" />
-      </fileset>
-    </copy>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Cleans up generated stuff                                           -->
-  <!-- =================================================================== -->
-  <target name="clean" description="Cleans up generated stuff.">
-    <delete dir="${dest.dir}/org"/>
-    <delete dir="${javadoc.dir}"/>
-    <delete file="${build.jar}"/>
-    <delete dir="${deploy.dir}"/>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- The next section defines the Jar file layout.                       -->
-  <!-- =================================================================== -->
-  <target name="jar" depends="compile, copy_resources">
-    <jar jarfile="${build.jar}"
-         manifest="${buildscript.dir}/${manifest.name}"
-        >
-      <fileset dir="${build.classes}">
-        <include name="org/jhotdraw/**"/>
-        <exclude name="org/jhotdraw/test/**"/>
-      </fileset>
-	</jar>
-  </target>
-
-  <!-- =================================================================== -->
-  <!-- Create a zip file with all deployable content                       -->
-  <!-- =================================================================== -->
-  <target name="deploy">
-    <delete dir="${deploy.dir}"/>
-    <mkdir dir="${deploy.dir}"/>
-    <zip zipfile="${zip.file}">
-      <fileset dir="${dest.dir}">
-        <include name="*/**"/>
-        <exclude name="**/CVS/**"/>
-        <exclude name="${deploy.dir}/**"/>
-        <exclude name=".project"/>
-        <exclude name=".classpath"/>
-        <exclude name="**/.cvsignore"/>
-        <exclude name="*/bin/**"/>
-        <exclude name="**/depcache/**"/>
-      </fileset>
-	</zip>
-  </target>
-  
-  <!-- =================================================================== -->
-  <!-- Run examples (and compile if necessary).                            -->
-  <!-- =================================================================== -->
-  <path id="example_path">
-    <pathelement path="${java.class.path}/"/>
-    <pathelement path="${build.jar}/"/>
-  </path>
-  
-  <target name="javadraw" depends="main">
-     <java classname="org.jhotdraw.samples.javadraw.JavaDrawApp" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-       </classpath>
-     </java>
-  </target>
-
-  <target name="pert" depends="main">
-     <java classname="org.jhotdraw.samples.pert.PertApplication" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-       </classpath>
-     </java>
-  </target>
-
-  <target name="net" depends="main">
-     <java classname="org.jhotdraw.samples.net.NetApp" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-       </classpath>
-     </java>
-  </target>
-
-  <target name="nothing" depends="main">
-     <java classname="org.jhotdraw.samples.nothing.NothingApp" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-       </classpath>
-     </java>
-  </target>
-
-  <target name="svgdraw" depends="main" if="batik.available">
-     <java classname="org.jhotdraw.contrib.SVGDrawApp" fork="yes">
-       <classpath>
-         <path refid="example_path"/>
-         <pathelement path="${env.CLASSPATH}"/>
-       </classpath>
-     </java>
-  </target>
-</project>
diff --git a/jhotdraw6/build/jhotdraw.mf b/jhotdraw6/build/jhotdraw.mf
deleted file mode 100644
index 31120203b..000000000
--- a/jhotdraw6/build/jhotdraw.mf
+++ /dev/null
@@ -1,65 +0,0 @@
-Manifest-Version: 1.0
-Created-By: Ant 1.5
-
-Name: org/jhotdraw/applet/
-Sealed: true
-Specification-Title: JHotDraw Default Applet
-Specification-Version: 6.0
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: org.jhotdraw.applet
-Implementation-Version: 6.0
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: org/jhotdraw/application/
-Sealed: true
-Specification-Title: JHotDraw Default Application
-Specification-Version: 6.0
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: org.jhotdraw.application
-Implementation-Version: 6.0
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: org/jhotdraw/contrib/
-Sealed: true
-Specification-Title: JHotDraw Contributions
-Specification-Version: 6.0
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: org.jhotdraw.contrib
-Implementation-Version: 6.0
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: org/jhotdraw/figures/
-Sealed: true
-Specification-Title: JHotDraw Figures
-Specification-Version: 6.0
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: org.jhotdraw.figures
-Implementation-Version: 6.0
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: org/jhotdraw/framework/
-Sealed: true
-Specification-Title: JHotDraw Core Framework
-Specification-Version: 6.0
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: org.jhotdraw.framework
-Implementation-Version: 6.0
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: org/jhotdraw/standard/
-Sealed: true
-Specification-Title: JHotDraw Standard Implementation
-Specification-Version: 6.0
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: org.jhotdraw.standard
-Implementation-Version: 6.0
-Implementation-Vendor: http://www.jhotdraw.org
-
-Name: org/jhotdraw/util/
-Sealed: true
-Specification-Title: JHotDraw Utilities
-Specification-Version: 6.0
-Specification-Vendor: http://www.jhotdraw.org
-Implementation-Title: org.jhotdraw.util
-Implementation-Version: 6.0
-Implementation-Vendor: http://www.jhotdraw.org
diff --git a/jhotdraw6/compile.bat b/jhotdraw6/compile.bat
deleted file mode 100644
index c47938d68..000000000
--- a/jhotdraw6/compile.bat
+++ /dev/null
@@ -1,15 +0,0 @@
-@echo off
-
-set JHD_DIR=D:\daten\wolfram\jhotdraw
-set JDK=C:\Programme\JDK1.2
-
-set OLD_CP=%CLASSPATH%
-set CLASSPATH=.
-set CLASSPATH=%CLASSPATH%;%JHD_DIR%
-
-javac -d %JHD_DIR% %JHD_DIR%\src\org\jhotdraw\applet\*.java %JHD_DIR%\src\org\jhotdraw\application\*.java %JHD_DIR%\src\org\jhotdraw\contrib\*.java %JHD_DIR%\src\org\jhotdraw\figures\*.java %JHD_DIR%\src\org\jhotdraw\framework\*.java %JHD_DIR%\src\org\jhotdraw\standard\*.java %JHD_DIR%\src\org\jhotdraw\util\*.java
-
-set SAMPLES=%JHD_DIR%\src\org\jhotdraw\samples
-javac -d %JHD_DIR% %SAMPLES%\javadraw\*.java %SAMPLES%\net\*.java %SAMPLES%\nothing\*.java %SAMPLES%\pert\*.java
-
-set CLASSPATH=%OLD_CP%
diff --git a/jhotdraw6/compile.sh b/jhotdraw6/compile.sh
deleted file mode 100644
index be489e760..000000000
--- a/jhotdraw6/compile.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-# Set up JAVA_HOME and ANT_HOME as environment variables, 
-# or they will use these hard-coded defaults
-export JAVA_HOME=${JAVA_HOME:-/usr/j2sdk/}
-export ANT_HOME=${ANT_HOME:-/usr/apache-ant/}
-
-export PATH=$PATH:$ANT_HOME/bin
-
-ant -buildfile build/BUILD.XML "$@"
diff --git a/jhotdraw6/compile_ant.bat b/jhotdraw6/compile_ant.bat
deleted file mode 100644
index 223e0dc54..000000000
--- a/jhotdraw6/compile_ant.bat
+++ /dev/null
@@ -1,5 +0,0 @@
-@echo off
-
-call setenv.bat
-
-%ANT_HOME%\bin\ant -buildfile build\build.xml %1 %2 %3
diff --git a/jhotdraw6/doc/Architecture Overview.ppt b/jhotdraw6/doc/Architecture Overview.ppt
deleted file mode 100644
index 4921b35ced36496ae5569e5dd9e73295ed239188..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 70144
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

diff --git a/jhotdraw6/doc/Changes.html b/jhotdraw6/doc/Changes.html
deleted file mode 100644
index e0c2099c4..000000000
--- a/jhotdraw6/doc/Changes.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-<head>
-<title>Change Log</title>
-</head>
-<h1>Change Log</h1>
-<hr>
-<h2>Version 4.0</h1>
-<ul>
-<li>
-added pattlet slides that are referenced from javadoc.
-<li>
-restricted visibility of the classes provided by org.jhotdraw.standard.
-<li>
-generalized the start and end points of PolyLineFigures to a LineDecoration.
-<b>Note:</b>this breaks the loading of pre 4.0 drawings.
-<li>
-LineFigures are now implemented based on PolyLineFigures
-<li>
-some UI tweaks related to the look of handles.
-</ul>
-<hr>
-<h2>Version 4.0a</h1>
-<ul>
-<li>
-javadoc documentation.
-<li>
-features
-<ul>
-<li>
-support for cursor keys to move figures
-<li>
-support for snap to grid: ToggleGridCommand, DrawingView.setGrid();
-<li>
-alignment commands to align (top, centers, bottoms, left, middle, rights)
-AlignmentCommand
-<li>
-resizable ImageFigures. The ImageFigures use the IconKit to share images.
-Images are currently stored by saving a reference to their
-image file. The file names are relative to the user.dir
-property.
-</ul>
-<li>
-org.jhotdraw.util.Geom: geometrical utilities.
-<li>
-class RectLocators: useful locators for rectangle locations.<br>
-class RectTrackers: useful trackers to manipulate rectangle locations.
-<li>
-Major rewrite of Connections.
-<ul>
-<li>
-connectivity support is implemented based on an ObserverFigure
-interface.
-<li>
-ConnectionTool supports the creation and manipulation of
-connections (splitting/joining segments). ConnectionTool
-takes a prototype of the connection to be created.
-<li>
-eliminated AnchorFigure. Its only purpose was to add
-ConnectionHandles.
-<li>
-Connection support moved from the standard to the framework package
-<li>
-ConnectionTrackHandle changed to ChangeConnectionStartHandle and
-ChangeConnectionEndHandle. These two handles enable to change
-the start/end point of a connection.
-<li>
-ConnectionHandle takes the prototype of the connection to be
-created as parameter.
-<li>
-ConnectionFigure.canConnect(Figure source, Figure target)
-to constrain the connection between figures.
-See the PertDependency for an example for how to use this.
-<li>
-fixed naming inconsistencies in all signatures.
-<ul>
-<li>
-anchor was changed to start
-<li>
-target was changed to end
-</ul>
-<li>
-eliminated Figure.connectionStartPoint, connectionEndPoint
-the new connection infrastructure made them obsolete.
-</ul>
-<li>
-Figure is now an interface and no longer an abstract class.
-AbstractFigure provides default implementations for the
-Figure interface. If you defined your own figures you have to change the base class
-from Figure to AbstractFigure.
-<li>
-eliminated: org.jhotdraw.applet.AppletIconKit and
-org.jhotdraw.application.StandaloneIconKit
-The functionality of these subclasses is now part of
-the DrawingEditor interface
-<li>
-IconKit
-<ul>
-<li>
-simplified the addition of new custom icons for tool buttons
-<li>
-Applet and Applications load their icons
-by overriding registerPreLoadedImages (see PertApplet).
-<li>
-Icons are now identified by their file name without the
-.gif suffix.
-<li>
-Example:
-<pre>
-     kit.registerImages(tracker, kit.icon("TEXT"));
-</pre>
-<li>
-extended to support the deferred loading of images and to share images.
-</ul>
-<li>
-added FigureContainer.forceUpdate() such that a figure
-can force a repair of its image immediatly.
-<li>
-added transient variable modifier were appropriate
-<li>
-DrawingView: added support for additional background and
-foreground layers. A layer implements the Painter interface.
-<li>
-Replaced ScribbleFigure with a more general PolyLineFigure. A PolyLineFigure
-has an optional LineDecoration at its start and end.
-<li>
-packaging
-<ul>
-<li>
-moved Animatable from standard to util
-<li>
-moved BouncingDrawing, Animator, AnimationDecorator from standard to
-javadraw
-<li>
-changed Transformer to Tracker and Transformer.transform() to Tracker.track()
-</ul>
-</ul>
-<h2>Version 3.8</h1>
-<ul>
-<li>
-added Drawing.orphan() to fix grouping bugs related to connectivity
-<li>
-added Drawing.replace().
-<li>
-added FigureDeletedEvent, FigureChangedEvent. Deliver more
-specific update notifications.
-</ul>
-
-<h2>Version 3.6</h1>
-<ul>
-<li>
-add Figure.decompose(), Figure.isMoveable() (to fix connection and grouping bugs)
-<li>
-Figure subclasses now have to implement basicDisplayBox instead of
-  displayBox. DisplayBox is a template method that factors the
-  common displaybox logic.
-<li>
-applet package: provides base infrastructure for applets
-  Common applets now derive from JavaDrawApplet
-<li>
-application package: provides base infrastructure for applications
-  Common applications now derive from JavaDrawApplet
-</ul>
-
-<h2>Version 3.4</h1>
-<ul>
-<li>
-make reverse iterator package private
-<li>
-introduced an Animatable interface
-  remove animation methods out of basic Drawing
-<li>
-GroupFigure propagate setAttribute to figures
-<li>
-make locators, transformers sharable, don't have to override constructors
-<li>
-CommandMenu return false if not handled by a command
-<li>
-Merged DrawWindow & Draw
-<li>
-Figure.handles() is now an abstract method
-<li>
-nuked the HandleKit stuff
-<li>
-Name Changes
-<ul>
-<li>DrawApplet -> Draw
-<li>package framework -> fw
-<li>DrawingReader/DrawingWriter -> Reader/Writer
-<li>DrawWindow -> Draw
-<li>cloneFigure -> clone
-<li>readWith/writeWith -> read/write
-</ul>
-<li>
-New
-<ul>
-<li>PertFigure
-<li>Selectiontools support selections with a rubberband
-<li>DuplicateCommand
-<li>FigureAttributes class
-</ul>
-</ul>
-</body>
-</html>
diff --git a/jhotdraw6/doc/ClassDiagram.html b/jhotdraw6/doc/ClassDiagram.html
deleted file mode 100644
index a1e655379..000000000
--- a/jhotdraw6/doc/ClassDiagram.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
-<title>Class Diagram</title>
-</head>
-<h1>Class Diagram</h1>
-<hr>
-<img src=classdiagram.jpg>
-</body>
-</html>
-
diff --git a/jhotdraw6/doc/ReleaseNotes.html b/jhotdraw6/doc/ReleaseNotes.html
deleted file mode 100644
index e79db7505..000000000
--- a/jhotdraw6/doc/ReleaseNotes.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<html>
-<head>
-  <title>Release Notes Version 5.1</title>
-</head>
-<body>
-<h1>Release Notes Version 5.2</h1>
-<b>Note: </b>This version requires Swing/JFC 1.1
-<p>The purpose of this release is to:</p>
-<ul>
-    
-  <li>Use Swing/JFC GUI elements instead of AWT (where possible)</li>
-    
-  <li>Support for special Swing/FC features:</li>
-    
-  <ul>
-        
-    <li>Support for Multiple Document Interface (MDI) applications with several
-internal frames has been added. org.jhotdraw.contrib.MDI_DrawApplicationis
-the base class which must be subclasses to takeadvantage of managing internal
-frames. All examples are now derived from this class.</li>
-        
-    <li>Support for applications with splitted editor windows by deriving
-the drawing application from org.jhotdraw.contrib.SplitPaneDrawApplication<br>
-    </li>
-        
-    <li>Drawing windows have scrollbars</li>
-        
-    <li>Popup menus are available for additional functionality and control
-over graphical figures when using org.jhotdraw.contrib.CustomSelectionTool</li>
-        
-    <li>Toolbars can have different tools depending on the context of the
-currently selected figure and tool</li>
-        
-    <li>A new composite figure is available which delegates its graphical
-representation and figure attributes to another figure. Moreover, it canbe
-configured with an external layout algorithm that contains the logic forhow
-to lay out the child elements of the composite figure. The new compositefigure
-is org.jhotdraw.contrib.GraphicalCompositeFigure and can be configuredby a
-class implementing org.jhotdraw.contrib.FigureLayoutStrategy such asorg.jhotdraw.contrib.StandardFigureLayoutStrategy.
-    </li>
-    
-  </ul>
-    
-  <li>New org.jhotdraw.util.StorageFormats that allow to add new file formats
-for storing and restoring drawings (e.g. using XML)<br>
-  </li>
-  <li>Build configuration for <a href="http://jakarta.apache.org/ant/">Ant</a>
-, which can be used to compile all standard JHotDraw classes, to packagethem
-into a jar file and to generate javadoc information. Some instruction how
-to compile and build JHotDraw can be found <a href="buildProcess.html">here</a>
-.<br>
-  </li>
-    
-  <li>Some minor bug fixes<br>
-  </li>
-</ul>
-<br>
-<h1>Release Notes Version 5.1</h1>
-Changes for this release:
-<ul>
-    
-  <li>the delegation based event model is used to track figure changes.The
-FigureChangeListener interface supports to observe figure changes.A FigureChangeListener
-receives FigureChangeEvents.The old mechanism based on Observer/Observable
-and the notion of a containerwas eliminated. A figure now onlyhas listeners.
-There is a new support class FigureChangeEventMulticasterto manage the listeners.
-Using listeners is more consistent with the AWT/JFCevent handling style.CompositeFigure,
-Decorator, ConnectionFigure, and Drawingare now FigureChangeListeners.  </li>
-    
-  <li>StandardDrawing is a CompositeFigure. It is possible to inserta StandardDrawing
-as a figure into a drawing. This change does notimpact the framework package.
-The Drawing interface is independentof CompositeFigure.</li>
-    
-  <li>Tools no longer receive the DrawingView as an argument, but storeit
-in an instance variable. Existing Tools have to be adapted accordingly.</li>
-    
-  <li>SelectionTool is more open for customization. The trackers to be used
-for thedifferent selection modes can be overridden by the factory methods
-createHandleTracker, createDragTracker, createAreaTracker. The MouseTracker
-class was merged into AbstractTool and could be eliminated.<br>
-The selection tool to be used in an application can be customizedby overridding
-createSelectionTool in DrawApplication/DrawApplet.JavaDrawApp illustrates
-how to use a customized selection tool thatcan handle double clicks on figures.
-  </li>
-    
-  <li>DrawApplication supports keyboard short cuts for the common operations.
-  </li>
-</ul>
-<h1>Release Notes Version 5.0</h1>
-<b>Note:</b>This version requires JDK 1.1.
-<p>The purpose of this release is to:</p>
-<ul>
-    
-  <li>use JDK1.1 features: event model, access to resources, serialization,
-scrolling, printing, cursors etc.</li>
-    
-  <li>improve the packaging structure.</li>
-    
-  <li>improve the support for connectivity.</li>
-    
-  <li>implement several minor improvements.</li>
-</ul>
-<h2>JDK1.1 features</h2>
-<h3>Event Model</h3>
-All event handling related classes use the JDK1.1 event model.This required
-to change some method signatures to refer to morespecific events. Returning
-a boolean to indicate the consumptionof an event was removed.
-<h3>Serialization</h3>
-This version supports to use of serialization to make adrawing persistent.
-org.jhotdraw.applet.DrawApplet andorg.jhotdraw.application.DrawApplicationsupport
-both the oldstorable and the serializable format. Support for thestorable
-formatwill be removed in the next version.
-<p>Serialization is used in the default implementation of Figure.clone().</p>
-<p>StandardDrawingView supports serialization.</p>
-<h3>Resource Access</h3>
-Thanks to 1.1 the access to resources could be drastically simplified.All
-the resources are now accessed relative to classes.The images directory with
-standard images is therefore part of thepackage hierarchy. 
-<p>IconKit could be decoupled from DrawingEditor and was moved fromorg.jhotdraw.standard
-to org.jhotdraw.util.Refer to the sample applications for how toload and access
-resources like images.</p>
-<h3>Various UI Features</h3>
-<ul>
-    
-  <li>Tools support to use tool specific cursors.</li>
-    
-  <li>org.jhotdraw.application shows the DrawingView by default in a ScrollPane.
-There is a new method createContents that can be overridden to customizethe
-default arrangement. The default size of the view can be customized byoverriding
-getDrawingViewSize().</li>
-    
-  <li>org.jhotdraw.application supports to print a drawing.</li>
-</ul>
-<h2>Packaging</h2>
-The packaging was changed to separate the framework interfacesfrom default
-implementations.
-<p>The framework package defines the coreinterfaces and leaves default implementations
-to the standard package.All key abstractions of the framework are now defined
-as interfaces.Ward Cunningham has suggested this some time ago and it ended
-upto be natural and logic evolution.</p>
-<p>The implementation of the framework interfaces comes in two flavors.Abstract
-classes like AbstractFigure, provide default implementationbut still need
-to be subclassed. Standard classeslike StandardDrawing implement aframework
-interface and can be used as is.</p>
-<p>The framework package was renamed to "framework" the old "fw"was due to
-a temprorary bug in the used IDE:</p>
-<p>A figures package was forked of the standard package. This packageprovides
-a kit of standard figures and their related handle andtool classes.</p>
-<p>There is a new package contrib that contains classes contributedby others.
-</p>
-<h2>Connectivity</h2>
-Connectors were introduced to define connections between figures.A figure
-can have one or more connectors. A figure creates aconnector for a specific
-location connectorAt(int x, int y).A connector knows how to findthe connection
-point. A connection figure keeps track of aconnector for its start and end
-point.
-<p>Figure.chop() is no longer needed and was removed. Its functionalityis
-subsumed by Connectors.</p>
-<p>A set of standard connectors is provided in the standard and figurepackages.
-</p>
-<ul>
-    
-  <li>BoxChopConnector: finds a connection point by chopping the connection
-at the figure's bounding box.</li>
-    
-  <li>LocatorConnector: uses a locator to find the connection point.Thisenables
-to define connections at specific semantic points ona figure. Referto the
-NetApp sample for an example of using them.</li>
-    
-  <li>ShortestDistanceConnector: finds the connection points based on the
-shortest distancebetween figures.</li>
-    
-  <li>EllipseChopConnector: finds a connection point by chopping the connection
-at the ellipse defined by the figure's bounding box.</li>
-</ul>
-Connectors are optionally visible and Figure has a method connectorVisibility
-to turn their visibility on and off. This is used by the ConnectionToolto
-highlight connection points when the mouse moves over a figure.
-<p>TextFigures can be attached to other figures. The ConnectedTextToolsupports
-to create a connected TextFigure. Try it out in JavaDraw.The text figureis
-connected to the Figure that is clicked when thetool is active. To position
-a connected TextFigure figures can overridethe method connectedTextLocator
-to return a locator.</p>
-<h2>Various Changes</h2>
-<ul>
-    
-  <li>FigureEnumeration extends Enumeration to enable to iterate overfigures
-without having to do a down casted in client code. Itprovides an additional
-method nextFigure to get the next Figure.</li>
-    
-  <li>AbstractFigure was split. AbstractFigure no longer keeps track ofthe
-FigureAttributes dictionary. The dictionary is now maintainedin its derived
-class AttributeFigure. This change enables tocreate Figure subclasses without
-having to use theFigureAttributes implementation.</li>
-    
-  <li>Trackers are gone. Trackerfunctionality is implemented in the Handles
-themselves. In contrastto Locators they did not turn out to be reusable for
-different handles.The class BoxHandleKit hides the different Handle implementation
-classesfrom the API.</li>
-    
-  <li>BoxHandleKit provides factory methods to create Handles forcommon locations
-on a figure.</li>
-    
-  <li>DrawingView is now an interface with a standard implementation, i.e.,
-StandardDrawingView.</li>
-    
-  <li>Figure.clone() is implemented in a generic way in AbstractFigure.The
-figure is serialized and the clone is created by resurrectingthe serialized
-figure.</li>
-    
-  <li>Image handling was simplified and the preLoadRegisteredImagesis nolonger
-necessary.</li>
-    
-  <li>Commands know whether they are executable ornot. They provide an isExecutable
-operation to check their state.</li>
-    
-  <li>Name changes: ObserverFigure -&gt; ConnectionFigure, LineConnectionFigure
--&gt;LineConnection.</li>
-    
-  <li>There is support for transparent fill colors for AttributeFigures.</li>
-    
-  <li>AttributeFigre.draw() is a now a template method that callsdrawBackground()
-and drawFrame(). Subclasses should overridethese methods instead of draw().
-  </li>
-    
-  <li>The signature of Handle.invokeStep() and Handle.invokeEnd() was changed
-to:<pre>  public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {<br>  public void invokeEnd  (int x, int y, int anchorX, int anchorY, DrawingView view) {<br></pre>
-The passed arguments correspond to the current point and the anchor point
-of the interaction.<br>
-The old signature are still supported but deprecated.</li>
-    
-  <li>Doug Lea implemented a nice PolygonFigure with its corresponding Handles
-and Tools. Check it out in JavaDrawApp.</li>
-    
-  <li>ElbowHandles support to adjust elbow connections.</li>
-</ul>
-<h2>Samples</h2>
-<ul>
-    
-  <li>the samples are now located in subpackages of samples.</li>
-    
-  <li>there are two new samples:        
-    <ul>
-            
-      <li>Nothing implements a minimal application/appletthat can be used
-as the starting point for your own applications.</li>
-            
-      <li>NetApp is a simple editor with nodes and connections. Itillustrates
-LocatorConnectors.</li>
-        
-    </ul>
-  </li>
-</ul>
-<h2>Converting</h2>
-<ul>
-    
-  <li>If you derived classes from Handle, Tool, Locator you have to change
-them to inherit from their corresponding Abstract class.</li>
-    
-  <li>Change your tool classes to no longer return a boolean fromevent handling
-methods.</li>
-    
-  <li>Change the event handling method to use a specific event, typically
-a MouseEvent.</li>
-    
-  <li>Import the figures package if you use figures provided by this version.
-  </li>
-    
-  <li>Tools should call editor().toolDone() instead of editor().setDefaultTool.
-  </li>
-    
-  <li>Add the serival version stuff to your figure classes.</li>
-</ul>
-</body>
-</html>
diff --git a/jhotdraw6/doc/buildProcess.html b/jhotdraw6/doc/buildProcess.html
deleted file mode 100644
index 2a7c4a076..000000000
--- a/jhotdraw6/doc/buildProcess.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-    
-  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-  <title>Building JHotDraw</title>
-</head>
-<body>
-<h1>Instructions for Building JHotDraw</h1>
-<hr><br>
-<br>
-A simple <a href="..\build\build.xml">build configuration file</a> for <a href="http://jakarta.apache.org/ant/">
-Ant</a> has been included, which can be used to compile all standard JHotDraw
-classes, to packagethem into a jar file and to generate javadoc information.
-The command tostart the build process could look like (when invoked in the
-<code>&lt;JHOTDRAW_DIR&gt;</code>\build directory)<br>
-<br>
-<code>java -classpath "%CLASSPATH%;&lt;ANT_DIR&gt;\lib\ant.jar;&lt;ANT_DIR&gt;\lib\jaxp.jar;&lt;ANT_DIR&gt;\lib\parser.jar"
--Djava.home="&lt;JAVA_DIR&gt;" -Dant.home="&lt;ANT_DIR&gt;" org.apache.tools.ant.Main
-all -Ddest.dir="&lt;JHOTDRAW_DIR&gt;" -buildfile build.xml</code><br>
-<br>
-where <code>&lt;JHOTDRAW_DIR&gt;</code> is the directory path to the JHotDraw
-package,<code>&lt;ANT_DIR&gt;</code> is the directory path to the Ant installation,
-<code>&lt;JAVA_DIR&gt;</code>is the directory path to the Java installation..
-Apart of calling <code>org.apache.tools.ant.Main</code> with the parameter
-<code>all</code> you can specify one of the following building targets:<br>
-<ul>
-  
-  <li><code>clean</code> - to delete all class files first</li>
-  
-  <li><code>main</code> - to compile, copy resources and build the jar file</li>
-  
-  <li><code>jar</code> - to build the jar file<br>
-  </li>
-  
-  <li><code>compile</code> - to compile only</li>
-  
-  <li><code>javadoc</code> - to generate javadoc</li>
-  
-  <li><code>all</code> - to clean, compile and javadoc</li>
-</ul>
-Furthermore, Ant can be generate debug code when the switch <code>-Djavac.debug=on</code>
- is provided.<br>
-</body>
-</html>
diff --git a/jhotdraw6/doc/change_log.txt b/jhotdraw6/doc/change_log.txt
deleted file mode 100644
index 2b583ecdc..000000000
--- a/jhotdraw6/doc/change_log.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Change log
-==========
-
-JHotDraw 5.2 changes (29.6.2001 by MrFloppy)
-- SelectionFigure is now an interface. The default implementation org.jhotdraw.standard.StandardSelectionFigure
-- A FigureSelectionListener interface has been introduced in org.jhotdraw.framework. An DrawingEditor
-  is now a FigureSelectionListener and the signature for all selectionChanged() methods has been
-  changed to figureSelectionChanged().
-- org.jhotdraw.util.Command is now an interface. A AbstractCommand can be found in org.jhotdraw.standard.
-- All commands used to have a fView field. This has been moved to org.jhotdraw.standard.AbstactCommand
-- A org.jhotdraw.standard.StandardDrawingView has now a paintComponents() method instead of a paint()
-  and update() method. This allows the org.jhotdraw.util.FloatingTextField to be a javax.swing.JTextField
-  instead of a java.awt.TextField.
-- org.jhotdraw.figures.AbstractLineDecorator has been missing
-- DrawApplet, DrawApplication and derived classes are now programmed towards the DrawingView interface
-  instead of using StandardDrawingView. That leads to occasional cast when some additional StandardDrawingView
-  functionality is required in some specialized cases. Applications that were derived from DrawApplication
-  and used to override the createContents() methods should now return a DrawingView as well
\ No newline at end of file
diff --git a/jhotdraw6/doc/classdiagram.jpg b/jhotdraw6/doc/classdiagram.jpg
deleted file mode 100644
index d73a1e497a0c831c0a48f556bb9c903f6ef5d9ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 17784
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
E02o%sV*mgE

diff --git a/jhotdraw6/doc/documentation.html b/jhotdraw6/doc/documentation.html
deleted file mode 100644
index 33b2a9a7f..000000000
--- a/jhotdraw6/doc/documentation.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<html>
-<head>
-  <title>JHotDraw Documentation</title>
-</head>
-<body>
-<h1>Documentation Overview</h1>
-<hr>
-<ul>
-  <li>A description of the JHotDraw <a href="packages.html">package organization</a>
-.</li>
-  <li>The javadoc generated <a href="../javadoc/index.html">package index</a>
-.</li>
-  <li>An overview of the <a href="samples.html">samples</a> delivered with
-JHotDraw</li>
-  <li>A short instruction of how to <a href="buildProcess.html">compile</a>
- JHotDrawusing Ant with the build configuration provided<br>
-  </li>
-  <li>A <a href="classdiagram.html">class diagram</a> showing the mostimportant
-classes and their relationships.</li>
-  <li>The <a href="changes.html">the change log</a> of version 4.0.</li>
-  <li>Some <a href="drawBackground.html">background </a>about JHotDraw.</li>
-</ul>
-</body>
-</html>
diff --git a/jhotdraw6/doc/drawBackground.html b/jhotdraw6/doc/drawBackground.html
deleted file mode 100644
index 18104bd36..000000000
--- a/jhotdraw6/doc/drawBackground.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<html>
-
-<head>
-  <title>JHotDraw Background</title>
-</head>
-
-<body>
-<H1>About JHotDraw</H1>
-<HR>
-The JHotDraw architecture was inspired by two sources:
-<UL>
-<LI>
-<a href="http://st-www.cs.uiuc.edu/users/brant/HotDraw/HotDraw.html">HotDraw</a><br>
-HotDraw is a drawing framework for Smalltalk. It was originally developed
-by Kent Beck and Ward Cunningham.
-<LI>
-<a href="ftp://ftp.ifa.ch/pub/ET++/">ET++</a><br>
-ET++ is a comprehensive and portable application framework and
-class library for C++. ET++ was developed by Andre Weinand and Erich Gamma.
-</UL>
-<p>
-JHotDraw was developed by Thomas Eggenschwiler and Erich Gamma.
-It was originally planned to be a trivial case study for an applied
-design patterns seminar. But then it was too much fun to just stop there...
-<p>
-<H2>Acknowledgements</H2>
-We have received valuable input from Uwe Steinmueller, Doug Lea, Kent Beck, and Ward Cunningham.
-</html>
diff --git a/jhotdraw6/doc/packages.html b/jhotdraw6/doc/packages.html
deleted file mode 100644
index b43de6933..000000000
--- a/jhotdraw6/doc/packages.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<title>Packages Overview</title>
-</head>
-<h1>Packages Overview</h1>
-<hr>
-JHotDraw is organized into the following packages.
-<h2><a href=../javadoc/Package-org.jhotdraw.util.html>org.jhotdraw.util</a></h2>
-This package provides generally useful utilities that can be used
-independent of JHotDraw.<p>
-
-<h2><a href=../javadoc/Package-org.jhotdraw.framework.html>org.jhotdraw.framework</a></h2>
-The framework package includes the classes and interfaces that define the
-JHotDraw framework. It doesn't provide any concrete implementation classes.
-
-<h2><a href=../javadoc/Package-org.jhotdraw.standard.html>org.jhotdraw.standard</a></h2>
-The standard package provides standard implementations of the classes
-defined in the framework package.
-<p>
-It provides abstract classes that implement a
-framework interface and provide default implementation. The convention is to
-prefix such classes with Abstract, e.g., AbstractFigure, AbstractHandle.
-<p>
-Classes that implement a framework interface and can be used as is
-start with Standard, e.g., StandardDrawing, StandardDrawingView.
-
-<h2><a href=../javadoc/Package-org.jhotdraw.figures.html>org.jhotdraw.figures</a></h2>
-A kit of figures together with their associated support classes (tools,
-handles).
-
-<h2><a href=../javadoc/Package-org.jhotdraw.contrib.html>org.jhotdraw.contrib</a></h2>
-Classes that where contributed by others.
-
-<h2><a href=../javadoc/Package-org.jhotdraw.applet.html>org.jhotdraw.applet</a></h2>
-The applet package defines a default applet user interface for a JHotDraw
-applet. JHotDraw applets can be developed without using this
-package and they can have a different user interface.
-
-<h2><a href=../javadoc/Package-org.jhotdraw.application.html>org.jhotdraw.application</a></h2>
-The application package defines a default user interface for standalone
-JHotDraw applications. This is only a default
-presentation.
-
-<h2>org.jhotdraw.samples.javadraw</h2>
-The package for the javadraw <a href=samples.html#JavaDrawApp>sample</a> applications.
-This includes the javadraw applet, application, and a viewer applet.
-
-<h2>org.jhotdraw.samples.pert</h2>
-The package for the pert <a href=samples.html#PertApp>sample</a> applet
-and application.
-
-<h2>org.jhotdraw.samples.nothing</h2>
-The package for the nothing <a href=samples.html#Nothing>sample</a> applet
-and application.
-
-<h2>org.jhotdraw.samples.net</h2>
-The package for the net <a href=samples.html#Net>sample</a> application.
-
-</body>
-</html>
diff --git a/jhotdraw6/doc/pattlets.jar b/jhotdraw6/doc/pattlets.jar
deleted file mode 100644
index 93bbdc01834529c6b14dc214771df12fb91c057f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 376878
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
D@sCm=

diff --git a/jhotdraw6/doc/samples.html b/jhotdraw6/doc/samples.html
deleted file mode 100644
index 414d94311..000000000
--- a/jhotdraw6/doc/samples.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<html>
-<head>
-<title>Samples</title>
-</head>
-<a name=top></a>
-<h1>JHotDraw Samples</h1>
-
-As part of the JHotDraw framework we include a number of sample applications
-and applets that
-demonstrate various aspects of JHotDraw.
-<ol>
-<li><a href=#JavaDrawApp>JavaDrawApp</a></li>
-<li><a href=#JavaDrawApplet>JavaDrawApplet</a></li>
-<li><a href=#JavaDrawViewer>JavaDrawViewer</a></li>
-<li><a href=#PertApp>PertApp/PertApplet</a></li>
-<li><a href=#Nothing>Nothing</a></li>
-<li><a href=#Net>Net</a></li>
-</ol>
-<b>Note:</b>To run the sample applets inside a browser requires a
-browser with JDK1.1 support.
-<hr>
-<ol>
-<li><h3><a name=JavaDrawApp>JavaDrawApp</a></h3></li>
-<p>
-This sample illustrates various standard tools and figures provided with JHotDraw.
-For a description of its features refer to the <a href="../org/jhotdraw/samples/javadraw/JavaDrawAppletHelp.html">help document</a>.
-<p>
-It uses a custom drawing subclass BouncingDrawing to implement a bouncing figures
-feature. The animation support is attached to a figure with a AnimationDecorator.
-<p>
-Support for attaching URLs to figures is implemented by URLTool.
-<p>
-You can start the application with:
-<pre>java org.jhotdraw.samples.javadraw.JavaDrawApp</pre>
-The <i>drawings</i> directory includes some sample drawings. They can be
-loaded with the open command from the file menu. <b>Note</b> your CLASSPATH
-has to include the absolute path to the JHotDraw directory otherwise you will
-run into class loading problems.
-<p>
-<li><h3><a name=JavaDrawApplet>JavaDrawApplet</a></h3></li>
-<p>
-The <a href="../JavaDrawApplet.html">JavaDrawApplet</a> is the applet version of JavaDrawApp.
-Since it is an applet the drawing can't be saved.
-A sample drawing can be loaded from the load choices item.
-<p>
-<li><h3><a name=JavaDrawViewer>JavaDrawViewer</a></h3></li>
-<p>
-The <a href="../JavaDrawViewer.html">JavaDrawViewer</a> enables to view a JavaDraw drawing. If a figure has
-an attached URL you can follow it by selecting it with the mouse.
-<p>
-The sample illustrates how to create a minimal presentation without a tool palette and
-other user interface adornments.
-<p>
-<li><h3><a name=PertApp>PertApp/PertApplet</a></h3></li>
-<p>
-PertApp is simple drawing editor to support the PERT project management
-technique. With PertApp you can create tasks and define their dependencies.
-PertApp takes care of tracking the end time of each task.
-<p>
-For a description of its features refer to the <a href="../org/jhotdraw/samples/pert/PertAppletHelp.html">help document</a>.
-<p>
-This sample illustrates how to create more complex figures and how to use
-connections. Connections can be created either with a ConnectionTool or
-ConnectionHandles.
-<p>
-You can start the application with:
-<pre>java org.jhotdraw.samples.pert.PertApplication</pre>
-<li><h3><a name=PertApplet>PertApplet</a></h3></li>
-The <i>drawings</i> directory includes some sample drawings. They can be
-loaded with the open command from the file menu. <b>Note</b> your CLASSPATH
-has to include the absolute path to the JHotDraw directory otherwise you will
-run into class loading problems.
-<p>
-<a href="../PertApplet.html">PertApplet</a> is the applet version of PertApp.
-<p>
-<li><h3><a name=Nothing>Nothing</a></h3></li>
-<p>
-This is the <i>hello world</i> sample of JHotDraw. It can be used
-as the starting point for developing your own applications.
-The samples uses some standard tools to create a simple drawing editor.
-It is only about one page of <a href="../org/jhotdraw/samples/nothing/NothingApp.java">code</a>.
-<p>
-<li><h3><a name=Net>NetApp</a></h3></li>
-<p>
-A simple network editor. It enables the creation of nodes. When selected
-a node display a set of handles that can be used to connect it with other nodes.
-Nodes are connected at specific semantic locations. The potential locations
-are highlighted once the mouse moves inside a node.
-This sample illustrates the use of LocatorConnectors.
-<p>
-You can start the application with:
-<pre>java org.jhotdraw.samples.net.NetApp</pre>
-A sample net can be found in the <i>drawings</i> directory.
-
-</body>
-</html>
diff --git a/jhotdraw6/drawings/demo.draw b/jhotdraw6/drawings/demo.draw
deleted file mode 100644
index 5f84254b0..000000000
--- a/jhotdraw6/drawings/demo.draw
+++ /dev/null
@@ -1,82 +0,0 @@
-
-    org.jhotdraw.samples.javadraw.BouncingDrawing 19 
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.ImageFigure "attributes" "attributes" 1 "URL" "String" "http://www.javasoft.com" 220 160 100 116 "/org/jhotdraw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif"  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.EllipseFigure "no_attributes" 121 16 75 36  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.RoundRectangleFigure "no_attributes" 122 125 73 37 8 8  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.RoundRectangleFigure "attributes" "attributes" 1 "URL" "String" "" 266 73 77 37 36 20  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.TextFigure "attributes" "attributes" 2 "TextColor" "Color" 255 255 255 "FillColor" "Color" 255 199 158 143 135 "Text" "Helvetica" 1 14 0 REF 6 
-                org.jhotdraw.standard.OffsetLocator 0 0 
-                    org.jhotdraw.standard.RelativeLocator 0.5 0.5    4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.ElbowConnection 4 195 129 230 129 230 99 266 99 
-                org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor
-                0 0 0 
-                org.jhotdraw.figures.ShortestDistanceConnector REF 6  
-                org.jhotdraw.figures.ShortestDistanceConnector REF 8   4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.EllipseFigure "attributes" "attributes" 1 "FillColor" "Color" 35 142 104 272 18 64 32  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.LineConnection 2 195 34 273 34 
-                org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor 
-                0 0 0 
-                org.jhotdraw.figures.ChopEllipseConnector REF 4  
-                org.jhotdraw.figures.ChopEllipseConnector REF 20   4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.BorderDecorator 
-                org.jhotdraw.samples.javadraw.AnimationDecorator 
-                    org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 275 159 "Images" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.BorderDecorator 
-                org.jhotdraw.samples.javadraw.AnimationDecorator 
-                    org.jhotdraw.figures.TextFigure "attributes" "attributes" 2 "URL" "String" "" "FillColor" "Color" 255 199 158 191 60 "Connections" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.BorderDecorator 
-                org.jhotdraw.samples.javadraw.AnimationDecorator 
-                    org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 214 "Connected Text" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.BorderDecorator 
-                org.jhotdraw.samples.javadraw.AnimationDecorator 
-                    org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 222 287 "URL Attachments" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.BorderDecorator 
-                org.jhotdraw.samples.javadraw.AnimationDecorator 
-                    org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 27 111 "Groups" "Helvetica" 1 12 0 NULL NULL  4 4   4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.EllipseFigure "attributes" "attributes" 1 "FillColor" "Color" 35 142 104 14 203 70 46  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.LineConnection 2 122 157 72 210 
-                org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                0 0 0 
-                org.jhotdraw.figures.ShortestDistanceConnector REF 6  
-                org.jhotdraw.figures.ChopEllipseConnector REF 48   4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 192 192 192 67 176 "Annotation" "Helvetica" 1 12 0 REF 50 
-                org.jhotdraw.standard.OffsetLocator 0 0 
-                    org.jhotdraw.standard.RelativeLocator 0.5 0.5    4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.GroupFigure 4 
-                org.jhotdraw.samples.javadraw.AnimationDecorator 
-                    org.jhotdraw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 255 255 255 24 25 47 44  4 4  
-                org.jhotdraw.samples.javadraw.AnimationDecorator 
-                    org.jhotdraw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 0 34 35 47 44  4 4  
-                org.jhotdraw.samples.javadraw.AnimationDecorator 
-                    org.jhotdraw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 255 255 255 44 45 47 44  4 4  
-                org.jhotdraw.samples.javadraw.AnimationDecorator 
-                    org.jhotdraw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 0 54 55 47 44  4 4   4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.contrib.PolygonFigure "no_attributes" 6 68 283 105 254 111 309 151 261 163 282 160 290  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.LineConnection 2 71 244 97 259 
-                org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-                0 0 0 
-                org.jhotdraw.figures.ChopEllipseConnector REF 48  
-                org.jhotdraw.contrib.ChopPolygonConnector REF 70   4 4   
\ No newline at end of file
diff --git a/jhotdraw6/drawings/demo.ser b/jhotdraw6/drawings/demo.ser
deleted file mode 100644
index d28a2bd38fa28cf0478f5923ad8d3dc948804a02..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9077
zcmZ4UmVvdnh(Ra6C|xfrBfli2D6w3xI5D>%C$(5FE3qsQEZ~%1nwOlJm+n%OSe}`e
z-YHk(WU?Xq5fcNWCxc27s$_6#QD$OJW>sp6OJYf4SZYymW`15p5rYb<6(xyzDTzfX
zdcjZz)acufeR<!jBsqbNmH}CwnU_wYk<R(K1^LC9C8=(i>7_-fY3F%-cGP-hF)=WC
zGN>e@N@6wIhk+vvqPMt&LC6Ob4Em)dnK}AlsmUezMb;HX49eJj<Cs)jQk0ln0@3~d
zX0E8qG=Dj;XOt6B<gi*?QNX~!zzD*{MGOKUd-Xu}>Ot(iIlVTz!FoL-69cm+gJ5!E
zL1J=dNu_6Aa#3n-YF>#a15auWnB|;bnpYCdzzyYs;-Q2=I2z)SoW#6zegCAa)Z`Lt
zuzd^+3=G1hMKA?=AO(6*1@`A6<_i>S<}fiZfYk~Y7cuCgdL2EjIOb*MCYEI8=eeXN
z=NBcG<QL`I$KAQg_dXWvZuLYAd8|R<$-tEs5tf>h5B4JiS6U>DgF7w3ZG;4W&DrVy
z&M9$aKq5W`<{XG5R!e;txYEF>CoeUxq=Z4v$Js+aGc8dcln(XNiV|~E%kzt}^&uu$
zR}?bTF|dGQ3xtb{801kxCJmhWiuF8m6Vstdk%{+)hV5PMc5p~2WFjPRxQ08;C9}97
zC$Z8gzoLXe1QLOX<t6$-smUdYdFeT+);<iJX>OT0seXyMsqn-KibDP1lA_GKbj-vG
zbC+XDNl|7}DJ+}75-T$}n<S!2;&dO}km3>sHPqmOcpn;A2z8jjhFUVfoCgVHguVrN
z2dcdbyPtq#Qx&2LA&bL-ENQ-p1tkokkdOoAC4G;?;*65Sq?}Yp>Sru2Vh~2;G`Otr
zZhloouO~a08JOG{xN`CnQ`{0knctIvvm~P^wKyX`C#9mm-T{<*7&yu~7#JA1LCK(m
zfjKnDr-VT~qokz3N?*Ucyc}GP7U!px=q2apR#bpg6&EoGfh|oeFVTZX=HU%ltWu}4
zN|+c}JQ>(BQZv&tN<0}@%QI6-GCUa=D?Aw(E5X^Ygn@w}g@J+L4g&+jf)WN7edKfs
zExq+Y=7SS1L;#%HiuJSdQ}v2Vi_-KeQ*(0i%k_$L6LWI((lgUQ&SGEyr)QR8P|5~-
z2P9ft#Gr^ZWxM9&WEK=d)AoX!_w(iCr_BV%k5VeK6pqM2PTe321;80f2xKJ)7eGP^
zBqPJXz@Wmwz~Ifmz);D+z#ssU$LUxNtd0%JFU?DV2Q?&h<?gdjco8ly3J!3tG{>T3
z4``rsf;i!jfLAU;(Mo}DK&b?T8NmSz@|7wB1A`|6149)914AtyUx7ja6atXS0mKsp
zsRo-Pfjbp4fRmdDH26@h^<`jS<bqlcG8R;lVaB{1*1!x&t$@~X_E&E#^7y&!4-*4N
z6a#mfXK_$!Vv2uWPNgRUN1A_8W_o5`1cDjq$sk_>*NY=0S<~F|LB%gWB-et<JCJ}i
zs9N^PPX<*fB@8Mkg-tQE6`}8+mR6iv0##-0!@!^BpH!S$RF;|oiE&WK@%k{Zrh$9_
z;s~N9I&gsE3tFZU22PM(=lq=fqT(V3K2SE(17%~d2;)-mW&wNSQYHpAHwLz}#GHbR
zL{A3Rvc#OyR38SW<l+(rX@s|uL5ApqH3k<XCZ}3QGjOIAr6+-vmoP9zyG1jwrGa@M
zw_5lxaFt}FI_Kws!mxxv9AQ#GVrE_mR02}4G5r7k|9?S2K|u)vr(0%D4%im3_sl?L
z*8l&<=YeFw353C(fq|hNoS=#rc;P+*h5FHjrq9mY3oB-3VDn^<Ov}$J!5V9B44eh|
znRz9_nN_Kt3@pW9inX|;GAGrCK_o3GwXig`xFj_NQDTEUB<91wl9!m93StX_OEyNw
z1d!_(_`r?<iA&h0rGW}37H}EM3d;4xMGVq#M}nNB2Z|B6(b*ODJ-jb?-9U|&A_j0d
zs0Ru#J-CV#=Zr*9GcC2qvm_PVMp1#w*~^uvopl$FVParJbzKQ4K65j3DoYqRJyLVZ
zQcE(E6Tt!MP{P1g4lX!~ix~L9E(6uTdTu%Si6yt*o?LX>=EEB%21Yk%La2Z>?!c=2
zN^_G^i`v#qmF1rDpc~}q0#L02GZ`F~V2(Q|Y``ps5(dtaqQt!7wEUvn;vxnGu$`bp
z2nh|C6x>sKlTR8<UHK~t>?wrS5(arh5=u|a&((KKOUukl4S^Y8T~Sb6#2^bd9;8MO
zO^r~+L{YD+|C5***jyNxa}5l@q#>9z0+EJb5ks(up;1MF{ReOq<0R1KE5KRQrJ}fq
zK?$Wag5`QWlw7ZBC=qFJ^6pV^q0W&8k%N>$;KCu&lR+sT%z_pZSQ9j;jBrXUP6Y)K
za_x#}1wwU$8d#_;7`U@wy#c7oDShYO&-)zz92~_+z6UiyaF`I3nv+<PS(XYlK_ya*
zZK<f?D<%eJ7Y430m}~?xC(@Har3h6URu6&$HO&42#33*ml<h#dPPK%A1(c~kd{CAH
zVQ|tzZWW+*f*?(@Vm;TKr2KN{{Jgx>WKcIiuBhwN?Cl%l!JQzLR8&dqE<=xJn8`kw
zd7#1%YH)n}+dO-rDHp+wY2_RgIjrXTFtDV#=B1P{D5BIIh!}-BI={%;hk-3ExFoTt
z1QZr=6}TJ}ke^ctaulR)nYdg&h-2}u$xIBao(#$bC~`O)#0PQ^wA+%IpNC$pK|QVy
zvIC*Y+J}KV%?;EW0hj3|3<8Ku3>LBWVPH=S02RmJC}Z|v5P<jwVFt)w3E(6Es`f$E
zKPVN-pkyzo?Rt(yMfv3+nFZ(n*}uFr<9`-7W635$MX~zKg@G;25!63%Vc<#g%*#tH
z3QA1LEG-6c{Yy(=+=?OwE$mi8`^u;u7kwt2{K7<fG7|%n4+Bq{Q+`oOY7yASAnzoC
zdT;QW4lGhpPyp*uLy|cf2@W1eb;!WL0ICkbB5Y7)ETte*IKgQjxuypP?Y1LbMJ9D8
z)WGdsq_+8C1_lOuurZko3=GdOc*!t1aN`TYOUCa^P$n!cV$j7JRKXefMJ1`lB`%qu
zawi#<LGp_p6iYnb)^O+{sJJO&P(#rSQVJe^ffZ5kq`$+V(B`|Q_;Ike)L>&4aA~Zu
z4azP4<$0+^py1+#)Z-wg2H30lAm@X)ptdeJrGWwzgu&8?0tKW-0i+m&!E*Q-VvIQ2
zHOhS%poj#wYY+`ykhu;F42+<j1FVMuO8MvwUXUANLH2_%*bM~Y2CN2m5@LcUAtta&
zP?`Xx5G5FoQILUw0m36-6WB#X4A^@&&Kday(C!#KuC54&aoMo&yn`eFRqP1>q|qtA
z0<P)x_D5?r-aOI;(gX?&aQ*=?O295|2Dt*nRRl3WkqE+IDMUn~50AkL5=e%H7DD+&
z0=qRz8E<|nh13j5;M@$C#G25+1r`s~W=P~BYz4VWA4QIw<b&KSW)x;%V3-dw66`@+
z5X%wNHe+A_I|3|<rF{x=i4$@w5hUOWB0NEa7g(P=$RrTg7tHkslR@ZhA81Jgr_kjg
zZKFvQpk_WBc%-Qq<VsMaKrx{l*8x>eS#UDJ#yuEtWJ~05W!TTaz+eNi7wqZ58?KAN
z;mQro9GUrf0~5HoiaL}q&0%0*xHbgBbQ3sC`JiE%nxcT-%mn!XigA_D)Jd~M1?xQq
z21a?1a|U@*JqQj~{?H&F1;>(-#N-Unl)xZPuF?z)4B(c*AP?6I;BaMgFUl`1AT>Ba
zjSg_}3-%*9wGsBlj2;66gBt?_c#z~YC~ZQE`hjT7fCerR&0P-$28K&u-xAZ90o8u+
z2E{e7HgJ*viNhL;xQYPEYx)BR4!|3V49*M;3>!c}33kQct&!eWfE^eDZxAprKq~GC
zSPvdXgFFKY$h##BT#k8p`6b{<Igluh)PigN3Y_#IJ>25(jL6?F3+=%zHidLho`6W;
zZmlsvZG^ZITh9vQNJJ|RSKAS7<etgidH-eUu-D*jib@e|It-6%K%Hj9Y#PW?wD|^b
zz><?mq2sJ*Jq{fP1_n?fm0)0Ckc0*TuEhKYDh~-Ha@+vzzT$9$5(5K+GSm**xdDGT
zfWkwU=5D|r4xoOTIkFp|Y)~PMEnLtizLN9vKy#*gpmCq{{5(i%3p@2U|3YW<CU8<z
z0uB4XrLblT(8wal0QhVzXo3SIke;6hnH+_6P#K|9V6fq0&;Tz~;j&1F$hafP>%n6&
z?0Mj^_hKIgHqc^>6mUuwh-P4~fQW-;5<H_B*efC2LWVj<S#U3%t)R4sfhpS4cUOX1
z*{e-UL7hHOhYyrZT^JY`K)qE^i9DTwfnhOdt`XFm1viJ-7#J8qRro&!21Zi`21Zr}
z21Y3c21Zay!xfsKJV)!kwL1d?!xymsL2gfEU|?hh^N6XA(EHY~*amfxp}`JqwdNQ7
ky}Cii;D^F8P>6y2)dEUMpn#PITZgFCK;p0h7s_S?05fFhegFUf

diff --git a/jhotdraw6/drawings/net.draw b/jhotdraw6/drawings/net.draw
deleted file mode 100644
index 2cf8ccdaa..000000000
--- a/jhotdraw6/drawings/net.draw
+++ /dev/null
@@ -1,65 +0,0 @@
-
-    org.jhotdraw.standard.StandardDrawing 13 
-        org.jhotdraw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 135 46 "one" "Helvetica" 1 12 0 NULL NULL  
-        org.jhotdraw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 62 102 "two" "Helvetica" 1 12 0 NULL NULL  
-        org.jhotdraw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 211 102 "three" "Helvetica" 1 12 0 NULL NULL  
-        org.jhotdraw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 134 153 "four" "Helvetica" 1 12 0 NULL NULL  
-        org.jhotdraw.samples.net.NodeFigure "attributes" "attributes" 3 "TextColor" "Color" 255 255 255 "FrameColor" "Color" 255 255 0 "FillColor" "Color" 255 199 158 135 219 "five" "Helvetica" 1 12 0 NULL NULL  
-        org.jhotdraw.figures.LineConnection 2 145 67 72 96 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            org.jhotdraw.standard.LocatorConnector REF 1 
-                org.jhotdraw.standard.RelativeLocator 0.5 1.0   
-            org.jhotdraw.standard.LocatorConnector REF 2 
-                org.jhotdraw.standard.RelativeLocator 0.5 0.0    
-        org.jhotdraw.figures.LineConnection 2 145 67 226 96 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 REF 9 
-            org.jhotdraw.standard.LocatorConnector REF 3 
-                org.jhotdraw.standard.RelativeLocator 0.5 0.0    
-        org.jhotdraw.figures.LineConnection 2 89 109 205 109 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            org.jhotdraw.standard.LocatorConnector REF 2 
-                org.jhotdraw.standard.RelativeLocator 1.0 0.5   
-            org.jhotdraw.standard.LocatorConnector REF 3 
-                org.jhotdraw.standard.RelativeLocator 0.0 0.5    
-        org.jhotdraw.figures.LineConnection 2 72 123 128 160 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            org.jhotdraw.standard.LocatorConnector REF 2 
-                org.jhotdraw.standard.RelativeLocator 0.5 1.0   
-            org.jhotdraw.standard.LocatorConnector REF 4 
-                org.jhotdraw.standard.RelativeLocator 0.0 0.5    
-        org.jhotdraw.figures.LineConnection 2 226 123 163 160 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            org.jhotdraw.standard.LocatorConnector REF 3 
-                org.jhotdraw.standard.RelativeLocator 0.5 1.0   
-            org.jhotdraw.standard.LocatorConnector REF 4 
-                org.jhotdraw.standard.RelativeLocator 1.0 0.5    
-        org.jhotdraw.figures.LineConnection 2 226 123 161 226 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 REF 35 
-            org.jhotdraw.standard.LocatorConnector REF 5 
-                org.jhotdraw.standard.RelativeLocator 1.0 0.5    
-        org.jhotdraw.figures.LineConnection 2 72 123 129 226 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 REF 28 
-            org.jhotdraw.standard.LocatorConnector REF 5 
-                org.jhotdraw.standard.RelativeLocator 0.0 0.5    
-        org.jhotdraw.figures.LineConnection 4 247 109 280 109 280 53 162 53 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0 
-            org.jhotdraw.standard.LocatorConnector REF 3 
-                org.jhotdraw.standard.RelativeLocator 1.0 0.5   
-            org.jhotdraw.standard.LocatorConnector REF 1 
-                org.jhotdraw.standard.RelativeLocator 1.0 0.5     
\ No newline at end of file
diff --git a/jhotdraw6/drawings/net.ser b/jhotdraw6/drawings/net.ser
deleted file mode 100644
index 194207391a083580caf1f933432aa4f04d9a9544..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6346
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

diff --git a/jhotdraw6/drawings/nothing.draw b/jhotdraw6/drawings/nothing.draw
deleted file mode 100644
index 76d3aec7b..000000000
--- a/jhotdraw6/drawings/nothing.draw
+++ /dev/null
@@ -1,10 +0,0 @@
-
-    org.jhotdraw.samples.javadraw.BouncingDrawing 4 
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 255 255 255 80 77 196 89  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.RectangleFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 255 75 72 196 89  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.TextFigure "attributes" "attributes" 2 "TextColor" "Color" 255 255 255 "FillColor" "Color" 255 199 158 119 92 "Nothing" "Helvetica" 0 36 0 NULL NULL  4 4  
-        org.jhotdraw.samples.javadraw.AnimationDecorator 
-            org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 117 90 "Nothing" "Helvetica" 0 36 0 NULL NULL  4 4   
\ No newline at end of file
diff --git a/jhotdraw6/drawings/nothing.ser b/jhotdraw6/drawings/nothing.ser
deleted file mode 100644
index 783e24486cd07e548b8b5893df8807fdacb4e156..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3077
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
NLM9Mr$bcLQ!T=>#rA7b%

diff --git a/jhotdraw6/drawings/offsetConnectors.draw b/jhotdraw6/drawings/offsetConnectors.draw
deleted file mode 100644
index 4e1033a6a..000000000
--- a/jhotdraw6/drawings/offsetConnectors.draw
+++ /dev/null
@@ -1,70 +0,0 @@
-
-    org.jhotdraw.standard.StandardDrawing 13 
-        org.jhotdraw.samples.offsetConnectors.MyFigure "attributes" "attributes" 1 "FillColor" "Color" 255 0 0 413 50 72 125  
-        org.jhotdraw.samples.offsetConnectors.MyFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 0 84 182 165 158  
-        org.jhotdraw.samples.offsetConnectors.MyFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 255 610 165 187 175  
-        org.jhotdraw.samples.offsetConnectors.MyEllipseFigure "no_attributes" 362 445 218 186  
-        org.jhotdraw.figures.LineConnection 2 413 77 171 182 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 1 
-                org.jhotdraw.standard.OffsetLocator 0 27 
-                    org.jhotdraw.standard.RelativeLocator 0.0 0.0    
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 87 0 REF 10    
-        org.jhotdraw.figures.LineConnection 2 485 74 755 165 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 1 
-                org.jhotdraw.standard.OffsetLocator 72 24 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 145 0 REF 10    
-        org.jhotdraw.figures.LineConnection 2 249 212 610 212 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  255 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 165 30 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 0 47 REF 10    
-        org.jhotdraw.figures.LineConnection 2 249 246 610 246 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 255 
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 165 64 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 0 81 REF 10    
-        org.jhotdraw.figures.LineConnection 2 249 308 610 308 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 165 126 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 0 143 REF 10    
-        org.jhotdraw.figures.LineConnection 6 443 50 443 19 28 19 28 409 384 409 384 484 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 1 
-                org.jhotdraw.standard.OffsetLocator 30 0 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 4 
-                org.jhotdraw.standard.OffsetLocator 22 39 REF 10    
-        org.jhotdraw.figures.LineConnection 6 463 50 463 18 925 18 925 409 553 409 553 478 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 1 
-                org.jhotdraw.standard.OffsetLocator 50 0 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 4 
-                org.jhotdraw.standard.OffsetLocator 191 33 REF 10    
-        org.jhotdraw.figures.LineConnection 5 717 340 717 374 834 374 834 240 797 240 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 107 175 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 187 75 REF 10    
-        org.jhotdraw.figures.LineConnection 5 152 340 152 373 46 373 46 247 84 247 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 68 158 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 0 65 REF 10     
\ No newline at end of file
diff --git a/jhotdraw6/drawings/pert.draw b/jhotdraw6/drawings/pert.draw
deleted file mode 100644
index eca1ddc3c..000000000
--- a/jhotdraw6/drawings/pert.draw
+++ /dev/null
@@ -1,64 +0,0 @@
-
-    org.jhotdraw.standard.StandardDrawing 14 
-        org.jhotdraw.samples.pert.PertFigure 3 
-            org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 29 133 "Design" "Helvetica" 1 12 0 NULL NULL  
-            org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 29 148 "5" "Helvetica" 1 12 0 NULL NULL  
-            org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 29 163 "5" "Helvetica" 0 12 1 NULL NULL  26 130 45 51 0 1 
-            org.jhotdraw.samples.pert.PertFigure 3 
-                org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 133 "Implement" "Helvetica" 1 12 0 NULL NULL  
-                org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 148 "6" "Helvetica" 1 12 0 NULL NULL  
-                org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 108 163 "11" "Helvetica" 0 12 1 NULL NULL  105 130 66 51 1 REF 1 3 
-                org.jhotdraw.samples.pert.PertFigure 3 
-                    org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 215 133 "JavaDoc" "Helvetica" 1 12 0 NULL NULL  
-                    org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 215 148 "2" "Helvetica" 1 12 0 NULL NULL  
-                    org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 215 163 "13" "Helvetica" 0 12 1 NULL NULL  212 130 55 51 1 REF 5 1 
-                    org.jhotdraw.samples.pert.PertFigure 3 
-                        org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 314 133 "Ship" "Helvetica" 1 12 0 NULL NULL  
-                        org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 314 148 "0" "Helvetica" 1 12 0 NULL NULL  
-                        org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 314 163 "19" "Helvetica" 0 12 1 NULL NULL  311 130 31 51 3 
-                        org.jhotdraw.samples.pert.PertFigure 3 
-                            org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 206 "S&P" "Helvetica" 1 12 0 NULL NULL  
-                            org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 221 "4" "Helvetica" 1 12 0 NULL NULL  
-                            org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 236 "15" "Helvetica" 0 12 1 NULL NULL  224 203 31 51 1 REF 5 1 REF 13  REF 9 
-                        org.jhotdraw.samples.pert.PertFigure 3 
-                            org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 46 "Test" "Helvetica" 1 12 0 NULL NULL  
-                            org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 61 "8" "Helvetica" 1 12 0 NULL NULL  
-                            org.jhotdraw.figures.NumberTextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 227 76 "19" "Helvetica" 0 12 1 NULL NULL  224 43 31 51 1 REF 5 1 REF 13  0   REF 17 REF 21   REF 5 REF 21 REF 9 REF 13 REF 17 
-        org.jhotdraw.samples.pert.PertDependency 2 71 155 105 155 NULL 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            org.jhotdraw.standard.ChopBoxConnector REF 1  
-            org.jhotdraw.standard.ChopBoxConnector REF 5   
-        org.jhotdraw.samples.pert.PertDependency 2 171 155 212 155 NULL 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            org.jhotdraw.standard.ChopBoxConnector REF 5  
-            org.jhotdraw.standard.ChopBoxConnector REF 9   
-        org.jhotdraw.samples.pert.PertDependency 3 151 130 184 68 224 68 NULL 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            org.jhotdraw.standard.ChopBoxConnector REF 5  
-            org.jhotdraw.standard.ChopBoxConnector REF 21   
-        org.jhotdraw.samples.pert.PertDependency 3 154 181 184 228 224 228 NULL 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            org.jhotdraw.standard.ChopBoxConnector REF 5  
-            org.jhotdraw.standard.ChopBoxConnector REF 17   
-        org.jhotdraw.samples.pert.PertDependency 3 255 228 285 228 312 181 NULL 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            org.jhotdraw.standard.ChopBoxConnector REF 17  
-            org.jhotdraw.standard.ChopBoxConnector REF 13   
-        org.jhotdraw.samples.pert.PertDependency 2 267 155 311 155 NULL 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            org.jhotdraw.standard.ChopBoxConnector REF 9  
-            org.jhotdraw.standard.ChopBoxConnector REF 13   
-        org.jhotdraw.samples.pert.PertDependency 3 255 68 284 68 314 130 NULL 
-            org.jhotdraw.figures.ArrowTip  0 0 0 noFillColor noBorderColor   
-            0 0 0   
-            org.jhotdraw.standard.ChopBoxConnector REF 21  
-            org.jhotdraw.standard.ChopBoxConnector REF 13   
-        org.jhotdraw.figures.GroupFigure 2 
-            org.jhotdraw.figures.TextFigure "attributes" "attributes" 1 "FillColor" "Color" 255 199 158 26 23 "HotJavaDraw" "Helvetica" 1 18 0 NULL NULL  
-            org.jhotdraw.figures.TextFigure "attributes" "attributes" 2 "FillColor" "Color" 255 199 158 "TextColor" "Color" 255 255 255 24 21 "HotJavaDraw" "Helvetica" 1 18 0 NULL NULL    
\ No newline at end of file
diff --git a/jhotdraw6/drawings/pert.ser b/jhotdraw6/drawings/pert.ser
deleted file mode 100644
index abf59bf6ea61892724178b934e390fc0931aed7a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10170
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

diff --git a/jhotdraw6/lgpl-license.html b/jhotdraw6/lgpl-license.html
deleted file mode 100644
index 7106b97b0..000000000
--- a/jhotdraw6/lgpl-license.html
+++ /dev/null
@@ -1,533 +0,0 @@
-<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<title>The Open Source Initiative: The GNU Lesser General Public License (LGPL)</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<div align=center>
-
-<p>
-
-<table width=90% cellpadding=10 cellspacing=10 border=0>
-
-<tr bgcolor="#FFFFFF">
-
-	<td colspan=2 align="right"><img src="../graphics/ossmall.png" width="250" height="26" border="0" align="right" alt="opensource.org">
-
-</td>
-
-</tr>
-
-<tr>
-
-	<td width=75% bgcolor="#C6EFF7" valign="top">
-	
-<font face="Arial, Helvetica, sans serif" size="3">
-		
-<h1>The GNU Lesser General Public License (LGPL)</h1>
-
-<h2>Version 2.1, February 1999</h2>
-
-<blockquote>
-
-	<p><em>(The master copy of this license lives on the <a
-href="http://www.gnu.org/copyleft/lesser.html">GNU website</a>.)</em></p>
-
-</blockquote>
-
-<tt>
-
-<p>Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.</p>
-
-<p>[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]</p>
-
-<p>Preamble</p>
-
-<p>The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.</p>
-
-<p>This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.</p>
-
-<p>When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.</p>
-
-<p>To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.</p>
-
-<p>For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.</p>
-
-<p>We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.</p>
-
-<p>To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.</p>
-
-<p>Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.</p>
-
-<p>Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.</p>
-
-<p>When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.</p>
-
-<p>We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.</p>
-
-<p>For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.</p>
-
-<p>In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.</p>
-
-<p>Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.</p>
-
-<p>The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.</p>
-
-<p>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</p>
-
-<p>0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".</p>
-
-<p>A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.</p>
-
-<p>The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)</p>
-
-<p>"Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.</p>
-
-<p>Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.</p>
-
-<p>1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.</p>
-
-<p>You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.</p>
-
-<p>2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:</p>
-
-<blockquote>
-
-	<p>a)	The modified work must itself be a software library.<br />
-	b)  You must cause the files modified to carry prominent notices
-        stating that you changed the files and the date of any change.<br />
-	c)  You must cause the whole of the work to be licensed at no
-        charge to all third parties under the terms of this License.<br />
-	d)  If a facility in the modified Library refers to a function or a
-        table of data to be supplied by an application program that uses
-        the facility, other than as an argument passed when the facility
-        is invoked, then you must make a good faith effort to ensure that,
-        in the event an application does not supply such function or
-        table, the facility still operates, and performs whatever part of
-        its purpose remains meaningful.</p>
-       
-	    <p>(For example, a function in a library to compute square roots has
-        a purpose that is entirely well-defined independent of the
-        application.  Therefore, Subsection 2d requires that any
-        application-supplied function or table used by this function must
-        be optional: if the application does not supply it, the square
-        root function must still compute square roots.)</p>
-       
-        <p>These requirements apply to the modified work as a whole.  If
-        identifiable sections of that work are not derived from the Library,
-        and can be reasonably considered independent and separate works in
-        themselves, then this License, and its terms, do not apply to those
-        sections when you distribute them as separate works.  But when you
-        distribute the same sections as part of a whole which is a work based
-        on the Library, the distribution of the whole must be on the terms of
-        this License, whose permissions for other licensees extend to the
-        entire whole, and thus to each and every part regardless of who wrote
-        it.</p>
-       
-        <p>Thus, it is not the intent of this section to claim rights or contest
-        your rights to work written entirely by you; rather, the intent is to
-        exercise the right to control the distribution of derivative or
-        collective works based on the Library.</p>
-       
-        <p>In addition, mere aggregation of another work not based on the Library
-        with the Library (or with a work based on the Library) on a volume of
-        a storage or distribution medium does not bring the other work under
-        the scope of this License.</p>
-
-</blockquote>
-
-<p>3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.</p>
-
-<p>Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.</p>
-
-<p>This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.</p>
-
-<p>4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.</p>
-
-<p>If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.</p>
-
-<p>5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.</p>
-
-<p>However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.</p>
-
-<p>When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.</p>
-
-<p>If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)</p>
-
-<p>Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.</p>
-
-<p>6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.</p>
-
-<p>You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:</p>
-	
-	<blockquote>
-	
-	<p>a)  Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)</p>
-	 
-    <p>b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.</p>
-
-    <p>c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.</p>
-
-    <p>d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.</p>
-
-    <p>e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.</p>
-
-	</blockquote>
-	
-<p>For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.</p>
-
-<p>It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.</p>
-
-<p>7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:</p>
-
-<blockquote>
-
-	<p>a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.</p>
-
-    <p>b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.</p>
-
-</blockquote>
-
-<p>8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.</p>
-
-<p>9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.</p>
-
-<p>10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.</p>
-
-<p>11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.</p>
-
-<p>If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.</p>
-
-<p>It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.</p>
-
-<p>This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.</p>
-
-<p>12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.</p>
-
-<p>13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.</p>
-
-<p>Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.</p>
-
-<p>14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.</p>
-
-<p>NO WARRANTY</p>
-
-<p>15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>
-
-<p>16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.</p>
-
-<p>END OF TERMS AND CONDITIONS</p>
-
-</tt>
-
-</pre>
-	
-	</td>
-	
-	<td width=25% bgcolor="#BFBFBF" valign="top">
-	
-	<font face="Arial, Helvetica, sans serif" size="2">
-	
-	<p><a href="index.html">Licenses main page</a></p>
-	
-	<p />
-	
-	<hr>
-	
-	<p><a href="../index.html">opensource.org home page</a></p>
-	
-</tr>
-
-</table>
-
-</div>
-
-</body>
-
-</html>
diff --git a/jhotdraw6/lib/batik-awt-util.jar b/jhotdraw6/lib/batik-awt-util.jar
deleted file mode 100755
index b62ac15866e1511e1580c9819b081bcb4814becf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 369001
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%0D{lB(t{LT*wU)@ys9<bM9
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

diff --git a/jhotdraw6/lib/batik-dom.jar b/jhotdraw6/lib/batik-dom.jar
deleted file mode 100755
index bf144ab070ce2acf381894bb8f301837a8c4c63f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 87407
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

diff --git a/jhotdraw6/lib/batik-svggen.jar b/jhotdraw6/lib/batik-svggen.jar
deleted file mode 100755
index 819f2da07a4add1334ad37e333ddb38bae66bf9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 164659
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%0A_s
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
b4nGL+W@Q68a2dlgh7C3h47qMh3=9ka3AS%4

diff --git a/jhotdraw6/nbproject/build-impl.xml b/jhotdraw6/nbproject/build-impl.xml
deleted file mode 100644
index 9abbe458e..000000000
--- a/jhotdraw6/nbproject/build-impl.xml
+++ /dev/null
@@ -1,547 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*** GENERATED FROM project.xml - DO NOT EDIT  ***
-***         EDIT ../build.xml INSTEAD         ***
-
-For the purpose of easier reading the script
-is divided into following sections:
-
-  - initialization
-  - compilation
-  - jar
-  - execution
-  - debugging
-  - javadoc
-  - junit compilation
-  - junit execution
-  - junit debugging
-  - applet
-  - cleanup
-
--->
-<project name="JHotDraw6-impl" default="default" basedir=".." xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:j2seproject2="http://www.netbeans.org/ns/j2se-project/2" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:jaxws="http://www.netbeans.org/ns/jax-ws/1">
-    <target name="default" depends="test,jar,javadoc" description="Build and test whole project."/>
-    <!-- 
-    ======================
-    INITIALIZATION SECTION 
-    ======================
-    -->
-    <target name="-pre-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="-init-private" depends="-pre-init">
-        <property file="nbproject/private/private.properties"/>
-    </target>
-    <target name="-init-user" depends="-pre-init,-init-private">
-        <property file="${user.properties.file}"/>
-        <!-- The two properties below are usually overridden -->
-        <!-- by the active platform. Just a fallback. -->
-        <property name="default.javac.source" value="1.4"/>
-        <property name="default.javac.target" value="1.4"/>
-    </target>
-    <target name="-init-project" depends="-pre-init,-init-private,-init-user">
-        <property file="nbproject/project.properties"/>
-    </target>
-    <target name="-do-init" depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property">
-        <available file="${manifest.file}" property="manifest.available"/>
-        <condition property="manifest.available+main.class">
-            <and>
-                <isset property="manifest.available"/>
-                <isset property="main.class"/>
-                <not>
-                    <equals arg1="${main.class}" arg2="" trim="true"/>
-                </not>
-            </and>
-        </condition>
-        <condition property="manifest.available+main.class+mkdist.available">
-            <and>
-                <istrue value="${manifest.available+main.class}"/>
-                <isset property="libs.CopyLibs.classpath"/>
-            </and>
-        </condition>
-        <condition property="have.tests">
-            <or>
-                <available file="${test.java.dir}"/>
-            </or>
-        </condition>
-        <condition property="have.sources">
-            <or>
-                <available file="${src.dir}"/>
-                <available file="${src.resources.dir}"/>
-            </or>
-        </condition>
-        <condition property="netbeans.home+have.tests">
-            <and>
-                <isset property="netbeans.home"/>
-                <isset property="have.tests"/>
-            </and>
-        </condition>
-        <condition property="no.javadoc.preview">
-            <isfalse value="${javadoc.preview}"/>
-        </condition>
-        <property name="run.jvmargs" value=""/>
-        <property name="javac.compilerargs" value=""/>
-        <property name="work.dir" value="${basedir}"/>
-        <condition property="no.deps">
-            <and>
-                <istrue value="${no.dependencies}"/>
-            </and>
-        </condition>
-        <property name="javac.debug" value="true"/>
-        <property name="javadoc.preview" value="true"/>
-    </target>
-    <target name="-post-init">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="-init-check" depends="-pre-init,-init-private,-init-user,-init-project,-do-init">
-        <fail unless="src.dir">Must set src.dir</fail>
-        <fail unless="src.resources.dir">Must set src.resources.dir</fail>
-        <fail unless="test.java.dir">Must set test.java.dir</fail>
-        <fail unless="build.dir">Must set build.dir</fail>
-        <fail unless="dist.dir">Must set dist.dir</fail>
-        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
-        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
-        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
-        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
-        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
-        <fail unless="dist.jar">Must set dist.jar</fail>
-    </target>
-    <target name="-init-macrodef-property">
-        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="name"/>
-            <attribute name="value"/>
-            <sequential>
-                <property name="@{name}" value="${@{value}}"/>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-javac">
-        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute name="srcdir" default="${src.dir}:${src.resources.dir}"/>
-            <attribute name="destdir" default="${build.classes.dir}"/>
-            <attribute name="classpath" default="${javac.classpath}"/>
-            <attribute name="debug" default="${javac.debug}"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <javac srcdir="@{srcdir}" destdir="@{destdir}" debug="@{debug}" deprecation="${javac.deprecation}" source="${javac.source}" target="${javac.target}" includeantruntime="false">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <compilerarg line="${javac.compilerargs}"/>
-                    <customize/>
-                </javac>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-junit">
-        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute name="includes" default="**/*Test.java"/>
-            <sequential>
-                <junit showoutput="true" fork="true" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed">
-                    <batchtest todir="${build.test.results.dir}">
-                        <fileset dir="${test.java.dir}" includes="@{includes}"/>
-                    </batchtest>
-                    <classpath>
-                        <path path="${run.test.classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="test-sys-prop."/>
-                        <mapper type="glob" from="test-sys-prop.*" to="*"/>
-                    </syspropertyset>
-                    <formatter type="brief" usefile="false"/>
-                    <formatter type="xml"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                </junit>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-nbjpda">
-        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="name" default="${main.class}"/>
-            <attribute name="classpath" default="${debug.classpath}"/>
-            <attribute name="stopclassname" default=""/>
-            <sequential>
-                <nbjpdastart transport="dt_socket" addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}">
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                </nbjpdastart>
-            </sequential>
-        </macrodef>
-        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="dir" default="${build.classes.dir}"/>
-            <sequential>
-                <nbjpdareload>
-                    <fileset includes="${fix.includes}*.class" dir="@{dir}"/>
-                </nbjpdareload>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-debug">
-        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
-            <attribute name="classname" default="${main.class}"/>
-            <attribute name="classpath" default="${debug.classpath}"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java fork="true" classname="@{classname}" dir="${work.dir}">
-                    <jvmarg value="-Xdebug"/>
-                    <jvmarg value="-Xnoagent"/>
-                    <jvmarg value="-Djava.compiler=none"/>
-                    <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
-                    <jvmarg line="${run.jvmargs}"/>
-                    <classpath>
-                        <path path="@{classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper type="glob" from="run-sys-prop.*" to="*"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-macrodef-java">
-        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <attribute name="classname" default="${main.class}"/>
-            <element name="customize" optional="true"/>
-            <sequential>
-                <java fork="true" classname="@{classname}" dir="${work.dir}">
-                    <jvmarg line="${run.jvmargs}"/>
-                    <classpath>
-                        <path path="${run.classpath}"/>
-                    </classpath>
-                    <syspropertyset>
-                        <propertyref prefix="run-sys-prop."/>
-                        <mapper type="glob" from="run-sys-prop.*" to="*"/>
-                    </syspropertyset>
-                    <customize/>
-                </java>
-            </sequential>
-        </macrodef>
-    </target>
-    <target name="-init-presetdef-jar">
-        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
-            <jar jarfile="${dist.jar}" compress="${jar.compress}">
-                <j2seproject1:fileset dir="${build.classes.dir}"/>
-            </jar>
-        </presetdef>
-    </target>
-    <target name="init" depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar"/>
-    <!--
-    ===================
-    COMPILATION SECTION
-    ===================
-    -->
-    <target name="deps-jar" depends="init" unless="no.deps"/>
-    <target name="-pre-pre-compile" depends="init,deps-jar">
-        <mkdir dir="${build.classes.dir}"/>
-    </target>
-    <target name="-pre-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="-do-compile" depends="init,deps-jar,-pre-pre-compile,-pre-compile" if="have.sources">
-        <j2seproject3:javac/>
-        <copy todir="${build.classes.dir}">
-            <fileset dir="${src.dir}" excludes="${build.classes.excludes}"/>
-            <fileset dir="${src.resources.dir}" excludes="${build.classes.excludes}"/>
-        </copy>
-    </target>
-    <target name="-post-compile">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="compile" depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project."/>
-    <target name="-pre-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="-do-compile-single" depends="init,deps-jar,-pre-pre-compile">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:javac>
-            <customize>
-                <patternset includes="${javac.includes}"/>
-            </customize>
-        </j2seproject3:javac>
-    </target>
-    <target name="-post-compile-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="compile-single" depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single"/>
-    <!--
-    ====================
-    JAR BUILDING SECTION
-    ====================
-    -->
-    <target name="-pre-pre-jar" depends="init">
-        <dirname property="dist.jar.dir" file="${dist.jar}"/>
-        <mkdir dir="${dist.jar.dir}"/>
-    </target>
-    <target name="-pre-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="-do-jar-without-manifest" depends="init,compile,-pre-pre-jar,-pre-jar" unless="manifest.available">
-        <j2seproject1:jar/>
-    </target>
-    <target name="-do-jar-with-manifest" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" unless="manifest.available+main.class">
-        <j2seproject1:jar manifest="${manifest.file}"/>
-    </target>
-    <target name="-do-jar-with-mainclass" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" unless="manifest.available+main.class+mkdist.available">
-        <j2seproject1:jar manifest="${manifest.file}">
-            <j2seproject1:manifest>
-                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
-            </j2seproject1:manifest>
-        </j2seproject1:jar>
-        <echo>To run this application from the command line without Ant, try:</echo>
-        <property name="build.classes.dir.resolved" location="${build.classes.dir}"/>
-        <property name="dist.jar.resolved" location="${dist.jar}"/>
-        <pathconvert property="run.classpath.with.dist.jar">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
-        </pathconvert>
-        <echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
-    </target>
-    <target name="-do-jar-with-libraries" depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available">
-        <property name="build.classes.dir.resolved" location="${build.classes.dir}"/>
-        <pathconvert property="run.classpath.without.build.classes.dir">
-            <path path="${run.classpath}"/>
-            <map from="${build.classes.dir.resolved}" to=""/>
-        </pathconvert>
-        <pathconvert property="jar.classpath" pathsep=" ">
-            <path path="${run.classpath.without.build.classes.dir}"/>
-            <chainedmapper>
-                <flattenmapper/>
-                <globmapper from="*" to="lib/*"/>
-            </chainedmapper>
-        </pathconvert>
-        <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" name="copylibs" classpath="${libs.CopyLibs.classpath}"/>
-        <copylibs manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}" jarfile="${dist.jar}" compress="${jar.compress}">
-            <fileset dir="${build.classes.dir}"/>
-            <manifest>
-                <attribute name="Main-Class" value="${main.class}"/>
-                <attribute name="Class-Path" value="${jar.classpath}"/>
-            </manifest>
-        </copylibs>
-        <echo>To run this application from the command line without Ant, try:</echo>
-        <property name="dist.jar.resolved" location="${dist.jar}"/>
-        <echo>java -jar "${dist.jar.resolved}"</echo>
-    </target>
-    <target name="-post-jar">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="jar" depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR."/>
-    <!--
-    =================
-    EXECUTION SECTION
-    =================
-    -->
-    <target name="run" depends="init,compile" description="Run a main class.">
-        <j2seproject1:java>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <target name="run-single" depends="init,compile-single">
-        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
-        <j2seproject1:java classname="${run.class}"/>
-    </target>
-    <!--
-    =================
-    DEBUGGING SECTION
-    =================
-    -->
-    <target name="-debug-start-debugger" if="netbeans.home" depends="init">
-        <j2seproject1:nbjpdastart name="${debug.class}"/>
-    </target>
-    <target name="-debug-start-debuggee" depends="init,compile">
-        <j2seproject3:debug>
-            <customize>
-                <arg line="${application.args}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target name="debug" if="netbeans.home" depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE."/>
-    <target name="-debug-start-debugger-stepinto" if="netbeans.home" depends="init">
-        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
-    </target>
-    <target name="debug-stepinto" if="netbeans.home" depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee"/>
-    <target name="-debug-start-debuggee-single" if="netbeans.home" depends="init,compile-single">
-        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
-        <j2seproject3:debug classname="${debug.class}"/>
-    </target>
-    <target name="debug-single" if="netbeans.home" depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single"/>
-    <target name="-pre-debug-fix" depends="init">
-        <fail unless="fix.includes">Must set fix.includes</fail>
-        <property name="javac.includes" value="${fix.includes}.java"/>
-    </target>
-    <target name="-do-debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,compile-single">
-        <j2seproject1:nbjpdareload/>
-    </target>
-    <target name="debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix"/>
-    <!--
-    ===============
-    JAVADOC SECTION
-    ===============
-    -->
-    <target name="-javadoc-build" depends="init">
-        <mkdir dir="${dist.javadoc.dir}"/>
-        <javadoc destdir="${dist.javadoc.dir}" source="${javac.source}" notree="${javadoc.notree}" use="${javadoc.use}" nonavbar="${javadoc.nonavbar}" noindex="${javadoc.noindex}" splitindex="${javadoc.splitindex}" author="${javadoc.author}" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}" private="${javadoc.private}" additionalparam="${javadoc.additionalparam}" failonerror="true" useexternalfile="true">
-            <classpath>
-                <path path="${javac.classpath}"/>
-            </classpath>
-            <sourcepath>
-                <pathelement location="${src.dir}"/>
-                <pathelement location="${src.resources.dir}"/>
-            </sourcepath>
-            <packageset dir="${src.dir}" includes="*/**"/>
-            <packageset dir="${src.resources.dir}" includes="*/**"/>
-            <fileset dir="${src.dir}" includes="*.java"/>
-            <fileset dir="${src.resources.dir}" includes="*.java"/>
-        </javadoc>
-    </target>
-    <target name="-javadoc-browse" if="netbeans.home" unless="no.javadoc.preview" depends="init,-javadoc-build">
-        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
-    </target>
-    <target name="javadoc" depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc."/>
-    <!--
-    =========================
-    JUNIT COMPILATION SECTION
-    =========================
-    -->
-    <target name="-pre-pre-compile-test" if="have.tests" depends="init,compile">
-        <mkdir dir="${build.test.classes.dir}"/>
-    </target>
-    <target name="-pre-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="-do-compile-test" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test">
-        <j2seproject3:javac srcdir="${test.java.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}"/>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.java.dir}" excludes="**/*.java"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="compile-test" depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test"/>
-    <target name="-pre-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="-do-compile-test-single" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single">
-        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
-        <j2seproject3:javac srcdir="${test.java.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}">
-            <customize>
-                <patternset includes="${javac.includes}"/>
-            </customize>
-        </j2seproject3:javac>
-        <copy todir="${build.test.classes.dir}">
-            <fileset dir="${test.java.dir}" excludes="**/*.java"/>
-        </copy>
-    </target>
-    <target name="-post-compile-test-single">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="compile-test-single" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single"/>
-    <!--
-    =======================
-    JUNIT EXECUTION SECTION
-    =======================
-    -->
-    <target name="-pre-test-run" if="have.tests" depends="init">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target name="-do-test-run" if="have.tests" depends="init,compile-test,-pre-test-run">
-        <j2seproject3:junit/>
-    </target>
-    <target name="-post-test-run" if="have.tests" depends="init,compile-test,-pre-test-run,-do-test-run">
-        <fail if="tests.failed">Some tests failed; see details above.</fail>
-    </target>
-    <target name="test-report" if="have.tests" depends="init"/>
-    <target name="-test-browse" if="netbeans.home+have.tests" depends="init"/>
-    <target name="test" depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests."/>
-    <target name="-pre-test-run-single" if="have.tests" depends="init">
-        <mkdir dir="${build.test.results.dir}"/>
-    </target>
-    <target name="-do-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single">
-        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
-        <j2seproject3:junit includes="${test.includes}"/>
-    </target>
-    <target name="-post-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single">
-        <fail if="tests.failed">Some tests failed; see details above.</fail>
-    </target>
-    <target name="test-single" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test."/>
-    <!--
-    =======================
-    JUNIT DEBUGGING SECTION
-    =======================
-    -->
-    <target name="-debug-start-debuggee-test" if="have.tests" depends="init,compile-test">
-        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
-        <j2seproject3:debug classname="junit.textui.TestRunner" classpath="${debug.test.classpath}">
-            <customize>
-                <arg line="${test.class}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target name="-debug-start-debugger-test" if="netbeans.home+have.tests" depends="init,compile-test">
-        <j2seproject1:nbjpdastart name="${test.class}" classpath="${debug.test.classpath}"/>
-    </target>
-    <target name="debug-test" depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test"/>
-    <target name="-do-debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,compile-test-single">
-        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
-    </target>
-    <target name="debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix-test"/>
-    <!--
-    =========================
-    APPLET EXECUTION SECTION
-    =========================
-    -->
-    <target name="run-applet" depends="init,compile-single">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject1:java classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject1:java>
-    </target>
-    <!--
-    =========================
-    APPLET DEBUGGING  SECTION
-    =========================
-    -->
-    <target name="-debug-start-debuggee-applet" if="netbeans.home" depends="init,compile-single">
-        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
-        <j2seproject3:debug classname="sun.applet.AppletViewer">
-            <customize>
-                <arg value="${applet.url}"/>
-            </customize>
-        </j2seproject3:debug>
-    </target>
-    <target name="debug-applet" if="netbeans.home" depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet"/>
-    <!--
-    ===============
-    CLEANUP SECTION
-    ===============
-    -->
-    <target name="deps-clean" depends="init" unless="no.deps"/>
-    <target name="-do-clean" depends="init">
-        <delete dir="${build.dir}"/>
-        <delete dir="${dist.dir}"/>
-    </target>
-    <target name="-post-clean">
-        <!-- Empty placeholder for easier customization. -->
-        <!-- You can override this target in the ../build.xml file. -->
-    </target>
-    <target name="clean" depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products."/>
-</project>
diff --git a/jhotdraw6/nbproject/genfiles.properties b/jhotdraw6/nbproject/genfiles.properties
deleted file mode 100644
index 56237f378..000000000
--- a/jhotdraw6/nbproject/genfiles.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-build.xml.data.CRC32=7762c684
-build.xml.script.CRC32=79add0a4
-build.xml.stylesheet.CRC32=240b97a2
-# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
-# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=7762c684
-nbproject/build-impl.xml.script.CRC32=7dad40ab
-nbproject/build-impl.xml.stylesheet.CRC32=20b9345e
diff --git a/jhotdraw6/nbproject/project.properties b/jhotdraw6/nbproject/project.properties
deleted file mode 100644
index 3a0926814..000000000
--- a/jhotdraw6/nbproject/project.properties
+++ /dev/null
@@ -1,64 +0,0 @@
-application.args=
-build.classes.dir=${build.dir}/classes
-build.classes.excludes=**/*.java,**/*.form
-# This directory is removed when the project is cleaned:
-build.dir=build
-build.generated.dir=${build.dir}/generated
-# Only compile against the classpath explicitly listed here:
-build.sysclasspath=ignore
-build.test.classes.dir=${build.dir}/test/classes
-build.test.results.dir=${build.dir}/test/results
-debug.classpath=\
-    ${run.classpath}
-debug.test.classpath=\
-    ${run.test.classpath}
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/JHotDraw6.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-file.reference.batik-awt-util.jar=lib/batik-awt-util.jar
-file.reference.batik-dom.jar=lib/batik-dom.jar
-file.reference.batik-svggen.jar=lib/batik-svggen.jar
-file.reference.main-java=src/main/java
-jar.compress=false
-javac.classpath=\
-    ${file.reference.batik-dom.jar}:\
-    ${file.reference.batik-svggen.jar}:\
-    ${file.reference.batik-awt-util.jar}
-# Space-separated list of extra javac options
-javac.compilerargs=
-javac.deprecation=false
-javac.source=1.5
-javac.target=1.5
-javac.test.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}:\
-    ${libs.junit.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-main.class=org.jhotdraw.samples.mini.ConnectingFiguresSample
-manifest.file=manifest.mf
-meta.inf.dir=${src.dir}/META-INF
-platform.active=default_platform
-run.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-# Space-separated list of JVM arguments used when running the project
-# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
-# or test-sys-prop.name=value to set system properties for unit tests):
-run.jvmargs=
-run.test.classpath=\
-    ${javac.test.classpath}:\
-    ${build.test.classes.dir}
-src.dir=${file.reference.main-java}
-src.resources.dir=src/main/resources
-test.java.dir=src/test/java
diff --git a/jhotdraw6/nbproject/project.xml b/jhotdraw6/nbproject/project.xml
deleted file mode 100644
index 1fb229b86..000000000
--- a/jhotdraw6/nbproject/project.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.java.j2seproject</type>
-    <configuration>
-        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>JHotDraw6</name>
-            <minimum-ant-version>1.6.5</minimum-ant-version>
-            <source-roots>
-                <root id="src.dir"/>
-                <root id="src.resources.dir"/>
-            </source-roots>
-            <test-roots>
-                <root id="test.java.dir"/>
-            </test-roots>
-        </data>
-    </configuration>
-</project>
diff --git a/jhotdraw6/run_javadraw.bat b/jhotdraw6/run_javadraw.bat
deleted file mode 100644
index 01e20b6cc..000000000
--- a/jhotdraw6/run_javadraw.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-@echo off
-
-call compile_ant javadraw
diff --git a/jhotdraw6/setenv.bat b/jhotdraw6/setenv.bat
deleted file mode 100644
index ca4a20ba1..000000000
--- a/jhotdraw6/setenv.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-set JAVA_HOME=C:\progra~1\jdk1.4.0
-set ANT_HOME=C:\ant
diff --git a/jhotdraw6/src/main/J2EE/org/jhotdraw/util/JDOStorageFormat.java b/jhotdraw6/src/main/J2EE/org/jhotdraw/util/JDOStorageFormat.java
deleted file mode 100644
index 9c1f270c0..000000000
--- a/jhotdraw6/src/main/J2EE/org/jhotdraw/util/JDOStorageFormat.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * @(#)SerializationStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.StandardDrawing;
-
-import java.io.*;
-import java.util.*;
-import java.util.List;
-import java.awt.*;
-
-import javax.jdo.*;
-import javax.swing.*;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.event.ListSelectionEvent;
-
-
-/**
- * @author Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class JDOStorageFormat extends StandardStorageFormat {
-
-	private Map pms;
-
-	/**
-	 * Create a SerialzationStorageFormat for storing and restoring Drawings.
-	 */
-	public JDOStorageFormat() {
-		super();
-		pms = CollectionsFactory.current().createMap();
-		// close database connection when application exits
-		Runtime.getRuntime().addShutdownHook(new Thread() {
-			public void run() {
-				Iterator iter = pms.values().iterator();
-//				while (iter.hasNext()) {
-//					((PersistenceManager)iter.next()).close();
-//				}
-			}
-		});
-	}
-
-	/**
-	 * Factory method to create the file extension recognized by the FileFilter for this
-	 * SerializationStorageFormat. The SerializationStorageFormat has the file extension "ser"
-	 * (e.g. my_picasso.ser).
-	 *
-	 * @return new file extension
-	 */
-	protected String createFileExtension() {
-		return "j2";
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return new file description
-	 */
-	public String createFileDescription() {
-		return "Database (" + getFileExtension() + ")";
-	}
-
-	/**
-	 * @see org.jhotdraw.util.StorageFormat#isRestoreFormat()
-	 */
-	public boolean isRestoreFormat() {
-		return true;
-	}
-
-	/**
-	 * @see org.jhotdraw.util.StorageFormat#isStoreFormat()
-	 */
-	public boolean isStoreFormat() {
-		return true;
-	}
-
-	/**
-	 * Store a Drawing under a given name. The name should be valid with regard to the FileFilter
-	 * that means, it should already contain the appropriate file extension.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param storeDrawing drawing to be saved
-	 */
-	public String store(String fileName, Drawing storeDrawing) throws IOException {
-		PersistenceManager pm = getPersistenceManager(fileName);
-		String drawingName = null;
-
-		Drawing txnDrawing = crossTxnBoundaries(storeDrawing);
-		endTransaction(pm, false);
-
-		startTransaction(pm);
-		try {
-			Extent extent = pm.getExtent(StandardDrawing.class, true);
-			DrawingListModel listModel = new DrawingListModel(extent.iterator());
-			drawingName = showStoreDialog(listModel, storeDrawing);
-			if (drawingName != null) {
-				storeDrawing.setTitle(drawingName);
-				txnDrawing.setTitle(drawingName);
-				pm.makePersistent(txnDrawing);
-			}
-		}
-		finally {
-			endTransaction(pm, (drawingName != null));
-		}
-
-		// there must be always a transaction running
-		startTransaction(pm);
-		return drawingName;
-	}
-
-	/**
-	 * Restore a Drawing from a file with a given name. The name must be should with regard to the
-	 * FileFilter that means, it should have the appropriate file extension.
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public synchronized Drawing restore(String fileName) throws IOException {
-		PersistenceManager pm = getPersistenceManager(fileName);
-
-		endTransaction(pm, false);
-		startTransaction(pm);
-		Drawing restoredDrawing  = null;
-
-		try {
-			Extent extent = pm.getExtent(StandardDrawing.class, true);
-			DrawingListModel listModel = new DrawingListModel(extent.iterator());
-			Drawing txnDrawing = showRestoreDialog(listModel);
-			if (txnDrawing != null) {
-//				pm.retrieve(txnDrawing);
-//				retrieveAll(pm, (StandardDrawing)txnDrawing);
-//				restoredDrawing = crossTxnBoundaries(txnDrawing);
-				restoredDrawing = txnDrawing;
-			}
-		}
-		finally {
-			endTransaction(pm, false);
-		}
-
-		// there must be always a transaction running
-		startTransaction(pm);
-		return restoredDrawing;
-	}
-
-	private void retrieveAll(PersistenceManager pm, Figure figure) {
-		pm.retrieve(figure);
-		FigureEnumeration fe = figure.figures();
-		while (fe.hasNextFigure()) {
-			retrieveAll(pm, fe.nextFigure());
-		}
-	}
-
-	private Drawing crossTxnBoundaries(Drawing originalDrawing) {
-		return (Drawing)((StandardDrawing)originalDrawing).clone();
-//		return originalDrawing;
-	}
-
-	private synchronized PersistenceManager getPersistenceManager(String fileName) {
-		PersistenceManager pm = (PersistenceManager)pms.get(fileName);
-		if (pm == null) {
-			pm = createPersistenceManagerFactory(fileName).getPersistenceManager();
-			pms.put(fileName, pm);
-		}
-		return pm;
-	}
-
-	private PersistenceManagerFactory createPersistenceManagerFactory(String dbFileName) {
-		Properties pmfProps = new Properties();
-
-        pmfProps.put(
-            "javax.jdo.PersistenceManagerFactoryClass",
-            "com.poet.jdo.PersistenceManagerFactories" );
-        pmfProps.put(
-            "javax.jdo.option.ConnectionURL",
-            "fastobjects://LOCAL/MyBase.j1" );
-        final PersistenceManagerFactory pmf =
-            JDOHelper.getPersistenceManagerFactory( pmfProps );
-
-		return pmf;
-	}
-
-	private static void startTransaction(PersistenceManager pm) {
-		if (!pm.currentTransaction().isActive()) {
-			pm.currentTransaction().begin();
-		}
-	}
-
-	private static void endTransaction(PersistenceManager pm, boolean doCommit) {
-		if (pm.currentTransaction().isActive()) {
-			if (doCommit) {
-				pm.currentTransaction().commit();
-			}
-			else {
-				pm.currentTransaction().rollback();
-			}
-		}
-	}
-
-	private String showStoreDialog(ListModel listModel, Drawing storeDrawing) {
-		final String msgString = "Specify a name for the drawing";
-
-		final JTextField nameTextField = new JTextField(storeDrawing.getTitle());
-		final JList dataList = new JList(listModel);
-		final JScrollPane dbContentScrollPane = new JScrollPane(dataList);
-		Object[] guiComponents = {msgString, dbContentScrollPane, nameTextField};
-
-		dataList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-		dataList.setValueIsAdjusting(true);
-		dataList.addListSelectionListener(new ListSelectionListener() {
-            public void valueChanged(ListSelectionEvent e) {
-				nameTextField.setText(dataList.getSelectedValue().toString());
-			}
-		});
-
-		final JOptionPane optionPane = new JOptionPane(
-			guiComponents,
-			JOptionPane.PLAIN_MESSAGE,
-			JOptionPane.OK_CANCEL_OPTION);
-
-		final JDialog dialog = optionPane.createDialog(null, "Restore a drawing from the database");
-//		dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
-//		dialog.addWindowListener(new WindowAdapter() {
-//			public void windowClosing(WindowEvent we) {
-//				System.exit(0);
-//			}
-//		});
-		dialog.setVisible(true);
-		if ((optionPane.getValue() != null) && (optionPane.getValue().equals(new Integer(JOptionPane.OK_OPTION)))) {
-			return nameTextField.getText();
-		}
-		else {
-			return null;
-		}
-	}
-
-	private Drawing showRestoreDialog(DrawingListModel listModel) {
-		final String msgString = "Select a drawing";
-
-		final JList dataList = new JList(listModel);
-		final JScrollPane dbContentScrollPane = new JScrollPane(dataList);
-		Object[] guiComponents = {msgString, dbContentScrollPane};
-
-		dataList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-		dataList.setValueIsAdjusting(true);
-
-		final JOptionPane optionPane = new JOptionPane(
-			guiComponents,
-			JOptionPane.PLAIN_MESSAGE,
-			JOptionPane.OK_CANCEL_OPTION);
-
-		final JDialog dialog = optionPane.createDialog(null, "Restore a drawing from the database");
-		dialog.setVisible(true);
-		if ((optionPane.getValue() != null)
-				&& (optionPane.getValue().equals(new Integer(JOptionPane.OK_OPTION)))
-				&& (dataList.getSelectedIndex() >= 0)
-				&& (dataList.getSelectedIndex() < dataList.getModel().getSize())) {
-			return listModel.getDrawingAt(dataList.getSelectedIndex());
-		}
-		else {
-			return null;
-		}
-	}
-
-	static class DrawingListModel extends AbstractListModel {
-		private List myList;
-
-		DrawingListModel(Iterator iter) {
-			myList = CollectionsFactory.current().createList();
-			while (iter.hasNext()) {
-				Object o = iter.next();
-				System.out.println("extent: " + o + " .. " + ((Drawing)o).getTitle());
-				myList.add(o);
-			}
-		}
-
-		public Object getElementAt(int index) {
-			return getDrawingAt(index).getTitle();
-		}
-
-		protected Drawing getDrawingAt(int index) {
-			return ((Drawing)myList.get(index));
-		}
-
-		public int getSize() {
-			return myList.size();
-		}
-	}
-
-	static class DrawingSelector extends JDialog {
-		DrawingSelector() {
-			init();
-		}
-
-		private void init() {
-			setTitle("Select Drawing");
-			getContentPane().setLayout(new BorderLayout());
-			getContentPane().add(new JLabel("Database content"), BorderLayout.NORTH);
-			setSize(200, 200);
-		}
-	}
-
-	public static void main(String[] args) {
-		DrawingSelector frame = new DrawingSelector();
-		try {
-			Drawing newDrawing = new StandardDrawing();
-			newDrawing.setTitle("TestDrawingName" + new Random(System.currentTimeMillis()).nextLong());
-			new JDOStorageFormat().store("base.j2", newDrawing);
-			System.exit(0);
-		}
-		catch (IOException e) {
-			e.printStackTrace();
-		}
-//		frame.setVisible(true);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/applet/DrawApplet.java b/jhotdraw6/src/main/java/org/jhotdraw/applet/DrawApplet.java
deleted file mode 100644
index e2fedead7..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/applet/DrawApplet.java
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- * @(#)DrawApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.applet;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
-import java.util.*;
-import java.io.*;
-import java.net.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.util.*;
-
-/**
- * DrawApplication defines a standard presentation for
- * a drawing editor that is run as an applet. The presentation is
- * customized in subclasses.<p>
- * Supported applet parameters: <br>
- * <i>DRAWINGS</i>: a blank separated list of drawing names that is
- *           shown in the drawings choice.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DrawApplet
-		extends JApplet
-		implements DrawingEditor, PaletteListener, VersionRequester {
-
-	private transient Drawing         fDrawing;
-	private transient Tool            fTool;
-
-	private transient DrawingView     fView;
-	private transient ToolButton      fDefaultToolButton;
-	private transient ToolButton      fSelectedToolButton;
-
-	private transient boolean         fSimpleUpdate;
-	private transient JButton          fUpdateButton;
-
-	private transient JComboBox          fFrameColor;
-	private transient JComboBox          fFillColor;
-	private transient JComboBox          fTextColor;
-	private transient JComboBox          fArrowChoice;
-	private transient JComboBox          fFontChoice;
-
-	private transient 			UndoManager myUndoManager;
-
-	static String                     fgUntitled = "untitled";
-
-	private static final String       fgDrawPath = "/org/jhotdraw/";
-	public static final String        IMAGES = fgDrawPath+"images/";
-
-	/**
-	 * Initializes the applet and creates its contents.
-	 */
-	public void init() {
-		createIconkit();
-		getVersionControlStrategy().assertCompatibleVersion();
-		setUndoManager(new UndoManager());
-
-		getContentPane().setLayout(new BorderLayout());
-
-		fView = createDrawingView();
-
-		JPanel attributes = createAttributesPanel();
-		createAttributeChoices(attributes);
-		getContentPane().add("North", attributes);
-
-		JPanel toolPanel = createToolPalette();
-		createTools(toolPanel);
-		getContentPane().add("West", toolPanel);
-
-		getContentPane().add("Center", (Component)view());
-		JPanel buttonPalette = createButtonPanel();
-		createButtons(buttonPalette);
-		getContentPane().add("South", buttonPalette);
-
-		initDrawing();
-		// JFC should have its own internal double buffering...
-		//setBufferedDisplayUpdate();
-		setupAttributes();
-	}
-
-	public void addViewChangeListener(ViewChangeListener vsl) {
-	}
-
-	public void removeViewChangeListener(ViewChangeListener vsl) {
-	}
-
-	protected Iconkit createIconkit() {
-		return new Iconkit(this);
-	}
-
-	/**
-	 * Creates the attributes panel.
-	 */
-	protected JPanel createAttributesPanel() {
-		JPanel panel = new JPanel();
-		panel.setLayout(new PaletteLayout(2, new Point(2,2), false));
-		return panel;
-	}
-
-	/**
-	 * Creates the attribute choices. Override to add additional
-	 * choices.
-	 */
-	protected void createAttributeChoices(JPanel panel) {
-		panel.add(new JLabel("Fill"));
-		fFillColor = createColorChoice(FigureAttributeConstant.FILL_COLOR);
-		panel.add(fFillColor);
-
-		panel.add(new JLabel("Text"));
-		fTextColor = createColorChoice(FigureAttributeConstant.TEXT_COLOR);
-		panel.add(fTextColor);
-
-		panel.add(new JLabel("Pen"));
-		fFrameColor = createColorChoice(FigureAttributeConstant.FRAME_COLOR);
-		panel.add(fFrameColor);
-
-		panel.add(new JLabel("Arrow"));
-		CommandChoice choice = new CommandChoice();
-		fArrowChoice = choice;
-		FigureAttributeConstant arrowMode = FigureAttributeConstant.ARROW_MODE;
-		choice.addItem(new ChangeAttributeCommand("none",     arrowMode, new Integer(PolyLineFigure.ARROW_TIP_NONE),  this));
-		choice.addItem(new ChangeAttributeCommand("at Start", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_START), this));
-		choice.addItem(new ChangeAttributeCommand("at End",   arrowMode, new Integer(PolyLineFigure.ARROW_TIP_END),   this));
-		choice.addItem(new ChangeAttributeCommand("at Both",  arrowMode, new Integer(PolyLineFigure.ARROW_TIP_BOTH),  this));
-		panel.add(fArrowChoice);
-
-		panel.add(new JLabel("Font"));
-		fFontChoice = createFontChoice();
-		panel.add(fFontChoice);
-	}
-
-	/**
-	 * Creates the color choice for the given attribute.
-	 */
-	protected JComboBox createColorChoice(FigureAttributeConstant attribute) {
-		CommandChoice choice = new CommandChoice();
-		for (int i = 0; i < ColorMap.size(); i++)
-			choice.addItem(
-				new ChangeAttributeCommand(
-					ColorMap.name(i),
-					attribute,
-					ColorMap.color(i),
-					this
-				)
-			);
-		return choice;
-	}
-
-	/**
-	 * Creates the font choice. The choice is filled with
-	 * all the fonts supported by the toolkit.
-	 */
-	protected JComboBox createFontChoice() {
-		CommandChoice choice = new CommandChoice();
-		String fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
-		for (int i = 0; i < fonts.length; i++) {
-			choice.addItem(new ChangeAttributeCommand(fonts[i], FigureAttributeConstant.FONT_NAME, fonts[i],  this));
-		}
-		return choice;
-	}
-
-	/**
-	 * Creates the buttons panel.
-	 */
-	protected JPanel createButtonPanel() {
-		JPanel panel = new JPanel();
-		panel.setLayout(new PaletteLayout(2, new Point(2,2), false));
-		return panel;
-	}
-
-	/**
-	 * Creates the buttons shown in the buttons panel. Override to
-	 * add additional buttons.
-	 * @param panel the buttons panel.
-	 */
-	protected void createButtons(JPanel panel) {
-		panel.add(new Filler(24,20));
-
-		JComboBox drawingChoice = new JComboBox();
-		drawingChoice.addItem(fgUntitled);
-
-		String param = getParameter("DRAWINGS");
-		if (param == null) {
-			param = "";
-		}
-		StringTokenizer st = new StringTokenizer(param);
-		while (st.hasMoreTokens()) {
-			drawingChoice.addItem(st.nextToken());
-		}
-		// offer choice only if more than one
-		if (drawingChoice.getItemCount() > 1) {
-			panel.add(drawingChoice);
-		}
-		else {
-			panel.add(new JLabel(fgUntitled));
-		}
-
-		drawingChoice.addItemListener(
-			new ItemListener() {
-				public void itemStateChanged(ItemEvent e) {
-					if (e.getStateChange() == ItemEvent.SELECTED) {
-						loadDrawing((String)e.getItem());
-					}
-				}
-			}
-		);
-
-		panel.add(new Filler(6,20));
-
-		JButton button;
-		button = new CommandButton(new DeleteCommand("Delete", this));
-		panel.add(button);
-
-		button = new CommandButton(new DuplicateCommand("Duplicate", this));
-		panel.add(button);
-
-		button = new CommandButton(new GroupCommand("Group", this));
-		panel.add(button);
-
-		button = new CommandButton(new UngroupCommand("Ungroup", this));
-		panel.add(button);
-
-		button = new JButton("Help");
-		button.addActionListener(
-			new ActionListener() {
-				public void actionPerformed(ActionEvent event) {
-					showHelp();
-				}
-			}
-		);
-		panel.add(button);
-
-		fUpdateButton = new JButton("Simple Update");
-		fUpdateButton.addActionListener(
-			new ActionListener() {
-				public void actionPerformed(ActionEvent event) {
-					if (fSimpleUpdate) {
-						setBufferedDisplayUpdate();
-					}
-					else {
-						setSimpleDisplayUpdate();
-					}
-				}
-			}
-		);
-
-		// panel.add(fUpdateButton); // not shown currently
-	}
-
-	/**
-	 * Creates the tools palette.
-	 */
-	protected JPanel createToolPalette() {
-		JPanel palette = new JPanel();
-		palette.setLayout(new PaletteLayout(2,new Point(2,2)));
-		return palette;
-	}
-
-	/**
-	 * Creates the tools. By default only the selection tool is added.
-	 * Override this method to add additional tools.
-	 * Call the inherited method to include the selection tool.
-	 * @param palette the palette where the tools are added.
-	 */
-	protected void createTools(JPanel palette) {
-		Tool tool = createSelectionTool();
-
-		fDefaultToolButton = createToolButton(IMAGES + "SEL", "Selection Tool", tool);
-		palette.add(fDefaultToolButton);
-	}
-
-	/**
-	 * Creates the selection tool used in this editor. Override to use
-	 * a custom selection tool.
-	 */
-	protected Tool createSelectionTool() {
-		return new SelectionTool(this);
-	}
-
-	/**
-	 * Creates a tool button with the given image, tool, and text
-	 */
-	protected ToolButton createToolButton(String iconName, String toolName, Tool tool) {
-		return new ToolButton(this, iconName, toolName, tool);
-	}
-
-	/**
-	 * Creates the drawing used in this application.
-	 * You need to override this method to use a Drawing
-	 * subclass in your application. By default a standard
-	 * Drawing is returned.
-	 */
-	protected Drawing createDrawing() {
-		return new StandardDrawing();
-	}
-
-	/**
-	 * Creates the drawing view used in this application.
-	 * You need to override this method to use a DrawingView
-	 * subclass in your application. By default a standard
-	 * DrawingView is returned.
-	 */
-	protected DrawingView createDrawingView() {
-		return new StandardDrawingView(this, 410, 370);
-	}
-
-	/**
-	 * Handles a user selection in the palette.
-	 * @see PaletteListener
-	 */
-	public void paletteUserSelected(PaletteButton button) {
-		ToolButton toolButton = (ToolButton) button;
-		setTool(toolButton.tool(), toolButton.name());
-		setSelected(toolButton);
-	}
-
-	/**
-	 * Handles when the mouse enters or leaves a palette button.
-	 * @see PaletteListener
-	 */
-	public void paletteUserOver(PaletteButton button, boolean inside) {
-		if (inside) {
-			showStatus(button.name());
-		}
-		else if (fSelectedToolButton != null) {
-			showStatus(fSelectedToolButton.name());
-		}
-	}
-
-	/**
-	 * Gets the current drawing.
-	 * @see DrawingEditor
-	 */
-	public Drawing drawing() {
-		return fDrawing;
-	}
-
-	/**
-	 * Gets the current tool.
-	 * @see DrawingEditor
-	 */
-	public Tool tool() {
-		return fTool;
-	}
-
-	/**
-	 * Gets the current drawing view.
-	 * @see DrawingEditor
-	 */
-	public DrawingView view() {
-		return fView;
-	}
-
-	public DrawingView[] views() {
-		return new DrawingView[] { view() } ;
-	}
-
-	/**
-	 * Sets the default tool of the editor.
-	 * @see DrawingEditor
-	 */
-	public void toolDone() {
-		setTool(fDefaultToolButton.tool(), fDefaultToolButton.name());
-		setSelected(fDefaultToolButton);
-	}
-
-	/**
-	 * Handles a change of the current selection. Updates all
-	 * menu items that are selection sensitive.
-	 * @see DrawingEditor
-	 */
-	public void figureSelectionChanged(DrawingView view) {
-		setupAttributes();
-	}
-
-	public void viewSelectionChanged(DrawingView oldView, DrawingView newView) {
-	}
-
-	private void initDrawing() {
-		fDrawing = createDrawing();
-		view().setDrawing(fDrawing);
-		toolDone();
-	}
-
-	private void setTool(Tool t, String name) {
-		if (fTool != null) {
-			fTool.deactivate();
-		}
-		fTool = t;
-		if (fTool != null) {
-			showStatus(name);
-			fTool.activate();
-		}
-	}
-
-	private void setSelected(ToolButton button) {
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.reset();
-		}
-		fSelectedToolButton = button;
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.select();
-		}
-	}
-
-	protected void loadDrawing(String param) {
-		if (param == fgUntitled) {
-			fDrawing.release();
-			initDrawing();
-			return;
-		}
-
-		String filename = getParameter(param);
-		if (filename != null) {
-			readDrawing(filename);
-		}
-	}
-
-	private void readDrawing(String filename) {
-		toolDone();
-		String type = guessType(filename);
-		if (type.equals("storable")) {
-			readFromStorableInput(filename);
-		}
-		else if (type.equals("serialized")) {
-			readFromObjectInput(filename);
-		}
-		else {
-			showStatus("Unknown file type");
-		}
-	}
-
-	private void readFromStorableInput(String filename) {
-		try {
-			URL url = new URL(getCodeBase(), filename);
-			InputStream stream = url.openStream();
-			StorableInput input = new StorableInput(stream);
-			fDrawing.release();
-
-			fDrawing = (Drawing)input.readStorable();
-			view().setDrawing(fDrawing);
-		}
-		catch (IOException e) {
-			initDrawing();
-			showStatus("Error:" + e);
-		}
-	}
-
-	private void readFromObjectInput(String filename) {
-		try {
-			URL url = new URL(getCodeBase(), filename);
-			InputStream stream = url.openStream();
-			ObjectInput input = new ObjectInputStream(stream);
-			fDrawing.release();
-			fDrawing = (Drawing)input.readObject();
-			view().setDrawing(fDrawing);
-		}
-		catch (IOException e) {
-			initDrawing();
-			showStatus("Error: " + e);
-		}
-		catch (ClassNotFoundException e) {
-			initDrawing();
-			showStatus("Class not found: " + e);
-		}
-	}
-
-	private String guessType(String file) {
-		if (file.endsWith(".draw")) {
-			return "storable";
-		}
-		if (file.endsWith(".ser")) {
-			return "serialized";
-		}
-		return "unknown";
-	}
-
-	private void setupAttributes() {
-		Color   frameColor = (Color)   AttributeFigure.getDefaultAttribute(FigureAttributeConstant.FRAME_COLOR);
-		Color   fillColor  = (Color)   AttributeFigure.getDefaultAttribute(FigureAttributeConstant.FILL_COLOR);
-		//Color   textColor  = (Color)   AttributeFigure.getDefaultAttribute(FigureAttributeConstant.TEXT_COLOR);
-		Integer arrowMode  = (Integer) AttributeFigure.getDefaultAttribute(FigureAttributeConstant.ARROW_MODE);
-		String  fontName   = (String)  AttributeFigure.getDefaultAttribute(FigureAttributeConstant.FONT_NAME);
-
-		FigureEnumeration fe = view().selection();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			frameColor = (Color) f.getAttribute(FigureAttributeConstant.FRAME_COLOR);
-			fillColor  = (Color) f.getAttribute(FigureAttributeConstant.FILL_COLOR);
-			//textColor  = (Color) f.getAttribute(FigureAttributeConstant.TEXT_COLOR);
-			arrowMode  = (Integer) f.getAttribute(FigureAttributeConstant.ARROW_MODE);
-			fontName   = (String) f.getAttribute(FigureAttributeConstant.FONT_NAME);
-		}
-
-		fFrameColor.setSelectedIndex(ColorMap.colorIndex(frameColor));
-		fFillColor.setSelectedIndex(ColorMap.colorIndex(fillColor));
-		//fTextColor.select(ColorMap.colorIndex(textColor));
-		if (arrowMode != null) {
-			fArrowChoice.setSelectedIndex(arrowMode.intValue());
-		}
-		if (fontName != null) {
-			fFontChoice.setSelectedItem(fontName);
-		}
-	}
-
-	protected void setSimpleDisplayUpdate() {
-		view().setDisplayUpdate(new SimpleUpdateStrategy());
-		fUpdateButton.setText("Simple Update");
-		fSimpleUpdate = true;
-	}
-
-	protected void setBufferedDisplayUpdate() {
-		view().setDisplayUpdate(new BufferedUpdateStrategy());
-		fUpdateButton.setText("Buffered Update");
-		fSimpleUpdate = false;
-	}
-
-	/**
-	 * Shows a help page for the applet. The URL of the help
-	 * page is derived as follows: codeBase+appletClassname+Help.html"
-	 */
-	protected void showHelp() {
-		try {
-			String appletPath = getClass().getName().replace('.', '/');
-			URL url = new URL(getCodeBase(), appletPath + "Help.html");
-			getAppletContext().showDocument(url, "Help");
-		}
-		catch (IOException e) {
-			showStatus("Help file not found");
-		}
-
-	}
-
-	protected void setUndoManager(UndoManager newUndoManager) {
-		myUndoManager = newUndoManager;
-	}
-
-	public UndoManager getUndoManager() {
-		return myUndoManager;
-	}
-
-	protected VersionControlStrategy getVersionControlStrategy() {
-		return new StandardVersionControlStrategy(this);
-	}
-
-	/**
-	 * Subclasses should override this method to specify to which versions of
-	 * JHotDraw they are compatible. A string array is returned so it is possible
-	 * to specify several version numbers of JHotDraw to which the application
-	 * is compatible with.
-	 *
-	 * @return all versions number of JHotDraw the application is compatible with.
-	 */
-	public String[] getRequiredVersions() {
-		String[] requiredVersions = new String[1];
-		// return the version of the package we are in
-		requiredVersions[0] = VersionManagement.getPackageVersion(DrawApplet.class.getPackage());
-		return requiredVersions;
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/application/DrawApplication.java b/jhotdraw6/src/main/java/org/jhotdraw/application/DrawApplication.java
deleted file mode 100644
index d3f509169..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/application/DrawApplication.java
+++ /dev/null
@@ -1,1176 +0,0 @@
-/*
- * @(#)DrawApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.application;
-
-import java.awt.*;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.io.IOException;
-import java.util.ListIterator;
-
-import javax.swing.*;
-
-import org.jhotdraw.contrib.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-/**
- * DrawApplication defines a standard presentation for
- * standalone drawing editors. The presentation is
- * customized in subclasses.
- * The application is started as follows:
- * <pre>
- * public static void main(String[] args) {
- *     MayDrawApp window = new MyDrawApp();
- *     window.open();
- * }
- * </pre>
- *
- * @version <$CURRENT_VERSION$>
- */
-public	class DrawApplication
-		extends JFrame
-		implements DrawingEditor, PaletteListener, VersionRequester {
-
-	private Tool					fTool;
-	private Iconkit					fIconkit;
-
-	private JTextField				fStatusLine;
-	private DrawingView				fView;
-	private ToolButton				fDefaultToolButton;
-	private ToolButton				fSelectedToolButton;
-
-	private String					fApplicationName;
-	private StorageFormatManager	fStorageFormatManager;
-	private UndoManager				myUndoManager;
-	protected static String			fgUntitled = "untitled";
-	/**
-	 * List is not thread safe, but should not need to be.  If it does we can 
-	 * safely synchronize the few methods that use this by synchronizing on 
-	 * the List object itself.
-	 */
-	private java.util.List			listeners;
-	private DesktopListener     fDesktopListener;
-
-	/**
-	 * This component acts as a desktop for the content.
-	 */
-	private Desktop              fDesktop;
-
-	// the image resource path
-	private static final String		fgDrawPath = "/org/jhotdraw/";
-	public static final String		IMAGES = fgDrawPath + "images/";
-	protected static int 			winCount = 0;
-
-	/**
-	 * The index of the file menu in the menu bar.
-	 */
-	public static final int			FILE_MENU = 0;
-	/**
-	 * The index of the edit menu in the menu bar.
-	 */
-	public static final int			EDIT_MENU = 1;
-	/**
-	 * The index of the alignment menu in the menu bar.
-	 */
-	public static final int			ALIGNMENT_MENU = 2;
-	/**
-	 * The index of the attributes menu in the menu bar.
-	 */
-	public static final int			ATTRIBUTES_MENU = 3;
-
-	/**
-	 * Constructs a drawing window with a default title.
-	 */
-	public DrawApplication() {
-		this("JHotDraw");
-	}
-
-	/**
-	 * Constructs a drawing window with the given title.
-	 */
-	public DrawApplication(String title) {
-		super(title);
-		listeners = CollectionsFactory.current().createList();
-		setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
-		setApplicationName(title);
-	}
-
-	/**
-	 * Factory method which can be overriden by subclasses to
-	 * create an instance of their type.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new DrawApplication();
-	}
-
-	/**
-	 * Open a new view for this application containing a
-	 * view of the drawing of the currently activated window.
-	 */
-	public void newView() {
-		if (view() == null) {
-			return;
-		}
-		DrawApplication window = createApplication();
-		window.open(view());
-		if (view().drawing().getTitle() != null ) {
-			window.setDrawingTitle(view().drawing().getTitle() + " (View)");
-		}
-		else {
-			window.setDrawingTitle(getDefaultDrawingTitle() + " (View)");
-		}
-	}
-
-	/**
-	 * Open a new window for this application containing the passed in drawing,
-	 * or a new drawing if the passed in drawing is null.
-	 */
-	public void newWindow(Drawing initialDrawing) {
-		DrawApplication window = createApplication();
-		if (initialDrawing == null) {
-			window.open();
-		}
-		else {
-			window.open(window.createDrawingView(initialDrawing));
-		}
-	}
-
-	public final void newWindow() {
-        newWindow(createDrawing());
-	}
-
-	/**
-	 * Opens a new window
-	 */
-	public void open() {
-		open(createInitialDrawingView());
-	}
-
-	/**
-	 * Opens a new window with a drawing view.
-	 */
-	protected void open(final DrawingView newDrawingView) {
-		getVersionControlStrategy().assertCompatibleVersion();
-		setUndoManager(new UndoManager());
-		setIconkit(createIconkit());
-		getContentPane().setLayout(new BorderLayout());
-
-		// status line must be created before a tool is set
-		setStatusLine(createStatusLine());
-		getContentPane().add(getStatusLine(), BorderLayout.SOUTH);
-
-		// create dummy tool until the default tool is activated during toolDone()
-		setTool(new NullTool(this), "");
-		setView(newDrawingView);
-
-		JToolBar tools = createToolPalette();
-		createTools(tools);
-
-		JPanel activePanel = new JPanel();
-		activePanel.setAlignmentX(LEFT_ALIGNMENT);
-		activePanel.setAlignmentY(TOP_ALIGNMENT);
-		activePanel.setLayout(new BorderLayout());
-		activePanel.add(tools, BorderLayout.NORTH);
-		setDesktopListener(createDesktopListener());
-		setDesktop(createDesktop());
-		activePanel.add((Component)getDesktop(), BorderLayout.CENTER);
-		getContentPane().add(activePanel, BorderLayout.CENTER);
-
-		JMenuBar mb = new JMenuBar();
-		createMenus(mb);
-		setJMenuBar(mb);
-
-		Dimension d = defaultSize();
-		if (d.width > mb.getPreferredSize().width) {
-			setSize(d.width, d.height);
-		}
-		else {
-			setSize(mb.getPreferredSize().width, d.height);
-		}
-		addListeners();
-		setStorageFormatManager(createStorageFormatManager());
-
-		//no work allowed to be done on GUI outside of AWT thread once
-		//setVislble(true) must be called before drawing added to desktop, else 
-		//DND will fail. on drawing added before with a NPE.  note however that
-		//a nulldrawingView will not fail because it is never really added to the desltop
-		setVisible(true);
-		Runnable r = new Runnable() {
-			public void run() {
-				if (newDrawingView.isInteractive()) {
-					getDesktop().addToDesktop(newDrawingView , Desktop.PRIMARY);
-				}
-				toolDone();
-			}
-		};
-
-		if (java.awt.EventQueue.isDispatchThread() == false) {
-			try {
-				java.awt.EventQueue.invokeAndWait(r);
-			}
-			catch(java.lang.InterruptedException ie) {
-				System.err.println(ie.getMessage());
-				exit();
-			}
-			catch(java.lang.reflect.InvocationTargetException ite) {
-				System.err.println(ite.getMessage());
-				exit();
-			}
-		}
-		else {
-			r.run();
-		}
-
-		toolDone();
-	}
-
-	/**
-	 * Registers the listeners for this window
-	 */
-	protected void addListeners() {
-		addWindowListener(
-			new WindowAdapter() {
-				public void windowClosing(WindowEvent event) {
-					endApp();
-				}
-
-				public void windowOpened(WindowEvent event) {
-					winCount++;
-				}
-
-				public void windowClosed(WindowEvent event) {
-					if (--winCount == 0) {
-						System.exit(0);
-					}
-				}
-			}
-		);
-	}
-
-	/**
-	 * Creates the standard menus. Clients override this
-	 * method to add additional menus.
-	 */
-	protected void createMenus(JMenuBar mb) {
-		addMenuIfPossible(mb, createFileMenu());
-		addMenuIfPossible(mb, createEditMenu());
-		addMenuIfPossible(mb, createAlignmentMenu());
-		addMenuIfPossible(mb, createAttributesMenu());
-		addMenuIfPossible(mb, createDebugMenu());
-	}
-
-	protected void addMenuIfPossible(JMenuBar mb, JMenu newMenu) {
-		if (newMenu != null) {
-			mb.add(newMenu);
-		}
-	}
-
-	/**
-	 * Creates the file menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createFileMenu() {
-		CommandMenu menu = new CommandMenu("File");
-		Command cmd = new AbstractCommand("New", this, false) {
-			public void execute() {
-				promptNew();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('n'));
-
-		cmd = new AbstractCommand("Open...", this, false) {
-			public void execute() {
-				promptOpen();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('o'));
-
-		cmd = new AbstractCommand("Save As...", this, true) {
-			public void execute() {
-				promptSaveAs();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('s'));
-		menu.addSeparator();
-
-		cmd = new AbstractCommand("Print...", this, true) {
-			public void execute() {
-				print();
-			}
-		};
-		menu.add(cmd, new MenuShortcut('p'));
-		menu.addSeparator();
-
-		cmd = new AbstractCommand("Exit", this, true) {
-			public void execute() {
-				endApp();
-			}
-		};
-		menu.add(cmd);
-		return menu;
-	}
-
-	/**
-	 * Creates the edit menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createEditMenu() {
-		CommandMenu menu = new CommandMenu("Edit");
-		menu.add(new UndoableCommand(
-			new SelectAllCommand("Select All", this)), new MenuShortcut('a'));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new CutCommand("Cut", this)), new MenuShortcut('x'));
-		menu.add(new CopyCommand("Copy", this), new MenuShortcut('c'));
-		menu.add(new UndoableCommand(
-			new PasteCommand("Paste", this)), new MenuShortcut('v'));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new DuplicateCommand("Duplicate", this)), new MenuShortcut('d'));
-		menu.add(new UndoableCommand(new DeleteCommand("Delete", this)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(new GroupCommand("Group", this)));
-		menu.add(new UndoableCommand(new UngroupCommand("Ungroup", this)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(new SendToBackCommand("Send to Back", this)));
-		menu.add(new UndoableCommand(new BringToFrontCommand("Bring to Front", this)));
-		menu.addSeparator();
-		menu.add(new UndoCommand("Undo Command", this));
-		menu.add(new RedoCommand("Redo Command", this));
-		return menu;
-	}
-
-	/**
-	 * Creates the alignment menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createAlignmentMenu() {
-		CommandMenu menu = new CommandMenu("Align");
-		menu.addCheckItem(new ToggleGridCommand("Toggle Snap to Grid", this, new Point(4,4)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.LEFTS, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.CENTERS, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.RIGHTS, this)));
-		menu.addSeparator();
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.TOPS, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.MIDDLES, this)));
-		menu.add(new UndoableCommand(
-			new AlignCommand(AlignCommand.Alignment.BOTTOMS, this)));
-		return menu;
-	}
-
-	/**
-	 * Creates the debug menu. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createDebugMenu() {
-		CommandMenu menu = new CommandMenu("Debug");
-
-		Command cmd = new AbstractCommand("Simple Update", this) {
-			public void execute() {
-				this.view().setDisplayUpdate(new SimpleUpdateStrategy());
-			}
-		};
-		menu.add(cmd);
-
-		cmd = new AbstractCommand("Buffered Update", this) {
-			public void execute() {
-				this.view().setDisplayUpdate(new BufferedUpdateStrategy());
-			}
-		};
-		menu.add(cmd);
-		return menu;
-	}
-
-	/**
-	 * Creates the attributes menu and its submenus. Clients override this
-	 * method to add additional menu items.
-	 */
-	protected JMenu createAttributesMenu() {
-		JMenu menu = new JMenu("Attributes");
-		menu.add(createColorMenu("Fill Color", FigureAttributeConstant.FILL_COLOR));
-		menu.add(createColorMenu("Pen Color", FigureAttributeConstant.FRAME_COLOR));
-		menu.add(createArrowMenu());
-		menu.addSeparator();
-		menu.add(createFontMenu());
-		menu.add(createFontSizeMenu());
-		menu.add(createFontStyleMenu());
-		menu.add(createColorMenu("Text Color", FigureAttributeConstant.TEXT_COLOR));
-		return menu;
-	}
-
-	/**
-	 * Creates the color menu.
-	 */
-	protected JMenu createColorMenu(String title, FigureAttributeConstant attribute) {
-		CommandMenu menu = new CommandMenu(title);
-		for (int i=0; i<ColorMap.size(); i++)
-			menu.add(
-				new UndoableCommand(
-					new ChangeAttributeCommand(
-						ColorMap.name(i),
-						attribute,
-						ColorMap.color(i),
-						this
-					)
-				)
-			);
-		return menu;
-	}
-
-	/**
-	 * Creates the arrows menu.
-	 */
-	protected JMenu createArrowMenu() {
-		FigureAttributeConstant arrowMode = FigureAttributeConstant.ARROW_MODE;
-		CommandMenu menu = new CommandMenu("Arrow");
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("none", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_NONE), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("at Start", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_START), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("at End", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_END), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("at Both", arrowMode, new Integer(PolyLineFigure.ARROW_TIP_BOTH), this)));
-		return menu;
-	}
-
-	/**
-	 * Creates the fonts menus. It installs all available fonts
-	 * supported by the toolkit implementation.
-	 */
-	protected JMenu createFontMenu() {
-		CommandMenu menu = new CommandMenu("Font");
-		String fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
-		for (int i = 0; i < fonts.length; i++) {
-			menu.add(new UndoableCommand(
-				new ChangeAttributeCommand(fonts[i], FigureAttributeConstant.FONT_NAME, fonts[i],  this)));
-		}
-		return menu;
-	}
-
-	/**
-	 * Creates the font style menu with entries (Plain, Italic, Bold).
-	 */
-	protected JMenu createFontStyleMenu() {
-		FigureAttributeConstant fontStyle = FigureAttributeConstant.FONT_STYLE;
-		CommandMenu menu = new CommandMenu("Font Style");
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("Plain", fontStyle, new Integer(Font.PLAIN), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("Italic", fontStyle, new Integer(Font.ITALIC), this)));
-		menu.add(new UndoableCommand(
-			new ChangeAttributeCommand("Bold", fontStyle, new Integer(Font.BOLD), this)));
-		return menu;
-	}
-
-	/**
-	 * Creates the font size menu.
-	 */
-	protected JMenu createFontSizeMenu() {
-		CommandMenu menu = new CommandMenu("Font Size");
-		int sizes[] = { 9, 10, 12, 14, 18, 24, 36, 48, 72 };
-		for (int i = 0; i < sizes.length; i++) {
-		   menu.add(
-				new UndoableCommand(
-					new ChangeAttributeCommand(
-						Integer.toString(sizes[i]),
-						FigureAttributeConstant.FONT_SIZE,
-						new Integer(sizes[i]),
-						this
-					)
-				)
-			);
-		}
-		return menu;
-	}
-
-	/**
-	 * Create a menu which allows the user to select a different look and feel at runtime.
-	 */
-	public JMenu createLookAndFeelMenu() {
-		CommandMenu menu = new CommandMenu("Look'n'Feel");
-
-		UIManager.LookAndFeelInfo[] lafs = UIManager.getInstalledLookAndFeels();
-
-		for (int i = 0; i < lafs.length; i++) {
-			final String lnfClassName = lafs[i].getClassName();
-			Command cmd = new AbstractCommand(lafs[i].getName(), this) {
-				public void execute() {
-					newLookAndFeel(lnfClassName);
-				}
-			};
-			menu.add(cmd);
-		}
-		return menu;
-	}
-
-	/**
-	 * Creates the tool palette.
-	 */
-	protected JToolBar createToolPalette() {
-		JToolBar palette = new JToolBar();
-		palette.setBackground(Color.lightGray);
-		// use standard FlowLayout for JToolBar
-		// palette.setLayout(new PaletteLayout(2,new Point(2,2)));
-		return palette;
-	}
-
-	/**
-	 * Creates the tools. By default only the selection tool is added.
-	 * Override this method to add additional tools.
-	 * Call the inherited method to include the selection tool.
-	 * @param palette the palette where the tools are added.
-	 */
-	protected void createTools(JToolBar palette) {
-		setDefaultTool(createDefaultTool());
-		palette.add(fDefaultToolButton);
-	}
-
-	/**
-	 * Creates the selection tool used in this editor. Override to use
-	 * a custom selection tool.
-	 */
-	protected Tool createSelectionTool() {
-		return new SelectionTool(this);
-	}
-
-	protected Tool createDefaultTool() {
-		return createSelectionTool();
-	}
-
-	protected void setDefaultTool(Tool newDefaultTool) {
-		if (newDefaultTool != null) {
-			fDefaultToolButton = createToolButton(IMAGES+"SEL", "Selection Tool", newDefaultTool);
-		}
-		else {
-			fDefaultToolButton = null;
-		}
-	}
-
-	public Tool getDefaultTool() {
-		if (fDefaultToolButton != null) {
-			return fDefaultToolButton.tool();
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Creates a tool button with the given image, tool, and text
-	 */
-	protected ToolButton createToolButton(String iconName, String toolName, Tool tool) {
-		return new ToolButton(this, iconName, toolName, tool);
-	}
-
-	/**
-	 * Creates the drawing view used in this application.
-	 * You need to override this method to use a DrawingView
-	 * subclass in your application. By default a standard
-	 * DrawingView is returned.
-	 */
-	protected DrawingView createDrawingView() {
-		DrawingView createdDrawingView = createDrawingView(createDrawing());
-		createdDrawingView.drawing().setTitle(getDefaultDrawingTitle());
-		return createdDrawingView;
-	}
-
-	protected DrawingView createDrawingView(Drawing newDrawing) {
-		Dimension d = getDrawingViewSize();
-		DrawingView newDrawingView = new StandardDrawingView(this, d.width, d.height);
-		newDrawingView.setDrawing(newDrawing);
-		// notify listeners about created view when the view is added to the desktop
-		//fireViewCreatedEvent(newDrawingView);
-		return newDrawingView;
-	}
-
-	/**
-	 * Create the DrawingView that is active when the application is started.
-	 * This initial DrawingView might be different from DrawingView created
-	 * by the application, so subclasses can override this method to provide
-	 * a special drawing view for application startup time, e.g. a NullDrawingView
-	 * which does not display an internal frame in a multiple document interface
-	 * (MDI) application.
-	 *
-	 * @return drawing view that is active at application startup time
-	 */
-	protected DrawingView createInitialDrawingView() {
-		return createDrawingView();
-	}
-
-	/**
-	 * Override to define the dimensions of the drawing view.
-	 */
-	protected Dimension getDrawingViewSize() {
-		return new Dimension(800, 800);
-	}
-
-	/**
-	 * Creates the drawing used in this application.
-	 * You need to override this method to use a Drawing
-	 * subclass in your application. By default a standard
-	 * Drawing is returned.
-	 */
-	protected Drawing createDrawing() {
-		return new StandardDrawing();
-	}
-
-	protected Desktop createDesktop() {
-		return new JPanelDesktop(this);
-//		return new JScrollPaneDesktop();
-	}
-
-	protected void setDesktop(Desktop newDesktop) {
-		newDesktop.addDesktopListener(getDesktopListener());
-		fDesktop = newDesktop;
-	}
-
-	/**
-	* Get the component, in which the content is embedded. This component
-	* acts as a desktop for the content.
-	*/
-	public Desktop getDesktop() {
-		return fDesktop;
-	}
-
-	/**
-	 * Factory method to create a StorageFormatManager for supported storage formats.
-	 * Different applications might want to use different storage formats and can return
-	 * their own format manager by overriding this method.
-	 */
-	public StorageFormatManager createStorageFormatManager() {
-		StorageFormatManager storageFormatManager = new StorageFormatManager();
-		storageFormatManager.setDefaultStorageFormat(new StandardStorageFormat());
-		storageFormatManager.addStorageFormat(storageFormatManager.getDefaultStorageFormat());
-		storageFormatManager.addStorageFormat(new SerializationStorageFormat());
-//		storageFormatManager.addStorageFormat(new JDOStorageFormat());
-		return storageFormatManager;
-	}
-
-	/**
-	 * Set the StorageFormatManager. The StorageFormatManager is used when storing and
-	 * restoring Drawing from the file system.
-	 */
-	protected final void setStorageFormatManager(StorageFormatManager newStorageFormatManager) {
-		fStorageFormatManager = newStorageFormatManager;
-	}
-
-	/**
-	 * Return the StorageFormatManager for this application.The StorageFormatManager is
-	 * used when storing and restoring Drawing from the file system.
-	 */
-	public StorageFormatManager getStorageFormatManager() {
-		return fStorageFormatManager;
-	}
-
-	/**
-	 * Gets the default size of the window.
-	 */
-	protected Dimension defaultSize() {
-		return new Dimension(600,450);
-	}
-
-	/**
-	 * Creates the status line.
-	 */
-	protected JTextField createStatusLine() {
-		JTextField field = new JTextField("No Tool", 40);
-		field.setBackground(Color.white);
-		field.setEditable(false);
-		return field;
-	}
-
-	protected void setStatusLine(JTextField newStatusLine) {
-		fStatusLine = newStatusLine;
-	}
-
-	protected JTextField getStatusLine() {
-		return fStatusLine;
-	}
-
-	/**
-	 * Handles a user selection in the palette.
-	 * @see PaletteListener
-	 */
-	public void paletteUserSelected(PaletteButton paletteButton) {
-		ToolButton toolButton = (ToolButton)paletteButton;
-		setTool(toolButton.tool(), toolButton.name());
-		setSelected(toolButton);
-	}
-
-	/**
-	 * Handles when the mouse enters or leaves a palette button.
-	 * @see PaletteListener
-	 */
-	public void paletteUserOver(PaletteButton paletteButton, boolean inside) {
-		ToolButton toolButton = (ToolButton)paletteButton;
-		if (inside) {
-			showStatus(toolButton.name());
-		}
-		else if (fSelectedToolButton != null) {
-			showStatus(fSelectedToolButton.name());
-		}
-	}
-
-	/**
-	 * Gets the current tool.
-	 * @see DrawingEditor
-	 */
-	public Tool tool() {
-		return fTool;
-	}
-
-	/**
-	 * Retrieve the active view from the window
-	 * Gets the current drawing view.
-	 * @see DrawingEditor
-	 */
-	public DrawingView view() {
-		return fView;
-	}
-
-	protected void setView(DrawingView newView) {
-		DrawingView oldView = fView;
-		fView = newView;
-		fireViewSelectionChangedEvent(oldView, view());
-	}
-
-	public DrawingView[] views() {
-		return new DrawingView[] { view() };
-	}
-
-	/**
-	 * Sets the default tool of the editor.
-	 * @see DrawingEditor
-	 */
-	public void toolDone() {
-		// TODO: toolDone() seemed to be called twice/too often
-		if (fDefaultToolButton != null) {
-			setTool(fDefaultToolButton.tool(), fDefaultToolButton.name());
-			setSelected(fDefaultToolButton);
-		}
-	}
-
-	/**
-	 * Fired by a view when the figure selection changes.  Since Commands and
-	 * Tools may depend on the figure selection they are registered to be notified
-	 * about these events.
-	 * Any selection sensitive GUI component should update its
-	 * own state if the selection has changed, e.g. selection sensitive menuitems
-	 * will update their own states.
-	 * @see DrawingEditor
-	 */
-	public void figureSelectionChanged(DrawingView view) {
-		checkCommandMenus();
-	}
-
-	protected void checkCommandMenus() {
-		JMenuBar mb = getJMenuBar();
-
-		for (int x = 0; x < mb.getMenuCount(); x++) {
-		    JMenu jm = mb.getMenu(x);
-			if (CommandMenu.class.isInstance(jm)) {
-				checkCommandMenu((CommandMenu)jm);
-			}
-		}
-	}
-
-	protected void checkCommandMenu(CommandMenu cm) {
-		cm.checkEnabled();
-		for (int y = 0; y < cm.getItemCount();y++) {
-			JMenuItem jmi = cm.getItem(y);
-			if (CommandMenu.class.isInstance(jmi)) {
-				checkCommandMenu((CommandMenu)jmi);
-			}
-		}
-	}
-
-	/**
-	 * Register to hear when the active view is changed.  For Single document
-	 * interface, this will happen when a new drawing is created.
-	 */
-	public void addViewChangeListener(ViewChangeListener vsl) {
-		listeners.add(vsl);
-	}
-
-	/**
-	 * Remove listener
-	 */
-	public void removeViewChangeListener(ViewChangeListener vsl) {
-		listeners.remove(vsl);
-	}
-
-	/**
-	 * An appropriate event is triggered and all registered observers
-	 * are notified if the drawing view has been changed, e.g. by
-	 * switching between several internal frames.  This method is
-	 * usually not needed in SDI environments.
-	 */
-	protected void fireViewSelectionChangedEvent(DrawingView oldView, DrawingView newView) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		while (li.hasPrevious()) {
-			ViewChangeListener vsl = (ViewChangeListener)li.previous();
-			vsl.viewSelectionChanged(oldView, newView);
-		}
-	}
-
-	protected void fireViewCreatedEvent(DrawingView view) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		while (li.hasPrevious()) {
-			ViewChangeListener vsl = (ViewChangeListener)li.previous();
-			vsl.viewCreated(view);
-		}
-	}
-
-	protected void fireViewDestroyingEvent(DrawingView view) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		while (li.hasPrevious()) {
-			ViewChangeListener vsl = (ViewChangeListener)li.previous();
-			vsl.viewDestroying( view );
-		}
-	}
-
-	/**
-	 * Shows a status message.
-	 * @see DrawingEditor
-	 */
-	public void showStatus(String string) {
-		getStatusLine().setText(string);
-	}
-
-	/**
-	 * Note: it is inconsistent to directly assign a variable but when using it
-	 * use it from a method.  (assignment:  fTool = t, usage: tool()) dnoyeB-4/8/02
-	 * Note:  should we check that the tool is inactive before we activate it?
-	 * this would be consistent with how we do deactivate.  I think we should do
-	 * this now and not wait till a bug pops up. even if their is no bug, its
-	 * consistent and adds understandability to the code.  dnoyeB-4/8/02
-	 */
-	public void setTool(Tool t, String name) {
-		// SF bug-tracker id: #490665
-
-		// deactivate only those tools that have been activated before
-		if ((tool() != null) && (tool().isActive())) {
-			tool().deactivate();
-		}
-		fTool = t;
-		if (tool() != null) {
-			showStatus(name);
-			tool().activate();
-		}
-	}
-
-	private void setSelected(ToolButton button) {
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.reset();
-		}
-		fSelectedToolButton = button;
-		if (fSelectedToolButton != null) {
-			fSelectedToolButton.select();
-		}
-	}
-
-	/**
-	 * Exits the application. You should never override this method
-	 */
-	public void exit() {
-		destroy();
-	   // tell windowing system to free resources
-		dispose();	
-	}
-
-	protected boolean closeQuery(){
-		return true;
-	}
-
-	protected void endApp(){
-		if(closeQuery() == true) {
-			exit();
-		}
-	}
-	/**
-	 * Handles additional clean up operations. Override to destroy
-	 * or release drawing editor resources.
-	 */
-	protected void destroy() {
-	}
-
-	/**
-	 * Resets the drawing to a new empty drawing.
-	 */
-	public void promptNew() {
-		newWindow(createDrawing());
-		//toolDone();
-		//view().setDrawing(createDrawing());
-	}
-
-	/**
-	 * Shows a file dialog and opens a drawing.
-	 */
-	public void promptOpen() {
-		toolDone();
-		JFileChooser openDialog = createOpenFileChooser();
-		getStorageFormatManager().registerFileFilters(openDialog);
-		if (openDialog.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
-			StorageFormat foundFormat = getStorageFormatManager().findStorageFormat(openDialog.getFileFilter());
-			// ricardo_padilha: if there is no format associated,
-			// try to find one that supports the file
-			if (foundFormat == null) {
-				foundFormat = getStorageFormatManager().findStorageFormat(openDialog.getSelectedFile());
-			}
-			if (foundFormat != null) {
-				loadDrawing(foundFormat, openDialog.getSelectedFile().getAbsolutePath());
-			}
-			else {
-				showStatus("Not a valid file format: " + openDialog.getFileFilter().getDescription());
-			}
-		}
-	}
-
-	/**
-	 * Shows a file dialog and saves drawing.
-	 */
-	public void promptSaveAs() {
-		if (view() != null) {
-			toolDone();
-			JFileChooser saveDialog = createSaveFileChooser();
-			getStorageFormatManager().registerFileFilters(saveDialog);
-
-			if (saveDialog.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
-				StorageFormat foundFormat = getStorageFormatManager().findStorageFormat(saveDialog.getFileFilter());
-				// ricardo_padilha: if there is no format associated,
-				// try to find one that supports the file
-				if (foundFormat == null) {
-					foundFormat = getStorageFormatManager().findStorageFormat(saveDialog.getSelectedFile());
-				}
-				if (foundFormat != null) {
-					saveDrawing(foundFormat, saveDialog.getSelectedFile().getAbsolutePath());
-				}
-				else {
-					showStatus("Not a valid file format: " + saveDialog.getFileFilter().getDescription());
-				}
-			}
-		}
-	}
-
-	/**
-	 * Create a file chooser for the open file dialog. Subclasses may override this
-	 * method in order to customize the open file dialog.
-	 */
-	protected JFileChooser createOpenFileChooser() {
-		JFileChooser openDialog = new JFileChooser();
-		openDialog.setDialogType(JFileChooser.OPEN_DIALOG);
-		openDialog.setDialogTitle("Open File...");
-		return openDialog;
-	}
-
-	/**
-	 * Create a file chooser for the save file dialog. Subclasses may override this
-	 * method in order to customize the save file dialog.
-	 */
-	protected JFileChooser createSaveFileChooser() {
-		JFileChooser saveDialog = new JFileChooser();
-		saveDialog.setDialogType(JFileChooser.SAVE_DIALOG);
-		saveDialog.setDialogTitle("Save File...");
-		return saveDialog;
-	}
-
-	/**
-	 * Prints the drawing.
-	 */
-	public void print() {
-		tool().deactivate();
-		PrintJob printJob = getToolkit().getPrintJob(this, "Print Drawing", null);
-
-		if (printJob != null) {
-			Graphics pg = printJob.getGraphics();
-
-			if (pg != null) {
-				((StandardDrawingView)view()).printAll(pg);
-				pg.dispose(); // flush page
-			}
-			printJob.end();
-		}
-		tool().activate();
-	}
-
-	/**
-	 * Save a Drawing in a file
-	 */
-	protected void saveDrawing(StorageFormat storeFormat, String file) {
-		// Need a better alert than this.
-		if (view() == null) {
-			return;
-		}
-		try {
-			String name = storeFormat.store(file, view().drawing());
-			view().drawing().setTitle(name);
-			setDrawingTitle(name);
-		}
-		catch (IOException e) {
-			showStatus(e.toString());
-		}
-	}
-
-	/**
-	 * Load a Drawing from a file
-	 */
-	protected void loadDrawing(StorageFormat restoreFormat, String file) {
-		try {
-			Drawing restoredDrawing = restoreFormat.restore(file);
-			if (restoredDrawing != null) {
-				restoredDrawing.setTitle(file);
-				newWindow(restoredDrawing);
-			}
-			else {
-			   showStatus("Unknown file type: could not open file '" + file + "'");
-			}
-		}
-		catch (IOException e) {
-			showStatus("Error: " + e);
-		}
-	}
-
-	/**
-	 * Switch to a new Look&Feel
-	 */
-	private void newLookAndFeel(String landf) {
-		try {
-			UIManager.setLookAndFeel(landf);
-			SwingUtilities.updateComponentTreeUI(this);
-		}
-		catch (Exception e) {
-			System.err.println(e);
-		}
-	}
-
-	/**
-	 * Set the title of the currently selected drawing
-	 */
-	protected void setDrawingTitle(String drawingTitle) {
-		if (getDefaultDrawingTitle().equals(drawingTitle)) {
-			setTitle(getApplicationName());
-		}
-		else {
-			setTitle(getApplicationName() + " - " + drawingTitle);
-		}
-	}
-
-	/**
-	 * Return the title of the currently selected drawing
-	 */
-	protected String getDrawingTitle() {
-		return view().drawing().getTitle();
-	}
-
-	/**
-	 * Set the name of the application build from this skeleton application
-	 */
-	public void setApplicationName(String applicationName) {
-		fApplicationName = applicationName;
-	}
-
-	/**
-	 * Return the name of the application build from this skeleton application
-	 */
-	public String getApplicationName() {
-		return fApplicationName;
-	}
-
-	protected void setUndoManager(UndoManager newUndoManager) {
-		myUndoManager = newUndoManager;
-	}
-
-	public UndoManager getUndoManager() {
-		return myUndoManager;
-	}
-
-	protected VersionControlStrategy getVersionControlStrategy() {
-		return new StandardVersionControlStrategy(this);
-	}
-
-	/**
-	 * Subclasses should override this method to specify to which versions of
-	 * JHotDraw they are compatible. A string array is returned so it is possible
-	 * to specify several version numbers of JHotDraw to which the application
-	 * is compatible with.
-	 *
-	 * @return all versions number of JHotDraw the application is compatible with.
-	 */
-	public String[] getRequiredVersions() {
-		String[] requiredVersions = new String[1];
-		// return the version of the package we are in
-		requiredVersions[0] = VersionManagement.getPackageVersion(DrawApplication.class.getPackage());
-		return requiredVersions;
-	}
-
-	public String getDefaultDrawingTitle() {
-		return fgUntitled;
-	}
-
-	protected DesktopListener getDesktopListener() {
-		return fDesktopListener;
-	}
-
-	protected void setDesktopListener(DesktopListener desktopPaneListener) {
-		fDesktopListener = desktopPaneListener;
-	}
-
-	protected DesktopListener createDesktopListener() {
-	    return new DesktopListener() {
-			public void drawingViewAdded(DesktopEvent dpe) {
-				DrawingView dv = dpe.getDrawingView();
-				fireViewCreatedEvent(dv);
-			}
-			public void drawingViewRemoved(DesktopEvent dpe) {
-				DrawingView dv = dpe.getDrawingView();
-				// remove undo/redo activities which operate on this DrawingView
-				getUndoManager().clearUndos(dv);
-				getUndoManager().clearRedos(dv);
-				fireViewDestroyingEvent(dv);
-				checkCommandMenus();
-			}
-			public void drawingViewSelected(DesktopEvent dpe) {
-				DrawingView dv = dpe.getDrawingView();
-				//get the current selection and freeze it.
-				if (dv != null) {
-					if (dv.drawing() != null)
-						dv.unfreezeView();
-				}
-				setView(dv);
-			}
-	    };
-	}
-
-	protected Iconkit createIconkit() {
-		return new Iconkit(this);
-	}
-
-	protected void setIconkit(Iconkit newIconkit) {
-		fIconkit = newIconkit;
-	}
-
-	protected Iconkit getIconkit() {
-		return fIconkit;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/AutoscrollHelper.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/AutoscrollHelper.java
deleted file mode 100644
index c66712564..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/AutoscrollHelper.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * @(#)AutoscrollHelper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import java.awt.*;
-
-/**
- * A helper class for implementing autoscrolling
- *
- * @author  SourceForge(dnoyeb) aka C.L. Gilbert
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AutoscrollHelper {
-	private int autoscrollMargin = 20;
-	private Insets autoscrollInsets = new Insets(0, 0, 0, 0);
-	public AutoscrollHelper(int margin) {
-		autoscrollMargin = margin;
-	}
-	public void setAutoscrollMargin(int margin) {
-		autoscrollMargin = margin;
-	}
-	public int getAutoscrollMargin() {
-		return autoscrollMargin;
-	}
-
-	/**
-	 * Override this method to call getSize() on your Component
-	 * @see Component#getSize
-	 */
-	public abstract Dimension getSize();
-
-	/**
-	 * Override this method to call getVisibleRect() on your JComponent
-	 * @see javax.swing.JComponent#getVisibleRect
-	 */
-	public abstract Rectangle getVisibleRect();
-
-	/**
-	 * Override this method to call scrollRectToVisible(Rectangle aRect) on
-	 * your component
-	 * @see javax.swing.JComponent#scrollRectToVisible
-	 */
-	public abstract void scrollRectToVisible(Rectangle aRect);
-	/**
-	 * Part of the autoscrolls interface
-	 *
-	 */
-	public void autoscroll(Point location) {
-		//System.out.println("mouse at " + location);
-		int top = 0, left = 0, bottom = 0, right = 0;
-		Dimension size = getSize();
-		Rectangle rect = getVisibleRect();
-		int bottomEdge = rect.y + rect.height;
-		int rightEdge = rect.x + rect.width;
-		if (location.y - rect.y <= autoscrollMargin && rect.y > 0)
-			top = autoscrollMargin;
-		if (location.x - rect.x <= autoscrollMargin && rect.x > 0)
-			left = autoscrollMargin;
-		if (bottomEdge - location.y <= autoscrollMargin && bottomEdge < size.height)
-			bottom = autoscrollMargin;
-		if (rightEdge - location.x <= autoscrollMargin && rightEdge < size.width)
-			right = autoscrollMargin;
-		rect.x += right - left;
-		rect.y += bottom - top;
-		scrollRectToVisible(rect);
-	}
-	public Insets getAutoscrollInsets() {
-		Dimension size = getSize();
-		Rectangle rect = getVisibleRect();
-		autoscrollInsets.top = rect.y + autoscrollMargin;
-		autoscrollInsets.left = rect.x + autoscrollMargin;
-		autoscrollInsets.bottom = size.height - (rect.y + rect.height) + autoscrollMargin;
-		autoscrollInsets.right = size.width - (rect.x + rect.width) + autoscrollMargin;
-		return autoscrollInsets;
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CTXCommandMenu.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/CTXCommandMenu.java
deleted file mode 100644
index e0543ec30..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CTXCommandMenu.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- *  @(#)CommandMenu.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	� by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib;
-
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.*;
-import javax.swing.*;
-
-import org.jhotdraw.framework.JHotDrawRuntimeException;
-import org.jhotdraw.util.Command;
-import org.jhotdraw.util.CommandListener;
-import org.jhotdraw.util.CommandMenu;
-
-/**
- * A Command enabled menu. Selecting a menu item
- * executes the corresponding command.
- *
- * @author    Eduardo Francos  (adapted from initial implementation by Wolfram Kaiser)
- * @created   2 mai 2002
- * @see       Command
- * @version   <$CURRENT_VERSION$>
- */
-public class CTXCommandMenu extends JMenu implements ActionListener, CommandListener {
-
-	public CTXCommandMenu(String name) {
-		super(name);
-	}
-
-	/**
-	 * Adds a command to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command) {
-		addMenuItem(new CommandMenuItem(command));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command, MenuShortcut shortcut) {
-		addMenuItem(new CommandMenuItem(command, shortcut.getKey()));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void addCheckItem(Command command) {
-		addMenuItem(new CommandCheckBoxMenuItem(command));
-	}
-
-	/**
-	 * Adds a command menu item
-	 *
-	 * @param item  the command menu item
-	 */
-	public synchronized void add(CommandMenuItem item) {
-		addMenuItem(item);
-	}
-
-	/**
-	 * Adds a command checkbox menu item
-	 *
-	 * @param checkItem  the checkbox item
-	 */
-	public synchronized void add(CommandCheckBoxMenuItem checkItem) {
-		addMenuItem(checkItem);
-	}
-
-	/**
-	 * Adds a normal menu item to the menu
-	 *
-	 * @param m  The menu item
-	 */
-	protected void addMenuItem(JMenuItem m) {
-		m.addActionListener(this);
-		add(m);
-		((CommandHolder)m).getCommand().addCommandListener(this);
-	}
-
-	/**
-	 * Removes a command item from the menu
-	 *
-	 * @param command  the command tor emove
-	 */
-	public synchronized void remove(Command command) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	/**
-	 * Removes an item from the menu
-	 *
-	 * @param item  the item to remove
-	 */
-	public synchronized void remove(MenuItem item) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	/**
-	 * Changes the enabling/disabling state of a named menu item.
-	 *
-	 * @param name   Description of the Parameter
-	 * @param state  Description of the Parameter
-	 */
-	public synchronized void enable(String name, boolean state) {
-		for (int i = 0; i < getItemCount(); i++) {
-			JMenuItem item = getItem(i);
-			if (name.equals(item.getText())) {
-				item.setEnabled(state);
-				return;
-			}
-		}
-	}
-
-	/** Description of the Method */
-	public synchronized void checkEnabled() {
-		int j = 0;
-		for (int i = 0; i < getMenuComponentCount(); i++) {
-			JMenuItem currentItem = getItem(i);
-			if (currentItem instanceof CommandMenu) {
-				((CommandMenu)currentItem).checkEnabled();
-			}
-			else if (currentItem instanceof CTXCommandMenu) {
-				((CTXCommandMenu)currentItem).checkEnabled();
-			}
-			else if (currentItem instanceof CommandHolder) {
-				currentItem.setEnabled(((CommandHolder)currentItem).getCommand().isExecutable());
-			}
-			else if (currentItem instanceof Command) {
-				currentItem.setEnabled(((Command)currentItem).isExecutable());
-			}
-			j++;
-		}
-	}
-
-	/**
-	 * Executes the command.
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void actionPerformed(ActionEvent e) {
-		int j = 0;
-		Object source = e.getSource();
-		for (int i = 0; i < getItemCount(); i++) {
-			// ignore separators
-			// a separator has a hyphen as its label
-			if (getMenuComponent(i) instanceof JSeparator) {
-				continue;
-			}
-			JMenuItem item = getItem(i);
-			if (source == item) {
-				Command cmd = ((CommandHolder)item).getCommand();
-				cmd.execute();
-				break;
-			}
-			j++;
-		}
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param commandEvent  Description of the Parameter
-	 */
-	public void commandExecuted(EventObject commandEvent) {
-//		checkEnabled();
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param commandEvent  Description of the Parameter
-	 */
-	public void commandExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param commandEvent  Description of the Parameter
-	 */
-	public void commandNotExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CTXWindowMenu.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/CTXWindowMenu.java
deleted file mode 100644
index ff38b8134..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CTXWindowMenu.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * @(#)CommandMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib;
-
-import java.awt.event.*;
-import java.beans.*;
-import javax.swing.*;
-import javax.swing.event.*;
-
-import org.jhotdraw.contrib.CTXCommandMenu;
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.standard.AbstractCommand;
-
-/**
- * Menu component that handles the functionality expected of a standard
- * "Windows" menu for MDI applications.
- *
- * @author    Eduardo Francos (adapted from original implementation by Wolfram Kaiser)
- * @created   2 mai 2002
- * @version   <$CURRENT_VERSION$>
- */
-public class CTXWindowMenu extends CTXCommandMenu {
-
-	MDIDesktopPane desktop; //increased visibility to avoid compilation errors
-	private CommandMenuItem cascadeCommand;
-	private CommandMenuItem tileHCommand;
-	private CommandMenuItem tileVCommand;
-	private CommandMenuItem arrangeHCommand;
-	private CommandMenuItem arrangeVCommand;
-	private int staticItems;
-
-	/**
-	 *Constructor for the CTXWindowsMenu object
-	 *
-	 * @param newText  the menu's text
-	 * @param desktop  the MDI desktop
-	 * @param editor   the editor
-	 */
-	public CTXWindowMenu(String newText, MDIDesktopPane newDesktop, DrawingEditor newEditor) {
-		super(newText);
-		this.desktop = newDesktop;
-
-		cascadeCommand = new CommandMenuItem(
-			new AbstractCommand("Cascade", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.cascadeFrames();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		tileHCommand = new CommandMenuItem(
-			new AbstractCommand("Tile Horizontally", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.tileFramesHorizontally();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		tileVCommand = new CommandMenuItem(
-			new AbstractCommand("Tile Vertically", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.tileFramesVertically();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		arrangeHCommand = new CommandMenuItem(
-			new AbstractCommand("Arrange Horizontally", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.arrangeFramesHorizontally();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		arrangeVCommand = new CommandMenuItem(
-			new AbstractCommand("Arrange Vertically", newEditor) {
-				public void execute() {
-					CTXWindowMenu.this.desktop.arrangeFramesVertically();
-				}
-
-				public boolean isExecutable() {
-					return super.isExecutable() && (CTXWindowMenu.this.desktop.getAllFrames().length > 0);
-				}
-			});
-
-		addMenuListener(
-			new MenuListener() {
-				public void menuCanceled(MenuEvent e) { }
-
-				public void menuDeselected(MenuEvent e) {
-					removeWindowsList();
-				}
-
-				public void menuSelected(MenuEvent e) {
-					buildChildMenus();
-				}
-			});
-
-		add(cascadeCommand);
-		add(tileHCommand);
-		add(tileVCommand);
-		add(arrangeHCommand);
-		add(arrangeVCommand);
-		staticItems = 5;
-	}
-
-	/** removes the windows names */
-	protected void removeWindowsList() {
-		// remove all items above static the items
-		while (this.getItemCount() > staticItems) {
-			remove(staticItems);
-		}
-	}
-
-	/*
-	 *  Sets up the children menus depending on the current desktop state
-	 */
-	/** Description of the Method */
-	void buildChildMenus() { //increased visibility to avoid compilation errors
-		JInternalFrame[] array = desktop.getAllFrames();
-
-		// update window organization commands
-		cascadeCommand.setEnabled(array.length > 0);
-		tileHCommand.setEnabled(array.length > 0);
-		tileVCommand.setEnabled(array.length > 0);
-		arrangeHCommand.setEnabled(array.length > 0);
-		arrangeVCommand.setEnabled(array.length > 0);
-
-		if (array.length == 0) {
-			return;
-		}
-
-		addSeparator();
-
-		for (int i = 0; i < array.length; i++) {
-			ChildMenuItem menu = new ChildMenuItem(array[i]);
-			menu.setState(i == 0);
-			menu.addActionListener(
-				new ActionListener() {
-					public void actionPerformed(ActionEvent ae) {
-						JInternalFrame frame = ((ChildMenuItem)ae.getSource()).getFrame();
-						frame.moveToFront();
-						try {
-							frame.setSelected(true);
-						}
-						catch (PropertyVetoException e) {
-							e.printStackTrace();
-						}
-					}
-				});
-			menu.setIcon(array[i].getFrameIcon());
-			add(menu);
-		}
-	}
-
-	/*
-	 *  This JCheckBoxMenuItem descendant is used to track the child frame that corresponds
-	 *  to a give menu.
-	 */
-	class ChildMenuItem extends JCheckBoxMenuItem {
-		private JInternalFrame frame;
-
-		/**
-		 *Constructor for the ChildMenuItem object
-		 *
-		 * @param frame  Description of the Parameter
-		 */
-		public ChildMenuItem(JInternalFrame newFrame) {
-			super(newFrame.getTitle());
-			frame = newFrame;
-		}
-
-		/**
-		 * Gets the frame attribute of the ChildMenuItem object
-		 *
-		 * @return   The frame value
-		 */
-		public JInternalFrame getFrame() {
-			return frame;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/ChopDiamondConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/ChopDiamondConnector.java
deleted file mode 100644
index 8af0ef393..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/ChopDiamondConnector.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * @(#)ChopDiamondConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.ChopBoxConnector;
-import org.jhotdraw.util.Geom;
-
-/**
- * A ChopDiamondConnector locates connection points by choping the
- * connection between the centers of the two figures at the edge of
- * a diamond figure.
- *
- * @see Connector
- *
- * @author Erich Gamma
- * @version <$CURRENT_VERSION$>
- */
-public class ChopDiamondConnector extends ChopBoxConnector {
-	/**
-	 * Serialization support.
-	 * Needs to be fixed.
-	 */
-	private static final long serialVersionUID = -1461450322512395462L;
-
-	public ChopDiamondConnector() {
-		// only used for Storable implementation
-	}
-
-  public ChopDiamondConnector(Figure owner) {
-	  super(owner);
-	}
-
-	/**
-	 * Return an appropriate connection point on the edge of a diamond figure
-	 */
-	protected Point chop(Figure target, Point from) {
-		Rectangle r = target.displayBox();
-		// Center point
-		Point c1 = new Point(r.x + r.width/2, r.y + (r.height/2));
-		Point p2 = new Point(r.x + r.width/2, r.y + r.height);
-		Point p4 = new Point(r.x + r.width/2, r.y);
-
-		// If overlapping, just return the opposite corners
-		if (r.contains(from)) {
-			if (from.y > r.y && from.y < (r.y +r.height/2)) {
-				return p2;
-			}
-			else {
-				return p4;
-			}
-		}
-
-		// Calculate angle to determine quadrant
-		double ang = Geom.pointToAngle(r, from);
-
-		// Dermine line points
-		Point p1 = new Point(r.x + r.width  , r.y + (r.height/2));
-		Point p3 = new Point(r.x            , r.y + (r.height/2));
-		Point rp = null; // This will be returned
-
-		// Get the intersection with edges
-		if (ang > 0 && ang < 1.57) {
-			rp = Geom.intersect(p1.x, p1.y, p2.x, p2.y, c1.x, c1.y, from.x, from.y);
-		}
-		else if (ang > 1.575 && ang < 3.14) {
-			rp = Geom.intersect(p2.x, p2.y, p3.x, p3.y, c1.x, c1.y, from.x, from.y);
-		}
-		else if (ang > -3.14 && ang < -1.575) {
-		  rp = Geom.intersect(p3.x, p3.y, p4.x, p4.y, c1.x, c1.y, from.x, from.y);
-		}
-		else if (ang > -1.57 && ang < 0) {
-			rp = Geom.intersect(p4.x, p4.y, p1.x, p1.y, c1.x, c1.y, from.x, from.y);
-		}
-
-		// No proper edge found, we should send one of four corners
-		if (rp == null) {
-			rp = Geom.angleToPoint(r, ang);
-		}
-
-		return rp;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/ChopPolygonConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/ChopPolygonConnector.java
deleted file mode 100644
index 8740bb16e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/ChopPolygonConnector.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)ChopPolygonConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-
-/**
- * A ChopPolygonConnector locates a connection point by
- * chopping the connection at the polygon boundary.
- *
- * @author Erich Gamma
- * @version <$CURRENT_VERSION$>
- */
-public class ChopPolygonConnector extends ChopBoxConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -156024908227796826L;
-
-	public ChopPolygonConnector() {
-	}
-
-	public ChopPolygonConnector(Figure owner) {
-		super(owner);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		return ((PolygonFigure)target).chop(from);
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/ClippingUpdateStrategy.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/ClippingUpdateStrategy.java
deleted file mode 100644
index 232e7ce5a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/ClippingUpdateStrategy.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.jhotdraw.contrib;
-
-import java.awt.Graphics;
-import java.awt.Rectangle;
-import java.util.List;
-
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.framework.Painter;
-import org.jhotdraw.standard.FigureEnumerator;
-import org.jhotdraw.util.CollectionsFactory;
-
-/**
- * The ClippingUpdateStrategy will only draw those Figures in the DrawingView
- * which intersect the Graphic's clipping rectangle. 
- * 
- * @author Aviv Hurvitz
- */
-public class ClippingUpdateStrategy implements Painter {
-
-	public ClippingUpdateStrategy() {
-		super();
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Painter#draw(Graphics, DrawingView)
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		Rectangle viewClipRectangle = g.getClipBounds();
-
-		if (viewClipRectangle == null) {
-			// it seems clip is always set, but nevertheless handle it
-			view.drawAll(g);
-			return;
-		}
-
-		FigureEnumeration fe = view.drawing().figures();
-		
-		// it's better to start big than to do Log(nFigures) reallocations 
-		List figuresList = CollectionsFactory.current().createList(1000);
-
-		// create a List of the figures within the clip rectangle
-		while (fe.hasNextFigure()) {
-			Figure fig = fe.nextFigure();
-			Rectangle r = fig.displayBox();
-
-			// grow Rectangles that have 0 width or height, since 
-			// Rectangle.intersects() returns false on them. 
-			// These Rectangles are common, as they are the typical bounding 
-			// boxes of horizontal and vertical lines.
-			// see my (regression) bug report on Sun's site:
-			//   http://developer.java.sun.com/developer/bugParade/bugs/4643428.html
-			if (r.width <= 0) {
-				r.width = 1;
-			}
-			if (r.height <= 0) {
-				r.height = 1;
-			}
-
-			if (r.intersects(viewClipRectangle)) {
-				figuresList.add(fig);
-			}
-		}
-
-		// draw the figures in the clip rectangle
-		FigureEnumeration clippedFE = new FigureEnumerator(figuresList);
-		view.draw(g, clippedFE);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandCheckBoxMenuItem.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandCheckBoxMenuItem.java
deleted file mode 100644
index 605872774..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandCheckBoxMenuItem.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- *  @(#)CommandMenu.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	� by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib;
-
-import javax.swing.JCheckBoxMenuItem;
-import org.jhotdraw.util.Command;
-import javax.swing.Icon;
-
-/**
- * CommandCheckBoxMenuItem implements a command that can be added to a menu
- * as a checkbox menu item
- *
- * @author Eduardo Francos - InContext
- * @version <$CURRENT_VERSION$>
- */
-
-public class CommandCheckBoxMenuItem extends JCheckBoxMenuItem
-	   implements CommandHolder
-{
-	Command fCommand;
-
-	/**
-	 * Creates an initially unselected check box menu item
-	 * with the specified command
-	 */
-	public CommandCheckBoxMenuItem(Command command) {
-		super(command.name());
-		setCommand(command);
-	}
-
-	/**
-	 * Creates an initially unselected check box menu item with an icon and
-	 * the specified command.
-	 *
-	 * @param icon the icon of the CheckBoxMenuItem.
-	 */
-	public CommandCheckBoxMenuItem(Command command, Icon icon) {
-		super(command.name(), icon);
-		setCommand(command);
-	}
-
-	/**
-	 * Creates a check box menu item with the specified command and selection state.
-	 *
-	 * @param command the command to be executed upon menu selection
-	 * @param b the selected state of the check box menu item
-	 */
-	public CommandCheckBoxMenuItem(Command command, boolean b) {
-		super(command.name(), b);
-		setCommand(command);
-	}
-
-	/**
-	 * Creates a check box menu item with the specified text, icon, and selection state.
-	 *
-	 * @param command the command to be executed upon menu selection
-	 * @param icon the icon of the check box menu item
-	 * @param b the selected state of the check box menu item
-	 */
-	public CommandCheckBoxMenuItem(Command command, Icon icon, boolean b) {
-		super(command.name(), icon, b);
-		setCommand(command);
-	}
-
-
-	/**
-	 * Gets the command attribute of the CommandMenuItem object
-	 *
-	 * @return   The command value
-	 */
-	public Command getCommand() {
-		return fCommand;
-	}
-
-
-	/**
-	 * Sets the command attribute of the CommandMenuItem object
-	 *
-	 * @param newCommand  The new command value
-	 */
-	public void setCommand(Command newCommand) {
-		fCommand = newCommand;
-	}
-
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandHolder.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandHolder.java
deleted file mode 100644
index 2960aef68..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandHolder.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *  @(#)CommandMenu.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	� by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.util.Command;
-
-/**
- * CommandHolder defines the interface for wrapper objects holding a Command,
- * like menu items or toolbar tools.
- *
- * @author    Eduardo Francos - InContext
- * @created   8 mai 2002
- * @version   <$CURRENT_VERSION$>
- */
-
-public interface CommandHolder {
-	/**
-	 * Gets the command of the CommandHolder object
-	 *
-	 * @return   The command value
-	 */
-	public Command getCommand();
-
-
-	/**
-	 * Sets the command of the CommandHolder object
-	 *
-	 * @param newCommand  The new command value
-	 */
-	public void setCommand(Command newCommand);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandMenuItem.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandMenuItem.java
deleted file mode 100644
index 215ffe018..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CommandMenuItem.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * @(#)CommandMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.util.Command;
-import javax.swing.JMenuItem;
-import javax.swing.Icon;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-
-/**
- * CommandMenuItem implements a command that can be added to a menu
- * as a menu item
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- * @version   <$CURRENT_VERSION$>
- */
-public class CommandMenuItem extends JMenuItem implements CommandHolder, ActionListener {
-
-	private Command fCommand;
-
-	/**
-	 * Creates a menuItem with no set text or icon.
-	 */
-	public CommandMenuItem(Command command) {
-		super(command.name());
-		setCommand(command);
-		addActionListener(this);
-	}
-
-	/**
-	 * Creates a menuItem with an icon.
-	 *
-	 * @param icon the icon of the MenuItem.
-	 */
-	public CommandMenuItem(Command command, Icon icon) {
-		super(command.name(), icon);
-		setCommand(command);
-		addActionListener(this);
-	}
-
-	/**
-	 * Creates a menuItem with the specified text and
-	 * keyboard mnemonic.
-	 *
-	 * @param command the command to be executed upon menu selection
-	 * @param mnemonic the keyboard mnemonic for the MenuItem
-	 */
-	public CommandMenuItem(Command command, int mnemonic) {
-		super(command.name(), mnemonic);
-		setCommand(command);
-	}
-
-	/**
-	 * Gets the command attribute of the CommandMenuItem object
-	 *
-	 * @return   The command value
-	 */
-	public Command getCommand() {
-		return fCommand;
-	}
-
-	/**
-	 * Sets the command attribute of the CommandMenuItem object
-	 *
-	 * @param newCommand  The new command value
-	 */
-	public void setCommand(Command newCommand) {
-		fCommand = newCommand;
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void actionPerformed(ActionEvent e) {
-		getCommand().execute();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/ComponentFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/ComponentFigure.java
deleted file mode 100644
index af3a7af45..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/ComponentFigure.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * @(#)ComponentFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.figures.AttributeFigure;
-import org.jhotdraw.standard.BoxHandleKit;
-import org.jhotdraw.standard.HandleEnumerator;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.awt.Component;
-import java.awt.Rectangle;
-import java.awt.Point;
-import java.awt.Graphics;
-import java.util.List;
-
-/**
- * @author  Ming Fang
- * @version <$CURRENT_VERSION$>
- */
-public class ComponentFigure extends AttributeFigure {
-	private Rectangle bounds;
-
-	/** Holds value of property component. */
-	private Component component;
-
-	private ComponentFigure() {
-		bounds = new Rectangle();
-	}
-
-	/**
-	 * @param newComponent a lightweight component
-	 */
-	public ComponentFigure(Component newComponent) {
-		this();
-		setComponent(newComponent);
-	}
-
-	/**
-	 * Changes the display box of a figure. This method is
-	 * always implemented in figure subclasses.
-	 * It only changes
-	 * the displaybox and does not announce any changes. It
-	 * is usually not called by the client. Clients typically call
-	 * displayBox to change the display box.
-	 *
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		bounds = new Rectangle(origin);
-		bounds.add(corner);
-	}
-
-	/**
-	 * Moves the figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #moveBy
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		bounds.translate(dx, dy);
-	}
-
-	/**
-	 * Gets the display box of a figure
-	 * @see #basicDisplayBox
-	 */
-	public Rectangle displayBox() {
-		return new Rectangle(bounds);
-	}
-
-	/**
-	 * Returns the handles used to manipulate
-	 * the figure. Handles is a Factory Method for
-	 * creating handle objects.
-	 *
-	 * @return a type-safe iterator of handles
-	 * @see Handle
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Getter for property component.
-	 * @return Value of property component.
-	 */
-	public Component getComponent() {
-		return this.component;
-	}
-
-	/**
-	 * Setter for property component.
-	 *
-	 * @param newComponent New value of property component.
-	 */
-	protected void setComponent(Component newComponent) {
-		this.component = newComponent;
-	}
-
-	/**
-	 * Draws the figure.
-	 * @param g the Graphics to draw into
-	 */
-	public void draw(Graphics g) {
-		// AWT code
-		getComponent().setBounds(displayBox());
-		//must create a new graphics with a different cordinate
-		Graphics componentG = g.create(bounds.x, bounds.y, bounds.width, bounds.height);
-		getComponent().paint(componentG);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CompositeFigureCreationTool.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/CompositeFigureCreationTool.java
deleted file mode 100644
index 7bbc3827c..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CompositeFigureCreationTool.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * @(#)CompositeFigureCreationTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.standard.CreationTool;
-import org.jhotdraw.standard.CompositeFigure;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.framework.DrawingView;
-
-import java.awt.event.MouseEvent;
-import java.awt.*;
-
-/**
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class CompositeFigureCreationTool extends CreationTool {
-	private CompositeFigure myContainerFigure;
-
-	public CompositeFigureCreationTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		Figure figure = drawing().findFigure(e.getX(), e.getY());
-		if (figure != null) {
-			figure = figure.getDecoratedFigure();
-			if (figure instanceof CompositeFigure) {
-				setContainerFigure((CompositeFigure)figure);
-				setCreatedFigure(createFigure());
-				setAddedFigure((getContainerFigure().add(getCreatedFigure())));
-				getAddedFigure().displayBox(new Point(x, y), new Point(x, y));
-			}
-			else {
-				toolDone();
-			}
-		}
-		else {
-			toolDone();
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		if ((getContainerFigure() != null) && !getContainerFigure().containsPoint(e.getX(), e.getY())) {
-			// here you might want to constrain the mouse movements to the size of the
-			// container figure: not sure whether this works...
-			toolDone();
-		}
-		else {
-			super.mouseMove(e, x, y);
-		}
-	}
-
-	protected void setContainerFigure(CompositeFigure newContainerFigure) {
-		myContainerFigure = newContainerFigure;
-	}
-
-	public CompositeFigure getContainerFigure() {
-		return myContainerFigure;
-	}
-
-	protected void toolDone() {
-		setCreatedFigure(null);
-		setAddedFigure(null);
-		setContainerFigure(null);
-		editor().toolDone();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CustomSelectionTool.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/CustomSelectionTool.java
deleted file mode 100644
index d0afab8d9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CustomSelectionTool.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * @(#)CustomSelectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.contrib.zoom.ZoomDrawingView;
-import org.jhotdraw.standard.*;
-import javax.swing.JPopupMenu;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A SelectionTool, which recognizes double clicks and popup menu triggers.
- * If a double click or popup trigger is encountered a hook method is called,
- * which handles the event. This methods can be overriden in subclasse to 
- * provide customized behaviour. 
- * Popup menus must be registered with a Figure using the
- * setAttribute() method.  The key which associates a popup menu as an
- * attribute is FigureAttributeConstant.POPUP_MENU.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CustomSelectionTool extends SelectionTool {
-
-	/**
-	 * Create an instance of this SelectionTool for the given view
-	 *
-	 * @param   editor    DrawingEditor for which the SelectionTool gets the active view
-	 */
-	public CustomSelectionTool(DrawingEditor editor) {
-		super( editor );
-	}
-	
-	/**
-	 * MouseListener method for mouseDown events. If the popup trigger has been
-	 * activated, then the appropriate hook method is called.
-	 *
-	 * @param   e   MouseEvent which should be interpreted
-	 * @param   x   x coordinate of the MouseEvent
-	 * @param   y   y coordinate of the MouseEvent
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		// isPopupTrigger() at mouseDown() is only notified at UNIX systems
-		if (e.isPopupTrigger()) {
-			handlePopupMenu(e, x, y);
-		}
-		else {
-			super.mouseDown(e, x, y);
-			handleMouseDown(e, x, y);
-		}
-	}
-	
-	/**
-	 * MouseListener method for mouseDrag events. Usually, mouse drags are
-	 * ignored for popup menus or double clicks.
-	 *
-	 * @param   e   MouseEvent which should be interpreted
-	 * @param   x   x coordinate of the MouseEvent
-	 * @param   y   y coordinate of the MouseEvent
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (!e.isPopupTrigger()) {
-			super.mouseDrag(e, x, y);
-		}
-	}
-
-	/** 
-	 * MouseListener method for mouseUp events. Depending on the kind of event
-	 * the appropriate hook method is called (popupMenuUp for popup trigger,
-	 * doubleMouseClick for a double click, and mouseUp() and mouseClick() for
-	 * normal mouse clicks).
-	 *
-	 * @param   e   MouseEvent which should be interpreted
-	 * @param   x   x coordinate of the MouseEvent
-	 * @param   y   y coordinate of the MouseEvent
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (e.isPopupTrigger()) {
-			handlePopupMenu(e, x, y);
-			super.mouseUp(e, x, y);
-		}
-		else if (e.getClickCount() == 2) {
-			super.mouseUp(e, x, y);
-			handleMouseDoubleClick(e, x, y);
-		}
-		else {
-			super.mouseUp(e, x, y);
-			handleMouseUp(e, x, y);
-			handleMouseClick(e, x, y);
-		}
-	}
-	
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse down.
-	 */
-	protected void handleMouseDown(MouseEvent e, int x, int y) {
-	}
-
-		/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse up.
-	 */
-	protected void handleMouseUp(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse click.
-	 */
-	protected void handleMouseClick(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a mouse double click.
-	 */
-	protected void handleMouseDoubleClick(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Hook method which can be overriden by subclasses to provide
-	 * specialised behaviour in the event of a popup trigger.
-	 */
-	protected void handlePopupMenu(MouseEvent e, int x, int y) {
-		Figure figure = drawing().findFigure(e.getX(), e.getY());
-		if (figure != null) {
-			Object attribute = figure.getAttribute(FigureAttributeConstant.POPUP_MENU);
-			if (attribute == null) {
-				figure = drawing().findFigureInside(e.getX(), e.getY());
-			}
-			if (figure != null) {
-				showPopupMenu(figure, e.getX(), e.getY(), e.getComponent());
-			}
-		}
-	}
-
-	/**
-	 * This method displays a popup menu, if there is one
-	 * registered with the Figure (the Figure's attributes are
-	 * queried for FigureAttributeConstant.POPUP_MENU which is
-	 * used to indicate an association of a popup menu with the
-	 * Figure).
-	 *
-	 * @param   figure      Figure for which a popup menu should be displayed
-	 * @param   x           x coordinate where the popup menu should be displayed
-	 * @param   y           y coordinate where the popup menu should be displayed
-	 * @param   comp        Component which invoked the popup menu
-	 */
-	protected void showPopupMenu(Figure figure, int x, int y, Component comp) {
-		Object attribute = figure.getAttribute(FigureAttributeConstant.POPUP_MENU);
-		if ((attribute != null) && (attribute instanceof JPopupMenu)) {
-			JPopupMenu popup = (JPopupMenu)attribute;
-			if (popup instanceof PopupMenuFigureSelection) {
-				((PopupMenuFigureSelection)popup).setSelectedFigure(figure);
-			}
-			// Calculate position on physical screen based
-			// on x,y coordinates
-			Point newLocation;
-			try {
-				newLocation = comp.getLocationOnScreen();
-			} catch (IllegalComponentStateException e) {
-				// For some reason, the component
-				// apparently isn't showing on the
-				// screen (huh?). Never mind - don't
-				// show the popup..
-				return;
-			}
-			// If this is a ZoomDrawingView, we'll need to
-			// compensate here too:
-			if (comp instanceof ZoomDrawingView) {
-				double scale = ((ZoomDrawingView) comp).getScale(); 
-				x *= scale;
-				y *= scale;
-			}
-			newLocation.translate(x,y);
-			popup.setLocation(newLocation);
-			popup.setInvoker(comp);
-			popup.setVisible(true);
-		}
-	}
-	
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CustomToolBar.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/CustomToolBar.java
deleted file mode 100644
index 588d1521a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/CustomToolBar.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * @(#)CustomToolBar.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.util.CollectionsFactory;
-
-import javax.swing.JToolBar;
-import javax.swing.JComponent;
-import java.util.List;
-import java.util.Iterator;
-import java.awt.Component;
-
-/**
- * This ToolBar allows to use several panels with tools. It manages each
- * panel and enables to swap between them. There can only one panel with
- * tools be activated at a time. Currently, only two panels are supported
- * (standard tools and edit tools).
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CustomToolBar extends JToolBar {
-
-	/**
-	 * List containing all tools for the standard ToolBar
-	 */
-	private List standardTools;
-	
-	/**
-	 * List containing all tools for the edit ToolBar
-	 */
-	private List editTools;
-	
-	/**
-	 * List containing all tools, which are currently activated
-	 */
-	private List currentTools;
-	
-	/**
-	 * Flag which determines whether the tool palette must be updated
-	 */
-	private boolean needsUpdate;
-	
-	/**
-	 * Create a new ToolBar
-	 */
-	public CustomToolBar() {
-		super();
-		standardTools = CollectionsFactory.current().createList();
-		editTools = CollectionsFactory.current().createList();
-		currentTools = standardTools;
-		needsUpdate = false;
-	}
-
-	/**
-	 * Switch between the two available palettes with tools
-	 */
-	public void switchToolBar() {
-		if (currentTools == standardTools) {
-			switchToEditTools();
-		}
-		else {
-			switchToStandardTools();
-		}
-	}
-	
-	/**
-	 * Select the palette with the edit tools
-	 */
-	public void switchToEditTools() {
-		if (currentTools != editTools) {
-			currentTools = editTools;
-			needsUpdate = true;
-		}
-	}
-
-	/**
-	 * Select the palette with the standard tools
-	 */
-	public void switchToStandardTools() {
-		if (currentTools != standardTools) {
-			currentTools = standardTools;
-			needsUpdate = true;
-		}
-	}
-
-	/**
-	 * Activate a palette of the ToolBar by setting all Tools
-	 */
-	public void activateTools() {
-		if (!needsUpdate) {
-			return;
-		}
-		else {
-			removeAll();
-
-			JComponent currentTool = null;
-			Iterator iter = currentTools.iterator();
-			while (iter.hasNext()) {
-				currentTool = (JComponent)iter.next();
-				super.add(currentTool);
-			}
-			validate();
-			needsUpdate = false;
-		}
-	}
-
-	/**
-	 * Add a new tool the the current palette of the ToolBar
-	 */
-	public Component add(Component newTool) {
-		if (currentTools == editTools) {
-			editTools.add(newTool);
-		}
-		else {
-			standardTools.add(newTool);
-		}
-		needsUpdate = true;
-		return super.add(newTool);
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/Desktop.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/Desktop.java
deleted file mode 100644
index defcfcc88..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/Desktop.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)Desktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.DrawingView;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface Desktop {
-	public final static int PRIMARY = 0;
-	public final static int SECONDARY = 1;
-	public final static int TERTIARY = 2;
-
-	/**
-	 * For those absent minded components that were not paying attention to the
-	 * listener events.
-	 */
-	public DrawingView getActiveDrawingView();
-	public void addToDesktop(DrawingView dv, int location);
-	public void removeFromDesktop(DrawingView dv, int location);
-	public void removeAllFromDesktop(int location);
-	public DrawingView[] getAllFromDesktop(int location);
-
-	public void updateTitle(String newDrawingTitle);
-
-	public void addDesktopListener(DesktopListener dpl);
-	public void removeDesktopListener(DesktopListener dpl);
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopEvent.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopEvent.java
deleted file mode 100644
index 14d8306c9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopEvent.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * @(#)DesktopEvent.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.DrawingView;
-import java.util.EventObject;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DesktopEvent extends EventObject {
-	private DrawingView myDrawingView;
-
-	/**
-	 * Some events require the previous DrawingView (e.g. when a new DrawingView
-	 * is selected).
-	 */	
-	private DrawingView myPreviousDrawingView;
-
-	public DesktopEvent(Desktop newSource, DrawingView newDrawingView) {
-		this(newSource, newDrawingView, null);
-	}
-
-	public DesktopEvent(Desktop newSource, DrawingView newDrawingView, DrawingView newPreviousDV) {
-		super(newSource);
-		setDrawingView(newDrawingView);
-		setPreviousDrawingView(newPreviousDV);
-	}
-
-	private void setDrawingView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-	
-	public DrawingView getDrawingView() {
-	    return myDrawingView;
-	}
-
-	private void setPreviousDrawingView(DrawingView newPreviousDrawingView) {
-		myPreviousDrawingView = newPreviousDrawingView;
-	}
-	
-	public DrawingView getPreviousDrawingView() {
-		return myPreviousDrawingView;
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopEventService.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopEventService.java
deleted file mode 100644
index 4b48c25e2..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopEventService.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)DesktopEventService.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.standard.NullDrawingView;
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.util.List;
-import java.util.ListIterator;
-import java.awt.event.ContainerAdapter;
-import java.awt.event.ContainerListener;
-import java.awt.event.ContainerEvent;
-import java.awt.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DesktopEventService {
-
-	/**
-	 * Current usage of this List is not thread safe, nor should it need to be.
-	 * If it ever does we can synchronize on the List itself to provide safety.
-	 */
-	private java.util.List listeners;
-	private DrawingView mySelectedView;
-	private Container myContainer;
-	private Desktop myDesktop;
-
-	public DesktopEventService(Desktop newDesktop, Container newContainer) {
-		listeners = CollectionsFactory.current().createList();
-		setDesktop(newDesktop);
-		setContainer(newContainer);
-		getContainer().addContainerListener(createComponentListener());
-	}
-
-	private void setDesktop(Desktop newDesktop) {
-		myDesktop = newDesktop;
-	}
-
-	protected Desktop getDesktop() {
-		return myDesktop;
-	}
-
-	private void setContainer(Container newContainer) {
-		myContainer = newContainer;
-	}
-
-	protected Container getContainer() {
-		return myContainer;
-	}
-
-	public void addComponent(Component newComponent) {
-		getContainer().add(newComponent);
-	}
-
-	public void removeComponent(DrawingView dv) {
-		Component[] comps = getContainer().getComponents();
-		for (int x = 0; x < comps.length; x++) {
-			if (dv == Helper.getDrawingView(comps[x])) {
-				getContainer().remove(comps[x]);
-			    break;
-			}
-		}
-	}
-
-	public void removeAllComponents() {
-		getContainer().removeAll();
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		listeners.add(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		listeners.remove(dpl);
-	}
-
-	protected void fireDrawingViewAddedEvent(final DrawingView dv) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		DesktopEvent dpe = createDesktopEvent(getActiveDrawingView(), dv);
-		while (li.hasPrevious()) {
-			DesktopListener dpl = (DesktopListener)li.previous();
-			dpl.drawingViewAdded(dpe);
-		}
-	}
-
-	protected void fireDrawingViewRemovedEvent(final DrawingView dv) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		DesktopEvent dpe = createDesktopEvent(getActiveDrawingView(), dv);
-		while (li.hasPrevious()) {
-			DesktopListener dpl = (DesktopListener)li.previous();
-			dpl.drawingViewRemoved(dpe);
-		}
-	}
-
-	/**
-	 * This method is only called if the selected drawingView has actually changed
-	 */
-	protected void fireDrawingViewSelectedEvent(final DrawingView oldView, final DrawingView newView) {
-		ListIterator li= listeners.listIterator(listeners.size());
-		DesktopEvent dpe = createDesktopEvent(oldView, newView);
-		while (li.hasPrevious()) {
-			DesktopListener dpl = (DesktopListener)li.previous();
-			dpl.drawingViewSelected(dpe);
-		}
-	}
-
-	/**
-	 * @param oldView previous active drawing view (may be null because not all events require this information)
-	 */
-	protected DesktopEvent createDesktopEvent(DrawingView oldView, DrawingView newView) {
-		return new DesktopEvent(getDesktop(), newView, oldView);
-	}
-
-	public DrawingView[] getDrawingViews(Component[] comps) {
-		List al = CollectionsFactory.current().createList();
-		for (int x = 0; x < comps.length; x++) {
-			DrawingView dv = Helper.getDrawingView(comps[x]);
-			if (dv != null) {
-				al.add(dv);
-			}
-		}
-		DrawingView[] dvs = new DrawingView[al.size()];
-		al.toArray(dvs);
-		return dvs;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return mySelectedView;
-	}
-
-	protected void setActiveDrawingView(DrawingView newActiveDrawingView) {
-		mySelectedView = newActiveDrawingView;
-	}
-	
-	protected ContainerListener createComponentListener() {
-		return new ContainerAdapter() {
-			/**
-			 * If the dv is null assert
-			 * @todo does adding a component always make it the selected view?
-			 *  Yes so far because this is only being used on single view Desktops.
-			 *  If it is to work on multipleView desktops, the we need to think further.
-			 */
-            public void componentAdded(ContainerEvent e) {
-				DrawingView dv = Helper.getDrawingView((java.awt.Container)e.getChild());
-				DrawingView oldView = getActiveDrawingView();
-				if (dv != null) {
-					fireDrawingViewAddedEvent(dv);
-					setActiveDrawingView(dv);
-					fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-				}
-            }
-
-		    /**
-			 * If dv is null assert
-             * dv will only be null if something thats not a drawingView was
-			 * added to the desktop.  it would be simpler if we forbade that.
-			 */
-            public void componentRemoved(ContainerEvent e) {
-				DrawingView dv = Helper.getDrawingView((java.awt.Container)e.getChild());
-				if (dv != null) {
-					DrawingView oldView = getActiveDrawingView();
-					setActiveDrawingView(NullDrawingView.getManagedDrawingView(oldView.editor()));
-					fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-					fireDrawingViewRemovedEvent(dv);
-				}
-            }
-        };
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopListener.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopListener.java
deleted file mode 100644
index 116a03e9f..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/DesktopListener.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * @(#)DesktopEventService.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface DesktopListener {
-	public void drawingViewAdded(DesktopEvent dpe);
-	public void drawingViewRemoved(DesktopEvent dpe);
-	public void drawingViewSelected(DesktopEvent dpe);
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/DiamondFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/DiamondFigure.java
deleted file mode 100644
index 80a14a33b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/DiamondFigure.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * @(#)DiamondFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.figures.*;
-import java.awt.*;
-
-/**
- * A diamond with vertices at the midpoints of its enclosing rectangle
- *
- * @author Doug Lea  (dl at gee, Tue Feb 25 17:39:44 1997)
- * @version <$CURRENT_VERSION$>
- */
-public  class DiamondFigure extends RectangleFigure {
-
-	public DiamondFigure() {
-		super(new Point(0,0), new Point(0,0));
-	}
-
-	public DiamondFigure(Point origin, Point corner) {
-		super(origin,corner);
-	}
-
-	/**
-	 * @return the polygon describing the diamond
-	 **/
-	protected Polygon getPolygon() {
-		Rectangle r = displayBox();
-		Polygon p = new Polygon();
-		p.addPoint(r.x, r.y+r.height/2);
-		p.addPoint(r.x+r.width/2, r.y);
-		p.addPoint(r.x+r.width, r.y+r.height/2);
-		p.addPoint(r.x+r.width/2, r.y+r.height);
-		return p;
-	}
-
-	public void draw(Graphics g) {
-		Polygon p = getPolygon();
-		g.setColor(getFillColor());
-		g.fillPolygon(p);
-		g.setColor(getFrameColor());
-		g.drawPolygon(p);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = displayBox();
-		return new Insets(r.height/2, r.width/2, r.height/2, r.width/2);
-	}
-
-	public boolean containsPoint(int x, int y) {
-		return getPolygon().contains(x, y);
-	}
-
-	public Point chop(Point p) {
-		return PolygonFigure.chop(getPolygon(), p);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ChopDiamondConnector(this);
-	}  
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/FloatingTextArea.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/FloatingTextArea.java
deleted file mode 100644
index a95bf5fbe..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/FloatingTextArea.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- *  @(#)FloatingTextArea.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib;
-
-import java.awt.Color;
-
-import java.awt.Container;
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.Rectangle;
-import javax.swing.BorderFactory;
-import javax.swing.JEditorPane;
-import javax.swing.JScrollPane;
-
-/**
- * A FloatingTextArea overlays an editor on top of an area in a drawing<br>
- * @author Eduardo Francos - InContext
- * @version <$CURRENT_VERSION$>
- * @todo By default JEditorPane uses a tab size of 8.
- * I couldn't find how to change this.
- * If anybody knows please tell me.
- */
-public class FloatingTextArea {
-	/**
-	 * A scroll pane to allow for vertical scrolling while editing
-	 */
-	protected JScrollPane fEditScrollContainer;
-	/**
-	 * The actual editor
-	 */
-	protected JEditorPane fEditWidget;
-	/**
-	 * The container within which the editor is created
-	 */
-	protected Container fContainer;
-
-
-	/**
-	 * Constructor for the FloatingTextArea object
-	 */
-	public FloatingTextArea() {
-		fEditWidget = new JEditorPane();
-		fEditScrollContainer = new JScrollPane(fEditWidget,
-				JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
-				JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
-		fEditScrollContainer.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-		fEditScrollContainer.setBorder(BorderFactory.createLineBorder(Color.black));
-	}
-
-
-	/**
-	 * Creates the overlay within the given container.
-	 * @param container the container
-	 */
-	public void createOverlay(Container container) {
-		createOverlay(container, null);
-	}
-
-
-	/**
-	 * Creates the overlay for the given Container using a
-	 * specific font.
-	 * @param container the container
-	 * @param font the font
-	 */
-	public void createOverlay(Container container, Font font) {
-		container.add(fEditScrollContainer, 0);
-		if (font != null) {
-			fEditWidget.setFont(font);
-		}
-		fContainer = container;
-	}
-
-
-	/**
-	 * Positions and sizes the overlay.
-	 * @param r the bounding rectangle for the overlay
-	 * @param text the text to edit
-	 */
-	public void setBounds(Rectangle r, String text) {
-		fEditWidget.setText(text);
-		fEditScrollContainer.setBounds(r.x, r.y, r.width, r.height);
-		fEditScrollContainer.setVisible(true);
-		fEditWidget.setCaretPosition(0);
-		fEditWidget.requestFocus();
-	}
-
-
-	/**
-	 * Gets the text contents of the overlay.
-	 * @return The text value
-	 */
-	public String getText() {
-		return fEditWidget.getText();
-	}
-
-
-	/**
-	 * Gets the preferred size of the overlay.
-	 * @param cols Description of the Parameter
-	 * @return The preferredSize value
-	 */
-	public Dimension getPreferredSize(int cols) {
-		return new Dimension(fEditWidget.getWidth(), fEditWidget.getHeight());
-	}
-
-
-	/**
-	 * Removes the overlay.
-	 */
-	public void endOverlay() {
-		fContainer.requestFocus();
-		if (fEditScrollContainer != null) {
-			fEditScrollContainer.setVisible(false);
-			fContainer.remove(fEditScrollContainer);
-
-			Rectangle bounds = fEditScrollContainer.getBounds();
-			fContainer.repaint(bounds.x, bounds.y, bounds.width, bounds.height);
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/GraphicalCompositeFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/GraphicalCompositeFigure.java
deleted file mode 100644
index 0968e611d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/GraphicalCompositeFigure.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * @(#)GraphicalCompositeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-import org.jhotdraw.figures.*;
-import java.awt.*;
-import java.io.*;
-import java.util.List;
-
-/**
- * The GraphicalCompositeFigure fills in the gap between a CompositeFigure
- * and other figures which mainly have a presentation purpose. The
- * GraphicalCompositeFigure can be configured with any Figure which
- * takes over the task for rendering the graphical presentation for
- * a CompositeFigure. Therefore, the GraphicalCompositeFigure manages
- * contained figures like the CompositeFigure does, but delegates
- * its graphical presentation to another (graphical) figure which
- * purpose it is to draw the container for all contained figures.
- *
- * The GraphicalCompositeFigure adds to the {@link CompositeFigure CompositeFigure}
- * by containing a presentation figure by default which can not be removed.  Normally,
- * the {@link CompositeFigure CompositeFigure} can not be seen without containing a figure
- * because it has no mechanism to draw itself.  It instead relies on its contained
- * figures to draw themselves thereby giving the {@link CompositeFigure CompositeFigure} its
- * appearance.  However, the <b>GraphicalCompositeFigure</b>'s presentation figure
- * can draw itself even when the <b>GraphicalCompositeFigure</b> contains no other figures.
- * The <b>GraphicalCompositeFigure</b> also uses a {@link Layouter Layouter} or layout
- * its contained figures.
- *
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class GraphicalCompositeFigure extends CompositeFigure implements Layoutable  {
-
-	/**
-	 * Figure which performs all presentation tasks for this
-	 * CompositeFigure as CompositeFigures usually don't have
-	 * an own presentation but present only the sum of all its
-	 * children.
-	 */
-	private Figure	myPresentationFigure;
-
-	/**
-	 * A Layouter determines how the CompositeFigure should
-	 * be laid out graphically.
-	 */
-	private Layouter myLayouter;
-
-	private static final long serialVersionUID = 1265742491024232713L;
-
-	/**
-	 * Default constructor which uses a RectangleFigure as presentation
-	 * figure. This constructor is needed by the Storable mechanism.
-	 */
-	public GraphicalCompositeFigure() {
-		this(new RectangleFigure());
-	}
-
-	/**
-	 * Constructor which creates a GraphicalCompositeFigure with
-	 * a given graphical figure for presenting it.
-	 *
-	 * @param	newPresentationFigure	figure which renders the container
-	 */
-	public GraphicalCompositeFigure(Figure newPresentationFigure) {
-		super();
-		setPresentationFigure(newPresentationFigure);
-		initialize();
-	}
-
-	/**
-	 * This method performs additional initialization operations,
-	 * in this case setting the Layouter.
-	 * It is called from the constructors and the clone() method.
-	 * A StandardLayouter is set.
-	 */
-	protected void initialize() {
-		if (getLayouter() != null) {
-			// use prototype to create new instance
-			setLayouter(getLayouter().create(this));
-		}
-		else {
-			setLayouter(new StandardLayouter(this));
-		}
-	}
-
-	/**
-	 * Clones a figure and initializes it
-	 *
-	 * @see Figure#clone
-	 */
-	public Object clone() {
-		Object cloneObject = super.clone();
-		((GraphicalCompositeFigure)cloneObject).initialize();
-		return cloneObject;
-	}
-
-	/**
-	 * Return the display area. This method is delegated to the encapsulated presentation figure.
-	 */
-	public Rectangle displayBox() {
-		return getPresentationFigure().displayBox();
-	}
-
-	/**
-	 * Standard presentation method which is delegated to the encapsulated presentation figure.
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		Rectangle r = getLayouter().layout(origin, corner);
-		 // Fix for bug request IDs 548000 and 548032
-		 // Previously was
-		 //     getPresentationFigure().basicDisplayBox(r.getLocation(), new Point(r.width, r.height));
-		 // The corner transferred to the presentation figure is wrong as it transfers
-		 // the dimension of the resulting rectangle from the layouter instead of the
-		 // lower right corner
-		getPresentationFigure().basicDisplayBox(r.getLocation(),
-			new Point((int)r.getMaxX(), (int)r.getMaxY()));
-	}
-
-	/**
-	 * Standard presentation method which is delegated to the encapsulated presentation figure.
-	 * The presentation figure is moved as well as all contained figures.
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		super.basicMoveBy(dx, dy);
-		getPresentationFigure().moveBy(dx, dy);
-	}
-
-	/**
-	 * Explicit update: an updated involves a layout for all contained figures.
-	 */
-	public void update() {
-		willChange();
-		layout();
-		change();
-		changed();
-	}
-
-	/**
-	 * Draw the figure. This method is delegated to the encapsulated presentation figure.
-	 */
-	public void draw(Graphics g) {
-		getPresentationFigure().draw(g);
-		super.draw(g);
-	}
-
-	/**
-	 * Return default handles from the presentation figure.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-		//return getPresentationFigure().handles();
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' getAttribute()
-	 * will be invoked (which currently returns always "null").
-	 *
-	 * @param	name	name of the attribute whose value should be returned
-	 * @return	value of the attribute with the given name
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		if (getPresentationFigure() != null) {
-			return getPresentationFigure().getAttribute(name);
-		}
-		else {
-			return super.getAttribute(name);
-		}
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' getAttribute()
-	 * will be invoked (which currently returns always "null").
-	 *
-	 * @param	attributeConstant	attribute constant whose value should be returned
-	 * @return	value of the attribute with the given name
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		if (getPresentationFigure() != null) {
-			return getPresentationFigure().getAttribute(attributeConstant);
-		}
-		else {
-			return super.getAttribute(attributeConstant);
-		}
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' setAttribute()
-	 * will be invoked (which currently does not set an attribute).
-	 *
-	 * @param	name	name of the attribute
-	 * @param	value	value associated with this attribute
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		if (getPresentationFigure() != null) {
-			getPresentationFigure().setAttribute(name, value);
-		}
-		else {
-			super.setAttribute(name, value);
-		}
-	}
-
-	/**
-	 * Delegate capabilities for storing and retrieving attributes to a
-	 * CompositeFigure if the encapsulated presentation figure. If no
-	 * presentation figure is found then the superclass' setAttribute()
-	 * will be invoked (which currently does not set an attribute).
-	 *
-	 * @param	attributeConstant	attribute constant
-	 * @param	value	value associated with this attribute
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		if (getPresentationFigure() != null) {
-			getPresentationFigure().setAttribute(attributeConstant, value);
-		}
-		else {
-			super.setAttribute(attributeConstant, value);
-		}
-	}
-
-	/**
-	 * Set a figure which renders this CompositeFigure. The presentation
-	 * tasks for the CompositeFigure are delegated to this presentation
-	 * figure.
-	 *
-	 * @param	newPresentationFigure	figure takes over the presentation tasks
-	 */
-	public void setPresentationFigure(Figure newPresentationFigure) {
-		myPresentationFigure = newPresentationFigure;
-	}
-
-	/**
-	 * Get a figure which renders this CompositeFigure. The presentation
-	 * tasks for the CompositeFigure are delegated to this presentation
-	 * figure.
-	 *
-	 * @return	figure takes over the presentation tasks
-	 */
-	public Figure getPresentationFigure() {
-		return myPresentationFigure;
-	}
-
-	/**
-	 * A layout algorithm is used to define how the child components
-	 * should be laid out in relation to each other. The task for
-	 * layouting the child components for presentation is delegated
-	 * to a Layouter which can be plugged in at runtime.
-	 */
-	public void layout() {
-		if (getLayouter() != null) {
-			Rectangle r = getLayouter().calculateLayout(displayBox().getLocation(), displayBox().getLocation());
-			displayBox(r.getLocation(), new Point(r.x + r.width, r.y + r.height));
-		}
-	}
-
-	/**
-	 * Set a Layouter object which encapsulated a layout
-	 * algorithm for this figure. Typically, a Layouter
-	 * accesses the child components of this figure and arranges
-	 * their graphical presentation. It is a good idea to set
-	 * the Layouter in the protected initialize() method
-	 * so it can be recreated if a GraphicalCompositeFigure is
-	 * read and restored from a StorableInput stream.
-	 *
-	 * @param	newLayouter	encapsulation of a layout algorithm.
-	 */
-	public void setLayouter(Layouter newLayouter) {
-		myLayouter = newLayouter;
-	}
-
-	/**
-	 * Get a Layouter object which encapsulated a layout
-	 * algorithm for this figure. Typically, a Layouter
-	 * accesses the child components of this figure and arranges
-	 * their graphical presentation.
-	 *
-	 * @return	layout strategy used by this figure
-	 */
-	public Layouter getLayouter() {
-		return myLayouter;
-	}
-
-	/**
-	 * Notify the registered change listener if an exlicit change
-	 * to the component (or one of its child components has occurred).
-	 */
-	protected void change() {
-		if (listener() != null) {
-			listener().figureRequestUpdate(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Propagates the removeFromDrawing request up to the container.
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			if (includes(e.getFigure())) {
-				Rectangle r = invalidateRectangle(displayBox());
-				listener().figureRequestRemove(new FigureChangeEvent(this, r, e));
-			}
-			else {
-				super.figureRequestRemove(e);
-			}
-		}
-	}
-
-	/**
-	 * Reads the contained figures from StorableInput. The
-	 * figure responsible for graphical presentation is read
-	 * together with all child components. The Layouter
-	 * is not stored and therefore not read.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setPresentationFigure((Figure)dr.readStorable());
-		setLayouter((Layouter)dr.readStorable());
-	}
-
-	/**
-	 * Writes the contained figures to the StorableOutput. The
-	 * figure responsible for graphical presentation is written
-	 * together with all child components. The Layouter
-	 * is not written.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getPresentationFigure());
-		dw.writeStorable(getLayouter());
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/GridPainter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/GridPainter.java
deleted file mode 100644
index fc24622f9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/GridPainter.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * @(#)GridPainter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib;
-
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics;
-
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.framework.Painter;
-
-/**
-* <p>
-* This painter draws a grid as background for the drawing view
-* </p>
-*
-* @author Jorge Manrubia D�ez
-* @version 1.0
-*/
-public class GridPainter implements Painter {
-	private int myHorizontalSeparation;
-	private int myVerticalSeparation;
-	private Color myColor;
-
-	/**
-	 * It constructs the painter using the desired horizontal and vertical
-	 * separation
-	 *
-	 * @param horizontalSeparation
-	 * @param verticalSeparation
-	 */
-	public GridPainter(int horizontalSeparation, int verticalSeparation) {
-		super();
-		setHorizontalSeparation(horizontalSeparation);
-		setVerticalSeparation(verticalSeparation);
-		setColor(Color.black);
-	}
-
-	/**
-	 * It constructs the painter using the desired separation (both horizontal
-	 * and vertical)
-	 *
-	 * @param newSeparation number of pixel which should separate the grid
-	 */
-	public GridPainter(int newSeparation) {
-		this(newSeparation, newSeparation);
-	}
-
-	public int getHorizontalSeparation() {
-		return myHorizontalSeparation;
-	}
-
-	public void setHorizontalSeparation(int newHorizontalSeparation) {
-		myHorizontalSeparation = newHorizontalSeparation;
-	}
-
-	public int getVerticalSeparation() {
-		return myVerticalSeparation;
-	}
-
-	public void setVerticalSeparation(int newVerticalSeparation) {
-		myVerticalSeparation = newVerticalSeparation;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Painter#draw(java.awt.Graphics, org.jhotdraw.framework.DrawingView)
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		g.setColor(getColor());
-		Dimension size = view.getSize();
-		int width = size.width;
-		int height = size.height;
-		for (int x = 0; x < width; x += getHorizontalSeparation()) {
-			for (int y = 0; y < height; y += getVerticalSeparation()) {
-				g.drawRect(x, y, 0, 0); //Es lo m�s eficiente para colorea pixeles
-			}
-		}
-	}
-
-	public Color getColor() {
-		return myColor;
-	}
-
-	public void setColor(Color newColor) {
-		myColor = newColor;
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/Helper.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/Helper.java
deleted file mode 100644
index 01ad96691..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/Helper.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)Helper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.DrawingView;
-import java.awt.*;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class Helper {
-
-	static public DrawingView getDrawingView(Container container) {
-		DrawingView oldDrawingView = null;
-		Component[] components = container.getComponents();
-		for (int i = 0; i < components.length; i++) {
-			if (components[i] instanceof DrawingView) {
-				return (DrawingView)components[i];
-			}
-			else if (components[i] instanceof Container) {
-				oldDrawingView = getDrawingView((Container)components[i]);
-				if (oldDrawingView != null) {
-					return oldDrawingView;
-				}
-			}
-		}
-		return null;
-	}
-
-	static public DrawingView getDrawingView(Component component) {
-		if (Container.class.isInstance(component)) {
-			return getDrawingView((Container)component);
-		}
-		else if (DrawingView.class.isInstance(component)) {
-			return (DrawingView)component;
-		}
-		else {
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/JPanelDesktop.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/JPanelDesktop.java
deleted file mode 100644
index eb7eb6bc9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/JPanelDesktop.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)JPanelDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import javax.swing.*;
-import java.awt.*;
-import org.jhotdraw.application.*;
-import org.jhotdraw.framework.DrawingView;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class JPanelDesktop extends JPanel implements Desktop {
-
-	private DesktopEventService myDesktopEventService;
-	private DrawApplication myDrawApplication;
-
-    public JPanelDesktop(DrawApplication newDrawApplication) {
-		setDrawApplication(newDrawApplication);
-		setDesktopEventService(createDesktopEventService());
-        setAlignmentX(LEFT_ALIGNMENT);
-		setLayout(new BorderLayout());
-    }
-
-	protected Component createContents(DrawingView dv) {
-		JScrollPane sp = new JScrollPane((Component)dv);
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(LEFT_ALIGNMENT);
-		String applicationTitle;
-		if (dv.drawing().getTitle() == null) {
-			applicationTitle = getDrawApplication().getApplicationName()
-					+ " - " + getDrawApplication().getDefaultDrawingTitle();
-		}
-		else {
-			applicationTitle = getDrawApplication().getApplicationName() + " - " + dv.drawing().getTitle();
-		}
-		// should be setTitle but a JPanelDesktop has no own title bar
-		sp.setName(applicationTitle);
-		return sp;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return getDesktopEventService().getActiveDrawingView();
-	}
-
-	public void addToDesktop(DrawingView dv, int location) {
-		getDesktopEventService().addComponent(createContents(dv));
-		getContainer().validate();
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		getDesktopEventService().removeComponent(dv);
-		getContainer().validate();
-	}
-
-	public void removeAllFromDesktop(int location) {
-	    getDesktopEventService().removeAllComponents();
-		getContainer().validate();
-	}
-
-	public DrawingView[] getAllFromDesktop(int location) {
-		return getDesktopEventService().getDrawingViews(getComponents());
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-	    getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	private Container getContainer() {
-		return this;
-	}
-
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, getContainer());
-	}
-
-	private void setDrawApplication(DrawApplication newDrawApplication) {
-		myDrawApplication = newDrawApplication;
-	}
-
-	protected DrawApplication getDrawApplication() {
-		return myDrawApplication;
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		// should be setTitle but a JPanelDesktop has no own title bar
-		setName(newDrawingTitle);
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/JScrollPaneDesktop.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/JScrollPaneDesktop.java
deleted file mode 100644
index a3b6b73b7..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/JScrollPaneDesktop.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * @(#)JScrollPaneDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import java.awt.Component;
-import java.awt.Container;
-
-// JUnitDoclet begin import
-import javax.swing.JScrollPane;
-
-import org.jhotdraw.framework.DrawingView;
-// JUnitDoclet end import
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class JScrollPaneDesktop extends JScrollPane implements Desktop {
-
-	private DesktopEventService myDesktopEventService;
-
-    public JScrollPaneDesktop() {
-		setDesktopEventService(createDesktopEventService());
-        setAlignmentX(LEFT_ALIGNMENT);
-		setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-    }
-
-	protected Component createContents(DrawingView dv) {
-		return (Component)dv;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return getDesktopEventService().getActiveDrawingView();
-	}
-
-	public void addToDesktop(DrawingView dv, int location) {
-		getContainer().add(createContents(dv));
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		getDesktopEventService().removeComponent(dv);
-	}
-
-	public void removeAllFromDesktop(int location) {
-		getDesktopEventService().removeAllComponents();
-	}
-
-	public DrawingView[] getAllFromDesktop(int location) {
-		//This is overkill since we know we only have 1 component...
-		return getDesktopEventService().getDrawingViews(getComponents());
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	private Container getContainer() {
-		return getViewport();
-	}
-
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, getContainer());
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		// should be setTitle but a JPanelDesktop has no own title bar
-		setName(newDrawingTitle);
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/Layoutable.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/Layoutable.java
deleted file mode 100644
index cc62da8d7..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/Layoutable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)Layouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.Figure;
-
-/**
- * A Layoutable is a target for a Layouter who lays out the Layoutable
- * according to its layout algorithm
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface Layoutable extends Figure {
-
-	/**
-	 * Layout the figure
-	 */
-	public void layout();
-
-	/**
-	 * Set the Layouter for this Layoutable
-	 *
-	 * @param newLayouter layouter
-	 */
-	public void setLayouter(Layouter newLayouter);
-	
-	/**
-	 * Return the Layouter for this Layoutable
-	 *
-	 * @return layouter
-	 */
-	public Layouter getLayouter();
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/Layouter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/Layouter.java
deleted file mode 100644
index b2d654d48..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/Layouter.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)Layouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.util.Storable;
-import java.io.Serializable;
-import java.awt.*;
-
-/**
- * A Layouter encapsulates a algorithm to layout
- * a figure. It is passed on to a figure which delegates the 
- * layout task to the Layouter's layout method. 
- * The Layouter might need access to some information 
- * specific to a certain figure in order to layout it out properly.
- *
- * Note: Currently, only the GraphicalCompositeFigure uses
- *       such a Layouter to layout its child components.
- *
- * @see		GraphicalCompositeFigure
- *
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface Layouter extends Serializable, Storable {
-
-	/**
-	 * Calculate the layout for the figure and all its
-	 * subelements. The layout is not actually performed but just
-	 * its dimensions are calculated.
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 * @return size including space for insets
-	 */	
-	public Rectangle calculateLayout(Point origin, Point corner);
-
-	/**
-	 * Method which lays out a figure. It is called by the figure
-	 * if a layout task is to be performed. Implementing classes
-	 * specify a certain layout algorithm in this method.
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 */	
-	public Rectangle layout(Point origin, Point corner);
-
-	/**
-	 * Set the insets for spacing between the figure and its subfigures
-	 *
-	 * @param newInsets new spacing dimensions
-	 */
-	public void setInsets(Insets newInsets);
-
-	/**
-	 * Get the insets for spacing between the figure and its subfigures
-	 *
-	 * @return spacing dimensions
-	 */	
-	public Insets getInsets();
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 */
-	public Layouter create(Layoutable newLayoutable);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/MDIDesktopPane.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/MDIDesktopPane.java
deleted file mode 100644
index 4a1ee051d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/MDIDesktopPane.java
+++ /dev/null
@@ -1,636 +0,0 @@
-/*
- * @(#)MDIDesktopPane.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.standard.NullDrawingView;
-import org.jhotdraw.application.DrawApplication;
-
-import javax.swing.*;
-import javax.swing.event.InternalFrameListener;
-import javax.swing.event.InternalFrameAdapter;
-import javax.swing.event.InternalFrameEvent;
-import java.awt.*;
-import java.beans.*;
-
-/**
- * An extension of JDesktopPane that supports often used MDI functionality. This
- * class also handles setting scroll bars for when windows move too far to the left or
- * bottom, providing the MDIDesktopPane is in a ScrollPane.
- * Note by dnoyeb: I dont know why the container does not fire frame close events when the frames
- * are removed from the container with remove as opposed to simply closed with the
- * "x".  so if you say removeAll from container you wont be notified.  No biggie.
- *
- * @author Wolfram Kaiser (adapted from an article in JavaWorld)
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MDIDesktopPane extends JDesktopPane implements Desktop {
-	private static int FRAME_OFFSET=20;
-	private MDIDesktopManager manager;
-	private DrawApplication myDrawApplication;
-	private DesktopEventService myDesktopEventService;
-
-	private DrawingView selectedView;
-
-	public MDIDesktopPane(DrawApplication newDrawApplication) {
-		setDesktopEventService(createDesktopEventService());
-		setDrawApplication(newDrawApplication);
-		manager=new MDIDesktopManager(this);
-		setDesktopManager(manager);
-		setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
-		setAlignmentX(JComponent.LEFT_ALIGNMENT);
-	}
-
-	protected InternalFrameListener internalFrameListener = new InternalFrameAdapter() {
-	    /**
-	     * Invoked when a internal frame has been opened.
-         * @see javax.swing.JInternalFrame#show
-		 * if dv is null assert
-         */
-	    public void internalFrameOpened(InternalFrameEvent e) {
-			DrawingView dv = Helper.getDrawingView(e.getInternalFrame());
-			fireDrawingViewAddedEvent(dv);
-	    }
-
-		/**
-		 * Invoked when an internal frame is in the process of being closed.
-		 * The close operation can be overridden at this point.
-		 * @see javax.swing.JInternalFrame#setDefaultCloseOperation
-		 */
-		//public void internalFrameClosing(InternalFrameEvent e) {
-		//}
-
-		/**
-		 * Invoked when an internal frame has been closed.
-		 * if dv is null assert
-		 * if this is the last view set it to null
-		 * @see javax.swing.JInternalFrame#setClosed
-		 */
-		public void internalFrameClosed(InternalFrameEvent e) {
-			DrawingView dv = Helper.getDrawingView(e.getInternalFrame());
-			if (getComponentCount() == 0){
-				DrawingView oldView = getActiveDrawingView();
-				setActiveDrawingView(NullDrawingView.getManagedDrawingView(oldView.editor()));
-				fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-			}
-			fireDrawingViewRemovedEvent(dv);
-		}
-
-		/**
-		 * Invoked when an internal frame is iconified.
-		 * @see javax.swing.JInternalFrame#setIcon
-		 */
-		//public void internalFrameIconified(InternalFrameEvent e) {
-		//}
-
-		/**
-		 * Invoked when an internal frame is de-iconified.
-		 * @see javax.swing.JInternalFrame#setIcon
-		 */
-		//public void internalFrameDeiconified(InternalFrameEvent e) {
-		//}
-
-		/**
-		 * Invoked when an internal frame is activated.
-		 * @see javax.swing.JInternalFrame#setSelected
-		 * if this frame has a null drawingView then assert
-		 * because their should be no null frames being selected
-		 * this does not include NullDrawingView which is acceptable
-		 */
-		public void internalFrameActivated(InternalFrameEvent e) {
-			DrawingView dv = Helper.getDrawingView(e.getInternalFrame());
-			DrawingView oldView = getActiveDrawingView();
-			setActiveDrawingView(dv);
-			fireDrawingViewSelectedEvent(oldView, getActiveDrawingView());
-		}
-
-		//public void internalFrameDeactivated(InternalFrameEvent e) {
-		//}
-	};
-
-
-	protected void fireDrawingViewAddedEvent(final DrawingView dv) {
-		getDesktopEventService().fireDrawingViewAddedEvent(dv);
-	}
-
-	protected void fireDrawingViewRemovedEvent(final DrawingView dv) {
-		getDesktopEventService().fireDrawingViewRemovedEvent(dv);
-	}
-
-	protected void fireDrawingViewSelectedEvent(final DrawingView oldView, final DrawingView newView) {
-		getDesktopEventService().fireDrawingViewSelectedEvent(oldView, newView);
-	}
-
-/*	public void setBounds(int x, int y, int w, int h) {
-		super.setBounds(x,y,w,h);
-		checkDesktopSize();
-	}
-*/
-
-	protected Component createContents(DrawingView dv) {
-		JScrollPane sp = new JScrollPane((Component) dv);
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(LEFT_ALIGNMENT);
-
-		String applicationTitle;
-		if (dv.drawing().getTitle() == null) {
-			applicationTitle = getDrawApplication().getApplicationName() + " - " + getDrawApplication().getDefaultDrawingTitle();
-		}
-		else {
-			applicationTitle = getDrawApplication().getApplicationName() + " - " + dv.drawing().getTitle();
-		}
-		JInternalFrame internalFrame = new JInternalFrame(applicationTitle, true, true, true, true);
-		internalFrame.setName(applicationTitle);
-		internalFrame.getContentPane().add(sp);
-		internalFrame.setSize(200,200);
-		return internalFrame;
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return selectedView;
-	}
-
-	protected void setActiveDrawingView(DrawingView newSelectedView) {
-		selectedView = newSelectedView;
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		getSelectedFrame().setTitle(newDrawingTitle);
-	}
-
-	/**
-	 * This must match the signature of the superclass it is overriding or the
-	 * method invocation may not resolve to this method unless it is called on
-	 * a reference of specifically MDIDesktopPane type.  So this must be
-	 * Component add(Component comp) in order to override its super class and
-	 * Component add(JInternalFrame frame) will not properly override the super-
-	 * class, but instead overload it.
-	 *
-	 * Note be sure to call this method and not add() when you want to add to the
-	 * desktop.  This allows complex desktops to be created.  For instance, you can
-	 * add split panes and scroll panes and such as normal with the add() method
-	 * but then to get to the actual desktop you would still call this method.
-	 */
-	public void addToDesktop(DrawingView dv, int location) {
-		JInternalFrame frame = (JInternalFrame)createContents(dv);
-		JInternalFrame[] array = getAllFrames();
-		Point p = null;
-		int w;
-		int h;
-
-		//should be done before added to desktop
-		frame.addInternalFrameListener(internalFrameListener);
-		super.add(frame);
-
-		checkDesktopSize();
-		if (array.length > 0) {
-			p = array[0].getLocation();
-			p.x = p.x + FRAME_OFFSET;
-			p.y = p.y + FRAME_OFFSET;
-		}
-		else {
-			p = new Point(0, 0);
-		}
-		frame.setLocation(p.x, p.y);
-		if (frame.isResizable()) {
-			w = getWidth() - (getWidth() / 3);
-			h = getHeight() - (getHeight() / 3);
-			if (w < frame.getMinimumSize().getWidth()) {
-				w = (int)frame.getMinimumSize().getWidth();
-			}
-			if (h < frame.getMinimumSize().getHeight()) {
-				h = (int)frame.getMinimumSize().getHeight();
-			}
-			frame.setSize(w, h);
-		}
-		moveToFront(frame);
-		frame.setVisible(true);
-		try {
-			frame.setSelected(true);
-		}
-		catch (PropertyVetoException e) {
-			frame.toBack();
-		}
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		Component[] comps = getComponents();
-		for (int x=0; x<comps.length; x++) {
-			if (dv == Helper.getDrawingView(comps[x])) {
-				((JInternalFrame)comps[x]).dispose();
-			    break;
-			}
-		}
-		checkDesktopSize();
-	}
-
-	public void removeAllFromDesktop(int location) {
-		JInternalFrame[] jifs = getAllFrames();
-		for (int x=0; x < jifs.length; x++) {
-			jifs[x].dispose();
-		}
-	}
-
-	public DrawingView[] getAllFromDesktop(int location){
-		Component[] comps = getComponents();
-		java.util.ArrayList al = new java.util.ArrayList();
-		for (int x=0; x<comps.length; x++) {
-			DrawingView dv = Helper.getDrawingView(comps[x]);
-			if (dv != null) {
-				al.add(dv);
-			}
-		}
-		DrawingView[] dvs = new DrawingView[al.size()];
-		al.toArray(dvs);
-		return dvs;
-	}
-/*
-	public void setSelectedDrawingView(DrawingView dv) {
-		Component[] comps = getComponents();
-		for (int x=0; x < comps.length; x++) {
-			DrawingView dv2 = Helper.getDrawingView(comps[x]);
-		    if (dv == dv2) {
-				JInternalFrame frame = (JInternalFrame)comps[x];
-				try {
-					//moveToFront(frame);
-					frame.setSelected(true);
-				}
-				catch(java.beans.PropertyVetoException pve) {
-				    System.out.println(pve);
-				}
-		    }
-		}
-	}
-*/
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, this);
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	/**
-	 * Cascade all internal frames
-	 */
-	public void cascadeFrames() {
-		int x = 0;
-		int y = 0;
-		JInternalFrame[] allFrames = getAllFrames();
-
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int frameHeight = (getBounds().height - 5) - allFrames.length * FRAME_OFFSET;
-		int frameWidth = (getBounds().width - 5) - allFrames.length * FRAME_OFFSET;
-		for (int i = allFrames.length - 1; i >= 0; i--) {
-			try {
-				allFrames[i].setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[i].setBounds(x, y, frameWidth, frameHeight);
-			x = x + FRAME_OFFSET;
-			y = y + FRAME_OFFSET;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Tile all internal frames<br>
-	 *
-	 * @deprecated use tileFramesHorizontally() instead
-	 *
-	 */
-	public void tileFrames() {
-		tileFramesHorizontally();
-	}
-
-	public void tileFramesHorizontally() {
-		Component[] allFrames = getAllFrames();
-
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int frameHeight = getBounds().height/allFrames.length;
-		int y = 0;
-		for (int i = 0; i < allFrames.length; i++) {
-			try {
-				((JInternalFrame)allFrames[i]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[i].setBounds(0, y, getBounds().width,frameHeight);
-			y = y + frameHeight;
-		}
-
-		checkDesktopSize();
-	}
-
-	public void tileFramesVertically() {
-		Component[] allFrames = getAllFrames();
-
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-		manager.setNormalSize();
-
-		int frameWidth = getBounds().width/allFrames.length;
-		int x = 0;
-		for (int i = 0; i < allFrames.length; i++) {
-			try {
-				((JInternalFrame)allFrames[i]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[i].setBounds(x, 0, frameWidth, getBounds().height);
-			x = x + frameWidth;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Arranges the frames as efficiently as possibly with preference for
-	 * keeping vertical size maximal.<br>
-	 *
-	 */
-	public void arrangeFramesVertically() {
-		Component[] allFrames = getAllFrames();
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int vertFrames = (int)Math.floor(Math.sqrt(allFrames.length));
-		int horFrames = (int)Math.ceil(Math.sqrt(allFrames.length));
-
-		// first arrange the windows that have equal size
-		int frameWidth = getBounds().width / horFrames;
-		int frameHeight = getBounds().height / vertFrames;
-		int x = 0;
-		int y = 0;
-		int frameIdx = 0;
-		for (int horCnt = 0; horCnt < horFrames-1; horCnt++) {
-			y = 0;
-			for (int vertCnt = 0; vertCnt < vertFrames; vertCnt++) {
-				try {
-					((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-				}
-				catch (PropertyVetoException e) {
-					e.printStackTrace();
-				}
-
-				allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-				frameIdx++;
-				y = y + frameHeight;
-			}
-			x = x + frameWidth;
-		}
-
-		// the rest of the frames are tiled down on the last column with equal
-		// height
-		frameHeight = getBounds().height / (allFrames.length - frameIdx);
-		y = 0;
-		for (; frameIdx < allFrames.length; frameIdx++)
-		{
-			try {
-				((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-			y = y + frameHeight;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Arranges the frames as efficiently as possibly with preference for
-	 * keeping horizontal size maximal.<br>
-	 *
-	 */
-	public void arrangeFramesHorizontally() {
-		Component[] allFrames = getAllFrames();
-		// do nothing if no frames to work with
-		if (allFrames.length == 0) {
-			return;
-		}
-
-		manager.setNormalSize();
-
-		int vertFrames = (int)Math.ceil(Math.sqrt(allFrames.length));
-		int horFrames = (int)Math.floor(Math.sqrt(allFrames.length));
-
-		// first arrange the windows that have equal size
-		int frameWidth = getBounds().width / horFrames;
-		int frameHeight = getBounds().height / vertFrames;
-		int x = 0;
-		int y = 0;
-		int frameIdx = 0;
-		for (int vertCnt = 0; vertCnt < vertFrames-1; vertCnt++) {
-			x = 0;
-			for (int horCnt = 0; horCnt < horFrames; horCnt++) {
-				try {
-					((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-				}
-				catch (PropertyVetoException e) {
-					e.printStackTrace();
-				}
-
-				allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-				frameIdx++;
-				x = x + frameWidth;
-			}
-			y = y + frameHeight;
-		}
-
-		// the rest of the frames are tiled down on the last column with equal
-		// height
-		frameWidth = getBounds().width / (allFrames.length - frameIdx);
-		x = 0;
-		for (; frameIdx < allFrames.length; frameIdx++) {
-			try {
-				((JInternalFrame)allFrames[frameIdx]).setMaximum(false);
-			}
-			catch (PropertyVetoException e) {
-				e.printStackTrace();
-			}
-
-			allFrames[frameIdx].setBounds(x, y, frameWidth, frameHeight);
-			x = x + frameWidth;
-		}
-
-		checkDesktopSize();
-	}
-
-	/**
-	 * Sets all component size properties ( maximum, minimum, preferred)
-	 * to the given dimension.
-	 */
-	public void setAllSize(Dimension d) {
-		setMinimumSize(d);
-		setMaximumSize(d);
-		setPreferredSize(d);
-		setBounds(0, 0, d.width, d.height);
-	}
-
-	/**
-	 * Sets all component size properties ( maximum, minimum, preferred)
-	 * to the given width and height.
-	 */
-	public void setAllSize(int width, int height) {
-		setAllSize(new Dimension(width,height));
-	}
-
-	private void checkDesktopSize() {
-		if ((getParent() != null) && isVisible()) {
-			manager.resizeDesktop();
-		}
-	}
-
-	private void setDrawApplication(DrawApplication newDrawApplication) {
-		myDrawApplication = newDrawApplication;
-	}
-
-	protected DrawApplication getDrawApplication() {
-		return myDrawApplication;
-	}
-}
-
-/**
- * Private class used to replace the standard DesktopManager for JDesktopPane.
- * Used to provide scrollbar functionality.
- */
-class MDIDesktopManager extends DefaultDesktopManager {
-	private MDIDesktopPane desktop;
-
-	public MDIDesktopManager(MDIDesktopPane newDesktop) {
-		this.desktop = newDesktop;
-	}
-
-	public void endResizingFrame(JComponent f) {
-		super.endResizingFrame(f);
-		resizeDesktop();
-	}
-
-	public void endDraggingFrame(JComponent f) {
-		super.endDraggingFrame(f);
-		resizeDesktop();
-	}
-
-	public void setNormalSize() {
-		JScrollPane scrollPane = getScrollPane();
-		Insets scrollInsets = getScrollPaneInsets();
-
-		if (scrollPane != null) {
-			Dimension d = scrollPane.getVisibleRect().getSize();
-			if (scrollPane.getBorder() != null) {
-			   d.setSize(d.getWidth() - scrollInsets.left - scrollInsets.right,
-						 d.getHeight() - scrollInsets.top - scrollInsets.bottom);
-			}
-
-			d.setSize(d.getWidth() - 20, d.getHeight() - 20);
-			desktop.setAllSize(d);
-			scrollPane.invalidate();
-			scrollPane.validate();
-		}
-	}
-
-	private Insets getScrollPaneInsets() {
-		JScrollPane scrollPane = getScrollPane();
-		if ((scrollPane == null) || (getScrollPane().getBorder() == null)) {
-			return new Insets(0, 0, 0, 0);
-		}
-		else {
-			return getScrollPane().getBorder().getBorderInsets(scrollPane);
-		}
-	}
-
-	public JScrollPane getScrollPane() {
-		if (desktop.getParent() instanceof JViewport) {
-			JViewport viewPort = (JViewport)desktop.getParent();
-			if (viewPort.getParent() instanceof JScrollPane)
-				return (JScrollPane)viewPort.getParent();
-		}
-		return null;
-	}
-
-	protected void resizeDesktop() {
-		int x = 0;
-		int y = 0;
-		JScrollPane scrollPane = getScrollPane();
-		Insets scrollInsets = getScrollPaneInsets();
-
-		if (scrollPane != null) {
-			JInternalFrame allFrames[] = desktop.getAllFrames();
-			for (int i = 0; i < allFrames.length; i++) {
-				if (allFrames[i].getX() + allFrames[i].getWidth() > x) {
-					x = allFrames[i].getX() + allFrames[i].getWidth();
-				}
-				if (allFrames[i].getY() + allFrames[i].getHeight() > y) {
-					y = allFrames[i].getY() + allFrames[i].getHeight();
-				}
-			}
-			Dimension d=scrollPane.getVisibleRect().getSize();
-			if (scrollPane.getBorder() != null) {
-			   d.setSize(d.getWidth() - scrollInsets.left - scrollInsets.right,
-						 d.getHeight() - scrollInsets.top - scrollInsets.bottom);
-			}
-
-			if (x <= d.getWidth()) {
-				x = ((int)d.getWidth()) - 20;
-			}
-			if (y <= d.getHeight()) {
-				y = ((int)d.getHeight()) - 20;
-			}
-			desktop.setAllSize(x,y);
-			scrollPane.invalidate();
-			scrollPane.validate();
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/MDI_DrawApplication.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/MDI_DrawApplication.java
deleted file mode 100644
index fa67d2a56..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/MDI_DrawApplication.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * @(#)MDI_DrawApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.application.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.contrib.dnd.DragNDropTool;
-
-import javax.swing.*;
-
-/**
- * Many applications have the ability to deal with multiple internal windows.
- * MDI_DrawApplications provides the basic facilities to make use of MDI in
- * JHotDraw. Its main tasks are to create a content for DrawApplications, which
- * is embedded in internal frames, to maintain a list with all internal frames
- * and to manage the switching between them.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MDI_DrawApplication extends DrawApplication {
-
-	/**
-	 * Constructs a drawing window with a default title.
-	 */
-	public MDI_DrawApplication() {
-		this("JHotDraw");
-	}
-
-	/**
-	 * Constructs a drawing window with the given title.
-	 */
-	public MDI_DrawApplication(String title) {
-		super(title);
-	}
-
-	/**
-	 * Factory method which can be overriden by subclasses to
-	 * create an instance of their type.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new MDI_DrawApplication();
-	}
-
-	/**
-	 * Creates the tools. By default only the selection tool is added.
-	 * Override this method to add additional tools.
-	 * Call the inherited method to include the selection tool.
-	 * @param palette the palette where the tools are added.
-	 */
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-		Tool tool = new DragNDropTool(this);
-		ToolButton tb = createToolButton(IMAGES+"SEL", "Drag N Drop Tool", tool);
-		palette.add( tb );
-	}
-
-	/**
-	 * Opens a new internal frame containing a new drawing.
-	 */
-	public void promptNew() {
-		newWindow(createDrawing());
-	}
-
-	/**
-	 * Method to create a new internal frame.  Applications that want
-	 * to create a new internal drawing view should call this method.
-	 */
-	public void newWindow(Drawing newDrawing) {
-		DrawingView newView = createDrawingView(newDrawing);
-		getDesktop().addToDesktop(newView, Desktop.PRIMARY);
-		toolDone();
-	}
-
-	/**
-	 * Create the DrawingView that is active when the application is started.
-	 * This initial DrawingView might be different from DrawingView created
-	 * by the application, so subclasses can override this method to provide
-	 * a special drawing view for application startup time, e.g. a NullDrawingView
-	 * which does not display an internal frame in a multiple document interface
-	 * (MDI) application.
-	 *
-	 * @return drawing view that is active at application startup time
-	 */
-	protected DrawingView createInitialDrawingView() {
-		return NullDrawingView.getManagedDrawingView(this);
-	}
-
-	/**
-	 * Open a new view for this application containing a
-	 * view of the drawing of the currently activated window.
-	 */
-	public void newView() {
-		if (!view().isInteractive()) {
-			return;
-		}
-
-		// create new window with view to an existing drawing
-		newWindow(view().drawing());
-
-		String copyTitle = getDrawingTitle();
-		if (copyTitle != null) {
-			setDrawingTitle(copyTitle);
-		}
-		else {
-			setDrawingTitle(getDefaultDrawingTitle());
-		}
-	}
-
-	/**
-	 * Factory method to create a specialized desktop (manager) for MDI applications
-	 */
-	protected Desktop createDesktop() {
-		return new MDIDesktopPane(this);
-	}
-
-	/**
-	 * Returns all the views in the application
-	 */
-	public DrawingView[] views() {
-		return getDesktop().getAllFromDesktop(Desktop.PRIMARY);
-	}
-
-	public String getDefaultDrawingTitle() {
-		return super.getDefaultDrawingTitle() + views().length;
-	}
-
-	/**
-	 * Set the title of the currently selected drawing
-	 */
-	protected void setDrawingTitle(String drawingTitle) {
-		getDesktop().updateTitle(drawingTitle);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/MiniMapView.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/MiniMapView.java
deleted file mode 100644
index b7bc0d772..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/MiniMapView.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * @(#)MiniMapView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.NoninvertibleTransformException;
-
-import javax.swing.JComponent;
-import javax.swing.JScrollPane;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
-
-import org.jhotdraw.framework.*;
-
-/**
- * Utility component for enhancing component scrolling.  It provides a "minature" view of the entire contents of a JScrollPane
- * and the means to scroll that JScrollPane by moving a rectangle representing the viewable area of the JScrollPane.  If the
- * user clicks on an area inside of the MiniMapView, the JScrollPane's view is centered on that area.  The user may also drag
- * the rectangle representation of the JScrollPane's view around the MiniMap to scroll.
- *
- * @author	S. Ruman (sruman@rogers.com)
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapView extends JComponent {
-// Instance Variables
-	private JScrollPane m_subject;
-	private DrawingView myMappedDrawingView;
-	private SubjectListener m_subjectListener;
-	private DrawingChangeListener myDrawingChangeListener;
-	private Color m_viewBoxColor = Color.red;
-	private AffineTransform originalTransform;
-
-// Constructors
-	public MiniMapView(DrawingView newMappedDrawingView, JScrollPane subject) {
-		m_subjectListener = new SubjectListener();
-		setSubject(subject);
-		setMappedDrawingView(newMappedDrawingView);
-		myDrawingChangeListener = new MappedDrawingChangeListener();
-		getMappedDrawingView().drawing().addDrawingChangeListener(myDrawingChangeListener);
-		MouseListener ml = new MouseListener();
-		addMouseListener(new MouseListener());
-		addMouseMotionListener(ml);
-	}
-
-	protected void setMappedDrawingView(DrawingView newMappedDrawingView) {
-		myMappedDrawingView = newMappedDrawingView;
-	}
-
-	public DrawingView getMappedDrawingView() {
-		return myMappedDrawingView;
-	}
-
-// accessors
-	protected void setSubject(JScrollPane subject) {
-		if (m_subject != null) {
-			m_subject.getViewport().removeChangeListener(m_subjectListener);
-		}
-
-		m_subject = subject;
-		if (m_subject != null) {
-			m_subject.getViewport().addChangeListener(m_subjectListener);
-		}
-
-		repaint();
-	}
-
-	public JScrollPane getSubject() {
-		return m_subject;
-	}
-
-	public Color getViewBowColor() {
-		return m_viewBoxColor;
-	}
-
-	public void setViewBoxColor(Color c) {
-		m_viewBoxColor = c;
-		repaint();
-	}
-
-	/**
-	 * @return	The component that is actually being "mini-mapped", that is the component inside the scroll pane
-	 */
-	protected Component getMappedComponent() {
-		return (Component)getMappedDrawingView();
-	}
-
-// Overridden
-	public void paint(Graphics g) {
-		Graphics2D g2d = (Graphics2D)g;
-
-		/*
-		 * JP, 23-Jan-04: Save original transformation.
-		 */
-		originalTransform = g2d.getTransform();
-
-		// Paint a small map representation of the subjects contents
-		Component mappedComponent = getMappedComponent();
-		AffineTransform at = getViewToMiniMapTransform(mappedComponent);
-		g2d.transform(at);
-
-		getMappedDrawingView().drawAll(g2d);
-
-		// Draw a rectangle representing the viewable area
-		drawViewRectangle(g2d, getViewRectangle());
-	}
-
-	// side-effect of setting the transform on g2d to identity
-	protected void drawViewRectangle(Graphics2D g2d, Rectangle viewPortRectangle) {
-		//AffineTransform at = new AffineTransform();
-		//at.setToIdentity();
-		//g2d.setTransform(at);
-
-		/*
-		 * JP, 23-Jan-04: Restored original transformation instead of setting
-		 * another one. Solves problems with rectangle being outside minimap
-		 * initially. Seems also to conform to JDK specs which say that you must
-		 * never use setTransform() for anything but restoring the original
-		 * transformation.
-		 */
-		g2d.setTransform(originalTransform);
-		g2d.setColor(m_viewBoxColor);
-		g2d.draw(viewPortRectangle);
-	}
-
-	protected AffineTransform getViewToMiniMapTransform(Component mappedComponent) {
-		double scaleX = ((double)getWidth()) / ((double)mappedComponent.getWidth());
-		double scaleY = ((double)getHeight()) / ((double)mappedComponent.getHeight());
-
-		AffineTransform at = getInverseSubjectTransform();		// for subclass flexibility
-		at.concatenate(AffineTransform.getScaleInstance(scaleX, scaleY));
-		return at;
-	}
-
-	/**
-	 * Allows subclasses to modify the transformation used in creating the mini-map
-	 */
-	protected AffineTransform getInverseSubjectTransform() {
-		AffineTransform at = new AffineTransform();
-		at.setToIdentity();
-		return at;
-	}
-
-	/**
-	 * @return	The rectangle (in Mini-Map world-coordinates) representing the area being viewed inside of the scroll pane subject
-	 */
-	protected Rectangle getViewRectangle() {
-		Rectangle visiblePortion = m_subject.getViewportBorderBounds();
-		Point upperLeftViewPos = m_subject.getViewport().getViewPosition();
-		double [] srcRecCorners = new double[4];
-		double [] dstRecCorners = new double[4];
-
-		srcRecCorners[0] = upperLeftViewPos.x + visiblePortion.getX(); srcRecCorners[1] = upperLeftViewPos.y + visiblePortion.getY(); srcRecCorners[2] = upperLeftViewPos.x + visiblePortion.getX() + visiblePortion.getWidth(); srcRecCorners[3] = upperLeftViewPos.y + visiblePortion.getY() + visiblePortion.getHeight();
-		getViewToMiniMapTransform(getMappedComponent()).transform(srcRecCorners, 0, dstRecCorners, 0, srcRecCorners.length/2);	// transform the coordinates to MiniMapView coordinates
-
-		return new Rectangle((int)dstRecCorners[0], (int)dstRecCorners[1], (int)(dstRecCorners[2] - dstRecCorners[0]), (int)(dstRecCorners[3] - dstRecCorners[1]));
-	}
-
-	/**
-	 * Scrolls the subject scroll pane to the coordinates specified.
-	 * @param		upperLeftX		The new upper left corner X-coordinate (in subject world-coordinates) of the subject scroll pane
-	 * @param		upperLeftY		The new upper left corner Y-coordinate (in subject world-coordinates) of the subject scroll pane
-	 */
-	protected void scrollSubjectTo(int upperLeftX, int upperLeftY) {
-		AffineTransform at = null;
-		try {
-			at = getViewToMiniMapTransform(getMappedComponent()).createInverse();
-		}
-		catch (NoninvertibleTransformException nite) {
-			nite.printStackTrace();
-			return;
-		}
-
-		double [] srcPoints = new double[2];
-		double [] destPoints = new double[2];
-		srcPoints[0] = upperLeftX;
-		srcPoints[1] = upperLeftY;
-		at.transform(srcPoints, 0, destPoints, 0, 1);
-
-		if (destPoints[0] < 0) {
-			destPoints[0] = 0;
-		}
-		if (destPoints[1] < 0) {
-			destPoints[1] = 0;
-		}
-
-		m_subject.getViewport().setViewPosition(new Point((int)destPoints[0], (int)destPoints[1]));
-	}
-
-	protected int [] getUpperLeftPointsFromCenter(int centerX, int centerY) {
-		int [] upperLeft = new int[2];
-		Rectangle oldRectangle = getViewRectangle();
-		upperLeft[0] = centerX - oldRectangle.width/2;
-		upperLeft[1] = centerY - oldRectangle.height/2;
-
-        /*
-         * JP, 25-May-03: Avoid positioning of the rectangle outside the
-         * available area. Resulted in very strange artifacts on the screen.
-         * 
-         * JP, 23-Jan-04: Some additional adjustments to ensure that rectangle
-         * is positioned properly.
-         */
-        if (upperLeft[0] + oldRectangle.width >= getX() + getWidth()) {
-            upperLeft[0] = getX() + getWidth() - oldRectangle.width - 1;
-        }
-        
-        if (upperLeft[1] + oldRectangle.height >= getY() + getHeight()) {
-            upperLeft[1] = getY() + getHeight() - oldRectangle.height - 1;
-        }
-
-		return upperLeft;
-	}
-
-	// Inner Classes
-	public class MouseListener extends MouseAdapter implements MouseMotionListener  {
-		public void mousePressed(MouseEvent e) {
-			int [] rectangleUpperLeft = getUpperLeftPointsFromCenter(e.getX(), e.getY());
-			scrollSubjectTo(rectangleUpperLeft[0], rectangleUpperLeft[1]);
-		}
-
-		public void mouseDragged(MouseEvent e) {
-			int [] rectangleUpperLeft = getUpperLeftPointsFromCenter(e.getX(), e.getY());
-			scrollSubjectTo(rectangleUpperLeft[0], rectangleUpperLeft[1]);
-		}
-
-		public void mouseMoved(MouseEvent e) {
-			// empty implementation
-		}
-	}
-
-	class SubjectListener implements ChangeListener {
-		public void stateChanged(ChangeEvent e) {
-			repaint();
-		}
-	}
-
-	class MappedDrawingChangeListener implements DrawingChangeListener {
-		/**
-		 *  Sent when an area is invalid
-		 */
-		public void drawingInvalidated(DrawingChangeEvent e) {
-			repaint();
-		}
-
-		/**
-		 *  Sent when the drawing wants to be refreshed
-		 */
-		public void drawingRequestUpdate(DrawingChangeEvent e) {
-			repaint();
-		}
-        
-        /**  
-         *  Sent when the drawing Title has changed
-         */
-        public void drawingTitleChanged(DrawingChangeEvent e) {
-        }
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/NestedCreationTool.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/NestedCreationTool.java
deleted file mode 100644
index 69e74ab11..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/NestedCreationTool.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * @(#)CreationTool2.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.standard.CreationTool;
-import org.jhotdraw.standard.CompositeFigure;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.DrawingEditor;
-
-import java.awt.event.MouseEvent;
-
-/**
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class NestedCreationTool extends CreationTool {
-	private CompositeFigure myContainerFigure;
-
-	public NestedCreationTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		Figure figure = drawing().findFigure(e.getX(), e.getY());
-		if (figure != null) {
-			figure = figure.getDecoratedFigure();
-			if (figure instanceof CompositeFigure) {
-				setContainerFigure((CompositeFigure)figure);
-				super.mouseDown(e, x, y);
-			}
-			else {
-				toolDone();
-			}
-		}
-		else {
-			toolDone();
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		if ((getContainerFigure() != null) && !getContainerFigure().containsPoint(e.getX(), e.getY())) {
-			// here you might want to constrain the mouse movements to the size of the
-			// container figure: not sure whether this works...
-			toolDone();
-		}
-		else {
-			super.mouseMove(e, x, y);
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if ((getContainerFigure() != null) && (getCreatedFigure() != null)
-				&& getContainerFigure().containsPoint(e.getX(), e.getY())) {
-			getContainerFigure().add(getCreatedFigure());
-		}
-		toolDone();
-	}
-
-	protected void setContainerFigure(CompositeFigure newContainerFigure) {
-		myContainerFigure = newContainerFigure;
-	}
-
-	public CompositeFigure getContainerFigure() {
-		return myContainerFigure;
-	}
-
-	protected void toolDone() {
-		setCreatedFigure(null);
-		setAddedFigure(null);
-		setContainerFigure(null);
-		editor().toolDone();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonFigure.java
deleted file mode 100644
index 505052098..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonFigure.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/*
- * @(#)PolygonFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.IOException;
-
-/**
- * A scalable, rotatable polygon with an arbitrary number of points
- * Based on PolyLineFigure
- *
- * @author Doug Lea  (dl at gee, Fri Feb 28 07:47:05 1997)
- * @version <$CURRENT_VERSION$>
- */
-public  class PolygonFigure extends AttributeFigure {
-
-	/**
-	 * Distance threshold for smoothing away or locating points
-	 **/
-	static final int TOO_CLOSE = 2;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6254089689239215026L;
-	private int polygonFigureSerializedDataVersion = 1;
-
-	private Polygon fPoly;
-
-	public PolygonFigure() {
-		super();
-		setInternalPolygon(new Polygon());
-	}
-
-	public PolygonFigure(int x, int y) {
-		this();
-		getInternalPolygon().addPoint(x, y);
-	}
-
-	public PolygonFigure(Polygon p) {
-		setInternalPolygon(new Polygon(p.xpoints, p.ypoints, p.npoints));
-	}
-
-	public Rectangle displayBox() {
-		return bounds(getInternalPolygon());
-	}
-
-
-	public boolean isEmpty() {
-		return ((pointCount() < 3) ||
-				((size().width < TOO_CLOSE) && (size().height < TOO_CLOSE)));
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(pointCount());
-		for (int i = 0; i < pointCount(); i++) {
-			handles.add(new PolygonHandle(this, locator(i), i));
-		}
-		handles.add(new PolygonScaleHandle(this));
-		return new HandleEnumerator(handles);
-	}
-
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		Rectangle r = displayBox();
-		int dx = origin.x - r.x;
-		int dy = origin.y - r.y;
-		getInternalPolygon().translate(dx, dy);
-		r = displayBox();
-		Point oldCorner = new Point(r.x + r.width, r.y + r.height);
-		scaleRotate(oldCorner, getInternalPolygon(), corner);
-	}
-
-	/**
-	 * @return a copy of the internal polygon
-	 **/
-	public Polygon getPolygon() {
-		return new Polygon(fPoly.xpoints, fPoly.ypoints, fPoly.npoints);
-	}
-
-	protected void setInternalPolygon(Polygon newPolygon) {
-		fPoly = newPolygon;
-	}
-
-	public Polygon getInternalPolygon() {
-		return fPoly;
-	}
-
-	public Point center() {
-		return center(getInternalPolygon());
-	}
-
-	public Iterator points() {
-		List pts = CollectionsFactory.current().createList(pointCount());
-		for (int i = 0; i < pointCount(); ++i) {
-			pts.add(new Point(getInternalPolygon().xpoints[i],
-									 getInternalPolygon().ypoints[i]));
-		}
-		return pts.iterator();
-	}
-
-	public int pointCount() {
-		return getInternalPolygon().npoints;
-	}
-
-	public void basicMoveBy(int dx, int dy) {
-		getInternalPolygon().translate(dx, dy);
-	}
-
-	public void drawBackground(Graphics g) {
-		g.fillPolygon(getInternalPolygon());
-	}
-
-	public void drawFrame(Graphics g) {
-		g.drawPolygon(getInternalPolygon());
-	}
-
-	public boolean containsPoint(int x, int y) {
-		return getInternalPolygon().contains(x, y);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ChopPolygonConnector(this);
-	}
-
-	/**
-	 * Adds a node to the list of points.
-	 */
-	public void addPoint(int x, int y) {
-		getInternalPolygon().addPoint(x, y);
-		changed();
-	}
-
-
-	/**
-	 * Changes the position of a node.
-	 */
-	public void setPointAt(Point p, int i) {
-		willChange();
-		getInternalPolygon().xpoints[i] = p.x;
-		getInternalPolygon().ypoints[i] = p.y;
-		changed();
-	}
-
-	/**
-	 * Insert a node at the given point.
-	 */
-	public void insertPointAt(Point p, int i) {
-		willChange();
-		int n = pointCount() + 1;
-		int[] xs = new int[n];
-		int[] ys = new int[n];
-		for (int j = 0; j < i; ++j) {
-			xs[j] = getInternalPolygon().xpoints[j];
-			ys[j] = getInternalPolygon().ypoints[j];
-		}
-		xs[i] = p.x;
-		ys[i] = p.y;
-		for (int j = i; j < pointCount(); ++j) {
-			xs[j + 1] = getInternalPolygon().xpoints[j];
-			ys[j + 1] = getInternalPolygon().ypoints[j];
-		}
-
-		setInternalPolygon(new Polygon(xs, ys, n));
-		changed();
-	}
-
-	public void removePointAt(int i) {
-		willChange();
-		int n = pointCount() - 1;
-		int[] xs = new int[n];
-		int[] ys = new int[n];
-		for (int j = 0; j < i; ++j) {
-			xs[j] = getInternalPolygon().xpoints[j];
-			ys[j] = getInternalPolygon().ypoints[j];
-		}
-		for (int j = i; j < n; ++j) {
-			xs[j] = getInternalPolygon().xpoints[j + 1];
-			ys[j] = getInternalPolygon().ypoints[j + 1];
-		}
-		setInternalPolygon(new Polygon(xs, ys, n));
-		changed();
-	}
-
-	/**
-	 * Scale and rotate relative to anchor
-	 **/
-	public  void scaleRotate(Point anchor, Polygon originalPolygon, Point p) {
-		willChange();
-
-		// use center to determine relative angles and lengths
-		Point ctr = center(originalPolygon);
-		double anchorLen = Geom.length(ctr.x, ctr.y, anchor.x, anchor.y);
-
-		if (anchorLen > 0.0) {
-			double newLen = Geom.length(ctr.x, ctr.y, p.x, p.y);
-			double ratio = newLen / anchorLen;
-
-			double anchorAngle = Math.atan2(anchor.y - ctr.y, anchor.x - ctr.x);
-			double newAngle = Math.atan2(p.y - ctr.y, p.x - ctr.x);
-			double rotation = newAngle - anchorAngle;
-
-			int n = originalPolygon.npoints;
-			int[] xs = new int[n];
-			int[] ys = new int[n];
-
-			for (int i = 0; i < n; ++i) {
-				int x = originalPolygon.xpoints[i];
-				int y = originalPolygon.ypoints[i];
-				double l = Geom.length(ctr.x, ctr.y, x, y) * ratio;
-				double a = Math.atan2(y - ctr.y, x - ctr.x) + rotation;
-				xs[i] = (int)(ctr.x + l * Math.cos(a) + 0.5);
-				ys[i] = (int)(ctr.y + l * Math.sin(a) + 0.5);
-			}
-			setInternalPolygon(new Polygon(xs, ys, n));
-		}
-		changed();
-	}
-
-
-	/**
-	 * Remove points that are nearly colinear with others
-	 **/
-	public void smoothPoints() {
-		willChange();
-		boolean removed = false;
-		int n = pointCount();
-		do {
-			removed = false;
-			int i = 0;
-			while (i < n && n >= 3) {
-				int nxt = (i + 1) % n;
-				int prv = (i - 1 + n) % n;
-
-				if ((Geom.distanceFromLine(getInternalPolygon().xpoints[prv],
-						getInternalPolygon().ypoints[prv],
-						getInternalPolygon().xpoints[nxt],
-						getInternalPolygon().ypoints[nxt],
-						getInternalPolygon().xpoints[i],
-						getInternalPolygon().ypoints[i]) < TOO_CLOSE)) {
-					removed = true;
-					--n;
-					for (int j = i; j < n; ++j) {
-						getInternalPolygon().xpoints[j] = getInternalPolygon().xpoints[j + 1];
-						getInternalPolygon().ypoints[j] = getInternalPolygon().ypoints[j + 1];
-					}
-				}
-				else {
-					++i;
-				}
-			}
-		} while(removed);
-		if (n != pointCount()) {
-			setInternalPolygon(new Polygon(getInternalPolygon().xpoints,
-											getInternalPolygon().ypoints, n));
-		}
-		changed();
-	}
-
-	/**
-	 * Splits the segment at the given point if a segment was hit.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int splitSegment(int x, int y) {
-		int i = findSegment(x, y);
-		if (i != -1) {
-			insertPointAt(new Point(x, y), i+1);
-			return i + 1;
-		}
-		else {
-			return -1;
-		}
-	}
-
-	public Point pointAt(int i) {
-		return new Point(getInternalPolygon().xpoints[i],
-						 getInternalPolygon().ypoints[i]);
-	}
-
-	/**
-	 * Return the point on the polygon that is furthest from the center
-	 **/
-	public Point outermostPoint() {
-		Point ctr = center();
-		int outer = 0;
-		long dist = 0;
-
-		for (int i = 0; i < pointCount(); ++i) {
-			long d = Geom.length2(ctr.x, ctr.y,
-								getInternalPolygon().xpoints[i],
-								getInternalPolygon().ypoints[i]);
-			if (d > dist) {
-				dist = d;
-				outer = i;
-			}
-		}
-
-		return new Point(getInternalPolygon().xpoints[outer], getInternalPolygon().ypoints[outer]);
-	}
-
-
-	/**
-	 * Gets the segment that is hit by the given point.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int findSegment(int x, int y) {
-		double dist = TOO_CLOSE;
-		int best = -1;
-
-		for (int i = 0; i < pointCount(); i++) {
-			int n = (i + 1) % pointCount();
-			double d =  Geom.distanceFromLine(getInternalPolygon().xpoints[i],
-							getInternalPolygon().ypoints[i],
-							getInternalPolygon().xpoints[n],
-							getInternalPolygon().ypoints[n], x, y);
-			if (d < dist) {
-				dist = d;
-				best = i;
-			}
-		}
-		return best;
-	}
-
-	public Point chop(Point p) {
-		return chop(getInternalPolygon(), p);
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(pointCount());
-		for (int i = 0; i < pointCount(); ++i) {
-			dw.writeInt(getInternalPolygon().xpoints[i]);
-			dw.writeInt(getInternalPolygon().ypoints[i]);
-		}
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		int size = dr.readInt();
-		int[] xs = new int[size];
-		int[] ys = new int[size];
-		for (int i = 0; i < size; i++) {
-			xs[i] = dr.readInt();
-			ys[i] = dr.readInt();
-		}
-		setInternalPolygon(new Polygon(xs, ys, size));
-	}
-
-	/**
-	 * Creates a locator for the point with the given index.
-	 */
-	public static Locator locator(final int pointIndex) {
-		return new AbstractLocator() {
-			public Point locate(Figure owner) {
-				PolygonFigure plf = (PolygonFigure)owner;
-				// guard against changing PolygonFigures -> temporary hack
-				if (pointIndex < plf.pointCount()) {
-					return ((PolygonFigure)owner).pointAt(pointIndex);
-				}
-				return new Point(-1, -1);
-			}
-		};
-	}
-
-	/**
-	 * replacement for builtin Polygon.getBounds that doesn't always update?
-	 */
-	public static Rectangle bounds(Polygon p) {
-		int minx = Integer.MAX_VALUE;
-		int miny = Integer.MAX_VALUE;
-		int maxx = Integer.MIN_VALUE;
-		int maxy = Integer.MIN_VALUE;
-		int n = p.npoints;
-		for (int i = 0; i < n; i++) {
-			int x = p.xpoints[i];
-			int y = p.ypoints[i];
-			if (x > maxx) {
-				maxx = x;
-			}
-			if (x < minx) {
-				minx = x;
-			}
-			if (y > maxy) {
-				maxy = y;
-			}
-			if (y < miny) {
-				miny = y;
-			}
-		}
-
-		return new Rectangle(minx, miny, maxx - minx, maxy - miny);
-	}
-
-	public static Point center(Polygon p) {
-		long sx = 0;
-		long sy = 0;
-		int n = p.npoints;
-		for (int i = 0; i < n; i++) {
-			sx += p.xpoints[i];
-			sy += p.ypoints[i];
-		}
-
-		return new Point((int)(sx / n), (int)(sy / n));
-	}
-
-	public static Point chop(Polygon poly, Point p) {
-		Point ctr = center(poly);
-		int cx = -1;
-		int cy = -1;
-		long len = Long.MAX_VALUE;
-
-		// Try for points along edge
-
-		for (int i = 0; i < poly.npoints; ++i) {
-			int nxt = (i + 1) % poly.npoints;
-			Point chop = Geom.intersect(poly.xpoints[i],
-										 poly.ypoints[i],
-										 poly.xpoints[nxt],
-										 poly.ypoints[nxt],
-										 p.x,
-										 p.y,
-										 ctr.x,
-										 ctr.y);
-			if (chop != null) {
-				long cl = Geom.length2(chop.x, chop.y, p.x, p.y);
-				if (cl < len) {
-					len = cl;
-					cx = chop.x;
-					cy = chop.y;
-				}
-			}
-		}
-		// if none found, pick closest vertex
-		//if (len ==  Long.MAX_VALUE) {
-		{ // try anyway
-			for (int i = 0; i < poly.npoints; ++i) {
-				long l = Geom.length2(poly.xpoints[i], poly.ypoints[i], p.x, p.y);
-				if (l < len) {
-					len = l;
-					cx = poly.xpoints[i];
-					cy = poly.ypoints[i];
-				}
-			}
-		}
-		return new Point(cx, cy);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonHandle.java
deleted file mode 100644
index dc35bbb9a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonHandle.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * @(#)PolygonHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.PolyLineHandle;
-import org.jhotdraw.util.Undoable;
-import java.awt.Point;
-
-/**
- * A handle for a node on the polygon.
- * Based on PolyLineHandle
- *
- * @author Doug Lea  (dl at gee, Fri Feb 28 07:47:13 1997)
- * @version <$CURRENT_VERSION$>
- */
-public class PolygonHandle extends AbstractHandle {
-	
-	private Locator fLocator;
-	private int fIndex;
-	
-	/**
-	* Constructs a polygon handle.
-	* @param owner the owning polygon figure.
-	* @param l the locator
-	* @param index the index of the node associated with this handle.
-	*/
-	public PolygonHandle(PolygonFigure owner, Locator l, int index) {
-		super(owner);
-		fLocator = l;
-		fIndex = index;
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view, fIndex));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((PolygonHandle.UndoActivity)getUndoActivity()).setOldPoint(new Point(x, y));
-	}
-
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		int index = ((PolyLineHandle.UndoActivity)getUndoActivity()).getPointIndex();
-		myOwner().setPointAt(new Point(x, y), index);
-	}
-	
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		myOwner().smoothPoints();
-		if ((x == anchorX) && (y == anchorY)) {
- 			setUndoActivity(null);
-		}
-	}
-	
-	public Point locate() {
-		return fLocator.locate(owner());
-	}
-	
-	private PolygonFigure myOwner() {
-		return (PolygonFigure)owner();
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView, int newPointIndex) {
-		return new PolygonHandle.UndoActivity(newView, newPointIndex);
-	}
-	
-	public static class UndoActivity extends PolyLineHandle.UndoActivity {
-		
-		public UndoActivity(DrawingView newView, int newPointIndex) {
-			super(newView, newPointIndex);
-		}
-		
-		protected boolean movePointToOldLocation() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-
-			PolygonFigure figure = (PolygonFigure)fe.nextFigure();
-			Point backupPoint = figure.pointAt(getPointIndex());
-			figure.setPointAt(getOldPoint(), getPointIndex());
-			figure.smoothPoints();
-			setOldPoint(backupPoint);
-
-			return true;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonScaleHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonScaleHandle.java
deleted file mode 100644
index 37d49c1ee..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonScaleHandle.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * @(#)PolygonScaleHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Geom;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A Handle to scale and rotate a PolygonFigure
- * Based on RadiusHandle
- *
- * @author Doug Lea  (dl at gee, Sat Mar 1 09:06:09 1997)
- * @version <$CURRENT_VERSION$>
- */
-class PolygonScaleHandle extends AbstractHandle {
-	
-	private Point fCurrent;
-	
-	public PolygonScaleHandle(PolygonFigure owner) {
-		super(owner);
-	}
-	
-	/**
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 */
-	public void invokeStart(int x, int  y, DrawingView view) {
-		fCurrent = new Point(x, y);
-		PolygonScaleHandle.UndoActivity activity = (PolygonScaleHandle.UndoActivity)createUndoActivity(view);
-		setUndoActivity(activity);
-		activity.setAffectedFigures(new SingleFigureEnumerator(owner()));
-		activity.setPolygon(((PolygonFigure)(owner())).getPolygon());
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		fCurrent = new Point(x, y);
-		Polygon polygon = ((PolygonScaleHandle.UndoActivity)getUndoActivity()).getPolygon();
-		((PolygonFigure)(owner())).scaleRotate(new Point(anchorX, anchorY), polygon, fCurrent);
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		((PolygonFigure)(owner())).smoothPoints();
-		if ((fCurrent.x == anchorX) && (fCurrent.y == anchorY)) {
-			// there is nothing to undo
-			setUndoActivity(null);
-		}
-		fCurrent = null;
-	}
-	
-	public Point locate() {
-		if (fCurrent == null) {
-			return getOrigin();
-		}
-		else {
-			return fCurrent;
-		}
-	}
-	
-	Point getOrigin() {
-		// find a nice place to put handle
-		// Need to pick a place that will not overlap with point handle
-		// and is internal to polygon
-	
-		// Try for one HANDLESIZE step away from outermost toward center
-	
-		Point outer = ((PolygonFigure)(owner())).outermostPoint();
-		Point ctr = ((PolygonFigure)(owner())).center();
-		double len = Geom.length(outer.x, outer.y, ctr.x, ctr.y);
-		if (len == 0) { // best we can do?
-			return new Point(outer.x - HANDLESIZE/2, outer.y + HANDLESIZE/2);
-		}
-	
-		double u = HANDLESIZE / len;
-		if (u > 1.0) { // best we can do?
-			return new Point((outer.x * 3 + ctr.x)/4, (outer.y * 3 + ctr.y)/4);
-		}
-		else {
-			return new Point((int)(outer.x * (1.0 - u) + ctr.x * u),
-			(int)(outer.y * (1.0 - u) + ctr.y * u));
-		}
-	}
-	
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-	
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-	
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	
-		/* for debugging ...
-		Point ctr = ((PolygonFigure)(owner())).center();
-		g.setColor(Color.blue);
-		g.fillOval(ctr.x, ctr.y, r.width, r.height);
-		
-		g.setColor(Color.black);
-		g.drawOval(ctr.x, ctr.y, r.width, r.height);
-		
-		*/
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new PolygonScaleHandle.UndoActivity(newView);
-	}
-	
-	public static class UndoActivity extends UndoableAdapter {
-		private Polygon myPolygon;
-		
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetPolygon();
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetPolygon();
-		}
-
-		protected boolean resetPolygon() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			PolygonFigure figure = (PolygonFigure)fe.nextFigure();
-			Polygon backupPolygon = figure.getPolygon();
-			figure.willChange();
-			figure.setInternalPolygon(getPolygon());
-			figure.changed();
-			setPolygon(backupPolygon);
-			return true;
-		}
-		
-		protected void setPolygon(Polygon newPolygon) {
-			myPolygon = newPolygon;
-		}
-		
-		public Polygon getPolygon() {
-			return myPolygon;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonTool.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonTool.java
deleted file mode 100644
index d4cebc6af..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PolygonTool.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * @(#)PolygonTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Undoable;
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * Based on ScribbleTool
- *
- * @author Doug Lea  (dl at gee) - Fri Feb 28 07:47:05 1997
- * @version <$CURRENT_VERSION$>
- */
-public class PolygonTool extends AbstractTool {
-
-	private PolygonFigure  fPolygon;
-	private int            fLastX, fLastY;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	public PolygonTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void activate() {
-		super.activate();
-		fPolygon = null;
-	}
-
-	public void deactivate() {
-		if (fPolygon != null) {
-			fPolygon.smoothPoints();
-			if (fPolygon.pointCount() < 3 ||
-					fPolygon.size().width < 4 || fPolygon.size().height < 4) {
-				getActiveView().drawing().remove(fPolygon);
-				// nothing to undo
-				setUndoActivity(null);
-			}
-		}
-		fPolygon = null;
-		super.deactivate();
-	}
-
-	private void addPoint(int x, int y) {
-		if (fPolygon == null) {
-			fPolygon = new PolygonFigure(x, y);
-			setAddedFigure(view().add(fPolygon));
-			fPolygon.addPoint(x, y);
-		}
-		else if (fLastX != x || fLastY != y) {
-			fPolygon.addPoint(x, y);
-		}
-
-		fLastX = x;
-		fLastY = y;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		// replace pts by actual event pts
-		x = e.getX();
-		y = e.getY();
-
-		if (e.getClickCount() >= 2) {
-			if (fPolygon != null) {
-				fPolygon.smoothPoints();
-
-				// use undo activity from paste command...
-				setUndoActivity(createUndoActivity());
-
-				// put created figure into a figure enumeration
-				getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getAddedFigure()));
-
-				editor().toolDone();
-			}
-			fPolygon = null;
-
-		}
-		else {
-			// use original event coordinates to avoid
-			// supress that the scribble is constrained to
-			// the grid
-			addPoint(e.getX(), e.getY());
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		if (e.getSource() == getActiveView()) {
-			if (fPolygon != null) {
-				if (fPolygon.pointCount() > 1) {
-					fPolygon.setPointAt(new Point(x, y), fPolygon.pointCount()-1);
-					getActiveView().checkDamage();
-				}
-			}
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		// replace pts by actual event pts
-		x = e.getX();
-		y = e.getY();
-		addPoint(x, y);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	private void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PopupMenuFigureSelection.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/PopupMenuFigureSelection.java
deleted file mode 100644
index 2da696909..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/PopupMenuFigureSelection.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * @(#)PopupMenuFigureSelection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
- 
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.*;
-
-/**
- * An interface which allows a popup menu to interact with its Figure to
- * which it is associated.
- *
- * @author      Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface PopupMenuFigureSelection {
-
-	/**
-	 * Set the figure which was selected when the popup menu was invoked.
-	 *
-	 * @param   newSelectedFigure   figure which is selected (typically be a SelectionTool)
-	 */
-	public void setSelectedFigure(Figure newSelectedFigure);
-
-	/**
-	 * Get the figure which was selected when the popup menu was invoked.
-	 *
-	 * @return  figure which is selected (typically be a SelectionTool)
-	 */
-	public Figure getSelectedFigure();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SVGDrawApp.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/SVGDrawApp.java
deleted file mode 100644
index 35ff66455..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SVGDrawApp.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.application.DrawApplication;
-import org.jhotdraw.samples.javadraw.JavaDrawApp;
-import org.jhotdraw.util.StorageFormatManager;
-
-/**
- * @author mtnygard
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class SVGDrawApp extends JavaDrawApp {
-	public static void main(String[] args) {
-		SVGDrawApp window = new SVGDrawApp();
-		window.open();
-	}
-	
-	public SVGDrawApp() {
-		super("JHotDraw");
-	}
-
-	/**
-	 * Factory method which create a new instance of this
-	 * application.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new SVGDrawApp();
-	}
-
-	/**
-	 * Factory method to create a StorageFormatManager for supported storage formats.
-	 * Different applications might want to use different storage formats and can return
-	 * their own format manager by overriding this method.
-	 * 
-	 * TODO: Read storage formats from a config file.
-	 */
-	public StorageFormatManager createStorageFormatManager() {
-		StorageFormatManager storageFormatManager = new StorageFormatManager();
-		SVGStorageFormat format = new SVGStorageFormat();
-		storageFormatManager.addStorageFormat(format);
-		storageFormatManager.setDefaultStorageFormat(format);
-		return storageFormatManager;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SVGStorageFormat.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/SVGStorageFormat.java
deleted file mode 100644
index 7c1f32b9b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SVGStorageFormat.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)SVGStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-
-import org.apache.batik.dom.GenericDOMImplementation;
-import org.apache.batik.svggen.SVGGraphics2D;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-
-import org.jhotdraw.framework.Drawing;
-import org.jhotdraw.util.StandardStorageFormat;
-
-
-/**
- * The SVGStorageFormat can save drawings in SVG 1.0.  At this time, it cannot load
- * SVG drawings.
- *
- * TODO: Refactor this and the other storage formats.  There is too much duplication.
- * 
- * @version <$CURRENT_VERSION$>
- * @author mtnygard
- */
-public class SVGStorageFormat extends StandardStorageFormat {
-	
-	/**
-	 * Return the file extension recognized by the FileFilter for this
-	 * StandardStorageFormat. 
-	 *
-	 * @return the file extension
-	 */
-	protected String createFileExtension() {
-		return "svg";
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return the file description
-	 */
-	public String createFileDescription() {
-		return "Scalable Vector Graphics (svg)";
-	}
-
-
-	/**
-	 * @see org.jhotdraw.util.StorageFormat#isRestoreFormat()
-	 */
-	public boolean isRestoreFormat() {
-		return false;
-	}
-
-	/**
-	 * @see org.jhotdraw.util.StorageFormat#isStoreFormat()
-	 */
-	public boolean isStoreFormat() {
-		return true;
-	}
-
-  /**
-	 * Store a Drawing as SVG under a given name.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 * @return file name with correct file extension
-   * @see org.jhotdraw.util.StorageFormat#store(java.lang.String, org.jhotdraw.framework.Drawing)
-   */
-  public String store(String fileName, Drawing saveDrawing) throws IOException {
-		// Get a DOMImplementation
-		DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation();
-
-		// Create an instance of org.w3c.dom.Document
-		Document document = domImpl.createDocument(null, "svg", null);
-	
-		// Create an instance of the SVG Generator
-		SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
-	
-		// Ask the test to render into the SVG Graphics2D implementation
-		saveDrawing.draw(svgGenerator);
-	
-		// Finally, stream out SVG to the standard output using UTF-8
-		// character to byte encoding
-		fileName = adjustFileName(fileName);
-		FileOutputStream fos = new FileOutputStream(fileName);
-		Writer out = new OutputStreamWriter(fos, "UTF-8");
-		
-		
-		svgGenerator.stream(out, true);
-		return fileName;
-  }
-
-  /**
-   * @see org.jhotdraw.util.StorageFormat#restore(java.lang.String)
-   */
-  public Drawing restore(String fileName) throws IOException {
-    throw new IOException("Not implemented");
-  }
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SimpleLayouter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/SimpleLayouter.java
deleted file mode 100644
index 99d556984..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SimpleLayouter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * @(#)SimpleLayouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-import java.awt.*;
-import java.io.IOException;
-
-/**
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class SimpleLayouter implements Layouter {
-
-	/**
-	 * The Layoutable which should be laid out.
-	 */
-	private Layoutable myLayoutable;
-
-	/**
-	 * Insets to calculate a border
-	 */
-	private Insets myInsets;
-
-	static final long serialVersionUID = 2928651014089117493L;
-
-	private SimpleLayouter() {
-		// do nothing: for JDO-compliance only
-	}
-
-	public SimpleLayouter(Layoutable newLayoutable) {
-		setLayoutable(newLayoutable);
-		setInsets(new Insets(0, 0, 0, 0));
-	}
-
-	/**
-	 * Get the figure upon which the layout strategy operates.
-	 *
-	 * @return associated figure which should be laid out
-	 */
-	public Layoutable getLayoutable() {
-		return myLayoutable;
-	}
-
-	/**
-	 * Set the figure upon which the layout strategy operates.
-	 *
-	 * @param	newLayoutable	Layoutable to be laid out
-	 */
-	public void setLayoutable(Layoutable newLayoutable) {
-		myLayoutable = newLayoutable;
-	}
-
-	/**
-	 * Set the insets for spacing between the figure and its subfigures
-	 *
-	 * @param newInsets new spacing dimensions
-	 */
-	public void setInsets(Insets newInsets) {
-		myInsets = newInsets;
-	}
-
-	/**
-	 * Get the insets for spacing between the figure and its subfigures
-	 *
-	 * @return spacing dimensions
-	 */
-	public Insets getInsets() {
-		return myInsets;
-	}
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 */
-	public Layouter create(Layoutable newLayoutable) {
-		SimpleLayouter newLayouter = new SimpleLayouter(newLayoutable);
-		newLayouter.setInsets((Insets)getInsets().clone());
-		return newLayouter;
-	}
-
-	public Rectangle calculateLayout(Point origin, Point corner) {
-		Rectangle maxRect = new Rectangle(origin);
-		maxRect.add(corner);
-		FigureEnumeration fe = getLayoutable().figures();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-			maxRect.union(currentFigure.displayBox());
-		}
-		maxRect.width += getInsets().left + getInsets().right;
-		maxRect.height += getInsets().top + getInsets().bottom;
-		return maxRect;
-	}
-
-	public Rectangle layout(Point origin, Point corner) {
-		return calculateLayout(origin, corner);
-	}
-
-	/**
-	 * Reads the contained figures from StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		setLayoutable((Layoutable)dr.readStorable());
-		setInsets(new Insets(dr.readInt(), dr.readInt(), dr.readInt(), dr.readInt()));
-	}
-
-	/**
-	 * Writes the contained figures to the StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeStorable(getLayoutable());
-		Insets i = getInsets();
-		dw.writeInt(i.top);
-		dw.writeInt(i.left);
-		dw.writeInt(i.bottom);
-		dw.writeInt(i.right);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitConnectionTool.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitConnectionTool.java
deleted file mode 100644
index 18af983b4..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitConnectionTool.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * @(#)ConnectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.standard.ConnectionTool;
-import org.jhotdraw.standard.SingleFigureEnumerator;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.figures.*;
-
-import java.awt.event.MouseEvent;
-import java.awt.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class SplitConnectionTool extends ConnectionTool {
-	public SplitConnectionTool(DrawingEditor newDrawingEditor, ConnectionFigure newPrototype) {
-		super(newDrawingEditor, newPrototype);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		int ex = e.getX();
-		int ey = e.getY();
-		if (getTargetFigure() == null) {
-			setTargetFigure(findConnectableFigure(ex, ey, drawing()));
-		}
-		else {
-			if (getAddedFigure() == null) {
-				setConnection(createConnection());
-				setStartConnector(findConnector(ex, ey, getTargetFigure()));
-				getConnection().connectStart(getStartConnector());
-				getConnection().startPoint(ex, ey);
-				setAddedFigure(view().add(getConnection()));
-			}
-			Figure c = findTarget(ex, ey, drawing());
-			if (c != null) {
-				// end connection figure found
-				setEndConnector(findConnector(ex, ex, c));
-				getConnection().connectEnd(getEndConnector());
-				getConnection().endPoint(ex, ey);
-				setUndoActivity(createUndoActivity());
-				getUndoActivity().setAffectedFigures(
-					new SingleFigureEnumerator(getAddedFigure()));
-				getConnection().updateConnection();
-				init();
-				editor().toolDone();
-			}
-			else {
-				// split connection where the mouse click took place
-				if (getEndConnector() == null) {
-					Figure tempEndFigure = new NullFigure();
-					tempEndFigure.basicDisplayBox(new Point(ex, ey), new Point(ex, ey));
-					setEndConnector(new NullConnector(tempEndFigure));
-					getConnection().connectEnd(getEndConnector());
-					getConnection().endPoint(ex, ey);
-					getConnection().updateConnection();
-				}
-				else {
-					((PolyLineFigure)getConnection()).addPoint(ex, ey);
-				}
-			}
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		// usually do nothing: tool is still active
-		if (e.getClickCount() == 2) {
-			init();
-			editor().toolDone();
-		}
-	}
-
-	public void mouseMove(MouseEvent e, int x, int y) {
-		// avoid tracking connectors
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		// avoid tracking connectors
-	}
-
-	public void deactivate() {
-		if (getConnection() != null) {
-			view().remove(getConnection());
-		}
-		super.deactivate();
-		init();
-	}
-
-	protected void init() {
-		setConnection(null);
-		setStartConnector(null);
-		setEndConnector(null);
-		setAddedFigure(null);
-		setTargetFigure(null);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitPaneDesktop.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitPaneDesktop.java
deleted file mode 100644
index fd00f14c4..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitPaneDesktop.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * @(#)SplitPaneDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import javax.swing.*;
-import java.awt.*;
-import org.jhotdraw.framework.DrawingView;
-import java.beans.PropertyChangeListener;
-import java.beans.PropertyChangeEvent;
-
-/**
- * @todo Gotta fix this !!! the selected view changes based on which split pane is selected!
- *
- * @author C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @author Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class SplitPaneDesktop extends JSplitPane implements Desktop {
-
-	private DesktopEventService myDesktopEventService;
-
-    public SplitPaneDesktop() {
-		setDesktopEventService(createDesktopEventService());
-		setAlignmentX(JSplitPane.LEFT_ALIGNMENT);
-		setOneTouchExpandable(true);
-
-		addPropertyChangeListener(createPropertyChangeListener());
-    }
-
-	protected PropertyChangeListener createPropertyChangeListener() {
-		return new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent evt) {
-				if (getRightComponent() != null) {
-					getRightComponent().repaint();
-				}
-				if (getLeftComponent() != null) {
-					getLeftComponent().repaint();
-				}
-			}
-		};
-	}
-
-	protected Component createContents(DrawingView dv, int location) {
-		setRightComponent(createRightComponent(dv));
-		setLeftComponent(createLeftComponent(dv));
-	    switch (location) {
-		    case Desktop.PRIMARY: {
-			    return getLeftComponent();
-			}
-			case Desktop.SECONDARY: {
-				return getRightComponent();
-			}
-			default: {
-			    return null;
-			}
-	    }
-	}
-
-	protected Component createRightComponent(DrawingView dv) {
-		JScrollPane sp = new JScrollPane((Component)dv);
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(LEFT_ALIGNMENT);
-		return sp;
-	}
-
-	protected Component createLeftComponent(DrawingView dv) {
-		return new JScrollPane(new JList());
-	}
-
-	public DrawingView getActiveDrawingView() {
-		return getDesktopEventService().getActiveDrawingView();
-	}
-
-	public void addToDesktop(DrawingView dv, int location) {
-		createContents(dv, Desktop.PRIMARY);
-/*	    switch (location) {
-		    case Desktop.PRIMARY: {
-			    setLeftComponent(createContents(dv, Desktop.PRIMARY));
-				break;
-			}
-			case Desktop.SECONDARY: {
-				setRightComponent(createContents(dv, Desktop.SECONDARY));
-				break;
-			}
-	    }
-*/
-//		validate();
-		setDividerLocation(getInitDividerLocation());
-	}
-
-	protected int getInitDividerLocation() {
-		return 150;
-	}
-
-	public void removeFromDesktop(DrawingView dv, int location) {
-		Component[] comps = getContainer().getComponents();
-		for (int x = 0; x < comps.length; x++) {
-			if (dv == Helper.getDrawingView(comps[x])) {
-				getContainer().remove(comps[x]);
-			    break;
-			}
-		}
-	}
-
-	public void removeAllFromDesktop(int location) {
-	    getContainer().removeAll();
-	}
-
-	public DrawingView[] getAllFromDesktop(int location) {
-		return getDesktopEventService().getDrawingViews(getComponents());
-	}
-
-	public void addDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().addDesktopListener(dpl);
-	}
-
-	public void removeDesktopListener(DesktopListener dpl) {
-		getDesktopEventService().removeDesktopListener(dpl);
-	}
-
-	private Container getContainer() {
-		return this;
-	}
-
-	protected DesktopEventService getDesktopEventService() {
-		return myDesktopEventService;
-	}
-
-	private void setDesktopEventService(DesktopEventService newDesktopEventService) {
-		myDesktopEventService = newDesktopEventService;
-	}
-
-	protected DesktopEventService createDesktopEventService() {
-		return new DesktopEventService(this, getContainer());
-	}
-
-	public void updateTitle(String newDrawingTitle) {
-		// should be setTitle but a JPanelDesktop has no own title bar
-		setName(newDrawingTitle);
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitPaneDrawApplication.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitPaneDrawApplication.java
deleted file mode 100644
index 95413a1e0..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/SplitPaneDrawApplication.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * @(#)SplitPaneDrawApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.application.*;
-
-/**
- * A specialised DrawApplication, which offers basic support for a simple
- * splitted pane content.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public  class SplitPaneDrawApplication extends DrawApplication {
-
-	/**
-	 * Constructs a drawing window with a default title.
-	 */
-	public SplitPaneDrawApplication() {
-		this("JHotDraw");
-	}
-
-	/**
-	 * Constructs a drawing window with the given title.
-	 */
-	public SplitPaneDrawApplication(String title) {
-		super(title);
-	}
-
-	protected Desktop createDesktop() {
-		return new SplitPaneDesktop();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/StandardLayouter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/StandardLayouter.java
deleted file mode 100644
index ac2bb4f3f..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/StandardLayouter.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)StandardLayouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-
-// JUnitDoclet begin import
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.FigureEnumeration;
-// JUnitDoclet end import
-
-/**
- * A StandardLayouter contains standard algorithm for
- * layouting a Layoutable. As a standard behaviour
- * all child components of a Layoutable are laid out
- * underneath each other starting from top to bottom while the
- * x position of all child components stays the same and the width
- * is forced to the width of the maximum width. At the end
- * the presentation figure of the Layoutable is
- * set to the maximum x and y size to encompass all contained
- * child components graphically as well.
- *
- * @author	Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class StandardLayouter extends SimpleLayouter {
-
-	/**
-	 * Default constructor which is needed for the Storable mechanism.
-	 * Usually, the constructor which takes a Layoutable
-	 * should be used as each StandardLayouter is associated
-	 * with exactly one Layoutable.
-	 */
-	public StandardLayouter() {
-		this(null);
-	}
-
-	/**
-	 * Constructor which associates a StandardLayouter with
-	 * a certain Layoutable.
-	 *
-	 * @param	newLayoutable	Layoutable to be laid out
-	 */
-	public StandardLayouter(Layoutable newLayoutable) {
-		super(newLayoutable);
-	}
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 */
-	public Layouter create(Layoutable newLayoutable) {
-		return new StandardLayouter(newLayoutable);
-	}
-
-	/**
-	 * Calculate the layout for the figure and all its
-	 * subelements. The layout is not actually performed but just
-	 * its dimensions are calculated.  The insets for this figure
-	 * are included in the return value.
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 */
-	public Rectangle calculateLayout(Point origin, Point corner) {
-		int maxWidth = Math.abs(corner.x - origin.x);
-		int maxHeight = getInsets().top;
-
-		// layout enclosed Layoutable and find maximum width
-		FigureEnumeration fe = getLayoutable().figures();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-			Rectangle r = null;
-			if (currentFigure instanceof Layoutable) {
-				Layouter layoutStrategy = ((Layoutable)currentFigure).getLayouter();
-				r = layoutStrategy.calculateLayout(
-					new Point(0, 0), new Point(0, 0));
-			}
-			else {
-				r = new Rectangle(currentFigure.displayBox().getBounds());
-			}
-			maxWidth = Math.max(maxWidth,
-					    r.width + getInsets().left +
-					    getInsets().right);
-			maxHeight += r.height;
-		}
-		maxHeight += getInsets().bottom;
-
-		return new Rectangle(origin.x, origin.y, maxWidth, maxHeight);
-	}
-
-	/**
-	 * Method which lays out a figure. It is called by the figure
-	 * if a layout task is to be performed. First, the layout dimension for
-	 * the figure is calculated and then the figure is arranged newly.
-	 * All child component are place beneath another. The figure and all
-	 * its children are forced to the minimium width
-	 *
-	 * @param origin start point for the layout
-	 * @param corner minimum corner point for the layout
-	 */
-	public Rectangle layout(Point origin, Point corner) {
-		// calculate the layout of the figure and its sub-figures first
-		Rectangle r = calculateLayout(origin, corner);
-
-		int maxHeight = getInsets().top;
-		FigureEnumeration fe = getLayoutable().figures();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-
-			Point partOrigin = new Point(r.x + getInsets().left, r.y + maxHeight);
-			Point partCorner = new Point
-				(r.x + r.width - getInsets().right,
-				 r.y + maxHeight +
-				 currentFigure.displayBox().height);
-			currentFigure.displayBox(partOrigin, partCorner);
-
-			maxHeight += currentFigure.displayBox().height;
-		}
-
-		return new Rectangle(r.x, r.y, r.width, maxHeight + getInsets().bottom);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/TextAreaFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/TextAreaFigure.java
deleted file mode 100644
index 481874ac0..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/TextAreaFigure.java
+++ /dev/null
@@ -1,936 +0,0 @@
-/*
- *  @(#)TextAreaFigure.java
- *
- *  Project:		JHotdraw - a GUI framework for technical drawings
- *  http://www.jhotdraw.org
- *  http://jhotdraw.sourceforge.net
- *  Copyright:	? by the original author(s) and all contributors
- *  License:		Lesser GNU Public License (LGPL)
- *  http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib;
-
-import java.awt.*;
-import java.awt.font.FontRenderContext;
-import java.awt.font.LineBreakMeasurer;
-import java.awt.font.TextAttribute;
-import java.awt.font.TextLayout;
-import java.awt.geom.Rectangle2D;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.text.AttributedCharacterIterator;
-import java.text.AttributedString;
-import java.text.CharacterIterator;
-import java.util.*;
-import java.util.List;
-
-import org.jhotdraw.figures.AttributeFigure;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.FigureChangeEvent;
-import org.jhotdraw.framework.FigureChangeListener;
-import org.jhotdraw.framework.HandleEnumeration;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-/**
- * A TextAreaFigure contains formatted text.<br>
- * It automatically rearranges the text to fit its allocated display area,
- * breaking the lines at word boundaries whenever possible.<br>
- * The text can contain either LF or CRLF sequences to separate paragraphs,
- * as well as tab characters for table like formatting and alignment.<br>
- * Currently the tabs are distributed at regular intervals as determined by
- * the TabSize property. Tabs align correctly with either fixed
- * or variable fonts.<br>
- * If, when resizing, the vertical size of the display box is not enough to
- * display all the text, TextAreaFigure displays a dashed red line at the
- * bottom of the figure to indicate there is hidden text.<br>
- * TextAreFigure uses all standard attributes for the area rectangle,
- * ie: FillColor, PenColor for the border, FontSize, FontStyle, and FontName,
- * as well as four additional attributes LeftMargin, RightMargin, TopMargin,
- * and TabSize.<br>
- *
- * @author    Eduardo Francos - InContext
- * @created   26 avril 2002
- * @version   <$CURRENT_VERSION$>
- */
-
-public class TextAreaFigure extends AttributeFigure
-		 implements FigureChangeListener, TextHolder {
-
-	/** True if the paragraph's cache needs to be reconstructed */
-	protected boolean fTextIsDirty = true;
-	/** True if the sizing needs to be recalculated */
-	protected transient boolean fSizeIsDirty = true;
-
-	/** The current display box for the figure */
-	private Rectangle fDisplayBox;
-
-	/** Paragraph cache resulting from splitting the text */
-	protected List fParagraphs;
-
-	/** The text */
-	protected String fText;
-	/** The current font */
-	protected Font fFont;
-	/**
-	 * True if the font has changed and font related calculations need to be remade
-	 */
-	protected boolean fFontIsDirty = true;
-
-	/** The width of the current font */
-	protected float fFontWidth;
-	/**
-	 * Map of attributes for the AttributedString used for the figure's text.
-	 * Currently it just uses one single attribute with the figure's current font.
-	 */
-	protected Hashtable attributesMap = new Hashtable();
-
-	/** True if the figure is read only */
-	protected boolean fIsReadOnly;
-
-	/** A connected figure */
-	protected Figure fObservedFigure = null;
-	/** Description of the Field */
-	protected OffsetLocator fLocator = null;
-
-	final static long serialVersionUID = 4993631445423148845L;
-
-	// make sure required default attributes are set
-	static {
-		initDefaultAttribute("LeftMargin", new Float(5));
-		initDefaultAttribute("RightMargin", new Float(5));
-		initDefaultAttribute("TopMargin", new Float(5));
-		initDefaultAttribute("TabSize", new Float(8));
-	}
-
-
-	/** Constructor for the TextAreaFigure object */
-	public TextAreaFigure() {
-		fParagraphs = CollectionsFactory.current().createList();
-		fDisplayBox = new Rectangle(0, 0, 30, 15);
-		fFont = createFont();
-		fText = new String("");
-
-		fSizeIsDirty = true;
-		fTextIsDirty = true;
-		fFontIsDirty = true;
-	}
-
-
-	/**
-	 * Gets the text of the figure
-	 *
-	 * @return   The text value
-	 */
-	public String getText() {
-		return fText;
-	}
-
-
-	/**
-	 * Sets the text of the figure
-	 *
-	 * @param newText  The new text value
-	 */
-	public void setText(String newText) {
-		if (newText == null || !newText.equals(fText)) {
-			markTextDirty();
-			fText = newText;
-			changed();
-		}
-	}
-
-	/**
-	 * Returns the display box for the text
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Rectangle textDisplayBox() {
-		return displayBox();
-	}
-
-	/**
-	 * Creates the font from current attributes.
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Font createFont() {
-		return new Font(
-				(String)getAttribute("FontName"),
-				((Integer)getAttribute("FontStyle")).intValue(),
-				((Integer)getAttribute("FontSize")).intValue());
-	}
-
-	public boolean isReadOnly()
-	{
-		return fIsReadOnly;
-	}
-
-	public void setReadOnly(boolean newReadOnly)
-	{
-		fIsReadOnly = newReadOnly;
-	}
-
-	/**
-	 * Tests whether the figure accepts typing.
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public boolean acceptsTyping() {
-		return !isReadOnly();
-	}
-
-
-	/**
-	 * Called whenever the something changes that requires text recomputing
-	 */
-	protected void markTextDirty() {
-		setTextDirty(true);
-	}
-
-
-	/**
-	 * Sets the textDirty attribute of the TextAreaFigure object
-	 *
-	 * @param newTextDirty  The new textDirty value
-	 */
-	protected void setTextDirty(boolean newTextDirty) {
-		fTextIsDirty = newTextDirty;
-	}
-
-
-	/**
-	 * Gets the textDirty attribute of the TextAreaFigure object
-	 *
-	 * @return   The textDirty value
-	 */
-	public boolean isTextDirty() {
-		return fTextIsDirty;
-	}
-
-
-	/**
-	 * Called whenever the something changes that requires size recomputing
-	 */
-	protected void markSizeDirty() {
-		setSizeDirty(true);
-	}
-
-
-	/**
-	 * Called to set the dirty status of the size
-	 *
-	 * @param newSizeIsDirty  The new sizeDirty value
-	 */
-	public void setSizeDirty(boolean newSizeIsDirty) {
-		fSizeIsDirty = newSizeIsDirty;
-	}
-
-
-	/**
-	 * Returns the current size dirty status
-	 *
-	 * @return   The sizeDirty value
-	 */
-	public boolean isSizeDirty() {
-		return fSizeIsDirty;
-	}
-
-	/**
-	 * Gets the font.
-	 *
-	 * @return   The font value
-	 */
-	public Font getFont() {
-		return fFont;
-	}
-
-	/**
-	 * Sets the font.
-	 *
-	 * @param newFont  The new font value
-	 */
-	public void setFont(Font newFont) {
-		if(newFont == null) {
-			throw new IllegalArgumentException();
-		}
-		willChange();
-		fFont = newFont;
-		markSizeDirty();
-		markFontDirty();
-		attributesMap = new Hashtable(1);
-		attributesMap.put(TextAttribute.FONT, newFont);
-		changed();
-	}
-
-	/**
-	 * Gets the number of columns to be overlaid when the figure is edited.<br>
-	 * This method is mandatory by the TextHolder interface but is not
-	 * used by the TextAreaFigure/TextAreaTool couple because the overlay always
-	 * covers the text area display box
-	 *
-	 * @return   the number of overlay columns
-	 */
-	public int overlayColumns() {
-		return 0;
-	}
-
-	/**
-	 * Sets the display box for the figure
-	 *
-	 * @param origin  origin point
-	 * @param corner  corner point
-	 * @see           Figure
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		Dimension prevSize = fDisplayBox.getSize();
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-		if (!fDisplayBox.getSize().equals(prevSize)){
-		   markSizeDirty();
-		}
-	}
-
-	/**
-	 * Returns an iterator of standard sizing handles to manipulate the figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Returns the current display box for the figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Rectangle displayBox() {
-		return new Rectangle(
-				fDisplayBox.x,
-				fDisplayBox.y,
-				fDisplayBox.width,
-				fDisplayBox.height);
-	}
-
-
-	/**
-	 * Moves the figure the supplied offset
-	 *
-	 * @param x  x displacement
-	 * @param y  y displacement
-	 */
-	public void moveBy(int x, int y) {
-		willChange();
-		basicMoveBy(x, y);
-		if (fLocator != null) {
-			fLocator.moveBy(x, y);
-		}
-		changed();
-	}
-
-	/**
-	 * Moves the figure the supplied offset
-	 *
-	 * @param x  x displacement
-	 * @param y  y displacement
-	 */
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x, y);
-	}
-
-	/**
-	 * Draws the background for the figure. Called by the superclass with the colors
-	 * set from the current attribute values
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-		g.fillRect(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Draws the figure. Overriden so as to draw the text once everything
-	 * else has been drawn
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void draw(Graphics g) {
-		super.draw(g);
-		drawText(g, displayBox());
-	}
-
-	/**
-	 * Draws the frame around the text
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor((Color)getAttribute("FrameColor"));
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-
-	/**
-	 * Formats and draws the text for the figure
-	 *
-	 * @param g           the graphics for the drawing. It can be null when
-	 * called just to compute the size
-	 * @param displayBox  the display box  within which the text should be formatted and drawn
-	 * @return            Description of the Return Value
-	 */
-	protected float drawText(Graphics g, Rectangle displayBox) {
-		Graphics2D g2 = null;
-		Shape savedClipArea = null;
-		Color savedFontColor = null;
-		Rectangle2D clipRect = null;
-		RenderingHints savedRenderingHints = null;
-
-		if (g != null) {
-			g2 = (Graphics2D)g;
-			savedRenderingHints = g2.getRenderingHints();
-			g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-					RenderingHints.VALUE_ANTIALIAS_ON);
-			g2.setRenderingHint(RenderingHints.KEY_RENDERING,
-					RenderingHints.VALUE_RENDER_QUALITY);
-			//Font savedFont = g2.getFont();
-			savedFontColor = g2.getColor();
-			savedClipArea = g2.getClip();
-			if(savedClipArea != null) {
-				clipRect = displayBox.createIntersection((Rectangle2D)savedClipArea);
-			}
-			else {
-				clipRect = displayBox;
-			}
-			g2.setClip(clipRect);
-			Color textColor = getTextColor();
-			if (!ColorMap.isTransparent(textColor)) {
-				g2.setColor(textColor);
-			}
-			g2.setFont(getFont());
-		}
-		FontRenderContext fontRenderCtx = new FontRenderContext(null, false, false);
-
-		// split the text into paragraphs
-		prepareText();
-
-		float leftMargin = displayBox.x + ((Float)getAttribute("LeftMargin")).floatValue();
-		float rightMargin = displayBox.x + displayBox.width - ((Float)getAttribute("RightMargin")).floatValue();
-		float topMargin = displayBox.y + ((Float)getAttribute("TopMargin")).floatValue();
-
-		/**
-		 * @todo   we prepare stops for 40 tabs which should be enough to handle
-		 * all normal cases, but a better means should/could be implemented
-		 */
-		float[] tabStops = new float[40];
-		// tabSize is in pixels
-		float tabSize = ((Float)getAttribute("TabSize")).floatValue() * getFontWidth();
-		float tabPos = tabSize;
-		for (int tabCnt = 0; tabCnt < 40; tabCnt++) {
-			tabStops[tabCnt] = tabPos + leftMargin;
-			tabPos += tabSize;
-		}
-
-		/** Iterate on the paragraphs displaying each one in turn */
-		float verticalPos = topMargin;
-		Iterator paragraphs = fParagraphs.iterator();
-		while (paragraphs.hasNext()) {
-			String paragraphText = (String)paragraphs.next();
-
-			// prepare tabs. Here we build an array with the character positions
-			// of the tabs within the paragraph
-			AttributedString attrText = new AttributedString(paragraphText);
-			AttributedCharacterIterator paragraphIter = attrText.getIterator();
-			int[] tabLocations = new int[paragraphText.length()];
-			int tabCount = 0;
-			for (char c = paragraphIter.first(); c != CharacterIterator.DONE; c = paragraphIter.next()) {
-				if (c == '\t') {
-					tabLocations[tabCount++] = paragraphIter.getIndex();
-				}
-			}
-			tabLocations[tabCount] = paragraphIter.getEndIndex() - 1;
-
-			// tabs done. Replace tab characters with spaces. This to avoid
-			// a strange behaviour where the layout is a lot slower and
-			// the font get's changed. If anybody knows why this so please
-			// tell me.
-			paragraphText = paragraphText.replace('\t', ' ');
-			attrText = new AttributedString(paragraphText, attributesMap);
-			paragraphIter = attrText.getIterator();
-
-			// Now tabLocations has an entry for every tab's offset in
-			// the text.  For convenience, the last entry in tabLocations
-			// is the offset of the last character in the text.
-
-			LineBreakMeasurer measurer = new LineBreakMeasurer(paragraphIter, fontRenderCtx);
-			int currentTab = 0;
-
-			while (measurer.getPosition() < paragraphIter.getEndIndex()) {
-				// Lay out and draw each line.  All segments on a line
-				// must be computed before any drawing can occur, since
-				// we must know the largest ascent on the line.
-				// TextLayouts are computed and stored in a collection;
-				// their horizontal positions are stored in a parallel
-				// collection.
-
-				// lineContainsText is true after first segment is drawn
-				boolean lineContainsText = false;
-				boolean lineComplete = false;
-				float maxAscent = 0;
-				float maxDescent = 0;
-				float horizontalPos = leftMargin;
-				List layouts = CollectionsFactory.current().createList(1);
-				List penPositions = CollectionsFactory.current().createList(1);
-
-				while (!lineComplete) {
-					float wrappingWidth = rightMargin - horizontalPos;
-					// ensure wrappingWidth is at least 1
-					wrappingWidth = Math.max(1, wrappingWidth);
-					TextLayout layout =
-							measurer.nextLayout(wrappingWidth,
-							tabLocations[currentTab] + 1,
-							lineContainsText);
-
-					// layout can be null if lineContainsText is true
-					if (layout != null) {
-						layouts.add(layout);
-						penPositions.add(new Float(horizontalPos));
-						horizontalPos += layout.getAdvance();
-						maxAscent = Math.max(maxAscent, layout.getAscent());
-						maxDescent = Math.max(maxDescent,
-								layout.getDescent() + layout.getLeading());
-					}
-					else {
-						lineComplete = true;
-					}
-
-					lineContainsText = true;
-
-					if (measurer.getPosition() == tabLocations[currentTab] + 1) {
-						currentTab++;
-					}
-
-					if (measurer.getPosition() == paragraphIter.getEndIndex()) {
-						lineComplete = true;
-					}
-					else if (horizontalPos >= tabStops[tabStops.length - 1]) {
-						lineComplete = true;
-					}
-
-					if (!lineComplete) {
-						// move to next tab stop
-						int j;
-						for (j = 0; horizontalPos >= tabStops[j]; j++) {
-						}
-						horizontalPos = tabStops[j];
-					}
-				}
-
-				// set the vertical position for the line
-				verticalPos += maxAscent;
-
-				// now iterate through layouts and draw them
-				Iterator layoutEnum = layouts.iterator();
-				Iterator positionEnum = penPositions.iterator();
-				while (layoutEnum.hasNext()) {
-					TextLayout nextLayout = (TextLayout)layoutEnum.next();
-					Float nextPosition = (Float)positionEnum.next();
-					if (g2 != null) {
-						nextLayout.draw(g2, nextPosition.floatValue(), verticalPos);
-					}
-				}
-
-				// keep track of the highest (actually lowest) position for the
-				// next iteration
-				verticalPos += maxDescent;
-			}
-		}
-
-		// if the last displayed line is not visible because the displayBox is
-		// too small then draw a dashed red line at the bottom
-		if (g2 != null && verticalPos > clipRect.getMaxY() && clipRect.getMaxY() == displayBox.getMaxY()) {
-			Stroke savedStroke = g2.getStroke();
-			float[] dash = new float[2];
-			dash[0] = 2f;
-			dash[1] = 4f;
-			g2.setStroke(new BasicStroke(
-					1f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER,
-					1f, dash, 0f));
-			g2.setColor(Color.red);
-			g2.drawLine((int)clipRect.getMinX() + 1, (int)clipRect.getMaxY() - 1,
-					(int)clipRect.getMaxX() - 1, (int)clipRect.getMaxY() - 1);
-			g2.setStroke(savedStroke);
-		}
-
-		// restore saved graphic attributes
-		if (g2 != null) {
-			if(savedClipArea != null) {
-			g2.setClip(savedClipArea);
-			}
-			g2.setColor(savedFontColor);
-			g2.setRenderingHints(savedRenderingHints);
-		}
-
-		// and return the final text height
-		return verticalPos;
-	}
-
-	/**
-	 * Splits the text into paragraphs. A paragraph is delimited by a LF or CRLF.
-	 * If the paragraph is empty it returns a single space so the display logic has
-	 * something to work with
-	 */
-	protected void prepareText() {
-		if (!isTextDirty()) {
-			return;
-		}
-
-		fParagraphs = CollectionsFactory.current().createList();
-		String paragraphText;
-		Point pos = new Point(-1, -1);
-
-		while ((paragraphText = getNextParagraph(fText, pos)) != null) {
-			if (paragraphText.length() == 0) {
-				paragraphText = " ";
-			}
-			fParagraphs.add(paragraphText);
-		}
-		setTextDirty(false);
-	}
-
-	/**
-	 * Gets the next paragraph in the supplied string<br>
-	 * Paragraphs are defined by a LF or CRLF sequence<br>
-	 * Scanning starts from the next characters as given by the pos.y value
-	 *
-	 * @param text  the text to break into paragraphs
-	 * @param pos   a point where pos.x is the position of the first character of the paragraph in
-	 * the string and pos.y is the last
-	 * @return      The text for the paragraph
-	 */
-	protected String getNextParagraph(String text, Point pos) {
-		int start = pos.y + 1;
-
-		if (start >= text.length()) {
-			return null;
-		}
-		pos.x = start;
-
-		int end = text.indexOf('\n', start);
-		if (end == -1) {
-			end = text.length();
-		}
-		pos.y = end;
-		// check for "\r\n" sequence
-		if (text.charAt(end - 1) == '\r') {
-			return text.substring(start, end - 1);
-		}
-		else {
-			return text.substring(start, end);
-		}
-	}
-
-	/**
-	 * A text area figure uses the "LeftMargin", "RightMargin", "TopMargin",
-	 * "TabSize", "FontSize", "FontStyle", and "FontName" attributes
-	 *
-	 * @param name the attribute's name
-	 * @return     the attribute value
-	 * @deprecated use getAttribute(FigureAttributeConstant)
-	 */
-	public Object getAttribute(String name) {
-		return super.getAttribute(name);
-	}
-
-
-	/**
-	 * A text area figure uses the "LeftMargin", "RightMargin",
-	 * "TopMargin", "TabSize", "FontSize", "FontStyle", and "FontName"
-	 * attributes
-	 *
-	 * @param name  the new attribute name
-	 * @param value the new attribute value
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object)
-	 */
-	public void setAttribute(String name, Object value) {
-		// we need to create a new font if one of the font attributes
-		Font font = getFont();
-		if (name.equals("FontSize")) {
-			Integer s = (Integer)value;
-			setFont(new Font(font.getName(), font.getStyle(), s.intValue()));
-			// store the attribute
-			super.setAttribute(name, value);
-		}
-		else if (name.equals("FontStyle")) {
-			Integer s = (Integer)value;
-			int style = font.getStyle();
-			if (s.intValue() == Font.PLAIN) {
-				style = Font.PLAIN;
-			}
-			else {
-				style = style ^ s.intValue();
-			}
-			setFont(new Font(font.getName(), style, font.getSize()));
-			// store the attribute
-			super.setAttribute(name, new Integer(style));
-		}
-		else if (name.equals("FontName")) {
-			String n = (String)value;
-			setFont(new Font(n, font.getStyle(), font.getSize()));
-			// store the attribute
-			super.setAttribute(name, value);
-		}
-		else {
-			// store the attribute
-			super.setAttribute(name, value);
-		}
-	}
-
-	/**
-	 * Writes the figure to StorableOutput
-	 *
-	 * @param dw  the output storable
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-		dw.writeString(fText);
-		dw.writeBoolean(fIsReadOnly);
-		dw.writeStorable(fObservedFigure);
-		dw.writeStorable(fLocator);
-	}
-
-	/**
-	 * Reads the figure from StorableInput
-	 *
-	 * @param dr            Description of the Parameter
-	 * @throws IOException  the inout storable
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-
-		markSizeDirty();
-		markTextDirty();
-		markFontDirty();
-
-		fDisplayBox.x = dr.readInt();
-		fDisplayBox.y = dr.readInt();
-		fDisplayBox.width = dr.readInt();
-		fDisplayBox.height = dr.readInt();
-		fText = dr.readString();
-		fIsReadOnly = dr.readBoolean();
-
-		fObservedFigure = (Figure)dr.readStorable();
-		if (fObservedFigure != null) {
-			fObservedFigure.addFigureChangeListener(this);
-		}
-		fLocator = (OffsetLocator)dr.readStorable();
-
-		setFont(createFont());
-	}
-
-	/**
-	 * Reads the figure from an object stream
-	 *
-	 * @param s                        the input stream
-	 * @throws ClassNotFoundException  thrown by called methods
-	 * @throws IOException             thrown by called methods
-	 */
-	protected void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		if (fObservedFigure != null) {
-			fObservedFigure.addFigureChangeListener(this);
-		}
-		markSizeDirty();
-		markTextDirty();
-		markFontDirty();
-	}
-
-	/**
-	 * Connects the figure to another figure
-	 *
-	 * @param figure  the connecting figure
-	 */
-	public void connect(Figure figure) {
-		if (fObservedFigure != null) {
-			fObservedFigure.removeFigureChangeListener(this);
-		}
-
-		fObservedFigure = figure;
-		fLocator = new OffsetLocator(figure.connectedTextLocator(this));
-		fObservedFigure.addFigureChangeListener(this);
-		updateLocation();
-	}
-
-	/**
-	 * Disconnects a text holder from a connect figure.
-	 *
-	 * @param disconnectFigure  the disconnecting figure
-	 */
-	public void disconnect(Figure disconnectFigure) {
-		if (disconnectFigure != null) {
-			disconnectFigure.removeFigureChangeListener(this);
-		}
-		fLocator = null;
-	}
-
-	/**
-	 * Description of the Method
-	 * @todo   Implement this org.jhotdraw.framework.FigureChangeListener method
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-	}
-
-	/**
-	 * A connected figure has changed, update the figure's location
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureChanged(FigureChangeEvent e) {
-		updateLocation();
-	}
-
-	/**
-	 * Updates the location relative to the connected figure.
-	 * The TextAreaFigure is centered around the located point.
-	 */
-	protected void updateLocation() {
-		if (fLocator != null) {
-			Point p = fLocator.locate(fObservedFigure);
-
-			p.x -= size().width / 2 + fDisplayBox.x;
-			p.y -= size().height / 2 + fDisplayBox.y;
-			if (p.x != 0 || p.y != 0) {
-				willChange();
-				basicMoveBy(p.x, p.y);
-				changed();
-			}
-		}
-	}
-
-	/**
-	 * The figure is about to be removed from another composite figure
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRemoved(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRemoved(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * A request to remove the figure from another composite figure
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestRemove(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		// @todo:   Implement this org.jhotdraw.framework.FigureChangeListener method
-	}
-
-	/**
-	 * Gets the font width for the active font. This is by convention the width of
-	 * the 'W' character, the widest one
-	 *
-	 * @return   The fontWidth value
-	 */
-	protected float getFontWidth() {
-		updateFontInfo();
-		return fFontWidth;
-	}
-
-	/** Retrieve all Font information needed */
-	protected void updateFontInfo() {
-		if (!isFontDirty()) {
-			return;
-		}
-		fFontWidth = (int) getFont().getMaxCharBounds(new FontRenderContext(null, false, false)).getWidth(); 
-
-		setFontDirty(false);
-	}
-
-	/**
-	 * Gets the text color of a figure. This is a convenience
-	 * method.
-	 *
-	 * @return   The textColor value
-	 * @see      #getAttribute
-	 */
-	public Color getTextColor() {
-		return (Color)getAttribute("TextColor");
-	}
-
-	/**
-	 * Gets the empty attribute of the figure. True if there is no text
-	 *
-	 * @return   The empty value
-	 */
-	public boolean isEmpty() {
-		return (fText.length() == 0);
-	}
-
-	/**
-	 * Called whenever the something changes that requires font recomputing
-	 */
-	protected void markFontDirty() {
-		setFontDirty(true);
-	}
-
-	/**
-	 * Gets the fontDirty attribute of the TextAreaFigure object
-	 *
-	 * @return   The fontDirty value
-	 */
-	public boolean isFontDirty() {
-		return fFontIsDirty;
-	}
-
-	/**
-	 * Sets the fontDirty attribute of the TextAreaFigure object
-	 *
-	 * @param newFontIsDirty  The new fontDirty value
-	 */
-	public void setFontDirty(boolean newFontIsDirty) {
-		fFontIsDirty = newFontIsDirty;
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-	
-	/**
-	 * @see org.jhotdraw.framework.Figure#getTextHolder()
-	 */
-	public TextHolder getTextHolder() {
-		return this;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/TextAreaTool.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/TextAreaTool.java
deleted file mode 100644
index 1acf04578..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/TextAreaTool.java
+++ /dev/null
@@ -1,445 +0,0 @@
-/*
- *  @(#)TextAreaTool.java
- *
- *  Project:     JHotdraw - a GUI framework for technical drawings
- *               http://www.jhotdraw.org
- *               http://jhotdraw.sourceforge.net
- *  Copyright:   � by the original author(s) and all contributors
- *  License:     Lesser GNU Public License (LGPL)
- *               http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.standard.CreationTool;
-import org.jhotdraw.standard.SingleFigureEnumerator;
-import org.jhotdraw.standard.TextHolder;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.UndoableAdapter;
-
-import java.awt.Container;
-import java.awt.Font;
-import java.awt.Rectangle;
-import java.awt.event.MouseEvent;
-
-/**
- * A TextAreaTool creates TextAreaFigures.<br>
- * To create a new text area, the user drags a rectangle on the drawing on
- * a free spot.<br>
- * When releasing the mouse the tool calls the area's editor to enter the text.<br>
- * If the tool is clicked on an existing area the tool simply calls the
- * area's editor.<br>
- * When creating a new area, if the user leaves the text empty, the newly created
- * area figure is discarded.
- *
- * @author    Eduardo Francos - InContext
- * @created   29 april 2002
- * @version   1.0
- */
-public class TextAreaTool extends CreationTool {
-	/** The field used for editing */
-	protected FloatingTextArea fTextField;
-
-	/** The typing target */
-	protected TextHolder fTypingTarget;
-	/** The edited figure */
-	protected Figure fEditedFigure;
-
-	/**
-	 * Constructor for the TextAreaTool object
-	 *
-	 * @param newDrawingEditor  the managing drawing editor
-	 * @param prototype         the prototype for the figure
-	 */
-	public TextAreaTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder and it accepts editing it can be edited.<br>
-	 * If there is no pressed figure a new text figure is created.
-	 *
-	 * @param e  Description of the Parameter
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		Figure pressedFigure = drawing().findFigureInside(x, y);
-		TextHolder textHolder = null;
-		if (pressedFigure != null) {
-			textHolder = pressedFigure.getTextHolder();
-		}
-
-		if ((textHolder != null) && (textHolder.acceptsTyping())) {
-			beginEdit(textHolder, pressedFigure);
-			return;
-		}
-		if (getTypingTarget() != null) {
-			endEdit();
-
-			if (getCreatedFigure() != null && getCreatedFigure().isEmpty()) {
-				drawing().remove(getAddedFigure());
-				// nothing to undo
-				setUndoActivity(null);
-			}
-			else {
-//				// use undo activity from paste command...
-//				setUndoActivity(createUndoActivity());
-//
-//				// put created figure into a figure enumeration
-//				getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getAddedFigure()));
-			}
-			setTypingTarget(null);
-			setCreatedFigure(null);
-			setEditedFigure(null);
-			setAddedFigure(null);
-			editor().toolDone();
-		}
-		else {
-			super.mouseDown(e, x, y);
-		}
-	}
-
-	/**
-	 * Drags to set the initial text area display box
-	 *
-	 * @param e  Description of the Parameter
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		// if not creating just ignore
-		if (getCreatedFigure() == null) {
-			return;
-		}
-		super.mouseDrag(e, x, y);
-	}
-
-	/**
-	 * If creating a figure it ends the creation process and calls the editor
-	 *
-	 * @param e  Description of the Parameter
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		// if not creating just ignore
-		if (getCreatedFigure() == null) {
-			return;
-		}
-
-		// update view so the created figure is drawn before the floating text
-		// figure is overlaid. (Note, fDamage should be null in StandardDrawingView
-		// when the overlay figure is drawn because a JTextField cannot be scrolled)
-		view().checkDamage();
-		TextHolder textHolder = (TextHolder)getCreatedFigure();
-		if (textHolder.acceptsTyping()) {
-			beginEdit(textHolder, getCreatedFigure());
-		}
-		else {
-			editor().toolDone();
-		}
-	}
-
-	/**
-	 * Terminates the editing of a text figure.
-	 */
-	public void deactivate() {
-		endEdit();
-		super.deactivate();
-	}
-
-	/**
-	 * Activates the figure's editor
-	 */
-	public void activate() {
-		super.activate();
-		getActiveView().clearSelection();
-	}
-
-	/**
-	 * Test whether the text tool is currently activated and is displaying
-	 * a overlay TextFigure for accepting input.
-	 *
-	 * @return   true, if the text tool has a accepting target TextFigure for its input, false otherwise
-	 */
-	public boolean isActivated() {
-		return getTypingTarget() != null;
-	}
-
-	/**
-	 * Begins editing the figure's text
-	 *
-	 * @param figure          the typing target
-	 * @param selectedFigure  the edited figure
-	 */
-	protected void beginEdit(TextHolder figure, Figure selectedFigure) {
-		if (fTextField == null) {
-			fTextField = new FloatingTextArea();
-		}
-
-		if (figure != getTypingTarget() && getTypingTarget() != null) {
-			endEdit();
-		}
-
-		fTextField.createOverlay((Container)view(), getFont(figure));
-		fTextField.setBounds(fieldBounds(figure), figure.getText());
-
-		setTypingTarget(figure);
-		setEditedFigure(selectedFigure);
-		setUndoActivity(createUndoActivity());
-	}
-
-	/**
-	 * Gets the font to be used for editing the figure
-	 *
-	 * @param figure  the figure
-	 * @return        The font
-	 */
-	protected Font getFont(TextHolder figure) {
-		return figure.getFont();
-	}
-
-	/** Ends editing of the figure's text */
-	protected void endEdit() {
-		if ((getTypingTarget() != null) && (fTextField != null)) {
-			if (fTextField.getText().length() > 0) {
-				getTypingTarget().setText(fTextField.getText());
-				// put created figure into a figure enumeration
-				getUndoActivity().setAffectedFigures(
-						new SingleFigureEnumerator(getEditedFigure()));
-				((TextAreaTool.UndoActivity)getUndoActivity()).setBackupText(
-						getTypingTarget().getText());
-			}
-			else {
-				drawing().orphan(getAddedFigure());
-				// nothing to undo
-//	            setUndoActivity(null);
-			}
-
-			fTextField.endOverlay();
-			fTextField = null;
-//			view().checkDamage();
-		}
-	}
-
-	/**
-	 * Returns the bounds fo the figure
-	 *
-	 * @param figure  the edited figure
-	 * @return        Description of the Return Value
-	 */
-	private Rectangle fieldBounds(TextHolder figure) {
-		return figure.textDisplayBox();
-	}
-
-	/**
-	 * Sets the typingTarget attribute of the TextAreaTool
-	 *
-	 * @param newTypingTarget  The new typingTarget value
-	 */
-	protected void setTypingTarget(TextHolder newTypingTarget) {
-		fTypingTarget = newTypingTarget;
-	}
-
-	/**
-	 * Gets the editedFigure attribute of the TextAreaTool
-	 *
-	 * @return   The editedFigure value
-	 */
-	protected Figure getEditedFigure() {
-		return fEditedFigure;
-	}
-
-	/**
-	 * Sets the editedFigure attribute of the TextAreaTool
-	 *
-	 * @param figure  The new editedFigure value
-	 */
-	protected void setEditedFigure(Figure figure) {
-		fEditedFigure = figure;
-	}
-
-	/**
-	 * Gets the typingTarget attribute of the TextAreaTool
-	 *
-	 * @return   The typingTarget value
-	 */
-	protected TextHolder getTypingTarget() {
-		return fTypingTarget;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 *
-	 * @return   Description of the Return Value
-	 */
-	protected Undoable createUndoActivity() {
-		return new TextAreaTool.UndoActivity(view(), getTypingTarget().getText());
-	}
-
-	/**
-	 * Handles undo/redo for text areas
-	 *
-	 * @author    gualo
-	 */
-	public static class UndoActivity extends UndoableAdapter {
-		/** The original text */
-		private String myOriginalText;
-		/** The backup text */
-		private String myBackupText;
-
-		/**
-		 * Constructor for the UndoActivity object
-		 *
-		 * @param newDrawingView   Description of the Parameter
-		 * @param newOriginalText  Description of the Parameter
-		 */
-		public UndoActivity(DrawingView newDrawingView, String newOriginalText) {
-			super(newDrawingView);
-			setOriginalText(newOriginalText);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 *  Undo the activity
-		 *  @return true if the activity could be undone, false otherwise
-		 */
-		/**
-		 * Undo the activity
-		 *
-		 * @return   Description of the Return Value
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-
-			if (!isValidText(getOriginalText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().drawing().orphan(fe.nextFigure());
-				}
-			}
-			// add text figure if it has been removed (no backup text)
-			else if (!isValidText(getBackupText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().add(fe.nextFigure());
-				}
-				setText(getOriginalText());
-			}
-			else {
-				setText(getOriginalText());
-			}
-
-			return true;
-		}
-
-		/*
-		 *  Redo the activity
-		 *  @return true if the activity could be redone, false otherwise
-		 */
-		/**
-		 * Redo the activity
-		 *
-		 * @return   Description of the Return Value
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-
-			// the text figure did exist but was remove
-			if (!isValidText(getBackupText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().drawing().orphan(fe.nextFigure());
-				}
-			}
-			// the text figure didn't exist before
-			else if (!isValidText(getOriginalText())) {
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					getDrawingView().drawing().add(fe.nextFigure());
-					setText(getBackupText());
-				}
-			}
-			else {
-				setText(getBackupText());
-			}
-
-			return true;
-		}
-
-		/**
-		 * Validates the text in the undo activity
-		 *
-		 * @param toBeChecked  Description of the Parameter
-		 * @return             The validText value
-		 */
-		protected boolean isValidText(String toBeChecked) {
-			return ((toBeChecked != null) && (toBeChecked.length() > 0));
-		}
-
-		/**
-		 * Sets the text attribute of the UndoActivity
-		 *
-		 * @param newText  The new text value
-		 */
-		protected void setText(String newText) {
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().setText(newText);
-				}
-			}
-		}
-
-		/**
-		 * Sets the backupText attribute of the UndoActivity
-		 *
-		 * @param newBackupText  The new backupText value
-		 */
-		public void setBackupText(String newBackupText) {
-			myBackupText = newBackupText;
-		}
-
-		/**
-		 * Gets the backupText attribute of the UndoActivity
-		 *
-		 * @return   The backupText value
-		 */
-		public String getBackupText() {
-			return myBackupText;
-		}
-
-		/**
-		 * Sets the originalText attribute of the UndoActivity
-		 *
-		 * @param newOriginalText  The new originalText value
-		 */
-		public void setOriginalText(String newOriginalText) {
-			myOriginalText = newOriginalText;
-		}
-
-		/**
-		 * Gets the originalText attribute of the UndoActivity
-		 *
-		 * @return   The originalText value
-		 */
-		public String getOriginalText() {
-			return myOriginalText;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/TriangleFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/TriangleFigure.java
deleted file mode 100644
index 791dd619a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/TriangleFigure.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * @(#)TriangleFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.framework.HandleEnumeration;
-import org.jhotdraw.standard.HandleEnumerator;
-
-import java.awt.*;
-import java.util.List;
-import java.io.IOException;
-
-/**
- * A triangle with same dimensions as its enclosing rectangle,
- * and apex at any of 8 places
- *
- * @author Doug Lea  (dl at gee, Tue Feb 25 17:30:58 1997)
- * @version <$CURRENT_VERSION$>
- */
-public  class TriangleFigure extends RectangleFigure {
-
-	static double[] rotations = {
-		-Math.PI/2, -Math.PI/4,
-		0.0, Math.PI/4,
-		Math.PI/2, Math.PI * 3/4,
-		Math.PI,  -Math.PI * 3/4
-	};
-
-	private int fRotation = 0;
-
-	public TriangleFigure() {
-		super(new Point(0,0), new Point(0,0));
-	}
-
-	public TriangleFigure(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	public HandleEnumeration handles() {
-		List h = super.handles().toList();
-		h.add(new TriangleRotationHandle(this));
-		return new HandleEnumerator(h);
-	}
-
-	public void rotate(double angle) {
-		willChange();
-		double dist = Double.MAX_VALUE;
-		int best = 0;
-		for (int i = 0; i < rotations.length; ++i) {
-			double d = Math.abs(angle - rotations[i]);
-			if (d < dist) {
-				dist = d;
-				best = i;
-			}
-		}
-		fRotation = best;
-		changed();
-	}
-
-	/** Return the polygon describing the triangle **/
-	public Polygon getPolygon() {
-		Rectangle r = displayBox();
-		Polygon p = new Polygon();
-		switch (fRotation) {
-		case 0:
-			p.addPoint(r.x + r.width/2, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			p.addPoint(r.x, r.y + r.height);
-			break;
-		case 1:
-			p.addPoint(r.x + r.width, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			break;
-		case 2:
-			p.addPoint(r.x + r.width, r.y + r.height/2);
-			p.addPoint(r.x, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			break;
-		case 3:
-			p.addPoint(r.x + r.width, r.y + r.height);
-			p.addPoint(r.x, r.y + r.height);
-			p.addPoint(r.x + r.width, r.y);
-			break;
-		case 4:
-			p.addPoint(r.x + r.width/2, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			p.addPoint(r.x + r.width, r.y);
-			break;
-		case 5:
-			p.addPoint(r.x, r.y + r.height);
-			p.addPoint(r.x, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			break;
-		case 6:
-			p.addPoint(r.x, r.y + r.height/2);
-			p.addPoint(r.x + r.width, r.y);
-			p.addPoint(r.x + r.width, r.y + r.height);
-			break;
-		case 7:
-			p.addPoint(r.x, r.y);
-			p.addPoint(r.x + r.width, r.y);
-			p.addPoint(r.x, r.y + r.height);
-			break;
-		}
-		return p;
-	}
-
-
-	public void draw(Graphics g) {
-		Polygon p = getPolygon();
-		g.setColor(getFillColor());
-		g.fillPolygon(p);
-		g.setColor(getFrameColor());
-		g.drawPolygon(p);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = displayBox();
-		switch(fRotation) {
-		case 0:
-			return new Insets(r.height, r.width/2, 0, r.width/2);
-		case 1:
-			return new Insets(0, r.width, r.height, 0);
-		case 2:
-			return new Insets(r.height/2, 0, r.height/2, r.width);
-		case 3:
-			return new Insets(r.height, r.width, 0, 0);
-		case 4:
-			return new Insets(0, r.width/2, r.height, r.width/2);
-		case 5:
-			return new Insets(r.height, 0, 0, r.width);
-		case 6:
-			return new Insets(r.height/2, r.width, r.height/2, 0);
-		case 7:
-			return new Insets(0, 0, r.height, r.width);
-		default:
-			return null;
-		}
-	}
-
-	public boolean containsPoint(int x, int y) {
-		return getPolygon().contains(x, y);
-	}
-
-	public Point center() {
-		return PolygonFigure.center(getPolygon());
-	}
-
-	public Point chop(Point p) {
-		return PolygonFigure.chop(getPolygon(), p);
-	}
-
-	public Object clone() {
-		TriangleFigure figure = (TriangleFigure) super.clone();
-		figure.fRotation = fRotation;
-		return figure;
-	}
-
-	public double getRotationAngle() {
-		return rotations[fRotation];
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fRotation);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fRotation = dr.readInt();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/TriangleRotationHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/TriangleRotationHandle.java
deleted file mode 100644
index e3e2aa5aa..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/TriangleRotationHandle.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)TriangleRotationHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-import org.jhotdraw.standard.*;
-
-
-/**
- * A Handle to rotate a TriangleFigure
- * Based on RadiusHandle
- *
- * @author Doug Lea  (dl at gee, Sun Mar 2 19:15:28 1997)
- * @version <$CURRENT_VERSION$>
- */
-class TriangleRotationHandle extends AbstractHandle {
-
-	private Point fOrigin;
-
-	public TriangleRotationHandle(TriangleFigure owner) {
-		super(owner);
-	}
-
-	/**
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 */
-	public void invokeStart(int x, int  y, DrawingView view) {
-		fOrigin = getOrigin();
-		TriangleRotationHandle.UndoActivity activity =
-			(TriangleRotationHandle.UndoActivity)createUndoActivity(view);
-		setUndoActivity(activity);
-		activity.setAffectedFigures(new SingleFigureEnumerator(owner()));
-		double rotation = ((TriangleFigure)(owner())).getRotationAngle();
-		activity.setRotationAngle(rotation);
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point fCenter = owner().center();
-		double angle = Math.atan2(fOrigin.y + y - anchorY - fCenter.y,
-  								  fOrigin.x + x - anchorX - fCenter.x);
-		((TriangleFigure)(owner())).rotate(angle);
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		fOrigin = null;
-	}
-
-	public Point locate() {
-		return getOrigin();
-	}
-
-	Point getOrigin() {
-		// find a nice place to put handle
-		// almost same code as PolygonScaleHandle
-		Polygon p = ((TriangleFigure)(owner())).getPolygon();
-		Point first = new Point(p.xpoints[0], p.ypoints[0]);
-		Point ctr = owner().center();
-		double len = Geom.length(first.x, first.y, ctr.x, ctr.y);
-		if (len == 0) { // best we can do?
-			return new Point(first.x - HANDLESIZE/2, first.y + HANDLESIZE/2);
-		}
-
-		double u = HANDLESIZE / len;
-		if (u > 1.0) { // best we can do?
-			return new Point((first.x * 3 + ctr.x)/4, (first.y * 3 + ctr.y)/4);
-		}
-		else {
-			return new Point((int)(first.x * (1.0 - u) + ctr.x * u),
-							(int)(first.y * (1.0 - u) + ctr.y * u));
-		}
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new TriangleRotationHandle.UndoActivity(newView);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private double myRotationAngle;
-
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetRotationAngle();
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetRotationAngle();
-		}
-
-		protected boolean resetRotationAngle() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			TriangleFigure figure = (TriangleFigure)fe.nextFigure();
-			double backupAngle = figure.getRotationAngle();
-			figure.willChange();
-			figure.rotate(getRotationAngle());
-			figure.changed();
-			setRotationAngle(backupAngle);
-			return true;
-		}
-
-		protected void setRotationAngle(double newRotationAngle) {
-			myRotationAngle = newRotationAngle;
-		}
-
-		public double getRotationAngle() {
-			return myRotationAngle;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/WindowMenu.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/WindowMenu.java
deleted file mode 100644
index c53418d81..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/WindowMenu.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * @(#)WindowMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.beans.PropertyVetoException;
-
-import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JInternalFrame;
-import javax.swing.event.MenuEvent;
-import javax.swing.event.MenuListener;
-
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.standard.AbstractCommand;
-import org.jhotdraw.util.Command;
-import org.jhotdraw.util.CommandMenu;
-
-/**
- * Menu component that handles the functionality expected of a standard
- * "Windows" menu for MDI applications.
- *
- * @author Wolfram Kaiser (adapted from an article in JavaWorld)
- * @version <$CURRENT_VERSION$>
- */
-public class WindowMenu extends CommandMenu {
-	private MDIDesktopPane desktop;
-	private Command cascadeCommand;
-	private Command tileCommand;
-
-	public WindowMenu(String newText, MDIDesktopPane newDesktop, DrawingEditor newEditor) {
-		super(newText);
-		this.desktop = newDesktop;
-		cascadeCommand = new AbstractCommand("Cascade", newEditor) {
-			public void execute() {
-				WindowMenu.this.desktop.cascadeFrames();
-			}
-			public boolean isExecutable() {
-				return super.isExecutable() && (WindowMenu.this.desktop.getAllFrames().length > 0);
-			}
-		};
-		tileCommand = new AbstractCommand("Tile", newEditor) {
-			public void execute() {
-				WindowMenu.this.desktop.tileFramesHorizontally();
-			}
-			public boolean isExecutable() {
-				return super.isExecutable() && (WindowMenu.this.desktop.getAllFrames().length > 0);
-			}
-		};
-		addMenuListener(new MenuListener() {
-			public void menuCanceled (MenuEvent e) {}
-
-			public void menuDeselected (MenuEvent e) {
-				removeAll();
-			}
-
-			public void menuSelected (MenuEvent e) {
-				buildChildMenus();
-			}
-		});
-	}
-
-	/* Sets up the children menus depending on the current desktop state */
-	private void buildChildMenus() {
-		ChildMenuItem menu;
-		JInternalFrame[] array = desktop.getAllFrames();
-
-		add(new CommandMenuItem(cascadeCommand));
-		add(new CommandMenuItem(tileCommand));
-		if (array.length > 0) {
-			addSeparator();
-		}
-//		cascade.setEnabled(array.length > 0);
-//		tile.setEnabled(array.length > 0);
-
-		for (int i = 0; i < array.length; i++) {
-			menu = new ChildMenuItem(array[i]);
-			menu.setState(i == 0);
-			menu.addActionListener(new ActionListener() {
-				public void actionPerformed(ActionEvent ae) {
-					JInternalFrame frame = ((ChildMenuItem)ae.getSource()).getFrame();
-					frame.moveToFront();
-					try {
-						frame.setSelected(true);
-					}
-					catch (PropertyVetoException e) {
-						e.printStackTrace();
-					}
-				}
-			});
-			menu.setIcon(array[i].getFrameIcon());
-			add(menu);
-		}
-	}
-
-	/* This JCheckBoxMenuItem descendant is used to track the child frame that corresponds
-	   to a give menu. */
-	class ChildMenuItem extends JCheckBoxMenuItem {
-		private JInternalFrame frame;
-
-		public ChildMenuItem(JInternalFrame newFrame) {
-			super(newFrame.getTitle());
-			frame=newFrame;
-		}
-
-		public JInternalFrame getFrame() {
-			return frame;
-		}
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDFigures.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDFigures.java
deleted file mode 100644
index bd933114e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDFigures.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)DNDFigures.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.dnd;
-
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.standard.FigureEnumerator;
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.awt.Point;
-import java.util.List;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DNDFigures implements java.io.Serializable {
-	private List figures;
-	private Point origin;
-
-	public DNDFigures(FigureEnumeration fe, Point newOrigin) {
-		this.figures = CollectionsFactory.current().createList();
-		// copy figure enumeration because enumerations should not be fields
-		//the drop operation will serialize and deseralize which I believe is a form of copy!?
-		while (fe.hasNextFigure()) {
-			figures.add(fe.nextFigure());
-		}
-		origin = newOrigin;
-	}
-
-	public FigureEnumeration getFigures() {
-	    return new FigureEnumerator(figures);
-	}
-
-	public Point getOrigin() {
-	    return origin;
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDFiguresTransferable.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDFiguresTransferable.java
deleted file mode 100644
index 4438dd3a1..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDFiguresTransferable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)DNDFiguresTransferable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.dnd;
-
-import java.awt.datatransfer.*;
-import java.io.*;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DNDFiguresTransferable implements Transferable , Serializable {
-	public static DataFlavor DNDFiguresFlavor = new DataFlavor(DNDFigures.class,"DNDFigures");
-	private Object o;
-
-	public DNDFiguresTransferable(Object newObject) {
-		//if object is not serializable throw exception
-		o = newObject;
-	}
-	public DataFlavor[] getTransferDataFlavors() {
-		return new DataFlavor [] {DNDFiguresFlavor };
-	}
-
-	public boolean isDataFlavorSupported(DataFlavor flavor) {
-		return flavor.equals(DNDFiguresFlavor);
-	}
-
-	public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
-		if ( isDataFlavorSupported(flavor) == false) {
-			throw new UnsupportedFlavorException( flavor );
-		}
-		return o;
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDHelper.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDHelper.java
deleted file mode 100644
index cccd62314..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDHelper.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * @(#)DNDHelper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.dnd;
-
-import org.jhotdraw.framework.*;
-
-import java.awt.Component;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.UnsupportedFlavorException;
-import java.awt.datatransfer.Transferable;
-import java.awt.dnd.*;
-import java.io.*;
-import java.util.List;
-
-/**
- * Changes made in hopes of eventually cleaning up the functionality and 
- * distributing it sensibly. 1/10/02
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public abstract class DNDHelper {
-	public static DataFlavor ASCIIFlavor = new DataFlavor("text/plain; charset=ascii", "ASCII text");
-	private DragGestureRecognizer dgr;
-	private DragGestureListener dragGestureListener;
-	private DropTarget dropTarget;
-	private DragSourceListener dragSourceListener;
-	private DropTargetListener dropTargetListener;
-	private boolean isDragSource = false;
-	private boolean isDropTarget = false;
-
-	public DNDHelper(boolean newIsDragSource, boolean newIsDropTarget){
-		isDragSource = newIsDragSource;
-		isDropTarget = newIsDropTarget;
-	}
-	/**
-	 * Do not call this from the constructor.  its methods are overridable.
-	 */
-	public void initialize(DragGestureListener dgl) {
-		if (isDragSource) {
-			setDragGestureListener(dgl);
-			setDragSourceListener(createDragSourceListener());
-			setDragGestureRecognizer(createDragGestureRecognizer(getDragGestureListener()));
-		}
-		if (isDropTarget) {
-			setDropTargetListener(createDropTargetListener());
-			setDropTarget(createDropTarget());
-		}
-	}
-
-	public void deinitialize(){
-		if (getDragSourceListener() != null) {
-			destroyDragGestreRecognizer();
-			setDragSourceListener(null);
-		}
-		if (getDropTargetListener() != null) {
-			setDropTarget(null);
-			setDropTargetListener(null);
-		}
-	}
-//	public void setDragSourceState(boolean state) {
-//		if(state == false){
-//			getDragGestureRecognizer().setSourceActions(DnDConstants.ACTION_NONE);
-//		}
-//		else {
-//			getDragGestureRecognizer().setSourceActions(getDragSourceActions());
-//		}
-//	}
-	protected abstract DrawingView view();
-	protected abstract DrawingEditor editor();
-	
-	protected static Object processReceivedData(DataFlavor flavor, Transferable transferable) {
-		Object receivedData = null;
-		if (transferable == null) {
-			return null;
-		}
-
-		try {
-		    if (flavor.equals(DataFlavor.stringFlavor)) {
-				receivedData = transferable.getTransferData(DataFlavor.stringFlavor);
-			}
-			else if (flavor.equals(DataFlavor.javaFileListFlavor)) {
-				List aList = (List)transferable.getTransferData(DataFlavor.javaFileListFlavor);
-				File fList [] = new File[aList.size()];
-				aList.toArray(fList);
-				receivedData = fList;
-			}
-			else if (flavor.equals(ASCIIFlavor)) {
-				/* this may be too much work for locally received data */
-				InputStream is = (InputStream)transferable.getTransferData(ASCIIFlavor);
-				int length = is.available();
-				byte[] bytes = new byte[length];
-				int n = is.read(bytes);
-				if (n > 0) {
-					/* seems to be a 0 tacked on the end of Windows strings.  I
-					 * havent checked other platforms.  This does not happen
-					 * with windows socket io.  strange?
-					 */
-					//for (int i = 0; i < length; i++) {
-					//    if (bytes[i] == 0) {
-					//        length = i;
-					//        break;
-					//    }
-					//}
-					receivedData = new String(bytes, 0, n);
-				}
-			}
-			else if (flavor.equals(DNDFiguresTransferable.DNDFiguresFlavor)) {
-				receivedData = transferable.getTransferData(DNDFiguresTransferable.DNDFiguresFlavor);
-			}
-		}
-		catch (java.io.IOException ioe) {
-			System.err.println(ioe);
-		}
-		catch (UnsupportedFlavorException ufe) {
-			System.err.println(ufe);
-		}
-		catch (ClassCastException cce) {
-			System.err.println(cce);
-		}
-
-		return receivedData;
-	}
-
-	/**
-	 * This must reflect the capabilities of the dragSsource, not your desired
-	 * actions.  If you desire limited drag actions, then I suppose you need to
-	 * make a new drag gesture recognizer?  I do know that if you put for instance
-	 * ACTION_COPY but your device supports ACTION_COPY_OR_MOVE, then the receiving
-	 * target may show the rejected icon, but will still be forced improperly to
-	 * accept your MOVE since the system is not properly calling your MOVE a MOVE
-	 * because you claimed incorrectly that you were incapable of MOVE.
-	 */
-	protected int getDragSourceActions() {
-		return DnDConstants.ACTION_COPY_OR_MOVE;
-	}
-
-	protected int getDropTargetActions(){
-		return DnDConstants.ACTION_COPY_OR_MOVE;
-	}
-
-	protected void setDragGestureListener(DragGestureListener dragGestureListener){
-		this.dragGestureListener = dragGestureListener;
-	}
-
-	protected DragGestureListener getDragGestureListener(){
-		return dragGestureListener;
-	}
-
-	protected void setDragGestureRecognizer(DragGestureRecognizer dragGestureRecognizer){
-		dgr = dragGestureRecognizer;
-	}
-
-	protected DragGestureRecognizer getDragGestureRecognizer(){
-		return dgr;
-	}
-
-	protected void setDropTarget(DropTarget newDropTarget){
-		if ((newDropTarget == null) && (dropTarget != null)) {
-			dropTarget.setComponent(null);
-			dropTarget.removeDropTargetListener(getDropTargetListener());
-		}
-		dropTarget = newDropTarget;
-	}
-
-	protected DropTarget createDropTarget() {
-		DropTarget dt = null;
-		if (Component.class.isInstance(view())) {
-			try {
-				dt = new DropTarget((Component)view(), getDropTargetActions(), getDropTargetListener());
-				//System.out.println(view().toString() + " Initialized to DND.");
-			}
-			catch (NullPointerException npe) {
-				System.err.println("View Failed to initialize to DND.");
-				System.err.println("Container likely did not have peer before the DropTarget was added");
-				System.err.println(npe);
-				npe.printStackTrace();
-			}
-		}
-		return dt;
-	}
-
-	/**
-	 * Used to create the gesture recognizer which in effect turns on draggability.
-	 */
-	protected DragGestureRecognizer createDragGestureRecognizer(DragGestureListener dgl) {
-		DragGestureRecognizer aDgr = null;
-		if (Component.class.isInstance(view())) {
-			Component c = (Component)view();
-			aDgr =	java.awt.dnd.DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(
-					c,
-					getDragSourceActions(),
-					dgl);
-			//System.out.println("DragGestureRecognizer created: " + view());
-		}
-		return aDgr;
-	}
-
-	/**
-	 * Used to destroy the gesture listener which ineffect turns off dragability.
-	 */
-	protected void destroyDragGestreRecognizer() {
-		//System.out.println("Destroying DGR " + view());
-		if (getDragGestureRecognizer() != null) {
-			getDragGestureRecognizer().removeDragGestureListener(getDragGestureListener());
-	    	getDragGestureRecognizer().setComponent(null);
-			setDragGestureRecognizer(null);
-		}
-	}
-
-	protected void setDropTargetListener(DropTargetListener dropTargetListener){
-		this.dropTargetListener = dropTargetListener;
-	}
-
-	protected DropTargetListener getDropTargetListener(){
-		return dropTargetListener;
-		}
-
-	protected DropTargetListener createDropTargetListener(){
-		return new JHDDropTargetListener(editor(),view());
-	}
-
-	public DragSourceListener getDragSourceListener(){
-		return dragSourceListener;
-	}
-
-	protected void setDragSourceListener(DragSourceListener dragSourceListener){
-		this.dragSourceListener = dragSourceListener;
-	}
-
-	protected DragSourceListener createDragSourceListener(){
-		return new JHDDragSourceListener(editor(),view());
-	}
-}
-	/**
-	 * These transferable objects are used to package your data when you want
-	 * to initiate a transfer.  They are not used when you only want to receive
-	 * data.  Formating the data is the responsibility of the sender primarily.
-	 * Untested.  Used for dragging ASCII text out of JHotDraw
-	 */
-/*	public class ASCIIText implements Transferable
-	{
-		String s = new String("This is ASCII text");
-		byte[] bytes;
-
-		public DataFlavor[] getTransferDataFlavors() {
-			return new DataFlavor[] { ASCIIFlavor };
-		}
-
-		public boolean isDataFlavorSupported(DataFlavor dataFlavor) {
-			return dataFlavor.equals(ASCIIFlavor);
-		}
-
-		public Object getTransferData(DataFlavor dataFlavor)
-			throws UnsupportedFlavorException, IOException  {
-			if (!isDataFlavorSupported(dataFlavor))
-						throw new UnsupportedFlavorException(dataFlavor);
-
-			bytes = new byte[s.length() + 1];
-			for (int i = 0; i < s.length(); i++)
-				bytes = s.getBytes();
-			bytes[s.length()] = 0;
-			return new ByteArrayInputStream(bytes);
-		}
-	}*/
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDInterface.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDInterface.java
deleted file mode 100644
index 4a806c722..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DNDInterface.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)DNDInterface.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.dnd;
-
-import java.awt.dnd.DragGestureListener;
-import java.awt.dnd.DragSourceListener;
-
-/**
- * Interface for Components which wish to participate in drag and drop.
- *
- * A Component which wishes to participate in drag and drop should implement
- * this interface.  Once done the DragBDropTool will be able to transfer data
- * to and from the Component.  The Component will also be activated to receive
- * drops from extra-JVM sources according to the conditions the Component
- * specifies.
- *
- * @author  CL.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface DNDInterface {
-	public void DNDInitialize(DragGestureListener dgl);
-	public void DNDDeinitialize();
-
-	/**
-	 * When the DNDTool starts a drag action, it queries the interface for the
-	 * dragSourceListener of the source view.  It uses this listener to create
-	 * the dragGestureEvent.
-	 */
-	public DragSourceListener getDragSourceListener();
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DragNDropTool.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DragNDropTool.java
deleted file mode 100644
index d77d290bf..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/DragNDropTool.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * @(#)DragNDropTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.dnd;
-
-import java.awt.Component;
-import java.awt.Point;
-import java.awt.dnd.DragGestureListener;
-import java.awt.event.MouseEvent;
-
-import javax.swing.JComponent;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-
-/**
- * This is a tool which handles drag and drop between Components in
- * JHotDraw and drags from JHotDraw.  It also indirectly
- * handles management of Drops from extra-JVM sources.
- *
- *
- * Drag and Drop is about information moving, not images or objects.  Its about
- * moving a JHD rectangle to another application and that application understanding
- * both its shape, color, attributes, and everything about it. not how it looks.
- *
- * There can be only 1 such tool in an application.  A view can be registered
- * with only a single DropSource as far as I know (maybe not).
- *
- * @todo    For intra JVM transfers we need to pass Point origin as well, and not
- * assume it will be valid which currently will cause a null pointer exception.
- * or worse, will be valid with some local value.
- * The dropSource will prevent simultaneous drops.
- *
- * For a Container to be initialized to support Drag and Drop, it must first
- * have a connection to a heavyweight component.  Or more precisely it must have
- * a peer.  That means new Component() is not capable of being initiated until
- * it has attachment to a top level component i.e. JFrame.add(comp);  If you add
- * a Component to a Container, that Container must be the child of some
- * Container which is added in its heirachy to a topmost Component.  I will
- * refine this description with more appropriate terms as I think of new ways to
- * express this.  It won't work until setVisible(true) is called.  then you can 
- * initialize DND.
- *
- * note: if drop target is same as dragsource then we should draw the object.
- *
- *
- * @author C.L.Gilbert <dnoyeb@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DragNDropTool extends AbstractTool {
-
-	private Tool            fChild;
-	private DragGestureListener dragGestureListener;
-	private boolean dragOn;
-
-	public DragNDropTool(DrawingEditor editor) {
-		super(editor);
-		setDragGestureListener(createDragGestureListener());
-		dragOn = false;
-	}
-
-	/**
-	 * Sent when a new view is created
-	 */
-	protected void viewCreated(DrawingView view) {
-		super.viewCreated(view);
-		if (DNDInterface.class.isInstance(view)) {
-			DNDInterface dndi = (DNDInterface)view;
-			dndi.DNDInitialize( getDragGestureListener() );
-		}
-	}
-
-	/**
-	 * Send when an existing view is about to be destroyed.
-	 */
-	protected void viewDestroying(DrawingView view) {
-		if (DNDInterface.class.isInstance(view)) {
-			DNDInterface dndi = (DNDInterface)view;
-			dndi.DNDDeinitialize();
-		}
-		super.viewDestroying(view);
-	}
-
-	/**
-	 * Turn on drag by adding a DragGestureRegognizer to all Views which are
-	 * based on Components.
-	 */
-	public void activate() {
-		super.activate();
-//		setDragSourceActive(true);
-		//System.out.println("DNDTool Activation");
-		setDragOn(true);
-	}
-
-	public void deactivate() {
-		//System.out.println("DNDTool deactivation.");
-		setDragOn(false);
-//		setDragSourceActive(false);//if its not turned off other tools will have problems since drag will start
-		super.deactivate();
-	}
-
-//	private void setDragSourceActive(boolean newState) {
-//		Iterator it = comps.iterator();
-//		while (it.hasNext()) {
-//			DNDInterface dndi = (DNDInterface)it.next();
-//			dndi.setDragSourceState(newState);
-//		}
-//	}
-
-	/**
-	 * Sets the type of cursor based on what is under the coordinates in the
-	 * active view.
-	 */
-	public static void setCursor(int x, int y, DrawingView view) {
-		if (view == null) {   //shouldnt need this
-			return;
-		}
-		Handle handle = view.findHandle(x, y);
-		Figure figure = view.drawing().findFigure(x, y);
-
-		if (handle != null) {
-			view.setCursor(handle.getCursor());
-		}
-		else if (figure != null) {
-			view.setCursor(new AWTCursor(java.awt.Cursor.MOVE_CURSOR));
-		}
-		else {
-			view.setCursor(new AWTCursor(java.awt.Cursor.DEFAULT_CURSOR));
-		}
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 * Switches the cursors depending on whats under them.
-     * Don't use x, y use getX and getY so get the real unlimited position
-	 * Part of the Tool interface.
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-		if (evt.getSource() == getActiveView()) {
-			setCursor(x, y, getActiveView());
-		}
-	}
-
-	/**
-	 * Handles mouse up events. The events are forwarded to the
-	 * current tracker.
-	 * Part of the Tool interface.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (fChild != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			fChild.mouseUp(e, x, y);
-			fChild = null;
-		}
-		setDragOn(true);
-		view().unfreezeView();
-		//get undo actions and push into undo stack?
-	}
-
-	/**
-	 * Handles mouse down events and starts the corresponding tracker.
-	 * Part of the Tool interface.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		// on MS-Windows NT: AWT generates additional mouse down events
-		// when the left button is down && right button is clicked.
-		// To avoid dead locks we ignore such events
-		if (fChild != null) {
-			return;
-		}
-
-		view().freezeView();
-
-		Handle handle = view().findHandle(getAnchorX(), getAnchorY());
-		if (handle != null) {
-			//Turn off DND
-			setDragOn(false);
-			fChild = createHandleTracker(handle);
-		}
-		else {
-			Figure figure = drawing().findFigure(getAnchorX(), getAnchorY());
-			if (figure != null) {
-				//fChild = createDragTracker(editor(), figure);
-				//fChild.activate();
-				fChild = null;
-				if (e.isShiftDown()) {
-				   view().toggleSelection(figure);
-				}
-				else if (!view().isFigureSelected(figure)) {
-					view().clearSelection();
-					view().addToSelection(figure);
-				}
-			}
-			else {
-				//Turn off DND
-				setDragOn(false);
-				if (!e.isShiftDown()) {
-					view().clearSelection();
-				}
-				fChild = createAreaTracker();
-			}
-		}
-		if (fChild != null) {
-			fChild.mouseDown(e, x, y);
-		}
-	}
-
-	/**
-	 * Handles mouse drag events. The events are forwarded to the
-	 * current tracker.
-	 * Part of the Tool interface.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (fChild != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			fChild.mouseDrag(e, x, y);
-		}
-	}
-
-	/**
-	 * Factory method to create an area tracker. It is used to select an
-	 * area.
-	 */
-	protected Tool createAreaTracker() {
-		return new SelectAreaTracker(editor());
-	}
-
-	/**
-	 * Factory method to create a Drag tracker. It is used to drag a figure.
-	 */
-	protected Tool createDragTracker(DrawingEditor editor, Figure f) {
-		return new DragTracker(editor, f);
-	}
-
-	/**
-	 * Factory method to create a Handle tracker. It is used to track a handle.
-	 */
-	protected Tool createHandleTracker(Handle handle) {
-		return new HandleTracker(editor(), handle);
-	}
-
-	private DragGestureListener getDragGestureListener(){
-		return dragGestureListener;
-	}
-
-	private void setDragGestureListener(DragGestureListener dragGestureListener){
-		this.dragGestureListener = dragGestureListener;
-	}
-
-	protected boolean isDragOn(){
-		return dragOn;
-	}
-
-	protected void setDragOn(boolean isNewDragOn){
-		this.dragOn = isNewDragOn;
-	}
-
-	private DragGestureListener createDragGestureListener() {
-		
-		return new DragGestureListener() {
-			
-			public void dragGestureRecognized(final java.awt.dnd.DragGestureEvent dge) {
-				Component c = dge.getComponent();
-				//System.out.println("Drag Gesture Recognized for " + c);
-				if (isDragOn() == false) {
-					return;
-				}
-
-				if (c instanceof DrawingView) {
-					boolean found = false;
-					DrawingView dv = (DrawingView)c;
-					/* Send the drawing view which inspired the action a mouseUp to clean
-					up its current tool.  This is because mouse up will otherwise never
-					be sent and the tool will be stuck with only mouse down which means
-					it will likely stay activated.  solve later for now just make
-					but report. */
-					/* this is a list of cloned figures */
-					FigureEnumeration selectedElements = dv.selection();
-
-					if (selectedElements.hasNextFigure() == false) {
-						return;
-					}
-
-					Point p = dge.getDragOrigin();
-		//				System.out.println("origin at " + p);
-					while (selectedElements.hasNextFigure()) {
-						Figure f = selectedElements.nextFigure();
-						if (f.containsPoint(p.x, p.y)) {
-		/*              Rectangle r = figgy.displayBox();
-							sx = r.width;
-							sy = r.height;*/
-							//System.out.println("figure is " + figgy);
-							found = true;
-							break;
-						}
-					}
-					if (found == true) {
-						DNDFigures dndff = new DNDFigures(dv.selection(), p);
-						DNDFiguresTransferable trans = new DNDFiguresTransferable(dndff);
-
-						/* SAVE FOR FUTURE DRAG IMAGE SUPPORT */
-						/* drag image support that I need to test on some supporting platform.
-						windows is not supporting this on NT so far. Ill test 98 and 2K next
-
-						boolean support = dragSource.isDragImageSupported();
-						java.awt.image.BufferedImage  bi = new BufferedImage(sx,sy,BufferedImage.TYPE_INT_RGB);
-						Graphics2D g = bi.createGraphics();
-						Iterator itr2 = selectedElements.iterator();
-						while ( itr2.hasNext() ) {
-							Figure fig = (Figure) itr2.next();
-							fig = (Figure)fig.clone();
-							Rectangle rold = fig.displayBox();
-							fig.moveBy(-rold.x,-rold.y);
-							fig.draw(g);
-						}
-						g.setBackground(Color.red);
-						dge.getDragSource().startDrag(
-										dge,
-										DragSource.DefaultMoveDrop,
-										bi,
-										new Point(0,0),
-										trans,
-										this);
-						*/
-						if (c instanceof JComponent) {
-							((JComponent)c).setAutoscrolls(false);
-						}
-						dge.getDragSource().startDrag(
-										dge,
-										null,
-										trans,
-										((DNDInterface)dv).getDragSourceListener());
-					}
-				}
-			}
-		};
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/JHDDragSourceListener.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/JHDDragSourceListener.java
deleted file mode 100644
index 01e99eaa3..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/JHDDragSourceListener.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * JHDDragSource.java
- *
- * Created on January 28, 2003, 4:49 PM
- */
-
-package org.jhotdraw.contrib.dnd;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.DeleteFromDrawingVisitor;
-import org.jhotdraw.util.Undoable;
-import java.awt.Component;
-import java.awt.dnd.*;
-import javax.swing.JComponent;
-
-/**
- *
- * @author  Administrator
- */
-public class JHDDragSourceListener implements java.awt.dnd.DragSourceListener {
-	private Undoable sourceUndoable;
-	private Boolean autoscrollState;
-	private DrawingEditor editor;
-	
-	/** Creates a new instance of JHDDragSource */
-	public JHDDragSourceListener(DrawingEditor newEditor, DrawingView newView) {
-		this.editor = newEditor;
-	}
-//	protected DrawingView view(){
-//		return dv;
-//	}
-	protected DrawingEditor editor(){
-		return editor;
-	}
-	/**
-	 * This method is invoked to signify that the Drag and Drop operation is complete.
-	 * This is the last method called in the process.
-	 */
-	public void dragDropEnd(java.awt.dnd.DragSourceDropEvent dsde) {
-		DrawingView view = (DrawingView) dsde.getDragSourceContext().getComponent();
-		log("DragSourceDropEvent-dragDropEnd");
-		if (dsde.getDropSuccess() == true) {
-			if (dsde.getDropAction() == DnDConstants.ACTION_MOVE) {
-                log("DragSourceDropEvent-ACTION_MOVE");
-				//get the flavor in order of ease of use here.
-				setSourceUndoActivity(  createSourceUndoActivity( view ) );
-				DNDFigures df = (DNDFigures)DNDHelper.processReceivedData(DNDFiguresTransferable.DNDFiguresFlavor, dsde.getDragSourceContext().getTransferable());
-				getSourceUndoActivity().setAffectedFigures( df.getFigures() );
-
-				//all this visitation needs to be hidden in a view method.
-				DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(view.drawing());
-				FigureEnumeration fe = getSourceUndoActivity().getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					fe.nextFigure().visit(deleteVisitor);
-				}
-				view.clearSelection();
-				view.checkDamage();
-
-				editor().getUndoManager().pushUndo( getSourceUndoActivity() );
-				editor().getUndoManager().clearRedos();
-				// update menus
-				editor().figureSelectionChanged( view );
-			}
-			else if (dsde.getDropAction() == DnDConstants.ACTION_COPY) {
-				log("DragSourceDropEvent-ACTION_COPY");
-			}
-		}
-
-		if (autoscrollState != null) {
-			Component c = dsde.getDragSourceContext().getComponent();
-			if (JComponent.class.isInstance( c )) {
-				JComponent jc = (JComponent)c;
-				jc.setAutoscrolls(autoscrollState.booleanValue());
-				autoscrollState= null;
-			}
-		}
-	}
-	/**
-	 * Called as the hotspot enters a platform dependent drop site.
-	 */
-	public void dragEnter(DragSourceDragEvent dsde) {
-		log("DragSourceDragEvent-dragEnter");
-		if (autoscrollState == null) {
-			Component c = dsde.getDragSourceContext().getComponent();
-			if (JComponent.class.isInstance( c )) {
-				JComponent jc = (JComponent)c;
-				autoscrollState= new Boolean(jc.getAutoscrolls());
-				jc.setAutoscrolls(false);//why turn it off???
-			}
-		}
-	}
-	/**
-	 * Called as the hotspot exits a platform dependent drop site.
-	 */
-	public void dragExit(java.awt.dnd.DragSourceEvent dse) {
-	}
-	/**
-	 * Called as the hotspot moves over a platform dependent drop site.
-	 */
-	public void dragOver(DragSourceDragEvent dsde) {
-		//log("DragSourceDragEvent-dragOver");
-	}
-	/**
-	 * Called when the user has modified the drop gesture.
-	 */
-	public void dropActionChanged(DragSourceDragEvent dsde) {
-		log("DragSourceDragEvent-dropActionChanged");
-	}
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createSourceUndoActivity(DrawingView drawingView) {
-		return new RemoveUndoActivity( drawingView );
-	}
-	protected void setSourceUndoActivity(Undoable undoable){
-		sourceUndoable = undoable;
-	}
-	protected Undoable getSourceUndoActivity(){
-		return sourceUndoable;
-	}
-	public static class RemoveUndoActivity extends org.jhotdraw.util.UndoableAdapter {
-		private boolean undone = false;
-		public RemoveUndoActivity(DrawingView view) {
-			super( view );
-			log("RemoveUndoActivity created " + view);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (isUndoable()) {
-				if(getAffectedFigures().hasNextFigure()) {
-					log("RemoveUndoActivity undo");
-					getDrawingView().clearSelection();
-					setAffectedFigures( getDrawingView().insertFigures(getAffectedFigures(), 0, 0,false));
-					undone = true;
-					return true;
-				}
-			}
-			return false;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				log("RemoveUndoActivity redo");
-				DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor( getDrawingView().drawing());
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					fe.nextFigure().visit(deleteVisitor); //orphans figures
-				}
-				getDrawingView().clearSelection();
-				setAffectedFigures( deleteVisitor.getDeletedFigures() );
-				undone = false;
-				return true;
-			}
-			return false;
-		}
-		/**
-		 * Since this is a delete activity, figures can only be released if the
-		 * action has not been undone.
-		 */
-		public void release() {
-			if(undone == false){//we have figures that used to be in the drawing, but were not adding back
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					Figure f = fe.nextFigure();
-					getDrawingView().drawing().remove(f);
-					f.release();
-				}
-			}
-			setAffectedFigures(org.jhotdraw.standard.FigureEnumerator.getEmptyEnumeration());
-		}		
-	}
-	
-	
-	
-	
-	
-	
-	
-	private static void log(String message){
-		//System.out.println("JHDDragSourceListener: " + message);
-	}
-	
-	
-	
-	
-	
-	
-	
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/JHDDropTargetListener.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/JHDDropTargetListener.java
deleted file mode 100644
index 2421edd87..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/dnd/JHDDropTargetListener.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * JHDDropTargetListener.java
- *
- * Created on January 28, 2003, 4:23 PM
- */
-
-package org.jhotdraw.contrib.dnd;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.DeleteFromDrawingVisitor;
-import java.io.File;
-import org.jhotdraw.util.Undoable;
-import java.awt.Point;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.dnd.*;
-
-
-/**
- *
- * @author  Administrator
- */
-public class JHDDropTargetListener implements java.awt.dnd.DropTargetListener {
-	private int     fLastX=0, fLastY=0;      // previous mouse position
-	private Undoable targetUndoable;
-	private DrawingView dv;
-	private DrawingEditor editor;
-	/** Creates a new instance of JHDDropTargetListener */
-	public JHDDropTargetListener(DrawingEditor drawingEditor, DrawingView drawingView) {
-		dv = drawingView;
-		editor = drawingEditor;
-	}
-	protected DrawingView view(){
-		return dv;
-	}
-	protected DrawingEditor editor(){
-		return editor;
-	}
-	
-	
-	
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-	
-	/**
-	 * Called when a drag operation has encountered the DropTarget.
-	 */
-	public void dragEnter(DropTargetDragEvent dtde) {
-		log("DropTargetDragEvent-dragEnter");
-		supportDropTargetDragEvent(dtde);
-		if (fLastX == 0) {
-			fLastX = dtde.getLocation().x;
-		}
-		if (fLastY == 0) {
-			fLastY = dtde.getLocation().y;
-		}
-	}
-
-	/**
-	 * The drag operation has departed the DropTarget without dropping.
-	 */
-	public void dragExit(java.awt.dnd.DropTargetEvent dte) {
-		log("DropTargetEvent-dragExit");
-	}
-
-	/**
-	 * Called when a drag operation is ongoing on the DropTarget.
-	 */
-	 public void dragOver(DropTargetDragEvent dtde) {
-		//log("DropTargetDragEvent-dragOver");
-		if (supportDropTargetDragEvent(dtde)==true) {
-			int x=dtde.getLocation().x;
-			int y=dtde.getLocation().y;
-			if ((Math.abs(x - fLastX) > 0) || (Math.abs(y - fLastY) > 0) ) {
-				//FigureEnumeration fe = view().selectionElements();
-				//while (fe.hasNextFigure()) {
-				//	fe.nextFigure().moveBy(x - fLastX, y - fLastY);
-				//	System.out.println("moving Figures " + view());
-				//}
-				//view().drawing().update();
-				fLastX = x;
-				fLastY = y;
-			}
-		}
-	 }
-
-	/**
-	 * The drag operation has terminated with a drop on this DropTarget.
-	 * Be nice to somehow incorporate FigureTransferCommand here.
-	 */
-	 public void drop(java.awt.dnd.DropTargetDropEvent dtde) {
-		System.out.println("DropTargetDropEvent-drop");
-
-		if (dtde.isDataFlavorSupported(DNDFiguresTransferable.DNDFiguresFlavor) == true) {
-			log("DNDFiguresFlavor");
-			if ((dtde.getDropAction() & DnDConstants.ACTION_COPY_OR_MOVE) != 0 ) {
-				log("copy or move");
-				if (dtde.isLocalTransfer() == false) {
-					System.err.println("Intra-JVM Transfers not implemented for figures yet.");
-					dtde.rejectDrop();
-					return;
-				}
-				dtde.acceptDrop(dtde.getDropAction());
-				try { /* protection from a malicious dropped object */
-					setTargetUndoActivity( createTargetUndoActivity( view() ) );
-					DNDFigures ff = (DNDFigures)DNDHelper.processReceivedData(DNDFiguresTransferable.DNDFiguresFlavor, dtde.getTransferable());
-					getTargetUndoActivity().setAffectedFigures( ff.getFigures() );
-					Point theO = ff.getOrigin();
-					view().clearSelection();
-					Point newP = dtde.getLocation();
-					/** origin is where the figure thinks it is now
-					  * newP is where the mouse is now.
-					  * we move the figure to where the mouse is with this equation
-					  */
-					int dx = newP.x - theO.x;  /* distance the mouse has moved */
-					int dy = newP.y - theO.y;  /* distance the mouse has moved */
-					log("mouse at " + newP);
-					FigureEnumeration fe = view().insertFigures( getTargetUndoActivity().getAffectedFigures() ,  dx, dy, false );
-					getTargetUndoActivity().setAffectedFigures( fe );
-
-					if (dtde.getDropAction() == DnDConstants.ACTION_MOVE) {
-						view().addToSelectionAll( getTargetUndoActivity().getAffectedFigures() );
-					}
-
-					view().checkDamage();
-					editor().getUndoManager().pushUndo( getTargetUndoActivity() );
-					editor().getUndoManager().clearRedos();
-					// update menus
-					editor().figureSelectionChanged( view() );
-					dtde.dropComplete(true);
-				}
-				catch (NullPointerException npe) {
-					npe.printStackTrace();
-					dtde.dropComplete(false);
-				}
-			}
-			else {
-				dtde.rejectDrop();
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor)) {
-			log("String flavor dropped.");
-			dtde.acceptDrop(dtde.getDropAction());
-			Object o = DNDHelper.processReceivedData(DataFlavor.stringFlavor, dtde.getTransferable());
-			if (o != null) {
-				log("Received string flavored data.");
-				dtde.getDropTargetContext().dropComplete(true);
-			}
-			else {
-				dtde.getDropTargetContext().dropComplete(false);
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DNDHelper.ASCIIFlavor) == true) {
-			log("ASCII Flavor dropped.");
-			dtde.acceptDrop(DnDConstants.ACTION_COPY);
-			Object o = DNDHelper.processReceivedData(DNDHelper.ASCIIFlavor, dtde.getTransferable());
-			if (o!= null) {
-				log("Received ASCII Flavored data.");
-				dtde.getDropTargetContext().dropComplete(true);
-				//System.out.println(o);
-			}
-			else {
-				dtde.getDropTargetContext().dropComplete(false);
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
-			log("Java File List Flavor dropped.");
-			dtde.acceptDrop(DnDConstants.ACTION_COPY);
-			File [] fList = (File[]) DNDHelper.processReceivedData(DataFlavor.javaFileListFlavor, dtde.getTransferable());
-			if (fList != null) {
-				log("Got list of files.");
-				for (int x=0; x< fList.length; x++ ) {
-					System.out.println(fList[x].getAbsolutePath());
-				}
-				dtde.getDropTargetContext().dropComplete(true);
-			}
-			else {
-				dtde.getDropTargetContext().dropComplete(false);
-			}
-		}
-		fLastX = 0;
-		fLastY = 0;
-	}
-
-	/**
-	 * Called if the user has modified the current drop gesture.
-	 */
-	public void dropActionChanged(DropTargetDragEvent dtde) {
-		log("DropTargetDragEvent-dropActionChanged");
-		supportDropTargetDragEvent(dtde);
-	}
-
-	
-	
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-	
-	/**
-	 * Tests wether the Drag event is of a type that we support handling
-	 * Check the DND interface and support the events it says it supports
-	 * if not a dnd interface comp, then dont support! because we dont even
-	 * really know what kind of view it is.
-	 */
-	protected boolean supportDropTargetDragEvent(DropTargetDragEvent dtde) {
-		if (dtde.isDataFlavorSupported(DNDFiguresTransferable.DNDFiguresFlavor) == true) {
-			if ((dtde.getDropAction() & DnDConstants.ACTION_COPY_OR_MOVE) != 0) {
-				dtde.acceptDrag(dtde.getDropAction());
-				return true;
-			}
-			else {
-				dtde.rejectDrag();
-				return false;
-			}
-		}
-		else if (dtde.isDataFlavorSupported(DNDHelper.ASCIIFlavor) == true) {
-			dtde.acceptDrag(dtde.getDropAction());//accept everything because i am too lazy to fix yet
-			return true;
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor) == true) {
-			dtde.acceptDrag(dtde.getDropAction());//accept everything because i am too lazy to fix yet
-			return true;
-		}
-		else if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor) == true) {
-			dtde.acceptDrag(dtde.getDropAction());//accept everything because i am too lazy to fix yet
-			return true;
-		}
-		else {
-			dtde.rejectDrag();
-			return false;
-		}
-	}
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////
-	
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createTargetUndoActivity(DrawingView view) {
-		return new AddUndoActivity( view );
-	}
-	protected void setTargetUndoActivity(Undoable undoable){
-		targetUndoable = undoable;
-	}
-	protected Undoable getTargetUndoActivity(){
-		return targetUndoable;
-	}
-	public static class AddUndoActivity extends org.jhotdraw.util.UndoableAdapter {
-		private boolean undone=false;
-		public AddUndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			log("AddUndoActivity created " + newDrawingView);			
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			//undo of add really shouldnt need visitor !?!dnoyeb!?!
-			log("AddUndoActivity AddUndoActivity undo");
-			DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(getDrawingView().drawing());
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-	    		org.jhotdraw.framework.Figure f = fe.nextFigure();
-				f.visit(deleteVisitor);
-			}
-			setAffectedFigures( deleteVisitor.getDeletedFigures() );
-			getDrawingView().clearSelection();
-			undone = true;
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-			log("AddUndoActivity redo");
-			getDrawingView().clearSelection();
-			setAffectedFigures(getDrawingView().insertFigures(
-				getAffectedFigures(), 0, 0, false));
-			undone = false;
-			return true;
-		}
-		/**
-		 *	Since this is an add operation, figures can only be released if it
-		 *  has been undone.
-		 */
-		public void release() {
-			if(undone == true){
-				FigureEnumeration fe = getAffectedFigures();
-				while (fe.hasNextFigure()) {
-					Figure f = fe.nextFigure();
-					getDrawingView().drawing().remove(f);
-					f.release();
-				}
-			}
-			setAffectedFigures(org.jhotdraw.standard.FigureEnumerator.getEmptyEnumeration());
-		}
-	}
-	private static void log(String message){
-		//System.out.println("JHDDropTargetListener: " + message);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AbstractContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AbstractContentProducer.java
deleted file mode 100644
index 6dfb3b170..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AbstractContentProducer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)AbstractContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.io.IOException;
-import java.io.Serializable;
-
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * Base class for the ContentProducers hierarchy<br>
- * Doesn't do a thing now, but we may need this one later to add
- * generic behaviour.
- *
- * @author  Eduardo Francos - InContext
- * @created 7 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractContentProducer implements ContentProducer, Serializable {
-
-	final static long serialVersionUID = -2715253447095419531L;
-
-	/**
-	 * Constructor for the AbstractContentProducer object
-	 */
-	public AbstractContentProducer() { }
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) { }
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException { }
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AttributeContentProducerContext.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AttributeContentProducerContext.java
deleted file mode 100644
index 15db70f76..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AttributeContentProducerContext.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * @(#)AttributeContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-/**
- * AttributeContentProducerContext defines the interface required of clients
- * requesting contents from AttributeFigures oriented ContentProducers.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface AttributeContentProducerContext extends FigureContentProducerContext {
-
-	/**
-	 * Gets an attribute from the ContentProducerContext object
-	 *
-	 * @param name  the name of the attribute
-	 * @return      The attribute value
-	 */
-	public Object getAttribute(String name);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AttributeFigureContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AttributeFigureContentProducer.java
deleted file mode 100644
index 0e5006991..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/AttributeFigureContentProducer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * @(#)AttributeFigureContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.io.Serializable;
-import org.jhotdraw.util.StorableOutput;
-import org.jhotdraw.util.StorableInput;
-import java.io.IOException;
-
-/**
- * AttributeFigureContentProducer provides content for AttributeFigures.<br>
- * It gives priority to base class supplied values, and if none, then it
- * gets the value from the supplied AttributeContentProducerContext.
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class AttributeFigureContentProducer extends FigureDataContentProducer
-		 implements Serializable {
-
-	/**Constructor for the AttributeFigureContentProducer object */
-	public AttributeFigureContentProducer() { }
-
-	/**
-	 * Produces the contents for the attribute
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name
-	 * @param ctxAttrValue  the attribute value that led to the call to this
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// first chance to basic values
-		Object attrValue = super.getContent(context, ctxAttrName, ctxAttrValue);
-		if (attrValue != null) {
-			return attrValue;
-		}
-
-		// no, return value from attributes
-		return ((AttributeContentProducerContext)context).getAttribute(ctxAttrName);
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ColorContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ColorContentProducer.java
deleted file mode 100644
index 924ad754b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ColorContentProducer.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)ColorContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Color;
-import java.io.IOException;
-import java.io.Serializable;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * ColorContentProducer produces RGB color encoded hexadecimal strings.<br>
- * Ex:
- * <code>Color.blue ==> 0x0000FF</code><br>
- * <code>Color.red  ==> 0xFF00FF</code><br>
- * It can either be specific if set for a specific color, or generic, encoding
- * any color passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ColorContentProducer extends FigureDataContentProducer
-		 implements Serializable {
-
-	private Color fColor = null;
-
-	/**Constructor for the ColorContentProducer object */
-	public ColorContentProducer() { }
-
-	/**
-	 * Constructor for the ColorContentProducer object
-	 *
-	 * @param color  the specific color to use
-	 */
-	public ColorContentProducer(Color color) {
-		setColor(color);
-	}
-
-	/**
-	 * Produces the contents for the color
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the color attribute name (FrameColor, TextColor, etc)
-	 * @param ctxAttrValue  the color
-	 * @return              The string RBG value for the color
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// if we have our own color then use it
-		// otherwise use the one supplied
-		Color color = (getColor() != null) ? getColor() : (Color)ctxAttrValue;
-		String colorCode = Integer.toHexString(color.getRGB());
-		return "0x" + colorCode.substring(colorCode.length() - 6);
-	}
-
-	/**
-	 * Sets the color attribute of the ColorContentProducer object
-	 *
-	 * @param color  The new color value
-	 */
-	public void setColor(Color color) {
-		fColor = color;
-	}
-
-	/**
-	 * Gets the color attribute of the ColorContentProducer object
-	 *
-	 * @return   The color value
-	 */
-	public Color getColor() {
-		return fColor;
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeBoolean((getColor() != null));
-		if (getColor() != null) {
-			dw.writeInt(getColor().getRGB());
-		}
-	}
-
-	/**
-	 * Reads the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		boolean hasColor = dr.readBoolean();
-		if (hasColor) {
-			setColor(new Color(dr.readInt()));
-		}
-		else{
-			setColor(null);
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducer.java
deleted file mode 100644
index c2f14c7b6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * @(#)ContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import org.jhotdraw.util.Storable;
-
-/**
- * ContentProducer defines the interface for objects capable of producing
- * contents on behalf of a client context.<br>
- * Primarely based on the Strategy pattern, the purpose of ContentProducers
- * is twofold:<br>
- * <li> Detach the logic for producing generic content from interested parties so
- * as to maximize reuse, of special interest for complex content</li>
- * <li> Standardize contents by allowing for the automatic decentralization of
- * contents source and production logic. Used together with the
- * ContentProducerRegistry it is possible to globally modify the behaviour
- * required for producing a specific type of contents. For example,
- * a FieldContentProducer could be declined to get its contents from variables in
- * an in-memory object, a setting from a configuration file, or even a field in
- * a database record.</li>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- * @todo    should entity names be merged with the attribute names defined
- * in FigureAttributeConstant?
- */
-public interface ContentProducer extends Storable {
-
-	/** Entity name for the figure's current x position in pixels */
-	public final static String ENTITY_FIGURE_POSX = "FigurePosX";
-
-	/** Entity name for the figure's current y position in pixels */
-	public final static String ENTITY_FIGURE_POSY = "FigurePosY";
-
-	/** Entity name for the figure's current width in pixels */
-	public final static String ENTITY_FIGURE_WIDTH = "FigureWidth";
-
-	/** Entity name for the figure's current height in pixels */
-	public final static String ENTITY_FIGURE_HEIGHT = "FigureHeight";
-
-	/** Entity name for the figure's current text color */
-	public final static String ENTITY_FRAME_COLOR = "FrameColor";
-
-	/** Entity name for the figure's current fill color */
-	public final static String ENTITY_FILL_COLOR = "FillColor";
-
-	/** Entity name for the figure's current arrow mode */
-	public final static String ENTITY_ARROW_MODE = "ArrowMode";
-
-	/** Entity name for the figure's current font name */
-	public final static String ENTITY_FONT_NAME = "FontName";
-
-	/** Entity name for the figure's current font size */
-	public final static String ENTITY_FONT_SIZE = "FontSize";
-
-	/** Entity name for the figure's current font style */
-	public final static String ENTITY_FONT_STYLE = "FontStyle";
-
-	/**
-	 * Produces the contents
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name
-	 * @param ctxAttrValue  the attribute value that led to the call to this
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducerContext.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducerContext.java
deleted file mode 100644
index 11e0519e5..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducerContext.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)ContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-/**
- * ContentProducerContext defines the base interface required of clients
- * of ContentProducers.<br>
- * ContentProducers may need to retrieve information from their calling client
- * in order to fulfill the contents request
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface ContentProducerContext {
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducerRegistry.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducerRegistry.java
deleted file mode 100644
index 5a5d6680b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ContentProducerRegistry.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * @(#)ContentProducerRegistry.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.net.URL;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import org.jhotdraw.util.Storable;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * ContentProducerRegistry acts as a repository for ContentProducers. It allows
- * for registries to be organized in a hierarchy, so that a specific producer
- * request will travel upwards in the hierarchy until eventually a suitable
- * producer is found.<br>
- * Producers are registered associated with the class of the object they are suitable
- * to produce contents for, but ContentProducerRegistry allows for class hierarchy
- * searches. What this means is that for two classes A and B, B being a subclass
- * of A, if a producer is registered for class B it will be used, otherwise the
- * producer registered for class A will be used instead. ContentProducerRegistry will
- * always select the super class closest in the class hierarchy, so if several
- * producers are registered for classes in a derivation hierarchy, the producer
- * registered for the class closest to the requested class will be selected.
- *
- * @author  Eduardo Francos - InContext
- * @created 7 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ContentProducerRegistry implements Serializable, Storable {
-
-	/** producers registered with this registry */
-	private Hashtable fContentProducers = new Hashtable();
-
-	/** parent registry for hierarchical searches */
-	private transient ContentProducerRegistry fParent;
-
-	/** Application global producers */
-	private static ContentProducerRegistry fDefaultRegistry =
-			new ContentProducerRegistry(null);
-
-	// initialize the application wide default content producers
-	static {
-		fDefaultRegistry.registerContentProducer(URL.class, new URLContentProducer());
-	}
-
-	/**Constructor for the ContentProducerRegistry object */
-	public ContentProducerRegistry() {
-		setParent(fDefaultRegistry);
-	}
-
-	/**
-	 *Constructor for the ContentProducerRegistry object
-	 *
-	 * @param parent  the parent for this producer
-	 */
-	public ContentProducerRegistry(ContentProducerRegistry parent) {
-		setParent(parent);
-	}
-
-	/**
-	 * Sets the autonomous attribute of the ContentProducerRegistry object.
-	 * Similar to setting the parent to null<br>
-	 * An autonomous registry does not have a parent hierarchy so resolution of
-	 * search requests stop do not propagate.
-	 *
-	 * @see   #setParent(ContentProducerRegistry)
-	 */
-	public void setAutonomous() {
-		setParent(null);
-	}
-
-	/**
-	 * Gets the autonomous status of the ContentProducerRegistry object
-	 *
-	 * @return   The autonomous value
-	 */
-	public boolean isAutonomous() {
-		return (getParent() == null);
-	}
-
-	/**
-	 * Sets the parent attribute of the ContentProducerRegistry object
-	 *
-	 * @param newParent  The new parent value
-	 * @see              #setAutonomous()
-	 */
-	public void setParent(ContentProducerRegistry newParent) {
-		fParent = newParent;
-	}
-
-	/**
-	 * Gets the parent attribute of the ContentProducerRegistry object
-	 *
-	 * @return   The parent value
-	 */
-	public ContentProducerRegistry getParent() {
-		return fParent;
-	}
-
-	/**
-	 * Registers an application global producer
-	 *
-	 * @param producer     the registered producer
-	 * @param targetClass  The class associated with the producer
-	 * @return             the previous producer registered for the target class
-	 */
-	public static ContentProducer registerDefaultContentProducer(Class targetClass, ContentProducer producer) {
-		return fDefaultRegistry.registerContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Unregisters ie: removes a registered producer for a target class.<br>
-	 * A check is made to ensure the removed producer is the current producer
-	 * for the target class. If not, the request is ignored.
-	 *
-	 * @param producer     the producer to unregister
-	 * @param targetClass  the target class
-	 */
-	public static void unregisterDefaultContentProducer(Class targetClass, ContentProducer producer) {
-		fDefaultRegistry.unregisterContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Gets the ContentProducer attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param targetClass  the target class
-	 * @return             the previous producer registered for the target class
-	 */
-	public static ContentProducer getDefaultContentProducer(Class targetClass) {
-		return fDefaultRegistry.getContentProducer(targetClass);
-	}
-
-	/**
-	 * Gets the exact application global Producer for the target class, ie:
-	 * no class hierarchy search
-	 *
-	 * @param targetClass  the target class
-	 * @return             The producer
-	 */
-	public static ContentProducer getExactDefaultContentProducer(Class targetClass) {
-		return fDefaultRegistry.getExactContentProducer(targetClass);
-	}
-
-	/**
-	 * Registers a producer
-	 *
-	 * @param producer     the producer to register
-	 * @param targetClass  the target class
-	 * @return             the previous producer registered for the target class
-	 */
-	public ContentProducer registerContentProducer(Class targetClass, ContentProducer producer) {
-		ContentProducer previousProducer = getContentProducer(targetClass);
-		fContentProducers.put(targetClass, producer);
-		return previousProducer;
-	}
-
-	/**
-	 * Unregisters a producer
-	 *
-	 * @param producer     the producer to unregister
-	 * @param targetClass  the target class
-	 */
-	public void unregisterContentProducer(Class targetClass, ContentProducer producer) {
-		// first check that the producer being removed is the current producer
-		// for the target class
-		ContentProducer currentProducer = getContentProducer(targetClass);
-		if (currentProducer == producer) {
-			fContentProducers.remove(targetClass);
-		}
-	}
-
-	/**
-	 * Finds the most appropriate producer for the target class. Will search
-	 * first for exact producers, ie: no class hierarchy search, then if none found,
-	 * will do a class compatible search
-	 *
-	 * @param targetClass  The target class
-	 * @return             The producer
-	 */
-	public ContentProducer getContentProducer(Class targetClass) {
-		// first try an exact producer
-		ContentProducer producer = getExactContentProducer(targetClass);
-		if (producer != null) {
-			return producer;
-		}
-
-		// none defined, try finding one for the nearest super class
-		// of the target class. Note this shouldn't return null because there is
-		// a default producer defined for the Object class
-		return getSuperClassContentProducer(targetClass, null);
-	}
-
-	/**
-	 * Finds the exact producer for the target class, ie: no class hierarchy search
-	 *
-	 * @param targetClass  The target class
-	 * @return             The producer
-	 */
-	public ContentProducer getExactContentProducer(Class targetClass) {
-		// first try our own
-		ContentProducer producer = (ContentProducer)fContentProducers.get(targetClass);
-		if (producer != null) {
-			return producer;
-		}
-
-		// none defined, try our parent's
-		// unless we are autonomous (ie: we have no parent)
-		if (!this.isAutonomous()) {
-			return getParent().getExactContentProducer(targetClass);
-		}
-
-		// none defined
-		return null;
-	}
-
-	/**
-	 * Gets the producers for the closest super class of the target class
-	 *
-	 * @param targetClass  The target class
-	 * @return             The producer
-	 */
-	protected ContentProducer getSuperClassContentProducer(Class targetClass, Class closestClass) {
-		Map.Entry entry = null;
-		Class entryClass = null;
-		ContentProducer closestProducer = null;
-
-		Iterator iter = fContentProducers.entrySet().iterator();
-		while (iter.hasNext()) {
-			entry = (Map.Entry)iter.next();
-			entryClass = (Class)entry.getKey();
-			if (entryClass.isAssignableFrom(targetClass)) {
-				if (closestClass != null && closestClass.isAssignableFrom(entryClass)) {
-					closestClass = entryClass;
-					closestProducer = (ContentProducer)entry.getValue();
-				}
-			}
-		}
-
-		// whether we found one or not ask our parent to see if a more
-		// exact producer is defined
-		// unless we are autonomous (ie: we have no parent)
-		if (!this.isAutonomous()) {
-			ContentProducer parentProducer =
-					getParent().getSuperClassContentProducer(targetClass, closestClass);
-			if (parentProducer != null) {
-				closestProducer = parentProducer;
-			}
-		}
-
-		return closestProducer;
-	}
-
-	/**
-	 * Storable write support
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeInt(fContentProducers.size());
-		Map.Entry producerEntry;
-		Iterator iter = fContentProducers.entrySet().iterator();
-		while (iter.hasNext()) {
-			producerEntry = (Map.Entry)iter.next();
-			dw.writeString(((Class)producerEntry.getKey()).getName());
-			dw.writeStorable((Storable)producerEntry.getKey());
-		}
-	}
-
-	/**
-	 * Storable inoput support
-	 *
-	 * @param dr               storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		// read the default content producers, count first
-		int prodCount = dr.readInt();
-		String prodClass;
-		ContentProducer producer;
-		for (int cnt = 0; cnt < prodCount; cnt++) {
-			prodClass = dr.readString();
-			producer = (ContentProducer)dr.readStorable();
-			try {
-				registerContentProducer(Class.forName(prodClass), producer);
-			}
-			catch (ClassNotFoundException ex) {
-				// the class does not exist in this application
-				// cannot do much about it so ignore it, the entities of
-				// this class will get their toString() value instead
-			}
-		}
-
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DiamondFigureGeometricAdapter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DiamondFigureGeometricAdapter.java
deleted file mode 100644
index f2a04c0d3..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DiamondFigureGeometricAdapter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)DiamondFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Shape;
-
-import org.jhotdraw.contrib.DiamondFigure;
-
-/**
- * Geometric adapter for the DiamondFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 6 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class DiamondFigureGeometricAdapter extends DiamondFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the DiamondFigureGeometricAdapter object
-	 */
-	public DiamondFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the DiamondFigureGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public DiamondFigureGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the DiamondFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		return getPolygon();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceHolder.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceHolder.java
deleted file mode 100644
index c09a6ef6c..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceHolder.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * @(#)DisposableResourceHolder.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-/**
- * DisposableResourceHolder defines the interface for objects holding
- * disposable resources.<br>
- * A disposable resource is any kind of object that can be disposed of
- * according to a given disposal strategy.<BR>
- * DisposableResourceHolder keeps track of the last time the resource is
- * accessed to support ellapsed time ResourceDisposabilityStrategies.<br>
- * For example, if you are handling large images that you can regenerate
- * at will, the DisposableResourceHolder will hold the image, and if not
- * accessed for let's say 60 secs then it discards the image
- * (sets its reference to null) so that it can be GCed.<br>
- * Within the context of JHotDraw, HTMLTextAreaFigure uses
- * DisposableResourceHolders to handle the HTML generated image, but if the
- * figure is not displayed (out of the display area or in a background view) then
- * the image is disposed of after a while and the HTMLTextAreaFigure will regenerate
- * it the next time it is displayed.<br>
- * A resource may be locked so that its user can be sure it will not be
- * disposed of while in use. After finished using it it should be unlocked so as
- * to reintegrate it to the disposal strategy.
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- * @version   <$CURRENT_VERSION$>
- * @see       DisposableResourceManager
- * @see       StandardDisposableResourceManager
- * @see       ResourceDisposabilityStrategy
- * @see       DisposableResourceManagerFactory
- * @see       StandardDisposableResourceHolder
- */
-public interface DisposableResourceHolder {
-
-	/**
-	 * Gets the resource
-	 *
-	 * @return                          The resource value
-	 * @exception NullPointerException  If the resource was disposed of
-	 */
-	public Object getResource() throws NullPointerException;
-
-	/**
-	 * Makes a clone the this
-	 *
-	 * @return   the clone
-	 */
-	public Object clone();
-
-	/**
-	 * Sets the resource
-	 *
-	 * @param resource  The new resource value
-	 */
-	public void setResource(Object resource);
-
-	/**
-	 * Sets the disposableDelay
-	 *
-	 * @param millis  The new disposableDelay value
-	 */
-	public void setDisposableDelay(long millis);
-
-	/**
-	 * Gets the disposableDelay
-	 *
-	 * @return   The disposableDelay value
-	 */
-	public long getDisposableDelay();
-
-	/**
-	 * Resets the disposing delay so as to restart the time counter
-	 */
-	public void resetDelay();
-
-	/**
-	 * Gets the lastTimeAccessed attribute of the DisposableResourceHolder object
-	 *
-	 * @return   The lastTimeAccessed value
-	 */
-	public long getLastTimeAccessed();
-
-	/** Disposes of the resource immediately. */
-	public void dispose();
-
-	/**
-	 * Returns true if the resource is still available
-	 *
-	 * @return   The resourceDirty value
-	 */
-	public boolean isAvailable();
-
-	/**
-	 * Locks the resource so it cannot be automatically disposed of until unlock
-	 * is called.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void lock();
-
-	/**
-	 * Unlocks the resource so it can be automatically disposed of again.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void unlock();
-
-	/**
-	 * True if the resource is locked
-	 *
-	 * @return   The locked status
-	 */
-	public boolean isLocked();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceManager.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceManager.java
deleted file mode 100644
index ed8d2d318..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceManager.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * @(#)DisposableResourceManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.util.Iterator;
-
-/**
- * DisposableResourceManager defines the interface for managers of disposable
- * resources.<br>
- * A DisposableResourceManager implements a strategy for efficient disposal
- * of seldom used resources.
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface DisposableResourceManager {
-
-	/**
-	 * Registers a resource with the manager so as to be disposed
-	 *
-	 * @param resource  the resource
-	 */
-	public void registerResource(DisposableResourceHolder resource);
-
-	/**
-	 * Unregisters a resource so it is not automatically GCed.<br>
-	 *
-	 * @param resource  the resource
-	 */
-	public void unregisterResource(DisposableResourceHolder resource);
-
-	/**
-	 * Returns an iterator on the managed resources
-	 *
-	 * @return   The resources iterator
-	 */
-	public Iterator getResources();
-
-	/**
-	 * True if the resource is registered with this manager
-	 *
-	 * @param resource  The resource
-	 * @return          True if the resource is registered with this manager
-	 */
-	public boolean managesResource(DisposableResourceHolder resource);
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  Description of the Exception
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException;
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resource.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns whether the
-	 * disposal was stopped or not, but the desactivation request remains active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceManagerFactory.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceManagerFactory.java
deleted file mode 100644
index ed308566b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/DisposableResourceManagerFactory.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * @(#)DisposableResourceManagerFactory.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-/**
- * DisposableResourceManagerFactory creates DisposableResourceHolders on behalf
- * of requesting clients. It automatically registers the holders with its singleton
- * standard resource manager
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public abstract class DisposableResourceManagerFactory {
-
-	/** The default periodicity for resource disposal */
-	public static long DEFAULT_DISPOSAL_PERIODICITY = 60000;
-
-	/** The singleton current resource manager */
-	protected static DisposableResourceManager currentManager = null;
-
-	protected static ResourceDisposabilityStrategy currentStrategy = null;
-
-	protected static DisposableResourceHolder holderPrototype = null;
-
-	/**
-	 * Gets the current manager.
-	 *
-	 * @return   The currentManager
-	 */
-	public static DisposableResourceManager getManager() {
-		return currentManager;
-	}
-
-	/**
-	 * Sets the strategy of the DisposableResourceManagerFactory
-	 * class. This is a one shot thing that should be initialized before using it
-	 * so if there is already a strategy this returns without further notice.
-	 *
-	 * @param strategy  The new disposalStrategy
-	 */
-	public static void setStrategy(ResourceDisposabilityStrategy strategy) {
-		currentStrategy = strategy;
-	}
-
-	/**
-	 * Returns a new standard resource holder already registered with the default
-	 * resource manager
-	 *
-	 * @param resource  Description of the Parameter
-	 * @return          the newly created resource holder
-	 */
-	public static DisposableResourceHolder createStandardHolder(Object resource) {
-		// ensure the manager is set and running
-		initManager();
-
-		// now create the holder and register it
-		DisposableResourceHolder holder = (DisposableResourceHolder)holderPrototype.clone();
-		holder.setResource(resource);
-		getManager().registerResource(holder);
-
-		return holder;
-	}
-
-	/** Initializes the standard resource disposal manager */
-	protected static void initManager() {
-		if (currentManager == null) {
-			// ensure we have a holder prototype
-			if (holderPrototype == null) {
-				holderPrototype = new StandardDisposableResourceHolder();
-			}
-			// ensure we have a strategy
-			if (currentStrategy == null) {
-				currentStrategy = new ETSLADisposalStrategy(DEFAULT_DISPOSAL_PERIODICITY);
-			}
-			// ensure we have a manager
-			if (currentManager == null) {
-			   currentManager = new StandardDisposableResourceManager(currentStrategy);
-			}
-
-			// start the whole thing
-			try {
-				currentManager.startDisposing();
-			}
-			catch (ResourceManagerNotSetException ex) {
-				// we set it so we shouldn't get here
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ETSLADisposalStrategy.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ETSLADisposalStrategy.java
deleted file mode 100644
index 800de77db..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ETSLADisposalStrategy.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * @(#)ETSLADisposalStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.util.Iterator;
-
-/**
- * ETSLADisposalStrategy implements an Ellapsed Time Since Last Access disposal
- * strategy.<bt>
- * It checks the last time a resource was accessed and if greater than
- * the resource's disposalDelay it disposes of the resource so that it can
- * be GCed.<br>
- * Disposal activity must be explicitely started using the startDisposing method
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- * @version   1.0
- */
-public class ETSLADisposalStrategy implements ResourceDisposabilityStrategy {
-
-	/** The associated resource manager */
-	private DisposableResourceManager manager;
-
-	/** The periodicity at wich disposal is checked */
-	private long gcPeriodicity = 60000;
-
-	/** the thread that calls this periodically */
-	private DisposalThread disposalThread = null;
-
-	/** True if disposal is active and running */
-	private boolean disposingActive = false;
-
-
-	/**
-	 * Constructor for the ETSLADisposalStrategy object
-	 */
-	public ETSLADisposalStrategy() { }
-
-	/**
-	 *Constructor for the ETSLADisposalStrategy object
-	 *
-	 * @param periodicity  the periodicity at which to check for disposable resources
-	 */
-	public ETSLADisposalStrategy(long periodicity) {
-		this(null, periodicity);
-	}
-
-	/**
-	 *Constructor for the ETSLADisposalStrategy object
-	 *
-	 * @param manager      the manager
-	 * @param periodicity  the periodicity at which to check for disposable resources
-	 */
-	public ETSLADisposalStrategy(DisposableResourceManager newManager, long newPeriodicity) {
-		setManager(newManager);
-		setPeriodicity(newPeriodicity);
-		initDisposalThread();
-	}
-
-	/**
-	 * Sets the manager holding the resources for this strategy
-	 *
-	 * @param manager  The new manager value
-	 */
-	public synchronized void setManager(DisposableResourceManager newManager) {
-		// if new manager is null the stop disposing
-		if (getManager() == null) {
-			stopDisposing(Long.MAX_VALUE);
-		}
-		manager = newManager;
-	}
-
-	/**
-	 * Gets the manager holding the resources for this strategy
-	 *
-	 * @return   The manager value
-	 */
-	public DisposableResourceManager getManager() {
-		return manager;
-	}
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  thrown if the manager has not
-	 * been set, so impossible to run
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException {
-		if (getManager() == null) {
-			throw new ResourceManagerNotSetException();
-		}
-
-		// do nothing if already active
-		if (disposingActive) {
-			return;
-		}
-
-		disposingActive = true;
-		disposalThread.start();
-	}
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resources.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns, but the
-	 * deactivation request remains active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis) {
-		// do nothing if not disposing
-		if (!disposingActive) {
-			return;
-		}
-		// request the thread to stop and wait for it
-		try {
-			disposalThread.interruptDisposalPending = true;
-			disposalThread.join(millis);
-		}
-		catch (InterruptedException ex) {
-			// ignore
-		}
-		finally {
-			disposingActive = false;
-		}
-	}
-
-	/**
-	 * Initializes the disposal thread if not alrady done.
-	 */
-	protected void initDisposalThread() {
-		if (disposalThread != null) {
-			return;
-		}
-
-		disposalThread = new DisposalThread(this, getPeriodicity());
-	}
-
-	/**
-	 * Dispose of all the resources whose dispose delay has expired and
-	 * are not locked
-	 */
-	protected synchronized void dispose() {
-		synchronized (getManager()) {
-			long currentTime = System.currentTimeMillis();
-			Iterator resourceIter = getManager().getResources();
-			DisposableResourceHolder resource;
-
-			while (resourceIter.hasNext()) {
-				resource = (DisposableResourceHolder)resourceIter.next();
-				synchronized (resource) {
-					if (!resource.isLocked() && (resource.getLastTimeAccessed() + resource.getDisposableDelay()) < currentTime) {
-						resource.dispose();
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Gets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @return   The periodicity value
-	 */
-	public long getPeriodicity() {
-		return gcPeriodicity;
-	}
-
-	/**
-	 * Sets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @param newPeriodicity  The new periodicity value
-	 */
-	public void setPeriodicity(long newPeriodicity) {
-		gcPeriodicity = newPeriodicity;
-		if (disposalThread != null) {
-			disposalThread.setPeriodicity(newPeriodicity);
-		}
-	}
-}
-
-/**
- * Description of the Class
- *
- * @author    Eduardo Francos - InContext
- * @created   2 mai 2002
- */
-class DisposalThread extends Thread {
-
-	private ETSLADisposalStrategy strategy;
-
-	/** The periodicity at wich disposal is checked */
-	private long periodicity = 60000;
-
-	/** Description of the Field */
-	boolean interruptDisposalPending = false;
-
-	/**
-	 *Constructor for the DisposalThread object
-	 *
-	 * @param strategy     the strategy
-	 * @param periodicity  the periodicity at which the strategy should be called
-	 */
-	DisposalThread(ETSLADisposalStrategy newStrategy, long newPeriodicity) {
-		strategy = newStrategy;
-		periodicity = newPeriodicity;
-	}
-
-	/**
-	 * Main processing method for the DisposalThread object
-	 */
-	public void run() {
-		interruptDisposalPending = false;
-		while (!interruptDisposalPending) {
-			try {
-				sleep(periodicity);
-			}
-			catch (Exception ex) {
-				// just exit
-				break;
-			}
-			strategy.dispose();
-		}
-		interruptDisposalPending = false;
-	}
-
-	/**
-	 * Gets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @return   The periodicity value
-	 */
-	public long getPeriodicity() {
-		return periodicity;
-	}
-
-	/**
-	 * Sets the periodicity attribute of the ETSLADisposalStrategy object
-	 *
-	 * @param newPeriodicity  The new periodicity value
-	 */
-	public void setPeriodicity(long newPeriodicity) {
-		periodicity = newPeriodicity;
-	}
-
-	/** Description of the Method */
-	public void interruptDisposal() {
-		interruptDisposalPending = true;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/EllipseFigureGeometricAdapter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/EllipseFigureGeometricAdapter.java
deleted file mode 100644
index 35615e1c6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/EllipseFigureGeometricAdapter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)EllipseFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.Shape;
-import java.awt.geom.Ellipse2D;
-
-import org.jhotdraw.figures.EllipseFigure;
-
-/**
- * Geometric adapter for the EllipseFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 1 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class EllipseFigureGeometricAdapter extends EllipseFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the EllipseFigureExt object
-	 */
-	public EllipseFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the EllipseFigureGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public EllipseFigureGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the EllipseFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		Rectangle rect = displayBox();
-		Ellipse2D.Float ellipse = new Ellipse2D.Float(rect.x, rect.y, rect.width, rect.height);
-		return ellipse;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/FigureContentProducerContext.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/FigureContentProducerContext.java
deleted file mode 100644
index ab8ce3410..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/FigureContentProducerContext.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)FigureContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Font;
-
-import java.awt.Rectangle;
-
-/**
- * FigureContentProducerContext defines the interface required of clients
- * requesting contents for Figure oriented ContentProducers.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 7 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureContentProducerContext extends ContentProducerContext {
-
-	/**
-	 * Returns the display box of the figure
-	 *
-	 * @return   the display box
-	 */
-	public Rectangle displayBox();
-
-	/**
-	 * Gets the font of the figure
-	 *
-	 * @return   The font
-	 */
-	public Font getFont();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/FigureDataContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/FigureDataContentProducer.java
deleted file mode 100644
index 0a6461e4a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/FigureDataContentProducer.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * @(#)FigureDataContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.Serializable;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * FigureDataContentProducer produces content on behalf of Figures.<br>
- * It supports the basic information common to all figures.
- * It can only be used as a generic producer, getting information from any
- * figure passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class FigureDataContentProducer extends AbstractContentProducer
-		 implements Serializable {
-
-	/**
-	 * Constructor for the FigureContentProducer object
-	 */
-	public FigureDataContentProducer() { }
-
-	/**
-	 * Produces the contents for the figure
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name
-	 * @param ctxAttrValue  the figure
-	 * @return              The string value for the requested entity name
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_WIDTH) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().width);
-		}
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_HEIGHT) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().height);
-		}
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_POSX) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().x);
-		}
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FIGURE_POSY) == 0) {
-			return Integer.toString(((FigureContentProducerContext)context).displayBox().y);
-		}
-
-		return null;
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/GeometricFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/GeometricFigure.java
deleted file mode 100644
index dead5a667..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/GeometricFigure.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * @(#)GeometricFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Shape;
-
-import org.jhotdraw.framework.Figure;
-
-/**
- * GeometricFigure defines required of figures that can be used as shape providers
- * for other figures. See HTMLTextArea for an example.
- *
- * @author  Eduardo Francos - InContext
- * @created 1 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface GeometricFigure extends Figure {
-
-	/**
-	 * Returns a shape with the figures area outline
-	 *
-	 * @return   The shape
-	 */
-	public Shape getShape();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLColorContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLColorContentProducer.java
deleted file mode 100644
index a95b71d49..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLColorContentProducer.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * @(#)HTMLColorContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Color;
-import java.io.Serializable;
-
-/**
- * HTMLColorContentProducer produces RGB color HTML encoded strings.<br>
- * Ex:
- * <code>Color.blue ==> #0000FF</code><br>
- * <code>Color.red  ==> #FF00FF</code><br>
- * It can either be specific if set for a specific color, or generic, encoding
- * any color passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLColorContentProducer extends ColorContentProducer implements Serializable {
-
-	/**
-	 * Constructor for the HTMLColorContentProducer object
-	 */
-	public HTMLColorContentProducer() { }
-
-	/**
-	 * Produces the contents for the color
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the color attribute name (FrameColor, TextColor, etc)
-	 * @param ctxAttrValue  the color
-	 * @return              The HTML encoded RBG value for the color
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// if we have our own color then use it
-		// otherwise use the one supplied
-		Color color = (getColor() != null) ? getColor() : (Color)ctxAttrValue;
-		return getHTMLColorCode(color);
-	}
-
-	public static String getHTMLColorCode(Color color) {
-		String colorCode = Integer.toHexString(color.getRGB());
-		return "#" + colorCode.substring(colorCode.length() - 6);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLContentProducer.java
deleted file mode 100644
index 5e0ac529b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLContentProducer.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * @(#)HTMLContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.io.Serializable;
-
-/**
- * HTMLContentProducer produces HTML suitable  values and encoded strings for
- * various types of values.<br>
- * It can also transform values into their HTML equivalents, like for instance
- * a mapping between font sizes in points and the HTML valid font size values.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLContentProducer extends AttributeFigureContentProducer
-		 implements Serializable {
-
-	/** Table of font size equivalents between points and HTML font sizes */
-	protected final static int[][] htmlFontSizeEquivalences =
-			{
-	// 0 to 9 points ==> size 1
-			{1, 0, 9},
-	// 10 to 11 points ==> size 2
-			{2, 10, 11},
-	// 12 to 13 points ==> size 3
-			{3, 12, 13},
-	// 14 to 17 points ==> size 4
-			{4, 14, 17},
-	// 18 to 23 points ==> size 5
-			{5, 18, 23},
-	// 24 to 35 points ==> size 6
-			{6, 24, 35},
-	// 36 and higher points ==> size 7
-			{7, 36, Integer.MAX_VALUE}
-			};
-
-	/**
-	 * Constructor for the HTMLContentProducer object
-	 */
-	public HTMLContentProducer() { }
-
-	/**
-	 * Gets the HTML content value for the requested attribute
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name (FontSize, etc...)
-	 * @param ctxAttrValue  the attribute value that led to the call to this
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		HTMLContentProducerContext htmlContext = (HTMLContentProducerContext)context;
-
-		if (ctxAttrName.compareTo(ContentProducer.ENTITY_FONT_SIZE) == 0) {
-			return Integer.toString(getHTMLFontSizeEquivalent(htmlContext.getFont().getSize()));
-		}
-
-		return super.getContent(context, ctxAttrName, ctxAttrValue);
-	}
-
-	/**
-	 * Gets the hTMLFontSizeEquivalent attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param pointSize  the font size in points
-	 * @return           The hTMLFontSizeEquivalent value
-	 */
-	public int getHTMLFontSizeEquivalent(int pointSize) {
-		for (int i = 0; i < htmlFontSizeEquivalences.length; i++) {
-			if (pointSize >= htmlFontSizeEquivalences[i][1] &&
-					pointSize <= htmlFontSizeEquivalences[i][2]) {
-				return htmlFontSizeEquivalences[i][0];
-			}
-		}
-		// not found?!?!?! return the "normal" font size
-		return 3;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLContentProducerContext.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLContentProducerContext.java
deleted file mode 100644
index edbd14cae..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLContentProducerContext.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * @(#)HTMLContentProducerContext.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-/**
- * HTMLContentProducerContext defines the interface required of clients
- * requesting HTML based contents.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface HTMLContentProducerContext extends AttributeContentProducerContext {
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLLayouter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLLayouter.java
deleted file mode 100644
index 881d255ee..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLLayouter.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)HTMLLayouter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Insets;
-import java.awt.Point;
-
-import java.awt.Rectangle;
-import java.io.IOException;
-import org.jhotdraw.contrib.Layoutable;
-import org.jhotdraw.contrib.Layouter;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * HTMLLayouter implements the logic for laying out figures based on an
- * HTML template.
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLLayouter implements Layouter {
-
-	/**Constructor for the HTMLLayouter object */
-	public HTMLLayouter() { }
-
-	/**
-	 * Constructor which associates a HTMLLayouter with
-	 * a certain Layoutable.
-	 *
-	 * @param newLayoutable  Layoutable to be laid out
-	 */
-	public HTMLLayouter(Layoutable newLayoutable) {
-		this();
-//		setLayoutable(newLayoutable);
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 * @return        Description of the Return Value
-	 */
-	public Rectangle calculateLayout(Point origin, Point corner) {
-		/**
-		 * @todo:   Implement this org.jhotdraw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method calculateLayout() not yet implemented.");
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 * @return        Description of the Return Value
-	 */
-	public Rectangle layout(Point origin, Point corner) {
-		/**
-		 * @todo:   Implement this org.jhotdraw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method layout() not yet implemented.");
-	}
-
-	/**
-	 * Sets the insets attribute of the HTMLLayouter object
-	 *
-	 * @param newInsets  The new insets value
-	 */
-	public void setInsets(Insets newInsets) {
-		/**
-		 * @todo:   Implement this org.jhotdraw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method setInsets() not yet implemented.");
-	}
-
-	/**
-	 * Gets the insets attribute of the HTMLLayouter object
-	 *
-	 * @return   The insets value
-	 */
-	public Insets getInsets() {
-		/**
-		 * @todo:   Implement this org.jhotdraw.contrib.Layouter method
-		 */
-		throw new UnsupportedOperationException("Method getInsets() not yet implemented.");
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param dw  Description of the Parameter
-	 */
-	public void write(StorableOutput dw) {
-		/**
-		 * @todo:   Implement this org.jhotdraw.util.Storable method
-		 */
-		throw new UnsupportedOperationException("Method write() not yet implemented.");
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param dr               Description of the Parameter
-	 * @exception IOException  Description of the Exception
-	 */
-	public void read(StorableInput dr) throws IOException {
-		/**
-		 * @todo:   Implement this org.jhotdraw.util.Storable method
-		 */
-		throw new UnsupportedOperationException("Method read() not yet implemented.");
-	}
-
-	/**
-	 * Create a new instance of this type and sets the layoutable
-	 *
-	 * @param newLayoutable  Description of the Parameter
-	 * @return               Description of the Return Value
-	 */
-	public Layouter create(Layoutable newLayoutable) {
-		return new HTMLLayouter(newLayoutable);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLTextAreaFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLTextAreaFigure.java
deleted file mode 100644
index b4f908ae4..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLTextAreaFigure.java
+++ /dev/null
@@ -1,1143 +0,0 @@
-/*
- * @(#)HTMLTextAreaFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.*;
-import java.awt.event.ActionEvent;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.FlatteningPathIterator;
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-
-import javax.swing.*;
-
-import org.jhotdraw.contrib.TextAreaFigure;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Geom;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * An HTMLTextAreaFigure contains HTML formatted text.<br>
- * Formatting is done internally by a JLabel component, so all display features
- * and constrains that apply for a JLabel apply also for an HTMLTextAreaFigure,
- * including text and images, as in any Web browser, even allowing for contents
- * residing on external Web sources. But don't forget that this is <b>NOT</b> a Web
- * browser, so HTML contents cannot be standard Web pages with headers, stylesheets,
- * javascript and who knows what else, just plain down to earth HTML code.
- * <p>
- * In order to automatically integrate "external" attributes like FillColor,
- * FontName, etc, HTMLTextAreaFigure encapsulates the text the user types in the
- * editor within a table with a single cell occupying the whole area.<br>
- * Here is what the HTML code passed to the JLabel looks like:<br>
- * <code>
- * &lt;html&gt;<br>
- * &lt;table border='0' width='area.width' height='area.height'
- * cellpadding='0' cellspacing='0' bgcolor='&FillColor;'&gt;<br>
- * &lt;tr&gt;<br>
- * &lt;td width='100%'&gt;<br>
- * &lt;font face='&FontName;' color='&TextColor;' size='&FontSize;'&gt;<br>
- * &lt;!-- add italic and bold attributes if required--&gt;<br>
- * &lt;i&gt;<br>
- * &lt;b&gt;<br>
- * ============&gt> User's contents go here &lt;============<br>
- * &lt;!-- close italic and bold attributes if required --&gt;<br>
- * &lt;/b&gt;<br>
- * &lt;/i&gt;<br>
- * &lt;/font&gt;<br>
- * &lt;/td&gt;<br>
- * &lt;/tr&gt;<br>
- * &lt;/table&gt;<br>
- * &lt;/html&gt;<br>
- * </code><br>
- * It is possible to write <i>raw</i> HTML code by calling
- * <code>setRawHTML(true)</code>. In that case no tags are issued.<br>
- * The user is then responsible for applying the figure attributes and in
- * general is responsible for the whole display.
- * This setting can be dynamically toggled as needed.<br>
- * Note that JLabel resets the font to its own default whenever it encounters
- * an HTML structure, like a table or a header tag. I couldn't find a workaround
- * for what can/should be called a bug. Normal browsers do not behave like this.<p>
- *
- * Internal attributes like FillColor or FontName are exposed as special SGML
- * entities using the standard SGML entity notation, ex: <code>&FillColor;</code>.<br>
- * Any attribute associated to the figure can be used and will be replaced with
- * an appropriate value from a ContentsProducer (see below) or its
- * toString() value if no specific ContentProducer is defined.<p>
- *
- * The HTML display and layouting can be time consuming, quite fast in most cases,
- * unless the HTML structure is complicated. This can become a serious penalty
- * when working with a large number of complicated figures.<br>
- * To help in this issue HTMLTextAreaFigure offers two display modes, DirectDraw,
- * where the HTML layout logic is executed every time the figure is displayed, and
- * BufferedDraw, where HTMLTextAreaFigure creates an in-memory image of the
- * resulting layout and uses the image for fast display until a change requires
- * to regenerate the image.<br>
- * The BufferedDraw mode is as fast as an image display can be, but it consumes
- * more memory than the DirectDraw mode, which in turn is slower.<br>
- * The setting is specific to each figure instance and it can be dynamically
- * toggled at any time, so it is possible to fine tune when and which figures
- * use either one of the drawing modes.<p>
- *
- * Remember the attributes based SGML entities?<br>
- * If you set the figure to be read only, so not allowing the user to directly
- * edit the HTML contens, then it is possible to use HTMLTextAreaFigures to
- * produce very elaborate and complex information layout.<br>
- * You create HTML templates for each figure layout you want to use and set them
- * as the text of the figure. Within the template text you place field names
- * wherever needed as you would for a Web page, then each figure using the template
- * associates the field values as attributes of the figure. The attribute exposure
- * feature will substitute the entity names with the current attribute's value.<br>
- * Please refer to the accompanying sample program to see in detail the multiple
- * ways this feature can enhance your drawings.<p>
- *
- * <b>ContentProducers</b><br>
- * As stated above, entities referenced in the HTML template code are replaced by
- * their current value in the drawn figure. The values themselves are provided
- * by ContentProducers.<br>
- * For a detailed description of ContentProducers please refer to their
- * own documentation, but to make it simple, a ContentProducer is an object that
- * implements the method <code>getContent</code> and is registered to produce
- * content for either specific entities, or entity classes.<br>
- * An entity class is the class of the attribute containing its value, ie: an
- * attribute containing a URL has class URL (<code>attribute.getClass()</code>),
- * and an URLContentProducer can be associated to it so that when the layout
- * needs the entity's value, the producer's getContent() method is called and the
- * returned value (ex: contents from a Web page, FTP file or disk file) is used
- * to replace the entity in the displayed figure.<br>
- * The ContentProducer can return either a String, in which case it is used
- * <b>as is</b>, or another Object. In the later case HTMLTextAreaFigure will
- * continue calling registered ContentProviders depending on the class of the
- * returned Object until it either gets a final String, or null. If null then
- * the entity is considered as unknown and left as is in the displayed text. To
- * make it dissapear alltogether the producer should return an empty String.<p>
- * HTMLTextAreaFigure registers default ContentProducers:
- * AttributeFigureContentProducer for the intrinsic attributes of the figure
- * (height, width, font name, etc.), URLContentProducer for URL attributes,
- * HTMLColorContentProducer for HTML color encoding and for embedded
- * TextAreaFigure and HTMLTextAreaFigure classes. That's right, you can embed
- * a TextAreaFigure or HTMLTextAreaFigure contents inside an HTMLTextAreaFigure
- * recursively for as many levels as your CPU and memory will allow.<br>
- * For instance, the main figure can consists of an HTML table where each
- * cell's contents come from a different HTMLTextAreaFigure.
- *
- * @author    Eduardo Francos - InContext
- * @created   7 May 2002
- * @version   <$CURRENT_VERSION$>
- */
-public class HTMLTextAreaFigure extends TextAreaFigure
-		 implements HTMLContentProducerContext, FigureChangeListener {
-
-	/** Start marker for embedded attribute values */
-	public final static char START_ENTITY_CHAR = '&';
-
-	/** End marker for embedded attribute values */
-	public final static char END_ENTITY_CHAR = ';';
-
-	/** Marker escape character */
-	public final static char ESCAPE_CHAR = '\\';
-
-	/** holder for the image used for the display */
-	private transient DisposableResourceHolder fImageHolder;
-
-	/** The label used for in-memory display */
-	private transient JLabel fDisplayDelegate;
-
-	/** True if using direct drawing, false if using the memory image */
-	private boolean fUseDirectDraw = false;
-
-	/** True if the memory image should be regenerated */
-	private boolean fIsImageDirty = true;
-
-	/** Description of the Field */
-	private boolean fRawHTML = false;
-
-	/** Supplier for intrinsic data */
-	private transient ContentProducer fIntrinsicContentProducer;
-
-	/** Description of the Field */
-	private static ContentProducerRegistry fDefaultContentProducers = new ContentProducerRegistry();
-	// initialize the default content producers for HTMLTextAreaFigure figures
-	static {
-		fDefaultContentProducers.registerContentProducer(TextAreaFigure.class, new TextHolderContentProducer());
-		fDefaultContentProducers.registerContentProducer(Color.class, new HTMLColorContentProducer());
-	}
-
-	/** Description of the Field */
-	private transient ContentProducerRegistry fContentProducers = null;
-
-	/** The figure used to draw the frame of the area */
-	private Figure fFrameFigure = null;
-
-	// make sure required default attributes are set
-	static {
-		initDefaultAttribute("XAlignment", new Integer(SwingConstants.LEFT));
-		initDefaultAttribute("YAlignment", new Integer(SwingConstants.TOP));
-		initDefaultAttribute("LeftMargin", new Float(5));
-		initDefaultAttribute("RightMargin", new Float(5));
-		initDefaultAttribute("TopMargin", new Float(5));
-		initDefaultAttribute("BottomMargin", new Float(5));
-		initDefaultAttribute("TabSize", new Float(8));
-	}
-
-	/** Constructor for the HTMLTextAreaFigure object */
-	public HTMLTextAreaFigure() {
-		initialize();
-	}
-
-	/**
-	 * Clones a figure and initializes it
-	 *
-	 * @return   Description of the Return Value
-	 * @see      Figure#clone
-	 */
-	public Object clone() {
-		Object cloneObject = super.clone();
-		((HTMLTextAreaFigure)cloneObject).initialize();
-		return cloneObject;
-	}
-
-	/**
-	 * Sets the display box for the figure
-	 *
-	 * @param origin  origin point
-	 * @param corner  corner point
-	 * @see           Figure
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		super.basicDisplayBox(origin, corner);
-		getFrameFigure().displayBox(displayBox());
-	}
-
-	/**
-	 * Returns an iterator of standard sizing handles to manipulate the figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public HandleEnumeration handles() {
-		return getFrameFigure().handles();
-//		List handles = CollectionsFactory.current().createList();
-//		BoxHandleKit.addHandles(this, handles);
-//		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * True if the figure contains the point. The call is relayed to the frame figure
-	 *
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 * @return   Description of the Return Value
-	 */
-	public boolean containsPoint(int x, int y) {
-		return getFrameFigure().containsPoint(x, y);
-	}
-
-	/**
-	 * Moves the figure by the specified displacement
-	 *
-	 * @param dx  Description of the Parameter
-	 * @param dy  Description of the Parameter
-	 */
-	public void moveBy(int dx, int dy) {
-		super.moveBy(dx, dy);
-		getFrameFigure().moveBy(dx, dy);
-	}
-
-	/** Initializes the figure */
-	protected void initialize() {
-		fImageHolder = DisposableResourceManagerFactory.createStandardHolder(null);
-		setFrameFigure(new RectangleFigure());
-
-		// initialize the content producers
-		setIntrinsicContentProducer(new HTMLContentProducer());
-		fContentProducers = new ContentProducerRegistry(fDefaultContentProducers);
-
-		markSizeDirty();
-		markImageDirty();
-		markTextDirty();
-		markFontDirty();
-
-		setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-	}
-
-	/**
-	 * Called whenever the something changes that requires size recomputing
-	 */
-	protected void markSizeDirty() {
-		markImageDirty();
-		super.markSizeDirty();
-	}
-
-	/**
-	 * Called whenever the something changes that requires text recomputing
-	 */
-	protected void markTextDirty() {
-		markImageDirty();
-		super.markTextDirty();
-	}
-
-	/**
-	 * Called whenever the something changes that requires font recomputing
-	 */
-	protected void markFontDirty() {
-		markImageDirty();
-		super.markFontDirty();
-	}
-
-	/**
-	 * Draws the figure in the given graphics. Draw is a template
-	 * method calling drawBackground followed by drawText then drawFrame.<br>
-	 * HTMLTextAreaFigure displays in a different order tahn most figures to avoid
-	 * smearing of the border when enclosed in a weird frame figure.<br>
-	 * Also, there is no such thing as a transparent background so we always draw it.
-	 *
-	 * @param g  Description of the Parameter
-	 * @todo     check possibility of clipping the contents from the background to have a
-	 * transparent figure
-	 */
-	public void draw(Graphics g) {
-		Color fill = getFillColor();
-		g.setColor(fill);
-		drawBackground(g);
-
-		// we draw the text then the rame to avoid smearing
-		drawText(g, displayBox());
-
-		Color frame = getFrameColor();
-		g.setColor(frame);
-		drawFrame(g);
-	}
-
-	/**
-	 * Draws the frame around the text. It gets the shape of the frame from the
-	 * enclosing figure
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawFrame(Graphics g) {
-		((Graphics2D)g).draw(getClippingShape());
-	}
-
-	/**
-	 * Draws the background for the figure. It gets the shape of the frame from the
-	 * enclosing figure
-	 *
-	 * @param g  The graphics to use for the drawing
-	 */
-	public void drawBackground(Graphics g) {
-		((Graphics2D)g).fill(getClippingShape());
-	}
-
-	/**
-	 * Formats and draws the text for the figure
-	 *
-	 * @param g           the graphics for the drawing. It can be null when
-	 * called just to compute the size
-	 * @param displayBox  the display box  within which the text should be formatted and drawn
-	 * @return            Description of the Return Value
-	 */
-	protected float drawText(Graphics g, Rectangle displayBox) {
-		Graphics2D g2 = null;
-		Shape savedClip = null;
-
-		if (g != null) {
-			g2 = (Graphics2D)g;
-			savedClip = g2.getClip();
-		}
-
-		Rectangle drawingBox = makeDrawingBox(displayBox);
-
-		// drawing an empty displayBox is not possible
-		if (drawingBox.isEmpty()) {
-			return drawingBox.height;
-		}
-
-		if (g != null) {
-			g2.clip(getClippingShape());
-		}
-
-		if (usesDirectDraw()) {
-			drawTextDirect(g2, drawingBox);
-		}
-		else {
-			fImageHolder.lock();
-			if (isImageDirty()) {
-				generateImage(drawingBox);
-				setSizeDirty(false);
-			}
-
-			if (g2 != null) {
-				g2.drawImage(getImage(), drawingBox.x, drawingBox.y, null);
-			}
-			fImageHolder.unlock();
-		}
-		if (g != null) {
-			g2.setClip(savedClip);
-		}
-
-		// redraw the border to prevent smearing
-		drawFrame(g);
-		return displayBox.height;
-	}
-
-	/**
-	 * Generates the HTML image to be used for fast BufferedDrawing
-	 *
-	 * @param drawingBox  Description of the Parameter
-	 */
-	protected void generateImage(Rectangle drawingBox) {
-		// create the image and get its Graphics
-		createImage(drawingBox.width, drawingBox.height);
-		Graphics2D g2 = (Graphics2D)getImage().getGraphics();
-
-		Rectangle finalBox = new Rectangle(drawingBox);
-		finalBox.setLocation(0, 0);
-		renderText(g2, finalBox);
-		g2.dispose();
-	}
-
-	/**
-	 * Draws the text directly onto the drawing, without using the cached figure
-	 *
-	 * @param g2          Description of the Parameter
-	 * @param drawingBox  Description of the Parameter
-	 */
-	protected void drawTextDirect(Graphics2D g2, Rectangle drawingBox) {
-		Shape savedClipArea = null;
-		Color savedFontColor = null;
-		//Font savedFont = null;
-		//Rectangle2D clipRect = null;
-		RenderingHints savedRenderingHints = null;
-
-		if (g2 != null) {
-			savedRenderingHints = g2.getRenderingHints();
-			savedClipArea = g2.getClip();
-			//savedFont = g2.getFont();
-			savedFontColor = g2.getColor();
-			g2.clip(drawingBox);
-		}
-
-		//float finalHeight = renderText(g2, drawingBox);
-
-		// restore saved graphic attributes
-		if (g2 != null) {
-			g2.setClip(savedClipArea);
-			g2.setColor(savedFontColor);
-			g2.setRenderingHints(savedRenderingHints);
-		}
-	}
-
-	/**
-	 * Renders the HTML formatted text onto the supplied Graphics.<br>
-	 * Rendering involves entity substitution and HTML contents preparation suitable
-	 * for display by a JLabel.
-	 *
-	 * @param g2          Description of the Parameter
-	 * @param drawingBox  Description of the Parameter
-	 * @return            Description of the Return Value
-	 * @todo              look for other HTML display providers as JLabel is kind of
-	 * lousy at it
-	 */
-	protected float renderText(Graphics2D g2, Rectangle drawingBox) {
-		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-				RenderingHints.VALUE_ANTIALIAS_ON);
-		g2.setRenderingHint(RenderingHints.KEY_RENDERING,
-				RenderingHints.VALUE_RENDER_QUALITY);
-
-		// fill with background color
-		g2.setBackground(getFillColor());
-		g2.setColor(getFillColor());
-		g2.clearRect(drawingBox.x, drawingBox.y, drawingBox.width, drawingBox.height);
-		g2.fillRect(drawingBox.x, drawingBox.y, drawingBox.width, drawingBox.height);
-
-		// get the text. Either in raw format or prepared for HTML display
-		String text;
-		if (isRawHTML()) {
-			text = getText();
-		}
-		else {
-			text = getHTMLText(getText(), getFont(),
-					(String)getContentProducer(Color.class).getContent(this, FigureAttributeConstant.TEXT_COLOR_STR, getTextColor()),
-					(String)getContentProducer(Color.class).getContent(this, FigureAttributeConstant.FILL_COLOR_STR, getFillColor()),
-					drawingBox
-					);
-		}
-
-		// perform entity keyword substitution
-		text = substituteEntityKeywords(text);
-
-		// create the JLabel used as delegate for drawing
-		JLabel displayDelegate = getDisplayDelegate();
-		displayDelegate.setText(text);
-		displayDelegate.setBackground(getFillColor());
-
-		// ensure the label covers the whole area
-		displayDelegate.setLocation(0, 0);
-		displayDelegate.setSize(drawingBox.width, drawingBox.height);
-		displayDelegate.setHorizontalAlignment(((Integer)getAttribute(FigureAttributeConstant.XALIGNMENT)).intValue());
-		displayDelegate.setVerticalAlignment(((Integer)getAttribute(FigureAttributeConstant.YALIGNMENT)).intValue());
-
-		// finally display it
-		SwingUtilities.paintComponent(
-				g2,
-				displayDelegate,
-				getContainerPanel(displayDelegate, drawingBox),
-				drawingBox.x,
-				drawingBox.y,
-				drawingBox.width,
-				drawingBox.height);
-
-		return drawingBox.height;
-	}
-
-	/**
-	 * Builds the drawing box using the margins
-	 *
-	 * @param displayBox  Description of the Parameter
-	 * @return            The drawing box
-	 */
-	protected Rectangle makeDrawingBox(Rectangle displayBox) {
-		// get alignment information
-		float leftMargin = ((Float)getAttribute(FigureAttributeConstant.LEFT_MARGIN)).floatValue();
-		float rightMargin = ((Float)getAttribute(FigureAttributeConstant.RIGHT_MARGIN)).floatValue();
-		float topMargin = ((Float)getAttribute(FigureAttributeConstant.TOP_MARGIN)).floatValue();
-		float bottomMargin = ((Float)getAttribute(FigureAttributeConstant.BOTTOM_MARGIN)).floatValue();
-
-		// inset the drawing box by 1 on every side so as not to overwrite
-		// the border
-		Rectangle drawingBox = new Rectangle(displayBox);
-		drawingBox.grow(-1, -1);
-		// adjust for margins
-		drawingBox.x += leftMargin;
-		drawingBox.width -= (leftMargin + rightMargin);
-		drawingBox.y += topMargin;
-		drawingBox.height -= topMargin + bottomMargin;
-
-		return drawingBox;
-	}
-
-	/**
-	 * Gets the displayDelegate attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   The displayDelegate value
-	 */
-	protected JLabel getDisplayDelegate() {
-		if (fDisplayDelegate == null) {
-			fDisplayDelegate = new JLabel();
-			fDisplayDelegate.setBorder(null);
-		}
-		return fDisplayDelegate;
-	}
-
-	/**
-	 * Creates the cached image, unless there is already one and it is
-	 * compatible with new request, in which case we reuse it
-	 *
-	 * @param width   Description of the Parameter
-	 * @param height  Description of the Parameter
-	 */
-	protected void createImage(int width, int height) {
-		// if current image is compatible reuse it
-		fImageHolder.lock();
-		if (!fImageHolder.isAvailable() ||
-				((BufferedImage)fImageHolder.getResource()).getWidth() != width ||
-				((BufferedImage)fImageHolder.getResource()).getHeight() != height) {
-			fImageHolder.setResource(new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB));
-		}
-		// we don't unlock the image, it's the responsibility of
-		// the caller to do so, this in oreder to ensure that calling createImage
-		// will always return with a valid image
-	}
-
-	/**
-	 * Builds the container for the drawing delegate
-	 *
-	 * @param drawingDelegate  The delegate
-	 * @param displayBox       The bounding box
-	 * @return                 The container
-	 */
-	protected JPanel getContainerPanel(Component drawingDelegate, Rectangle displayBox) {
-		JPanel panel = new JPanel();
-		return panel;
-	}
-
-	/**
-	 * Returns a string that is valid HTML contents for a JLabel.<br>
-	 * Valid HTML contents is text enclosed in <html> </html> tags.<br>
-	 * We enclose the supplied text into a table with a single cell so that we
-	 * can also set the external alignment and font attributes
-	 *
-	 * @param text        The text
-	 * @param font        The font
-	 * @param textColor   The text color HTML code
-	 * @param backColor   The background's color HTML code
-	 * @param displayBox  Description of the Parameter
-	 * @return            The final HTML encoded text
-	 */
-	protected String getHTMLText(String text, Font font, String textColor,
-			String backColor, Rectangle displayBox) {
-
-		StringBuffer htmlText = new StringBuffer();
-		// add an <HTML>
-		htmlText.append("<html>");
-
-		// add a table with width=100%, background color, and no borders with
-		// a single cell
-		htmlText.append(
-				"<table border='0' width='" +
-				displayBox.width +
-				"' height='" + displayBox.height +
-				"' cellpadding='0' cellspacing='0'" +
-				"bgcolor='&FillColor;'>");
-		htmlText.append("<tr><td width='100%'>");
-		// set the font
-		htmlText.append("<font face='&FontName;' color='&TextColor;' size='&FontSize;'>");
-		// add alignment if required
-		if (((Integer)getAttribute(FigureAttributeConstant.XALIGNMENT)).intValue() == SwingConstants.CENTER) {
-			htmlText.append("<center>");
-		}
-		// add italic and bold attributes if required
-		if (font.isItalic()) {
-			htmlText.append("<i>");
-		}
-		if (font.isBold()) {
-			htmlText.append("<b>");
-		}
-
-		// add the text itself
-		htmlText.append(text);
-
-		// close italic and bold attributes if required
-		if (font.isBold()) {
-			htmlText.append("</b>");
-		}
-		if (font.isItalic()) {
-			htmlText.append("</i>");
-		}
-		// close alignment if required
-		if (((Integer)getAttribute(FigureAttributeConstant.XALIGNMENT)).intValue() == SwingConstants.CENTER) {
-			htmlText.append("</center>");
-		}
-		// close the font tag
-		htmlText.append("</font>");
-		// close the cell, row and table
-		htmlText.append("</td></tr></table>");
-
-		// close the html tag
-		htmlText.append("</html>");
-
-		return htmlText.toString();
-	}
-
-	/**
-	 * Returns a new String with the entity keywords replaced by their
-	 * current attribute value.<br>
-	 * The text is scanned for entity keywords delimited by the START_ENTITY_CHAR
-	 * and END_ENTITY_CHAR characters as in<br>
-	 * <code>&gt;font face='&amp;FontName;' color='&amp;FillColor;'&lt;</code><br>
-	 * A keyword is replaced if and only if an attribute with the given name is
-	 * found, otherwise the text is left as is.
-	 *
-	 * @param template  The template text
-	 * @return          The resulting string with its attributes replaced
-	 */
-	protected String substituteEntityKeywords(String template) {
-		int endPos;
-		StringBuffer finalText = new StringBuffer();
-
-		int startPos = 0;
-		int chunkEnd = startPos;
-		try {
-			while ((startPos = template.indexOf(START_ENTITY_CHAR, startPos)) != -1) {
-				if (startPos != 0 && template.charAt(startPos - 1) == ESCAPE_CHAR) {
-					// found an escaped parameter starter
-					startPos++;
-					continue;
-				}
-
-				// get the end of the parameter
-				endPos = startPos + 1;
-				while ((endPos = template.indexOf(END_ENTITY_CHAR, endPos)) != -1) {
-					if (endPos == 0 || template.charAt(endPos - 1) != ESCAPE_CHAR) {
-						// found a valid non escaped group stopper
-						break;
-					}
-					// invalid entity, error? probably not, anyway we consider
-					// this as not being an attribute replacement
-					throw new InvalidAttributeMarker();
-				}
-
-				// OK, we now have an attribute
-				String attrName = template.substring(startPos + 1, endPos);
-
-				// replace it if present, otherwise leave as is
-				String attrValue = getEntityHTMLRepresentation(attrName);
-				if (attrValue != null) {
-					finalText.append(template.substring(chunkEnd, startPos));
-					// append the entity's value after performing
-					// entity keyword substitution on its contents
-					finalText.append(substituteEntityKeywords(attrValue));
-					startPos = endPos + 1;
-					chunkEnd = startPos;
-				}
-				else {
-					startPos++;
-				}
-			}
-		}
-		catch (InvalidAttributeMarker ex) {
-			// invalid marker, ignore
-		}
-
-		// append whatever is left
-		finalText.append(template.substring(chunkEnd));
-
-		// and return it
-		return finalText.toString();
-	}
-
-	/**
-	 * Returns a string representation of the attribute according to its type
-	 *
-	 * @param attrName  The name of the attribute
-	 * @return          The attribute's HTML representation
-	 */
-	protected String getEntityHTMLRepresentation(String attrName) {
-		// get the attribute's raw value
-		Object attrValue = getIntrinsicContentProducer().getContent(this, attrName, null);
-
-		// no such attribute?
-		if (attrValue == null) {
-			return null;
-		}
-
-		// found something
-		// keep requesting value expansion until we get a String
-		while (attrValue != null && !(attrValue instanceof String)) {
-			// handle explicit ContentProducers
-			if (attrValue instanceof ContentProducer) {
-				attrValue = ((ContentProducer)attrValue).getContent(this, attrName, attrValue);
-				continue;
-			}
-
-			// not a specific producer, try a default one
-			ContentProducer defaultProducer = getContentProducer(attrValue.getClass());
-			if (defaultProducer != null) {
-				attrValue = defaultProducer.getContent(this, attrName, attrValue);
-				continue;
-			}
-
-			// no specific producer,
-			// all classes without an explicit default producer
-			// get their value from their toString() method
-			attrValue = attrValue.toString();
-		}
-
-		return (String)attrValue;
-	}
-
-	/**
-	 * Gets the image.
-	 *
-	 * @return   The image value
-	 */
-	protected BufferedImage getImage() {
-		if (fImageHolder.isAvailable()) {
-			return (BufferedImage)fImageHolder.getResource();
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the image attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newImage  The new image value
-	 */
-	protected void setImage(BufferedImage newImage) {
-		fImageHolder.setResource(newImage);
-	}
-
-	/**
-	 * Factory method to create a popup menu which allows to set options
-	 *
-	 * @return   newly created popup menu
-	 */
-	protected JPopupMenu createPopupMenu() {
-		JPopupMenu popupMenu = new JPopupMenu();
-		addPopupMenuItems(popupMenu);
-		popupMenu.setLightWeightPopupEnabled(true);
-		return popupMenu;
-	}
-
-	/**
-	 * Adds items to the popup menu
-	 *
-	 * @param popupMenu  The popup menu to add items to
-	 */
-	protected void addPopupMenuItems(JPopupMenu popupMenu) {
-		ButtonGroup drawingPopupGroup;
-
-		JRadioButtonMenuItem rbOption;
-
-		drawingPopupGroup = new ButtonGroup();
-		rbOption = new JRadioButtonMenuItem(
-			new AbstractAction("Direct drawing") {
-				public void actionPerformed(ActionEvent event) {
-					setUseDirectDraw(true);
-				}
-			});
-
-		drawingPopupGroup.add(rbOption);
-		if (usesDirectDraw()) {
-			drawingPopupGroup.setSelected(rbOption.getModel(), true);
-		}
-		popupMenu.add(rbOption);
-
-		rbOption = new JRadioButtonMenuItem(
-			new AbstractAction("Buffered drawing") {
-				public void actionPerformed(ActionEvent event) {
-					setUseDirectDraw(false);
-				}
-			});
-		drawingPopupGroup.add(rbOption);
-		if (usesBufferedDraw()) {
-			drawingPopupGroup.setSelected(rbOption.getModel(), true);
-		}
-		popupMenu.add(rbOption);
-
-		popupMenu.addSeparator();
-
-		drawingPopupGroup = new ButtonGroup();
-		rbOption = new JRadioButtonMenuItem(
-			new AbstractAction("Normal HTML") {
-				public void actionPerformed(ActionEvent event) {
-					setRawHTML(false);
-				}
-			});
-
-		drawingPopupGroup.add(rbOption);
-		drawingPopupGroup.setSelected(rbOption.getModel(), true);
-		popupMenu.add(rbOption);
-
-		rbOption =
-				new JRadioButtonMenuItem(
-			new AbstractAction("Raw HTML") {
-				public void actionPerformed(ActionEvent event) {
-					setRawHTML(true);
-				}
-			});
-		drawingPopupGroup.add(rbOption);
-		popupMenu.add(rbOption);
-
-	}
-
-	/**
-	 * Gets the usesDirectDraw status of the HTMLTextAreaFigure object
-	 *
-	 * @return   True if currently doing direct drawing, ie: not using a cached image
-	 */
-	public boolean usesDirectDraw() {
-		return fUseDirectDraw;
-	}
-
-	/**
-	 * Sets the useDirectDraw attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newUseDirectDraw  The new useDirectDraw value
-	 */
-	public void setUseDirectDraw(boolean newUseDirectDraw) {
-		fUseDirectDraw = newUseDirectDraw;
-		setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-		markSizeDirty();
-	}
-
-	/**
-	 * Sets the useBufferedDraw attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newUseBufferedDraw  The new useBufferedDraw value
-	 */
-	public void setUseBufferedDraw(boolean newUseBufferedDraw) {
-		setUseDirectDraw(!newUseBufferedDraw);
-	}
-
-	/**
-	 * Gets the usesBufferedDraw attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   True if currently using buffered draw, ie: the cached image
-	 */
-	public boolean usesBufferedDraw() {
-		return !usesDirectDraw();
-	}
-
-	/**
-	 * Disposes of the image so it will be regenerated next time it is displayed
-	 */
-	protected void markImageDirty() {
-		fImageHolder.dispose();
-	}
-
-	/**
-	 * True if the image should be regenerated
-	 *
-	 * @return   The imageDirty value
-	 */
-	protected boolean isImageDirty() {
-		return !fImageHolder.isAvailable();
-	}
-
-	/**
-	 * Reads the figure from StorableInput
-	 *
-	 * @param dr            Description of the Parameter
-	 * @throws IOException  the inout storable
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-
-		setFrameFigure((Figure)dr.readStorable());
-		setUseDirectDraw(dr.readBoolean());
-		setRawHTML(dr.readBoolean());
-//		setIntrinsicContentProducer((ContentProducer)dr.readStorable());
-//		fContentProducers.read(dr);
-
-//        // finally add the popup menu
-//        setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-
-	}
-
-	/**
-	 * Writes the figure to StorableOutput
-	 *
-	 * @param dw  the output storable
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-
-		dw.writeStorable(getFrameFigure());
-		dw.writeBoolean(usesDirectDraw());
-		dw.writeBoolean(isRawHTML());
-//		dw.writeStorable(getIntrinsicContentProducer());
-//		fContentProducers.write(dw);
-	}
-
-	/**
-	 * A text area figure uses the "LeftMargin", "RightMargin",
-	 * "TopMargin", "BottomMargin", "TabSize", "FontSize", "FontStyle", and "FontName"
-	 * attributes
-	 *
-	 * @param name   The new attribute name
-	 * @param value  The new attribute value
-	 */
-	public void setAttribute(FigureAttributeConstant name, Object value) {
-		super.setAttribute(name, value);
-		markImageDirty();
-	}
-
-	/**
-	 * Gets the rawHTML attribute of the HTMLTextAreaFigure object.<br>
-	 * In RawHTML mode, the figure does not add any HTML formatting information so it's
-	 * the user's responsibility to handle the whole displayed contents
-	 *
-	 * @return   The rawHTML value
-	 */
-	public boolean isRawHTML() {
-		return fRawHTML;
-	}
-
-	/**
-	 * Sets the rawHTML attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newRawHTML  The new rawHTML value
-	 */
-	public void setRawHTML(boolean newRawHTML) {
-		fRawHTML = newRawHTML;
-		setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-	}
-
-	/**
-	 * Gets the IntrinsicContentProducer attribute of the HTMLTextAreaFigure object.<br>
-	 * The intrinsic producer produces contents for the basic figure's attributes
-	 *
-	 * @return   The IntrinsicContentProducer value
-	 */
-	protected ContentProducer getIntrinsicContentProducer() {
-		return fIntrinsicContentProducer;
-	}
-
-	/**
-	 * Sets the IntrinsicContentProducer attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newIntrinsicContentProducer  The new IntrinsicContentProducer value
-	 */
-	public void setIntrinsicContentProducer(ContentProducer newIntrinsicContentProducer) {
-		fIntrinsicContentProducer = newIntrinsicContentProducer;
-	}
-
-	/**
-	 * Registers a specific content producer for the target class
-	 *
-	 * @param targetClass  the target class
-	 * @param producer     the producer
-	 * @return             the previously registered producer. May be null
-	 */
-	public ContentProducer registerContentProducer(Class targetClass, ContentProducer producer) {
-		return fContentProducers.registerContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Unregisters a registered content producer.
-	 *
-	 * @param producer     Description of the Parameter
-	 * @param targetClass  Description of the Parameter
-	 */
-	public void unregisterContentProducer(Class targetClass, ContentProducer producer) {
-		fContentProducers.unregisterContentProducer(targetClass, producer);
-	}
-
-	/**
-	 * Retrieves a suitable content producer for the target class
-	 *
-	 * @param targetClass  the target class
-	 * @return             The ContentProducer
-	 */
-	protected ContentProducer getContentProducer(Class targetClass) {
-		return fContentProducers.getContentProducer(targetClass);
-	}
-
-	/**
-	 * Makes a polygon with the same shape and dimensions as the current figure
-	 *
-	 * @return   Description of the Return Value
-	 */
-	public Polygon getPolygon() {
-		Polygon polygon = new Polygon();
-
-		// make an AffineTransofmr that does nothing
-		AffineTransform at = AffineTransform.getScaleInstance(1, 1);
-		// and get an iterator on the segments
-		FlatteningPathIterator pIter = new FlatteningPathIterator(
-				getClippingShape().getPathIterator(at),
-				1);
-
-		double[] coords = new double[6];
-		//int pointType;
-		// iterate on the segments adding the points to the polygon
-		while (!pIter.isDone()) {
-			//pointType = pIter.currentSegment(coords);
-			pIter.currentSegment(coords);
-			polygon.addPoint((int)coords[0], (int)coords[1]);
-			pIter.next();
-		}
-
-		return polygon;
-	}
-
-	/**
-	 * Gets the frameFigure attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   The frameFigure value
-	 */
-	protected Figure getFrameFigure() {
-		return fFrameFigure;
-	}
-
-	/**
-	 * Sets the frameFigure attribute of the HTMLTextAreaFigure object
-	 *
-	 * @param newFrameFigure  The new frameFigure value
-	 */
-	public void setFrameFigure(Figure newFrameFigure) {
-		if (fFrameFigure != null) {
-			fFrameFigure.removeFigureChangeListener(this);
-		}
-		fFrameFigure = newFrameFigure;
-		fFrameFigure.addFigureChangeListener(this);
-	}
-
-	/**
-	 * Gets the clippingShape attribute of the HTMLTextAreaFigure object
-	 *
-	 * @return   The clippingShape value
-	 */
-	protected Shape getClippingShape() {
-		Figure frame = getFrameFigure();
-		if (frame instanceof GeometricFigure) {
-			return ((GeometricFigure)frame).getShape();
-		}
-		return frame.displayBox();
-	}
-
-	/**
-	 * handles frame figure's invalidated events
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureInvalidated(FigureChangeEvent e) { }
-
-	/**
-	 * handles frame figure's changed events.<br>
-	 * It updates the displayBox to match
-	 * the frame figure's
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureChanged(FigureChangeEvent e) {
-		willChange();
-		super.basicDisplayBox(e.getFigure().displayBox().getLocation(), Geom.corner(e.getFigure().displayBox()));
-		changed();
-	}
-
-	/**
-	 * handles frame figure's invalidatedremoved events.<br>
-	 * Never happens because the frame figure is not part of the drawing
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRemoved(FigureChangeEvent e) { }
-
-	/**
-	 * handles frame figure's remove requests events.<br>
-	 * Never happens because the frame figure is not part of the drawing
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) { }
-
-	/**
-	 * handles frame figure's update requests events.<br>
-	 * Never happens because the frame figure is not part of the drawing
-	 *
-	 * @param e  Description of the Parameter
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) { }
-
-	/**
-	 * Thrown when an entity reference is not correctly encoded
-	 *
-	 * @author    gualo
-	 * @created   1 mai 2002
-	 */
-	private class InvalidAttributeMarker extends Exception {
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLTextAreaTool.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLTextAreaTool.java
deleted file mode 100644
index 7031f779a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/HTMLTextAreaTool.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)HTMLTextAreaTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Font;
-import org.jhotdraw.contrib.TextAreaTool;
-
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.standard.TextHolder;
-
-/**
- * HTMLTextAreaTool creates or edits HTMLTextAreaFigures.<br>
- * Only diffreence with TextAreaFigure is that this allows to edit HTML code
- * using a more suitable font than the one defined by the figure.
- *
- * @author  Eduardo Francos - InContext
- * @created 28 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class HTMLTextAreaTool extends TextAreaTool {
-
-	/**
-	 * Constructor for the TextAreaTool object
-	 *
-	 * @param newDrawingEditor  the managing drawing editor
-	 * @param prototype         the prototype for the figure
-	 */
-	public HTMLTextAreaTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	/**
-	 * Gets the font to be used for editing the figure.<br>
-	 * Use a simple editing font, easier for HTML editing
-	 *
-	 * @param figure  the figure
-	 * @return        The font
-	 */
-	protected Font getFont(TextHolder figure) {
-		return new Font("Helvetica", Font.PLAIN, 12);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/PolygonFigureGeometricAdapter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/PolygonFigureGeometricAdapter.java
deleted file mode 100644
index 363de24a9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/PolygonFigureGeometricAdapter.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @(#)PolygonFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Polygon;
-import java.awt.Shape;
-
-import org.jhotdraw.contrib.PolygonFigure;
-
-/**
- * Geometric adapter for the PolygonFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 3 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class PolygonFigureGeometricAdapter extends PolygonFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the PolyLineFigureGeometricAdapter object
-	 */
-	public PolygonFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the PolyLineFigureGeometricAdapter object
-	 *
-	 * @param x  Description of the Parameter
-	 * @param y  Description of the Parameter
-	 */
-	public PolygonFigureGeometricAdapter(int x, int y) {
-		super(x, y);
-	}
-
-	/**
-	 *Constructor for the PolyLineFigureGeometricAdapter object
-	 *
-	 * @param p  Description of the Parameter
-	 */
-	public PolygonFigureGeometricAdapter(Polygon p) {
-		super(p);
-	}
-
-	/**
-	 * Gets the shape attribute of the PolygonFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		return getInternalPolygon();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceContentProducer.java
deleted file mode 100644
index 536cf3aa1..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceContentProducer.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * @(#)ResourceContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * ResourceContentProducer produces contents from resource in the application's
- * CLASSPATH.<br>
- * It takes a resource name and loads the resource as a String.
- *
- * It can either be specific if set for a specific resource, or generic, retrieving
- * any resource passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 1 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ResourceContentProducer extends AbstractContentProducer
-		 implements Serializable {
-
-	/** Description of the Field */
-	private String fResourceName;
-
-	/**
-	 * Constructor for the ResourceContentProducer object
-	 */
-	public ResourceContentProducer() { }
-
-	/**
-	 * Constructor for the ResourceContentProducer object
-	 *
-	 * @param resourceName  Description of the Parameter
-	 */
-	public ResourceContentProducer(String resourceName) {
-		setResourceName(resourceName);
-	}
-
-	/**
-	 * Gets the content attribute of the ResourceContentProducer object
-	 *
-	 * @param context       Description of the Parameter
-	 * @param ctxAttrName   Description of the Parameter
-	 * @param ctxAttrValue  Description of the Parameter
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		try {
-			// if we have our own resource then use it
-			// otherwise use the one supplied
-			String resourceName = (getResourceName() != null) ? getResourceName() : (String)ctxAttrValue;
-
-			InputStream reader = this.getClass().getResourceAsStream(resourceName);
-			int available = reader.available();
-			byte contents[] = new byte[available];
-			reader.read(contents, 0, available);
-			reader.close();
-			return new String(contents);
-		}
-		catch (Exception ex) {
-			ex.printStackTrace();
-			return ex.toString();
-		}
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeString(getResourceName());
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setResourceName (dr.readString());
-	}
-
-	public String getResourceName() {
-		return fResourceName;
-	}
-
-	protected void setResourceName(String newResourceName) {
-		fResourceName = newResourceName;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceDisposabilityStrategy.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceDisposabilityStrategy.java
deleted file mode 100644
index 79beb8365..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceDisposabilityStrategy.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)ResourceDisposabilityStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-/**
- * ResourceDisposabilityStrategy defines the interface for resource disposal
- * strategies.<br>
- * The strategy defines the logic used to determine which and when a resource can
- * be efficiently disposed of. A smarter the strategy leads to few resource
- * regeneration.
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public interface ResourceDisposabilityStrategy {
-
-	/**
-	 * Sets the manager holding the resources for this strategy
-	 *
-	 * @param manager  The new manager value
-	 */
-	public void setManager(DisposableResourceManager manager);
-
-
-	/**
-	 * Gets the manager holding the resources for this strategy
-	 *
-	 * @return   The manager value
-	 */
-	public DisposableResourceManager getManager();
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  Description of the Exception
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException;
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resource.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns, but the
-	 * deactivation request remain active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceManagerNotSetException.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceManagerNotSetException.java
deleted file mode 100644
index 07d94e3bc..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/ResourceManagerNotSetException.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * @(#)ResourceManagerNotSetException .java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-/**
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class ResourceManagerNotSetException extends Exception {
-
-	/**
-	 * Constructor for the ResourceManagerNotSetException object
-	 */
-	public ResourceManagerNotSetException() { }
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/RoundRectangleGeometricAdapter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/RoundRectangleGeometricAdapter.java
deleted file mode 100644
index e67008eca..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/RoundRectangleGeometricAdapter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * @(#)RoundRectangleGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.Shape;
-import java.awt.geom.RoundRectangle2D;
-import org.jhotdraw.figures.RoundRectangleFigure;
-
-/**
- * Geometric adapter for the RoundRectangleFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class RoundRectangleGeometricAdapter extends RoundRectangleFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the RoundRectangleGeometricAdapter object
-	 */
-	public RoundRectangleGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the RoundRectangleGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public RoundRectangleGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the TriangleFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		Point arc = getArc();
-		Rectangle dspBox = displayBox();
-		RoundRectangle2D.Float roundRectangle = new RoundRectangle2D.Float(
-				dspBox.x, dspBox.y, dspBox.width, dspBox.height,
-				arc.x, arc.y);
-
-		return roundRectangle;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/StandardDisposableResourceHolder.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/StandardDisposableResourceHolder.java
deleted file mode 100644
index ca142d70e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/StandardDisposableResourceHolder.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * @(#)StandardDisposableResourceHolder.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.io.Serializable;
-
-/**
- * StandardDisposableResourceHolder is a standard implementation of the
- * DisposableResourceHolder interface
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class StandardDisposableResourceHolder implements DisposableResourceHolder, Serializable {
-
-	/** The holded resource object */
-	private Object resource = null;
-
-	/** The dispose delay, default to 60 seconds */
-	private long disposeDelay = 60000;
-
-	/**
-	 * The last time the resource was accessed as returned by
-	 * <code>System.currentTimeMillis()</code>
-	 */
-	private long lastTimeAccessed = 0;
-
-	/** True if the resource is locked */
-	private boolean isLocked = false;
-
-	/**
-	 * Constructor for the StandardDisposableResourceHolder object
-	 */
-	public StandardDisposableResourceHolder() { }
-
-	/**
-	 * Constructor for the StandardDisposableResourceHolder object
-	 *
-	 * @param resource  Description of the Parameter
-	 */
-	public StandardDisposableResourceHolder(Object newResource) {
-		resource = newResource;
-		resetDelay();
-	}
-
-	/**
-	 * Makes a clone of this
-	 *
-	 * @return   the clone
-	 */
-	public Object clone() {
-		StandardDisposableResourceHolder clone = new StandardDisposableResourceHolder();
-		clone.setDisposableDelay(this.getDisposableDelay());
-		return clone;
-	}
-
-	/**
-	 * Gets the resource attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @return                          The resource value
-	 * @exception NullPointerException  Description of the Exception
-	 */
-	public Object getResource() throws NullPointerException {
-		if (resource != null) {
-			resetDelay();
-			return resource;
-		}
-		throw new NullPointerException();
-	}
-
-	/**
-	 * Sets the resource attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @param resource  The new resource value
-	 */
-	public void setResource(Object newResource) {
-		resource = newResource;
-		resetDelay();
-	}
-
-	/**
-	 * Sets the disposableDelay attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @param millis  The new disposableDelay value
-	 */
-	public void setDisposableDelay(long millis) {
-		disposeDelay = millis;
-	}
-
-	/**
-	 * Gets the disposableDelay attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @return   The disposableDelay value
-	 */
-	public long getDisposableDelay() {
-		return disposeDelay;
-	}
-
-	/** Disposes of the resource */
-	public void dispose() {
-		resource = null;
-	}
-
-	/**
-	 * Gets the available attribute of the StandardDisposableResourceHolder object
-	 *
-	 * @return   The available value
-	 */
-	public boolean isAvailable() {
-		return (resource != null);
-	}
-
-	/**
-	 * Locks the resource so it cannot be automatically disposed of until unlock
-	 * is called.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void lock() {
-		isLocked = true;
-	}
-
-	/**
-	 * Unlocks the resource so it can be automatically disposed of again.<br>
-	 * Explicit disposing by calling dispose() is still possible though.
-	 */
-	public void unlock() {
-		resetDelay();
-		isLocked = false;
-	}
-
-	/**
-	 * True if the resource is locked
-	 *
-	 * @return   The locked status
-	 */
-	public boolean isLocked() {
-		return isLocked;
-	}
-
-	/**
-	 * Gets the lastTimeAccessed attribute of the DisposableResourceHolder object
-	 *
-	 * @return   The lastTimeAccessed value
-	 */
-	public long getLastTimeAccessed() {
-		return lastTimeAccessed;
-	}
-
-	/** Resets the disposing delay so as to restart the time counter */
-	public void resetDelay() {
-		lastTimeAccessed = System.currentTimeMillis();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/StandardDisposableResourceManager.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/StandardDisposableResourceManager.java
deleted file mode 100644
index 6a944857e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/StandardDisposableResourceManager.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * @(#)StandardDisposableResourceManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.util.Iterator;
-
-import java.util.WeakHashMap;
-
-/**
- * StandardDisposableResourceManager implements disposable resource management
- * using a client supplied strategy.<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 2 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class StandardDisposableResourceManager implements DisposableResourceManager {
-
-	/** The registered resources */
-	private WeakHashMap resources;
-
-	/** The disposing strategy */
-	private ResourceDisposabilityStrategy strategy;
-
-	/**
-	 *Constructor for the StandardDisposableResourceManager object
-	 *
-	 * @param strategy  Description of the Parameter
-	 */
-	public StandardDisposableResourceManager(ResourceDisposabilityStrategy newStrategy) {
-		resources = new WeakHashMap();
-		setStrategy(newStrategy);
-		getStrategy().setManager(this);
-	}
-
-	/**
-	 * Registers a resource to be automatically disposed of
-	 *
-	 * @param resource  the resource
-	 */
-	public synchronized void registerResource(DisposableResourceHolder resource) {
-		resources.put(resource, resource);
-	}
-
-	/**
-	 * Unregisters a resource so it is not automatically GCed.<br>
-	 * If does nothing if the resource was not registered with this manager
-	 *
-	 * @param resource  the resource
-	 */
-	public synchronized void unregisterResource(DisposableResourceHolder resource) {
-		resources.remove(resource);
-	}
-
-	/**
-	 * Gets an iterator on the managed resources
-	 *
-	 * @return   The iterator
-	 */
-	public Iterator getResources() {
-		return resources.values().iterator();
-	}
-
-	/**
-	 * Description of the Method
-	 *
-	 * @param resource  the resource
-	 * @return          True if the resource is registered with this manager
-	 */
-	public synchronized boolean managesResource(DisposableResourceHolder resource) {
-		return resources.containsValue(resource);
-	}
-
-	/**
-	 * Gets the strategy attribute of the StandardDisposableResourceManager object
-	 *
-	 * @return   The strategy value
-	 */
-	public ResourceDisposabilityStrategy getStrategy() {
-		return strategy;
-	}
-
-	/**
-	 * Sets the strategy attribute of the StandardDisposableResourceManager object
-	 *
-	 * @param newStrategy  The new strategy value
-	 */
-	public void setStrategy(ResourceDisposabilityStrategy newStrategy) {
-		strategy = newStrategy;
-	}
-
-	/**
-	 * Activates the strategy which starts disposing of resources as fitted
-	 *
-	 * @exception ResourceManagerNotSetException  Description of the Exception
-	 */
-	public void startDisposing() throws ResourceManagerNotSetException {
-		getStrategy().startDisposing();
-	}
-
-	/**
-	 * Deactivates the strategy that stops automatic disposal of resource.<br>
-	 * The millis parameters specifies in milliseconds the time to wait for
-	 * the disposal to stop. After this time the method returns, but the
-	 * deactivation request remain active.
-	 *
-	 * @param millis  time to wait for disposal to stop
-	 */
-	public void stopDisposing(long millis) {
-		getStrategy().stopDisposing(millis);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/TextHolderContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/TextHolderContentProducer.java
deleted file mode 100644
index 548396cf7..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/TextHolderContentProducer.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * @(#)TextHolderContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.Serializable;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-import org.jhotdraw.standard.TextHolder;
-
-/**
- * TextAreaFigureContentProducer produces text contents from an existing
- * TextHolder figure<br>
- * It can either be specific if set for a specific figure, or generic, encoding
- * any color passed to the getContents method.<br>
- * The main usage of this producer is to embed a "master" or "shared" drawing
- * figure into other figures so that updating the master figure automatically
- * changes all dependent figures as well. Kind of a hot text snippet if you like<br>
- *
- * @author  Eduardo Francos - InContext
- * @created 30 avril 2002
- * @version <$CURRENT_VERSION$>
- */
-public class TextHolderContentProducer extends AbstractContentProducer
-		 implements Serializable {
-
-	private TextHolder myTextHolder;
-
-	/**
-	 * Constructor for the TextAreaFigureContentProducer object
-	 */
-	public TextHolderContentProducer() { }
-
-	/**
-	 *Constructor for the TextAreaFigureContentProducer object
-	 *
-	 * @param figure  Description of the Parameter
-	 */
-	public TextHolderContentProducer(TextHolder figure) {
-		setTextHolder(figure);
-	}
-
-	/**
-	 * Gets the text from the text figure
-	 *
-	 * @param context       Description of the Parameter
-	 * @param ctxAttrName   Description of the Parameter
-	 * @param ctxAttrValue  Description of the Parameter
-	 * @return              The content value
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		// if we have our own figure then use it
-		// otherwise use the one supplied
-		TextHolder figure = (getTextHolder() != null) ? getTextHolder() : (TextHolder)ctxAttrValue;
-		// return the areas text
-		return figure.getText();
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getTextHolder().getRepresentingFigure());
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setTextHolder((TextHolder)dr.readStorable());
-	}
-
-	protected TextHolder getTextHolder() {
-		return myTextHolder;
-	}
-
-	public void setTextHolder(TextHolder newFigure) {
-		myTextHolder = newFigure;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/TriangleFigureGeometricAdapter.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/TriangleFigureGeometricAdapter.java
deleted file mode 100644
index 703fbf6f2..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/TriangleFigureGeometricAdapter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * @(#)TriangleFigureGeometricAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.awt.Point;
-import java.awt.Shape;
-import org.jhotdraw.contrib.TriangleFigure;
-
-/**
- * Geometric adapter for the TriangleFigure
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- */
-public class TriangleFigureGeometricAdapter extends TriangleFigure
-		 implements GeometricFigure {
-
-	/**
-	 * Constructor for the TriangleFigureGeometricAdapter object
-	 */
-	public TriangleFigureGeometricAdapter() {
-		super();
-	}
-
-	/**
-	 *Constructor for the TriangleFigureGeometricAdapter object
-	 *
-	 * @param origin  Description of the Parameter
-	 * @param corner  Description of the Parameter
-	 */
-	public TriangleFigureGeometricAdapter(Point origin, Point corner) {
-		super(origin, corner);
-	}
-
-	/**
-	 * Gets the shape attribute of the TriangleFigure object
-	 *
-	 * @return   The shape value
-	 */
-	public Shape getShape() {
-		return getPolygon();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/URLContentProducer.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/URLContentProducer.java
deleted file mode 100644
index e3dd914bb..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/html/URLContentProducer.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)URLContentProducer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.html;
-
-import java.io.IOException;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import java.net.URL;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * URLContentProducer produces string contents from URLs.<br>
- * Anything the <code>URL.openStream()</code> method can get can be retrieved
- * by this producer, that includes resources, local files, web documents,
- * web queries, FTP files, and you name it.<br>
- * It can either be specific if set for a specific URL, or generic, retrieving
- * any URL passed to the getContents method.
- *
- * @author  Eduardo Francos - InContext
- * @created 4 mai 2002
- * @version <$CURRENT_VERSION$>
- * @todo    should we cache the contents for specific URLs? this can
- * accelerate things a lot for static documents, but for dynamic ones it
- * will complicate things. If cached then if must be in a DisposableResourceHolder
- */
-public class URLContentProducer extends FigureDataContentProducer
-		 implements Serializable {
-
-	/** the specific URL */
-	private URL fURL;
-
-	/**
-	 * Constructor for the URLContentProducer object
-	 */
-	public URLContentProducer() { }
-
-	/**
-	 *Constructor for the URLContentProducer object
-	 *
-	 * @param url  the specific URL
-	 */
-	public URLContentProducer(URL url) {
-		setURL(url);
-	}
-
-	/**
-	 * Retrieves the contents of the URL pointed object
-	 *
-	 * @param context       the calling client context
-	 * @param ctxAttrName   the attribute name that led to this being called
-	 * @param ctxAttrValue  the value of the URL attribute
-	 * @return              the contents of the URL pointed object as a string
-	 */
-	public Object getContent(ContentProducerContext context, String ctxAttrName, Object ctxAttrValue) {
-		try {
-			// if we have our own URL then use it
-			// otherwise use the one supplied
-			URL url = (getURL() != null) ? new URL(getURL().toExternalForm()) : new URL(((URL)ctxAttrValue).toExternalForm());
-
-			InputStream reader = url.openStream();
-			int available = reader.available();
-			byte contents[] = new byte[available];
-			reader.read(contents, 0, available);
-			reader.close();
-			return new String(contents);
-		}
-		catch (Exception ex) {
-			ex.printStackTrace();
-			return ex.toString();
-		}
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dw  the storable output
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeBoolean((getURL() != null));
-		if (getURL() != null) {
-			dw.writeString(getURL().toExternalForm());
-		}
-	}
-
-	/**
-	 * Writes the storable
-	 *
-	 * @param dr               the storable input
-	 * @exception IOException  thrown by called methods
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		boolean hasURL = dr.readBoolean();
-		if (hasURL) {
-			setURL(new URL(dr.readString()));
-		}
-	}
-
-	public URL getURL() {
-		return fURL;
-	}
-
-	protected void setURL(URL newURL) {
-		fURL = newURL;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/AreaTracker.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/AreaTracker.java
deleted file mode 100644
index 6c9c36bb1..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/AreaTracker.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)AreaTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.zoom;
-
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.standard.AbstractTool;
-
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * A rubberband area tracker.  It can be extended to do anything with
- * the resulting area, e.g. select it or zoom it.  This code is
- * derived from SelectAreaTracker, which is a bit too specific to
- * allow for extension.
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AreaTracker extends AbstractTool {
-
-	private Rectangle area;
-
-	protected AreaTracker(DrawingEditor editor) {
-		super(editor);
-	}
-
-	public Rectangle getArea() {
-		return new Rectangle(area.x, area.y, area.width, area.height);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		// use event coordinates to supress any kind of
-		// transformations like constraining points to a grid
-		super.mouseDown(e, e.getX(), e.getY());
-		rubberBand(getAnchorX(), getAnchorY(), getAnchorX(), getAnchorY());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		eraseRubberBand();
-		rubberBand(getAnchorX(), getAnchorY(), x, y);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		super.mouseUp(e, x, y);
-		eraseRubberBand();
-	}
-
-	private void rubberBand(int x1, int y1, int x2, int y2) {
-		area = new Rectangle(new Point(x1, y1));
-		area.add(new Point(x2, y2));
-		drawXORRect(area);
-	}
-
-	private void eraseRubberBand() {
-		drawXORRect(area);
-	}
-
-	private void drawXORRect(Rectangle r) {
-		Graphics g = view().getGraphics();
-		g.setXORMode(view().getBackground());
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/DoubleBufferImage.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/DoubleBufferImage.java
deleted file mode 100644
index df17f5e5d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/DoubleBufferImage.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * @(#)DoubleBufferImage.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.zoom;
-
-import java.awt.*;
-import java.awt.image.ImageObserver;
-import java.awt.image.ImageProducer;
-
-/**
- * A DoubleBufferImage is an image that scaling components, such as a
- * ZoomDrawingView, use for double buffering.  Drawing into this image
- * is scaled, but when the image is written to the screen, no more
- * scaling occurs.  This is ensured by the implementation here and
- * by the corresponding drawImage methods in ScalingGraphics.
- *
- * Note: this class is only needed for a JDK1.1 compliant implementation
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class DoubleBufferImage extends java.awt.Image {
-
-	private Image real;
-	private double scale;
-
-	public DoubleBufferImage(Image newReal, double newScale) {
-		real = newReal;
-		scale = newScale;
-	}
-
-	public Image getRealImage() {
-		return real;
-	}
-
-	public void flush() {
-		real.flush();
-	}
-
-	public Graphics getGraphics() {
-		// Return an appropriate scaling graphics context,
-		// so that all drawing operations into this image
-		// are scaled.
-		ScalingGraphics result = new ScalingGraphics(real.getGraphics());
-		result.setScale(scale);
-		return result;
-	}
-
-	public int getHeight(ImageObserver observer) {
-		return real.getHeight(observer);
-	}
-
-	public Object getProperty(String name, ImageObserver observer) {
-		return real.getProperty(name, observer);
-	}
-
-	public Image getScaledInstance(int width, int height, int hints) {
-		return real.getScaledInstance(width, height, hints);
-	}
-
-	public ImageProducer getSource() {
-		return real.getSource();
-	}
-
-	public int getWidth(ImageObserver observer) {
-		return real.getWidth(observer);
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/MiniMapZoomableView.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/MiniMapZoomableView.java
deleted file mode 100644
index 24f36f981..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/MiniMapZoomableView.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)MiniMapZoomableView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.zoom;
-
-import org.jhotdraw.contrib.MiniMapView;
-import org.jhotdraw.framework.DrawingView;
-
-import java.awt.geom.AffineTransform;
-import java.awt.geom.NoninvertibleTransformException;
-import javax.swing.JScrollPane;
-
-/**
- * Specialized sub-class of MiniMapView to handle the zooming ability of the ZoomDrawingView in JHotDraw.  This subclass has been enhanced
- * to take into consideration that the scrollpane's content may itself be altered by a transform (namely a scaling transform).
- *
- * @author	S. Ruman (sruman@rogers.com)
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapZoomableView extends MiniMapView {
-	public MiniMapZoomableView(DrawingView newMappedDrawingView, JScrollPane subject) {
-		super(newMappedDrawingView, subject);
-	}
-
-// Overridden
-	public AffineTransform getInverseSubjectTransform() {
-		double subjectsScale = ((ZoomDrawingView)getMappedComponent()).getScale();
-
-		AffineTransform at = null;
-		try {
-			at = AffineTransform.getScaleInstance(subjectsScale, subjectsScale).createInverse();   // undo the zoom of the zoomable drawing view
-		}
-		catch (NoninvertibleTransformException nte) {
-			// all scale-only transforms should be invertable
-		}
-
-		return at;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ScalingGraphics.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ScalingGraphics.java
deleted file mode 100644
index 0809812c2..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ScalingGraphics.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * @(#)ScalingGraphics.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.zoom;
-
-import java.awt.*;
-import java.awt.image.ImageObserver;
-
-/**
- * A graphics context that can scale to an arbitrary factor.
- *
- * Note: this class is only needed for a JDK1.1 compliant implementation
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ScalingGraphics extends java.awt.Graphics {
-
-	/**
-	 * The scale used for all drawing operations.
-	 */
-	private double scale = 1.0;
-
-	/**
-	 * The actual graphics context to which drawing is delegated.
-	 */
-	private Graphics real;
-
-	/**
-	 * The font with which the user thinks he is drawing.
-	 * On the real graphics context, a scaled font is substituted
-	 * for it (which may or may not be precisely to scale).
-	 */
-	private Font userFont;
-
-	/**
-	 * The current clipping rectangle, in user coordinates.
-	 * Cached here to avoid unnecessary scaling back and forth.
-	 */
-	private Rectangle userClip;
-
-
-	public ScalingGraphics(Graphics realGraphics) {
-		real = realGraphics;
-	}
-
-	/**
-	 * Sets the scale to be used for any subsequent drawing operations.
-	 * All coordinates are multiplied by this value in both x- and
-	 * y-direction before drawing.  Thus, a value of 1.0 means no
-	 * scaling, smaller values shrink the picture, larger ones enlarge
-	 * it.
-	 */
-	public void setScale(double newScale) {
-		scale = newScale;
-	}
-
-	/**
-	 * Returns the scale factor currently used for drawing operations.
-	 * @see #setScale
-	 */
-	public double getScale() {
-		return scale;
-	}
-
-	/**
-	 * Returns the font that should be substituted for the
-	 * given font at the given scale.
-	 */
-	private static Font scaledFont(Font f, double scale) {
-		int size = f.getSize();
-		int scaledSize = (int) (size * scale);
-		//if (scaledSize < 6) scaledSize = 6;
-		return new Font(f.getFamily(), f.getStyle(), scaledSize);
-	}
-
-	/**
-	 * Scales a shape to the given scale.
-	 */
-	private static Shape scaledShape(Shape s, double scale) {
-		if (s instanceof Rectangle) {
-			Rectangle r = (Rectangle) s;
-			return new Rectangle((int) (r.x * scale), (int) (r.y * scale),
-					(int) (r.width * scale), (int) (r.height * scale));
-		}
-		else {
-			throw new RuntimeException("Cannot scale shape: " + s.getClass().getName());
-		}
-	}
-
-	// delegating implementations below this line
-
-	public Graphics create() {
-		Graphics realCopy = real.create();
-		ScalingGraphics result = new ScalingGraphics(realCopy);
-		result.setScale(getScale());
-		return result;
-	}
-
-	public void translate(int x, int y) {
-		real.translate((int) (x * scale), (int) (y * scale));
-	}
-
-	public Color getColor() {
-		return real.getColor();
-	}
-
-	public void setColor(Color c) {
-		real.setColor(c);
-	}
-
-	public void setPaintMode() {
-		real.setPaintMode();
-	}
-
-	public void setXORMode(Color c1) {
-		real.setXORMode(c1);
-	}
-
-	public Font getFont() {
-		// returns the font with which the user thinks he is drawing
-		if (userFont == null)
-			userFont = real.getFont();
-		return userFont;
-	}
-
-	public void setFont(Font font) {
-		userFont = font;
-		real.setFont(scaledFont(font, scale));
-	}
-
-	public FontMetrics getFontMetrics() {
-		return new ScalingFontMetrics(userFont, real.getFontMetrics());
-	}
-
-	public FontMetrics getFontMetrics(Font f) {
-		// returns a ScalingFontMetrics object that measures distances
-		// on the real font, and scales them back to user coordinates
-		return new ScalingFontMetrics(f,
-				real.getFontMetrics(scaledFont(f, scale)));
-	}
-
-	public Rectangle getClipBounds() {
-		return userClip;
-	}
-
-	public void clipRect(int x, int y, int width, int height) {
-		if (userClip == null)
-			userClip = new Rectangle(x, y, width, height);
-		else
-			userClip = userClip.intersection(new Rectangle(x, y, width, height));
-		real.clipRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void setClip(int x, int y, int width, int height) {
-		userClip = new Rectangle(x, y, width, height);
-		real.setClip((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public Shape getClip() {
-		return userClip;
-	}
-
-	public void setClip(Shape clip) {
-		userClip = (Rectangle) clip;
-		if (clip != null)
-		// Scale the Shape before applying it.
-			real.setClip(scaledShape(clip, scale));
-		else
-			real.setClip(null);
-	}
-
-	public void copyArea(int x, int y, int width, int height,
-						 int dx, int dy) {
-		real.copyArea((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				(int) (dx * scale), (int) (dy * scale));
-	}
-
-	public void drawLine(int x1, int y1, int x2, int y2) {
-		real.drawLine((int) (x1 * scale), (int) (y1 * scale),
-				(int) (x2 * scale), (int) (y2 * scale));
-	}
-
-	public void fillRect(int x, int y, int width, int height) {
-		real.fillRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void clearRect(int x, int y, int width, int height) {
-		real.clearRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void drawRoundRect(int x, int y, int width, int height,
-							  int arcWidth, int arcHeight) {
-		real.drawRoundRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				(int) (arcWidth * scale), (int) (arcHeight * scale));
-	}
-
-	public void fillRoundRect(int x, int y, int width, int height,
-							  int arcWidth, int arcHeight) {
-		real.fillRoundRect((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				(int) (arcWidth * scale), (int) (arcHeight * scale));
-	}
-
-	public void drawOval(int x, int y, int width, int height) {
-		real.drawOval((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void fillOval(int x, int y, int width, int height) {
-		real.fillOval((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale));
-	}
-
-	public void drawArc(int x, int y, int width, int height,
-						int startAngle, int arcAngle) {
-		real.drawArc((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				startAngle, arcAngle);
-	}
-
-	public void fillArc(int x, int y, int width, int height,
-						int startAngle, int arcAngle) {
-		real.fillArc((int) (x * scale), (int) (y * scale),
-				(int) (width * scale), (int) (height * scale),
-				startAngle, arcAngle);
-	}
-
-	public void drawPolyline(int xPoints[], int yPoints[],
-							 int nPoints) {
-		int[] realXPoints = new int[nPoints];
-		int[] realYPoints = new int[nPoints];
-		for (int i = 0; i < nPoints; i++) {
-			realXPoints[i] = (int) (xPoints[i] * scale);
-			realYPoints[i] = (int) (yPoints[i] * scale);
-		}
-		real.drawPolyline(realXPoints, realYPoints, nPoints);
-	}
-
-	public void drawPolygon(int xPoints[], int yPoints[],
-							int nPoints) {
-		int[] realXPoints = new int[nPoints];
-		int[] realYPoints = new int[nPoints];
-		for (int i = 0; i < nPoints; i++) {
-			realXPoints[i] = (int) (xPoints[i] * scale);
-			realYPoints[i] = (int) (yPoints[i] * scale);
-		}
-		real.drawPolygon(realXPoints, realYPoints, nPoints);
-	}
-
-	public void fillPolygon(int xPoints[], int yPoints[],
-							int nPoints) {
-		int[] realXPoints = new int[nPoints];
-		int[] realYPoints = new int[nPoints];
-		for (int i = 0; i < nPoints; i++) {
-			realXPoints[i] = (int) (xPoints[i] * scale);
-			realYPoints[i] = (int) (yPoints[i] * scale);
-		}
-		real.fillPolygon(realXPoints, realYPoints, nPoints);
-	}
-
-	public void drawString(String str, int x, int y) {
-		real.drawString(str, (int) (x * scale), (int) (y * scale));
-	}
-
-	// drop this method if using jdk 1.1
-	public void drawString(java.text.AttributedCharacterIterator iterator,
-						   int x, int y) {
-		real.drawString(iterator, (int) (x * scale), (int) (y * scale));
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 ImageObserver observer) {
-		// DoubleBufferImages must not be scaled.
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (img.getWidth(observer) * scale),
-					(int) (img.getHeight(observer) * scale),
-					observer);
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 int width, int height,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, width, height, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (width * scale), (int) (height * scale),
-					observer);
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 Color bgcolor,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, bgcolor, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (img.getWidth(observer) * scale),
-					(int) (img.getHeight(observer) * scale),
-					bgcolor, observer);
-	}
-
-	public boolean drawImage(Image img, int x, int y,
-							 int width, int height,
-							 Color bgcolor,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					x, y, width, height, bgcolor, observer);
-		else
-			return real.drawImage(img, (int) (x * scale), (int) (y * scale),
-					(int) (width * scale), (int) (height * scale),
-					bgcolor, observer);
-	}
-
-	public boolean drawImage(Image img,
-							 int dx1, int dy1, int dx2, int dy2,
-							 int sx1, int sy1, int sx2, int sy2,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
-					observer);
-		else
-			return real.drawImage(img, (int) (dx1 * scale), (int) (dy1 * scale),
-					(int) (dx2 * scale), (int) (dy2 * scale),
-					(int) (sx1 * scale), (int) (sy1 * scale),
-					(int) (sx2 * scale), (int) (sy2 * scale),
-					observer);
-	}
-
-	public boolean drawImage(Image img,
-							 int dx1, int dy1, int dx2, int dy2,
-							 int sx1, int sy1, int sx2, int sy2,
-							 Color bgcolor,
-							 ImageObserver observer) {
-		if (img instanceof DoubleBufferImage)
-			return real.drawImage(((DoubleBufferImage) img).getRealImage(),
-					dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2,
-					bgcolor, observer);
-		else
-			return real.drawImage(img, (int) (dx1 * scale), (int) (dy1 * scale),
-					(int) (dx2 * scale), (int) (dy2 * scale),
-					(int) (sx1 * scale), (int) (sy1 * scale),
-					(int) (sx2 * scale), (int) (sy2 * scale),
-					bgcolor, observer);
-	}
-
-	public void dispose() {
-		real.dispose();
-	}
-
-	/**
-	 * A scaling extension of the FontMetrics class.  Measurements
-	 * are performed on the actual, scaled font used on the screen,
-	 * and then scaled back into user space.  The object pretends
-	 * to be measuring the font specified by the user when obtaining
-	 * this FontMetrics object.
-	 */
-	private class ScalingFontMetrics extends FontMetrics {
-
-		/**
-		 * A FontMetrics object on the real, scaled font.  All queries
-		 * are forwarded to this object, and the results scaled back
-		 * into user space.
-		 */
-		private FontMetrics real;
-
-		/**
-		 * The font which the user thinks he is asking about.
-		 */
-		private Font userFont;
-
-		public ScalingFontMetrics(Font newUserFont, FontMetrics newReal) {
-			super(null);
-			userFont = newUserFont;
-			real = newReal;
-		}
-
-		// Delegating methods below this line.  Only those methods which
-		// the man page suggests as a minimal subset are implemented.
-
-		public Font getFont() {
-			return userFont;
-		}
-
-		public int getAscent() {
-			return (int) (real.getAscent() / ScalingGraphics.this.getScale());
-		}
-
-		public int getLeading() {
-			return (int) (real.getLeading() / ScalingGraphics.this.getScale());
-		}
-
-		public int getMaxAdvance() {
-			return (int) (real.getMaxAdvance() / ScalingGraphics.this.getScale());
-		}
-
-		public int charWidth(char ch) {
-			return (int) (real.charWidth(ch) / ScalingGraphics.this.getScale());
-		}
-
-		public int charsWidth(char[] data, int off, int len) {
-			return (int) (real.charsWidth(data, off, len) /
-					ScalingGraphics.this.getScale());
-		}
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomAreaTracker.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomAreaTracker.java
deleted file mode 100644
index 87b72aaed..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomAreaTracker.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)ZoomAreaTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.zoom;
-
-import org.jhotdraw.framework.DrawingEditor;
-
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomAreaTracker extends AreaTracker {
-
-	public ZoomAreaTracker(DrawingEditor editor) {
-		super(editor);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		Rectangle zoomArea = getArea();
-		super.mouseUp(e, x, y);
-		if (zoomArea.width > 4 && zoomArea.height > 4)
-			((ZoomDrawingView) view()).zoom(zoomArea.x, zoomArea.y,
-					zoomArea.width, zoomArea.height);
-	}
-
-}
-
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomCommand.java
deleted file mode 100644
index 639bff148..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomCommand.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- *  @(#)ZoomCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.contrib.zoom;
-
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.framework.JHotDrawRuntimeException;
-
-import org.jhotdraw.standard.AbstractCommand;
-
-/**
- * A ZoomCommand allows for applying a zoom factor to a ZoomDrawingView.<br>
- * Several ZoomCommand objects can be created in a menu or toolbar, set to various
- * predefined zoom factors
- *
- * @author    Eduardo Francos
- * @created   26 april 2002
- * @version   <CURRENT_VERSION>
- */
-public class ZoomCommand extends AbstractCommand {
-	/** The scale factor to apply */
-	protected float scale = 1.0f;
-
-	/**
-	 * Constructor for the ZoomCommand object
-	 *
-	 * @param name              the command name
-	 * @param scale             Description of the Parameter
-	 * @param newDrawingEditor  the DrawingEditor which manages the views
-	 */
-	public ZoomCommand(String newSame, float newScale, DrawingEditor newDrawingEditor) {
-		super(newSame, newDrawingEditor, true);
-		scale = newScale;
-	}
-
-
-	/** Executes the command */
-	public void execute() {
-		super.execute();
-		zoomView().zoom(scale);
-	}
-
-
-	/**
-	 * Sets the zoom factor of the view
-	 *
-	 * @return   ZoomDrawingView currently active in the editor
-	 */
-	public ZoomDrawingView zoomView() {
-		Object view = super.view();
-		if (view instanceof ZoomDrawingView) {
-			return (ZoomDrawingView)view;
-		}
-		throw new JHotDrawRuntimeException("execute should NOT be getting called when view not instanceof ZoomDrawingView");
-	}
-
-
-	/**
-	 * Gets the scale attribute of the ZoomCommand object
-	 *
-	 * @return   The scale value
-	 */
-	public float getScale() {
-		return scale;
-	}
-
-
-	/**
-	 * Sets the scale attribute of the ZoomCommand object
-	 *
-	 * @param newScale  The new scale value
-	 */
-	public void setScale(float newScale) {
-		scale = newScale;
-	}
-
-
-	/**
-	 * Returns true if the command is executable with the current view
-	 *
-	 * @return   true iff the view is a ZoomDrawingView
-	 */
-	protected boolean isExecutableWithView() {
-		return (view() instanceof ZoomDrawingView);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomDrawingView.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomDrawingView.java
deleted file mode 100644
index c8e0335a7..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomDrawingView.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*
- * @(#)ZoomDrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.zoom;
-
-import org.jhotdraw.framework.Drawing;
-import org.jhotdraw.framework.DrawingChangeEvent;
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.framework.JHotDrawRuntimeException;
-import org.jhotdraw.standard.StandardDrawing;
-import org.jhotdraw.standard.StandardDrawingView;
-import org.jhotdraw.util.Geom;
-
-import javax.swing.JViewport;
-import java.awt.*;
-import java.awt.event.*;
-import java.awt.geom.AffineTransform;
-
-/**
- * A view that can display drawings at an arbitrary scale.
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomDrawingView extends StandardDrawingView {
-
-	/**
-	 * The current scaling factor
-	 */
-	private double scale = 1.0;
-
-	/**
-	 * The zooming speed, meaning the scaling factor change speed when doing
-	 * zoomIn/zoomOut operations.<br>
-	 * Default of 2.0 is increase 100% or decrease 50% the current factor.<br>
-	 * Can be changed dynamically by clients using the setter method
-	 */
-	private double zoomSpeed = 2.0;
-
-	public ZoomDrawingView(DrawingEditor editor) {
-		this(editor, MINIMUM_WIDTH, MINIMUM_HEIGHT);
-	}
-
-	public ZoomDrawingView(DrawingEditor editor, int width, int height) {
-		super(editor, width, height);
-	}
-
-	/**
-	 * @return The current zoom scale of this view.  The dimensions of
-	 *         figures are multiplied by this number before display.
-	 */
-	public final double getScale() {
-		return scale;
-	}
-
-	/**
-	 * Sets a new zoom scale for this view.  The dimensions of figures
-	 * are multiplied by this number before display.
-	 */
-	private void setScale(double newScale) {
-		// "de"-scale with old scale
-		Dimension oldSize = getUserSize();
-		scale = newScale;
-		// re-scale with new scale
-		setUserSize(oldSize.width, oldSize.height);
-		centralize(drawing());
-		forceRedraw();
-	}
-
-	private void forceRedraw() {
-		drawingInvalidated(new DrawingChangeEvent
-				(drawing(), new Rectangle(getSize())));
-		repairDamage();
-	}
-
-	/**
-	 * Sets the size of this view in user coordinates.  The size of the view
-	 * on the screen will be this size, multiplied by the current scale.
-	 */
-	public void setUserSize(int width, int height) {
-		setSize((int) (width * getScale()),
-				(int) (height * getScale()));
-	}
-
-	/**
-	 * Sets the size of this view in user coordinates.  The size of the view
-	 * on the screen will be this size, multiplied by the current scale.
-	 */
-	public void setUserSize(Dimension d) {
-		setUserSize(d.width, d.height);
-	}
-
-	/**
-	 * @return the size of this view, in screen coordinates
-	 */
-	public Dimension getSize() {
-		return super.getSize();
-	}
-
-	public Dimension getViewportSize() {
-		return getParent().getSize();
-	}
-
-	protected boolean hasZoomSupport() {
-		return getParent() instanceof JViewport;
-	}
-
-	/**
-	 * Sets the coordinates of the left top corner displayed by the view.<br>
-	 */
-	public void setOriginPosition(Point newOrigin) {
-		setViewPosition(newOrigin);
-		forceRedraw();
-	}
-
-	protected void setViewPosition(Point newPosition) {
-		((JViewport)getParent()).setViewPosition(newPosition);
-	}
-
-	/**
-	 * @return The size of this view, in user coordinates.  The size
-	 *         on the screen is this size, multiplied by the current scale.
-	 */
-	public Dimension getUserSize() {
-		Dimension screenSize = getSize();
-		return new Dimension((int) (screenSize.width / getScale()),
-				(int) (screenSize.height / getScale()));
-	}
-
-	/**
-	 * Readjusts this view and its containing ScrollPane to display the
-	 * given rectangle, which is given in user coordinates.  This method
-	 * only works if this view is contained in a JViewport.  It throws
-	 * a RuntimeException otherwise.
-	 */
-	public void zoom(int x, int y, int width, int height) {
-		if (hasZoomSupport()) {
-			Dimension viewportSize = getViewportSize();
-			double xScale = (double) viewportSize.width / (double) width;
-			double yScale = (double) viewportSize.height / (double) height;
-			double newScale = Math.min(xScale, yScale);
-
-			// "de"-scale with old scale
-			Dimension userSize = getUserSize();
-			this.scale = newScale;
-			// re-scale with new scale
-			setUserSize(userSize);
-
-			revalidate();
-			setViewPosition(
-					new Point((int) (x * getScale()), (int) (y * getScale())));
-			forceRedraw();
-		}
-		else {
-			throw new JHotDrawRuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * Set this view's scale factor
-	 */
-	public void zoom(float newScale) {
-		if (hasZoomSupport()) {
-			JViewport viewport = (JViewport) getParent();
-			Dimension viewportSize = viewport.getSize();
-			Dimension userSize = getUserSize();
-			scale = newScale;
-			Point viewOrg = viewport.getViewPosition();
-			viewOrg.x = viewOrg.x + (viewportSize.width / 2);
-			viewOrg.y = viewOrg.y + (viewportSize.height / 2);
-			int xScreen = (int) (viewOrg.x * scale);
-			int yScreen = (int) (viewOrg.y * scale);
-			int xOrigin = xScreen - viewportSize.width / 2;
-			int yOrigin = yScreen - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			setUserSize(userSize);
-			revalidate();
-			viewport.setViewPosition(new Point(xOrigin, yOrigin));
-			forceRedraw();
-		}
-		else {
-			throw new JHotDrawRuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * Zooms out by a factor of two, keeping point (x,y), which is given
-	 * in user coordinates, in the center.
-	 */
-	public void zoomOut(int x, int y) {
-		if (hasZoomSupport()) {
-			Dimension viewportSize = getViewportSize();
-			// "de"-scale with old scale
-			Dimension userSize = getUserSize();
-			this.scale = getScale() / getZoomSpeed();
-			int xScreen = (int) (x * getScale());
-			int yScreen = (int) (y * getScale());
-			int xOrigin = xScreen - viewportSize.width / 2;
-			int yOrigin = yScreen - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			// re-scale with new scale
-			setUserSize(userSize);
-			revalidate();
-			setViewPosition(new Point(xOrigin, yOrigin));
-			forceRedraw();
-		}
-		else {
-			throw new JHotDrawRuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * InContext
-	 * Zooms in by a factor of the current scale, keeping point (x,y), which is given
-	 * in user coordinates, in the center.
-	 */
-	public void zoomIn(int x, int y) {
-		if (hasZoomSupport()) {
-			JViewport viewport = (JViewport) getParent();
-			Dimension viewportSize = viewport.getSize();
-			Dimension userSize = getUserSize();
-			this.scale = getScale() * getZoomSpeed();
-			int xScreen = (int) (x * getScale());
-			int yScreen = (int) (y * getScale());
-			int xOrigin = xScreen - viewportSize.width / 2;
-			int yOrigin = yScreen - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			setUserSize(userSize);
-			revalidate();
-			viewport.setViewPosition(new Point(xOrigin, yOrigin));
-			forceRedraw();
-		}
-		else {
-			throw new JHotDrawRuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	/**
-	 * Sets the zoom scale to 1.0 and adjusts the scroll pane
-	 * so that point (x, y) is in the center.
-	 */
-	public void deZoom(int x, int y) {
-		if (hasZoomSupport()) {
-			Dimension viewportSize = getViewportSize();
-			Dimension userSize = getUserSize();
-			int xOrigin = x - viewportSize.width / 2;
-			int yOrigin = y - viewportSize.height / 2;
-			if (xOrigin < 0) xOrigin = 0;
-			if (yOrigin < 0) yOrigin = 0;
-			this.scale = 1.0;
-			setUserSize(userSize);
-			revalidate();
-			setViewPosition(new Point((int) (xOrigin),
-					(int) (yOrigin)));
-			forceRedraw();
-		}
-		else {
-			throw new JHotDrawRuntimeException
-					("zooming only works if this view is contained in a ScrollPane");
-		}
-	}
-
-	public void paint(Graphics g) {
-		super.paint(transformGraphics(g, getScale()));
-	}
-
-	public Graphics getGraphics() {
-		return transformGraphics(super.getGraphics(), getScale());
-	}
-
-	private final Graphics transformGraphics(Graphics g, double currentScale) {
-		if (currentScale != 1.0) {
-			Graphics2D g2 = (Graphics2D) g;
-			// Don't use setTransform() here because that would destroy
-			// any transformation that Swing sets for partial redrawing.
-			// Simply add our own transformation to any existing one.
-			g2.transform(AffineTransform.getScaleInstance(currentScale, currentScale));
-		}
-        return g;
-	}
-
-	/**
-	 * Constrain to user coordinates, not screen coordinates.
-	 */
-	protected Point constrainPoint(Point p) {
-		Dimension size = getSize();
-		p.x = Geom.range(1, (int) (size.width / getScale()), p.x);
-		p.y = Geom.range(1, (int) (size.height / getScale()), p.y);
-		if (getConstrainer() != null) {
-			return getConstrainer().constrainPoint(p);
-		}
-		return p;
-	}
-
-	public void drawBackground(Graphics g) {
-		g.setColor(getBackground());
-		g.fillRect(0, 0,
-				(int) (getBounds().width / getScale()),
-				(int) (getBounds().height / getScale()));
-	}
-
-	private void centralize(Drawing d, Dimension bounds) {
-		Point boundsCenter = new Point(bounds.width / 2, bounds.height / 2);
-		Rectangle r = ((StandardDrawing) d).displayBox();
-		Point drawingCenter = new Point(r.x + r.width / 2, r.y + r.height / 2);
-		int diffX = boundsCenter.x - drawingCenter.x;
-		int diffY = boundsCenter.y - drawingCenter.y;
-		if (diffX != 0 || diffY != 0) {
-			for (FigureEnumeration fe = d.figures(); fe.hasNextFigure();) {
-				fe.nextFigure().moveBy(diffX, diffY);
-			}
-		}
-	}
-
-	private void centralize(Drawing d) {
-		centralize(d, getUserSize());
-	}
-
-	public void setDrawing(Drawing d) {
-		super.setDrawing(d);
-
-		Rectangle r = ((StandardDrawing) d).displayBox();
-		//Dimension drawingSize = new Dimension(r.width, r.height);
-		Dimension viewportSize = new Dimension(r.width, r.height);
-		if (getParent() != null) {
-			viewportSize = getViewportSize();
-		}
-/*
-		Dimension userSize = new Dimension(viewportSize);
-		this.scale = 1.0;
-
-		while (drawingSize.width > userSize.width ||
-				drawingSize.height > userSize.height) {
-			this.scale = getScale() / 2.0;
-			userSize.width = userSize.width * 2;
-			userSize.height = userSize.height * 2;
-		}
-		centralize(d, userSize);
-*/
-		super.setPreferredSize(viewportSize);
-		super.setSize(viewportSize);
-		revalidate();
-	}
-
-	public Dimension getMinimumSize() {
-		return super.getSize();
-	}
-
-	public Dimension getPreferredSize() {
-		return getMinimumSize();
-	}
-
-	/**
-	 * Overridden to scale damage to screen coordinates.
-	 */
-	public void repairDamage() {
-		Rectangle damagedArea = getDamage();
-		if (damagedArea != null) {
-			repaint((int) (damagedArea.x * getScale()),
-					(int) (damagedArea.y * getScale()),
-					(int) (damagedArea.width * getScale()),
-					(int) (damagedArea.height * getScale()));
-			setDamage(null);
-		}
-	}
-
-	/**
-	 * Overridden to accumulate damage in an instance variable of this class.
-	 */
-	public void drawingInvalidated(DrawingChangeEvent e) {
-		Rectangle r = e.getInvalidatedRectangle();
-		if (getDamage() == null) {
-			setDamage(r);
-		}
-		else {
-			Rectangle damagedArea = getDamage();
-			damagedArea.add(r);
-			// the returned rectange may be a clone so we better set it again
-			setDamage(damagedArea);
-		}
-	}
-
-	/**
-	 * @return a new MouseEvent, the coordinates of which are transformed
-	 *         to compensate for the current zoom factor
-	 */
-	private MouseEvent createScaledEvent(MouseEvent e) {
-		return new MouseEvent(e.getComponent(),
-				e.getID(),
-				e.getWhen(),
-				e.getModifiers(),
-				(int) (e.getX() / getScale()),
-				(int) (e.getY() / getScale()),
-				e.getClickCount(),
-				e.isPopupTrigger());
-	}
-
-
-	protected MouseListener createMouseListener() {
-		return new StandardDrawingView.DrawingViewMouseListener() {
-			public void mousePressed(MouseEvent e) {
-				super.mousePressed(createScaledEvent(e));
-			}
-			public void mouseReleased(MouseEvent e) {
-				super.mouseReleased(createScaledEvent(e));
-			}
-		};
-	}
-
-	protected MouseMotionListener createMouseMotionListener() {
-		return new StandardDrawingView.DrawingViewMouseMotionListener() {
-			public void mouseDragged(MouseEvent e) {
-				super.mouseDragged(createScaledEvent(e));
-			}
-			public void mouseMoved(MouseEvent e) {
-				super.mouseMoved(createScaledEvent(e));
-			}
-		};
-	}
-
-	protected KeyListener createKeyListener() {
-		return new StandardDrawingView.DrawingViewKeyListener() {
-			public void keyPressed(KeyEvent e) {
-				super.keyPressed(e);
-				if (e.getKeyChar() == ' ') {
-					forceRedraw();
-				}
-				else if (e.getKeyChar() == 'o') {
-					setScale(getScale() / getZoomSpeed());
-				}
-				else if (e.getKeyChar() == 'i') {
-					setScale(getScale() * getZoomSpeed());
-				}
-				else if (e.getKeyChar() == 'c') {
-					centralize(drawing());
-				}
-				else {
-					super.keyPressed(e);
-				}
-			}
-		};
-	}
-
-	/**
-	 * Returns the current zoom speed
-	 */
-	public double getZoomSpeed()
-	{
-		return zoomSpeed;
-	}
-
-	/**
-	 * Set the zoom speed. Will be greater than 1.
-	 */
-	public void setZoomSpeed(double newZoomSpeed)
-	{
-		// check greater than 1. A smaller value would reverse the zooming
-		// operation, and a zero value would provoque divide by zero exceptions
-		zoomSpeed = Math.max(1.1, newZoomSpeed);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomTool.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomTool.java
deleted file mode 100644
index d00e86152..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomTool.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)ZoomTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.zoom;
-
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.framework.Tool;
-import org.jhotdraw.standard.AbstractTool;
-
-import java.awt.event.InputEvent;
-import java.awt.event.MouseEvent;
-
-/**
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomTool extends AbstractTool {
-
-	private Tool child;
-
-	public ZoomTool(DrawingEditor editor) {
-		super(editor);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		//  Added handling for SHIFTed and CTRLed BUTTON3_MASK so that normal
-		//  BUTTON3_MASK does zoomOut, SHIFTed BUTTON3_MASK does zoomIn
-		//  and CTRLed BUTTON3_MASK does deZoom
-		if ((e.getModifiers() & InputEvent.BUTTON1_MASK) != 0) {
-			if (child != null) {
-				return;
-			}
-			view().freezeView();
-			child = new ZoomAreaTracker(editor());
-			child.mouseDown(e, x, y);
-		}
-		else if ((e.getModifiers() & InputEvent.BUTTON2_MASK) != 0) {
-			((ZoomDrawingView) view()).deZoom(x, y);
-		}
-		else if ((e.getModifiers() & InputEvent.BUTTON3_MASK) != 0) {
-			if ((e.getModifiers() & InputEvent.SHIFT_MASK) != 0) {
-				((ZoomDrawingView)view()).zoomIn(x, y);
-			}
-			else if ((e.getModifiers() & InputEvent.CTRL_MASK) != 0) {
-
-				((ZoomDrawingView) view()).deZoom(x, y);
-			}
-			else {
-				((ZoomDrawingView)view()).zoomOut(x, y);
-			}
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (child != null) {
-			child.mouseDrag(e, x, y);
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (child != null) {
-			view().unfreezeView();
-			child.mouseUp(e, x, y);
-		}
-		child = null;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomUpdateStrategy.java b/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomUpdateStrategy.java
deleted file mode 100644
index b313b0934..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/contrib/zoom/ZoomUpdateStrategy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)ZoomUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.contrib.zoom;
-
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.framework.Painter;
-
-import java.awt.*;
-
-/**
- * A variant of the BufferedUpdateStrategy that handles clipping
- * rectangles correctly in the presence of zooming.
- * @see org.jhotdraw.standard.BufferedUpdateStrategy
- *
- * @author Andre Spiegel <spiegel@gnu.org>
- * @version <$CURRENT_VERSION$>
- */
-public class ZoomUpdateStrategy implements Painter {
-
-	/**
-	 * The offscreen image
-	 */
-	transient private Image fOffscreen;
-	private int fImagewidth = -1;
-	private int fImageheight = -1;
-
-	/**
-	 * Draws the view contents.
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		// create the buffer if necessary
-		Dimension d = view.getSize();
-		if ((fOffscreen == null) || (d.width != fImagewidth)
-				|| (d.height != fImageheight)) {
-			fOffscreen = view.createImage(d.width, d.height);
-			fImagewidth = d.width;
-			fImageheight = d.height;
-		}
-
-		Graphics g2 = fOffscreen.getGraphics();
-		Rectangle r = g.getClipBounds();
-
-		if (g2 instanceof ScalingGraphics) {
-			ScalingGraphics s2 = (ScalingGraphics) g2;
-
-			// AWT sets clipping rectangles in screen coordinates, not user
-			// coordinates.  Therefore, we scale the clipping rectangle to
-			// user coordinates here, and then apply it to both buffers,
-			// which scale it back to screen coordinates.
-			if (r != null) {
-				// Make the rectangle slightly larger, to compensate
-				// for integer rounding errors.
-				r = new Rectangle((int) ((r.x - 2) / s2.getScale()),
-						(int) ((r.y - 2) / s2.getScale()),
-						(int) ((r.width + 4) / s2.getScale()),
-						(int) ((r.height + 4) / s2.getScale()));
-				g.setClip(r);
-			}
-		}
-		g2.setClip(r);
-
-		view.drawAll(g2);
-		g.drawImage(fOffscreen, 0, 0, view);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/AbstractLineDecoration.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/AbstractLineDecoration.java
deleted file mode 100644
index b31270a09..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/AbstractLineDecoration.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)AbstractLineDecoration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.io.*;
-import java.awt.*;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-
-/**
- * An standard implementation of a line decoration.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractLineDecoration implements LineDecoration {
-
-	static final long serialVersionUID = 1577970039258356627L;
-
-	private Color   fFillColor;
-	private Color   fBorderColor;
-	private transient Rectangle myBounds;
-
-	public AbstractLineDecoration() {
-	}
-
-   /**
-	* Draws the arrow tip in the direction specified by the given two
-	* points.. (template method)
-	*/
-	public void draw(Graphics g, int x1, int y1, int x2, int y2) {
-		// TBD: reuse the Polygon object
-		Polygon p = outline(x1, y1, x2, y2);
-		myBounds = p.getBounds();
-		if (getFillColor() == null) {
-			g.fillPolygon(p.xpoints, p.ypoints, p.npoints);
-		}
-		else {
-			Color drawColor = g.getColor();
-			g.setColor(getFillColor());
-			g.fillPolygon(p.xpoints, p.ypoints, p.npoints);
-			g.setColor(drawColor);
-		}
-
-		if (getBorderColor() != getFillColor()) {
-			Color drawColor = g.getColor();
-			g.setColor(getBorderColor());
-			g.drawPolygon(p.xpoints, p.ypoints, p.npoints);
-			g.setColor(drawColor);
-		}
-	}
-
-	/**
-	 * The LineDecoration has only a displayBox after it has been drawn
-	 * at least once. If it has not yet been drawn then a rectangle of size 0
-	 * is returned.
-	 * @return the display box of a LineDecoration.
-	 */
-	public Rectangle displayBox() {
-		if (myBounds != null) {
-			return myBounds;
-		}
-		else {
-			return new Rectangle(0, 0);
-		}
-	}
-
-   /**
-	* Hook method to calculates the outline of an arrow tip.
-	*/
-	public abstract Polygon outline(int x1, int y1, int x2, int y2);
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		if (getFillColor() != null) {
-			FigureAttributes.writeColor(dw, FigureAttributeConstant.FILL_COLOR.getName(), getFillColor());
-		}
-		else {
-			dw.writeString("no" + FigureAttributeConstant.FILL_COLOR.getName());
-		}
-
-		if (getBorderColor() != null) {
-			FigureAttributes.writeColor(dw, FigureAttributeConstant.FRAME_COLOR.getName(), getBorderColor());
-		}
-		else {
-			dw.writeString("no" + FigureAttributeConstant.FRAME_COLOR.getName());
-		}
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		String fillColorId = dr.readString();
-		// read color only if one has been written
-		if (fillColorId.equals(FigureAttributeConstant.FILL_COLOR.getName())) {
-			setFillColor(FigureAttributes.readColor(dr));
-		}
-		String borderColorId = dr.readString();
-		// read color only if one has been written
-		if (borderColorId.equals("BorderColor")
-				||  borderColorId.equals(FigureAttributeConstant.FRAME_COLOR.getName())) {
-			setBorderColor(FigureAttributes.readColor(dr));
-		}
-	}
-
-	/**
-	 * Sets color with which arrow is filled
-	 */
-	public void setFillColor(Color fillColor) {
-		fFillColor = fillColor;
-	}
-
-	/**
-	 * Returns color with which arrow is filled
-	 */
-	public Color getFillColor() {
-		return fFillColor;
-	}
-
-	/**
-	 * Sets color of arrow's border
-	 */
-	public void setBorderColor(Color borderColor) {
-		fBorderColor = borderColor;
-	}
-
-	/**
-	 * Returns color of arrow's border
-	 */
-	public Color getBorderColor() {
-		return fBorderColor;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/ArrowTip.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/ArrowTip.java
deleted file mode 100644
index 49c01a0f9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/ArrowTip.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * @(#)ArrowTip.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.io.*;
-import java.awt.*;
-
-import org.jhotdraw.util.*;
-
-/**
- * An arrow tip line decoration.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ArrowTip extends AbstractLineDecoration {
-
-	private double  fAngle;         // pointiness of arrow
-	private double  fOuterRadius;
-	private double  fInnerRadius;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -3459171428373823638L;
-	private int arrowTipSerializedDataVersion = 1;
-
-	public ArrowTip() {
-		this(0.40, 8, 8);  // this(0.35, 15, 12);
-	}
-
-   /**
-	* Constructs an arrow tip with the given angle and radius.
-	*/
-	public ArrowTip(double angle, double outerRadius, double innerRadius) {
-		setAngle(angle);
-		setOuterRadius(outerRadius);
-		setInnerRadius(innerRadius);
-	}
-	
-   /**
-	* Calculates the outline of an arrow tip.
-	*/
-	public Polygon outline(int x1, int y1, int x2, int y2) {
-		double dir = Math.PI/2 - Math.atan2(x2 - x1, y2 - y1);
-		return outline(x1, y1, dir);
-	}
-
-	private Polygon outline(int x, int y, double direction) {
-		Polygon shape = new Polygon();
-
-		shape.addPoint(x, y);
-		addPointRelative(shape, x, y, getOuterRadius(), direction - getAngle());
-		addPointRelative(shape, x, y, getInnerRadius(), direction);
-		addPointRelative(shape, x, y, getOuterRadius(), direction + getAngle());
-		shape.addPoint(x,y); // Closing the polygon (TEG 97-04-23)
-		return shape;
-	}
-
-	private void addPointRelative(Polygon shape, int x, int y, double radius, double angle) {
-		shape.addPoint(
-			x + (int) (radius * Math.cos(angle)),
-			y + (int) (radius * Math.sin(angle)));
-	}
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeDouble(getAngle());
-		dw.writeDouble(getOuterRadius());
-		dw.writeDouble(getInnerRadius());
-		super.write(dw);
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		setAngle(dr.readDouble());
-		setOuterRadius(dr.readDouble());
-		setInnerRadius(dr.readDouble());
-		super.read(dr);
-	}
-
-	/**
-	 * Sets point angle of arrow. A smaller angle leads to a pointier arrow.
-	 * The angle is measured between the arrow line and one of the points
-	 * at the side of the arrow. Thus, the total angle at the arrow tip
-	 * is the double of the angle specified.
-	 */
-	protected void setAngle(double newAngle) {
-		fAngle = newAngle;
-	}
-	
-	/**
-	 * Returns point angle of arrow. A smaller angle leads to a pointier arrow.
-	 * The angle is measured between the arrow line and one of the points
-	 * at the side of the arrow. Thus, the total angle at the arrow tip
-	 * is the double of the angle specified.
-	 */
-	protected double getAngle() {
-		return fAngle;
-	}
-
-	/**
-	 * Sets the inner radius
-	 */
-	protected void setInnerRadius(double newInnerRadius) {
-		fInnerRadius = newInnerRadius;
-	}
-
-	/**
-	 * Returns the inner radius
-	 */        
-	protected double getInnerRadius() {
-		return fInnerRadius;
-	}
-
-	/**
-	 * Sets the outer radius
-	 */
-	protected void setOuterRadius(double newOuterRadius) {
-		fOuterRadius = newOuterRadius;
-	}
-
-	/**
-	 * Returns the outer radius
-	 */
-	protected double getOuterRadius() {
-		return fOuterRadius;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/AttributeFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/AttributeFigure.java
deleted file mode 100644
index 26f2599cd..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/AttributeFigure.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * @(#)AttributeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-
-import java.awt.*;
-import java.io.*;
-
-/**
- * A figure that can keep track of an open ended set of attributes.
- * The attributes are stored in a dictionary implemented by
- * FigureAttributes.
- *
- * @see Figure
- * @see Handle
- * @see FigureAttributes
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AttributeFigure extends AbstractFigure {
-
-	/**
-	 * The attributes of a figure. Each figure can have
-	 * an open ended set of attributes. Attributes are
-	 * identified by name.
-	 * @see #getAttribute
-	 * @see #setAttribute
-	 */
-	private FigureAttributes        fAttributes;
-
-	/**
-	 * The default attributes associated with a figure.
-	 * If a figure doesn't have an attribute set, a default
-	 * value from this shared attribute set is returned.
-	 * @see #getAttribute
-	 * @see #setAttribute
-	 */
-	private static FigureAttributes fgDefaultAttributes = null;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -10857585979273442L;
-	private int attributeFigureSerializedDataVersion = 1;
-
-	protected AttributeFigure() { }
-
-	/**
-	 * Draws the figure in the given graphics. Draw is a template
-	 * method calling drawBackground followed by drawFrame.
-	 */
-	public void draw(Graphics g) {
-		Color fill = getFillColor();
-		if (!ColorMap.isTransparent(fill)) {
-			g.setColor(fill);
-			drawBackground(g);
-		}
-		Color frame = getFrameColor();
-		if (!ColorMap.isTransparent(frame)) {
-			g.setColor(frame);
-			drawFrame(g);
-		}
-	}
-
-	/**
-	 * Draws the background of the figure.
-	 * @see #draw
-	 */
-	protected void drawBackground(Graphics g) {
-	}
-
-	/**
-	 * Draws the frame of the figure.
-	 * @see #draw
-	 */
-	protected void drawFrame(Graphics g) {
-	}
-
-	/**
-	 * Gets the fill color of a figure. This is a convenience
-	 * method.
-	 * @see #getAttribute
-	 */
-	public Color getFillColor() {
-		return (Color) getAttribute(FigureAttributeConstant.FILL_COLOR);
-	}
-
-	/**
-	 * Gets the frame color of a figure. This is a convenience
-	 * method.
-	 * @see #getAttribute
-	 */
-	public Color getFrameColor() {
-		return (Color) getAttribute(FigureAttributeConstant.FRAME_COLOR);
-	}
-
-	//---- figure attributes ----------------------------------
-
-	private static void initializeAttributes() {
-		fgDefaultAttributes = new FigureAttributes();
-		fgDefaultAttributes.set(FigureAttributeConstant.FRAME_COLOR, Color.black);
-		fgDefaultAttributes.set(FigureAttributeConstant.FILL_COLOR,  new Color(0x70DB93));
-		fgDefaultAttributes.set(FigureAttributeConstant.TEXT_COLOR,  Color.black);
-		fgDefaultAttributes.set(FigureAttributeConstant.ARROW_MODE,  new Integer(0));
-		fgDefaultAttributes.set(FigureAttributeConstant.FONT_NAME,  "Helvetica");
-		fgDefaultAttributes.set(FigureAttributeConstant.FONT_SIZE,   new Integer(12));
-		fgDefaultAttributes.set(FigureAttributeConstant.FONT_STYLE,  new Integer(Font.PLAIN));
-	}
-
-	/**
-	 * Sets or adds a default value for a named attribute
-	 * @see #getAttribute
-	 */
-	public static Object setDefaultAttribute(String name, Object value) {
-		// save current value to return it
-		Object currentValue = getDefaultAttribute(name);
-
-		fgDefaultAttributes.set(FigureAttributeConstant.getConstant(name), value);
-		return currentValue;
-	}
-
-	/**
-	 * Initializes a  default value for a named attribute
-	 * The difference between this method and setDefaultAttribute is that
-	 * if the attribute is already set then it will not be changed.<BR>
-	 * The purpose is to allow more than one source requiring the attribute
-	 * to initialize it, but only the first initialization will be used.
-	 *
-	 * @see #getAttribute
-	 * @see #setDefaultAttribute
-	 */
-	public static Object initDefaultAttribute(String name, Object value) {
-		// get current value
-		Object currentValue = getDefaultAttribute(name);
-
-		// if it's already there skip the setting
-		if (currentValue != null) {
-			return currentValue;
-		}
-
-		fgDefaultAttributes.set(FigureAttributeConstant.getConstant(name), value);
-		return null;
-	}
-
-	/**
-	 * Gets a the default value for a named attribute
-	 * @see #getAttribute
-	 */
-	public static Object getDefaultAttribute(String name) {
-		if (fgDefaultAttributes == null) {
-			initializeAttributes();
-		}
-		return fgDefaultAttributes.get(FigureAttributeConstant.getConstant(name));
-	}
-
-	public static Object getDefaultAttribute(FigureAttributeConstant attributeConstant) {
-		if (fgDefaultAttributes == null) {
-			initializeAttributes();
-		}
-		return fgDefaultAttributes.get(attributeConstant);
-	}
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getAttribute(FigureAttributeConstant.getConstant(name));
-	}
-
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		if (fAttributes != null) {
-			if (fAttributes.hasDefined(attributeConstant)) {
-				return fAttributes.get(attributeConstant);
-			}
-		}
-		return getDefaultAttribute(attributeConstant);
-	}
-
-	/**
-	 * Sets the named attribute to the new value
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		setAttribute(FigureAttributeConstant.getConstant(name), value);
-	}
-
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		if (fAttributes == null) {
-			fAttributes = new FigureAttributes();
-		}
-		fAttributes.set(attributeConstant, value);
-		changed();
-	}
-
-	/**
-	 * Stores the Figure to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		if (fAttributes == null) {
-			dw.writeString("no_attributes");
-		}
-		else {
-			dw.writeString("attributes");
-			fAttributes.write(dw);
-		}
-	}
-
-	/**
-	 * Reads the Figure from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		String s = dr.readString();
-		if (s.toLowerCase().equals("attributes")) {
-			fAttributes = new FigureAttributes();
-			fAttributes.read(dr);
-		}
-	}
-
-	private void writeObject(ObjectOutputStream o) throws IOException {
-		// Filter out Popup menu: cannot serialize any associated action-Listeners
-		// Work-around for Java-Bug: 4240860
-		Object associatedMenu = getAttribute(FigureAttributeConstant.POPUP_MENU);
-		if (associatedMenu != null) {
-			setAttribute(FigureAttributeConstant.POPUP_MENU, null);
-		}
-
-		o.defaultWriteObject();
-
-		if (associatedMenu != null) {
-			setAttribute(FigureAttributeConstant.POPUP_MENU, associatedMenu);
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/BorderDecorator.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/BorderDecorator.java
deleted file mode 100644
index ced48ba53..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/BorderDecorator.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * @(#)BorderDecorator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-
-/**
- * BorderDecorator decorates an arbitrary Figure with
- * a border.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class BorderDecorator extends DecoratorFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 1205601808259084917L;
-	private int borderDecoratorSerializedDataVersion = 1;
-
-	private Point myBorderOffset;
-	private Color myBorderColor;
-	private Color myShadowColor;
-
-	public BorderDecorator() {
-	}
-
-	public BorderDecorator(Figure figure) {
-		super(figure);
-	}
-
-	/**
-	 * Performs additional initialization code before the figure is decorated
-	 * Subclasses may override this method.
-	 */
-	protected void initialize() {
-		setBorderOffset(new Point(3,3));
-	}
-
-	public void setBorderOffset(Point newBorderOffset) {
-		myBorderOffset = newBorderOffset;
-	}
-		
-	public Point getBorderOffset() {
-		if (myBorderOffset == null) {
-			return new Point(0,0);
-		}
-		else {
-			return myBorderOffset;
-		}
-	}
-
-	/**
-	 * Draws a the figure and decorates it with a border.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-		super.draw(g);
-		g.setColor(Color.white);
-		g.drawLine(r.x, r.y, r.x, r.y + r.height);
-		g.drawLine(r.x, r.y, r.x + r.width, r.y);
-		g.setColor(Color.gray);
-		g.drawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
-		g.drawLine(r.x , r.y + r.height, r.x + r.width, r.y + r.height);
-	}
-
-	/**
-	 * Gets the displaybox including the border.
-	 */
-	public Rectangle displayBox() {
-		Rectangle r = getDecoratedFigure().displayBox();
-		r.grow(getBorderOffset().x, getBorderOffset().y);
-		return r;
-	}
-
-	/**
-	 * Invalidates the figure extended by its border.
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		Rectangle rect = e.getInvalidatedRectangle();
-		rect.grow(getBorderOffset().x, getBorderOffset().y);
-		super.figureInvalidated(new FigureChangeEvent(this, rect, e));
-	}
-
-	public Insets connectionInsets() {
-		Insets i = super.connectionInsets();
-		i.top -= getBorderOffset().y;
-		i.bottom -= getBorderOffset().y;
-		i.left -= getBorderOffset().x;
-		i.right -= getBorderOffset().x;
-
-		return i;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/BorderTool.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/BorderTool.java
deleted file mode 100644
index 8f101038e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/BorderTool.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @(#)BorderTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-import java.awt.event.MouseEvent;
-import java.awt.event.InputEvent;
-import java.util.List;
-
-/**
- * BorderTool decorates the clicked figure with a BorderDecorator.
- *
- * @see BorderDecorator
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class BorderTool extends ActionTool {
-
-	public BorderTool(DrawingEditor editor) {
-		super(editor);
-	}
-
-	/**
-	 * Add the touched figure to the selection of an invoke action.
-	 * Overrides ActionTool's mouseDown to allow for peeling the border
-	 * if there is one already.
-	 * This is done by CTRLing the click
-	 * @see #action
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		// if not CTRLed then proceed normally
-		if ((e.getModifiers() & InputEvent.CTRL_MASK) == 0) {
-			super.mouseDown(e, x, y);
-		}
-		else {
-			Figure target = drawing().findFigure(x, y);
-			if ((target != null) && (target != target.getDecoratedFigure())) {
-				view().addToSelection(target);
-				reverseAction(target);
-			}
-		}
-	}
-
-	/**
-	* Decorates the clicked figure with a border.
-	*/
-	public void action(Figure figure) {
-//    	Figure replaceFigure = drawing().replace(figure, new BorderDecorator(figure));
-		
-		setUndoActivity(createUndoActivity());
-		List l = CollectionsFactory.current().createList();
-		l.add(figure);
-		l.add(new BorderDecorator(figure));
-		getUndoActivity().setAffectedFigures(new FigureEnumerator(l));
-		((BorderTool.UndoActivity)getUndoActivity()).replaceAffectedFigures();
-	}
-
-	/**
-	* Peels off the border from the clicked figure.
-	*/
-	public void reverseAction(Figure figure) {
-		setUndoActivity(createUndoActivity());
-		List l = CollectionsFactory.current().createList();
-		l.add(figure);
-		l.add(((DecoratorFigure)figure).peelDecoration());
-		getUndoActivity().setAffectedFigures(new FigureEnumerator(l));
-		((BorderTool.UndoActivity)getUndoActivity()).replaceAffectedFigures();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new BorderTool.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			getDrawingView().clearSelection();
-			return replaceAffectedFigures();
-		}
-
-		public boolean redo() {
-			if (!isRedoable()) {
-				return false;
-			}
-			getDrawingView().clearSelection();
-			return replaceAffectedFigures();
-		}
-		
-		public boolean replaceAffectedFigures() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			Figure oldFigure = fe.nextFigure();
-
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			Figure replaceFigure = fe.nextFigure();
-			
-			replaceFigure = getDrawingView().drawing().replace(oldFigure, replaceFigure);
-			List l = CollectionsFactory.current().createList();
-			l.add(replaceFigure);
-			l.add(oldFigure);
-			setAffectedFigures(new FigureEnumerator(l));
-			
-			return true;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/ChopEllipseConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/ChopEllipseConnector.java
deleted file mode 100644
index 73bd6ef85..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/ChopEllipseConnector.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)ChopEllipseConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Geom;
-
-/**
- * A ChopEllipseConnector locates a connection point by
- * chopping the connection at the ellipse defined by the
- * figure's display box.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChopEllipseConnector extends ChopBoxConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -3165091511154766610L;
-
-	public ChopEllipseConnector() {
-	}
-
-	public ChopEllipseConnector(Figure owner) {
-		super(owner);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		Rectangle r = target.displayBox();
-		double angle = Geom.pointToAngle(r, from);
-		return Geom.ovalAngleToPoint(r, angle);
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/ConnectedTextTool.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/ConnectedTextTool.java
deleted file mode 100644
index 3786bcae6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/ConnectedTextTool.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * @(#)ConnectedTextTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Undoable;
-import java.awt.event.MouseEvent;
-
-/**
- * Tool to create new or edit existing text figures.
- * A new text figure is connected with the clicked figure.
- *
- * @see org.jhotdraw.standard.TextHolder
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ConnectedTextTool extends TextTool {
-
-	private Figure myConnectedFigure;
-
-	public ConnectedTextTool(DrawingEditor editor, Figure prototype) {
-		super(editor, prototype);
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder it can be edited otherwise
-	 * a new text figure is created.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-
-		if (getTypingTarget() != null) {
-			TextHolder textHolder = getTypingTarget();
-			setConnectedFigure(drawing().findFigureInsideWithout(x, y, textHolder.getRepresentingFigure()));
-			if ((getConnectedFigure() != null) && (textHolder != null) && (getConnectedFigure().getTextHolder() != textHolder)) {
-				textHolder.connect(getConnectedFigure().getDecoratedFigure());
-				getConnectedFigure().addDependendFigure(getAddedFigure());
-			}
-		}
-	}
-
-	protected void endEdit() {
-		super.endEdit();
-		if ((getUndoActivity() != null) && (getUndoActivity() instanceof ConnectedTextTool.UndoActivity)) {
-			((ConnectedTextTool.UndoActivity)getUndoActivity()).setConnectedFigure(getConnectedFigure());
-		}
-		else if ((getConnectedFigure() != null) && isDeleteTextFigure()) {
-			getConnectedFigure().removeDependendFigure(getAddedFigure());
-		}
-	}
-
-	protected void setConnectedFigure(Figure pressedFigure) {
-		myConnectedFigure = pressedFigure;
-	}
-
-	public Figure getConnectedFigure() {
-		return myConnectedFigure;
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder it can be edited otherwise
-	 * a new text figure is created.
-	 */
-	public void activate() {
-		super.activate();
-		setConnectedFigure(null);
-	}
-
-	protected Undoable createDeleteUndoActivity() {
-		FigureTransferCommand cmd = new DeleteCommand("Delete", editor());
-		return new DeleteUndoActivity(cmd, getConnectedFigure());
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new ConnectedTextTool.UndoActivity(view(), getTypingTarget().getText());
-	}
-
-	public static class UndoActivity extends TextTool.UndoActivity {
-		private Figure myConnectedFigure;
-
-		public UndoActivity(DrawingView newDrawingView, String newOriginalText) {
-			super(newDrawingView, newOriginalText);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-
-				if (currentFigure.getTextHolder() != null) {
-					// the text figure didn't exist before
-					if (!isValidText(getOriginalText())) {
-						currentFigure.getTextHolder().disconnect(getConnectedFigure());
-					}
-					// the text figure did exist but was remove
-					else if (!isValidText(getBackupText())) {
-						currentFigure.getTextHolder().connect(getConnectedFigure());
-					}
-				}
-			}
-
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					// the text figure did exist but was remove
-					if (!isValidText(getBackupText())) {
-						currentFigure.getTextHolder().disconnect(getConnectedFigure());
-					}
-					// the text figure didn't exist before
-					else if (!isValidText(getOriginalText())) {
-						currentFigure.getTextHolder().connect(getConnectedFigure());
-					}
-				}
-			}
-
-			return true;
-		}
-
-		public void setConnectedFigure(Figure newConnectedFigure) {
-			myConnectedFigure = newConnectedFigure;
-		}
-
-		public Figure getConnectedFigure() {
-			return myConnectedFigure;
-		}
-	}
-
-	/**
-	 * This class
-	 */
-	public static class DeleteUndoActivity extends DeleteCommand.UndoActivity {
-		private Figure myConnectedFigure;
-
-		public DeleteUndoActivity(FigureTransferCommand cmd, Figure newConnectedFigure) {
-			super(cmd);
-			setConnectedFigure(newConnectedFigure);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().connect(getConnectedFigure().getDecoratedFigure());
-				}
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().disconnect(getConnectedFigure().getDecoratedFigure());
-				}
-			}
-
-			return true;
-		}
-
-		public void setConnectedFigure(Figure newConnectedFigure) {
-			myConnectedFigure = newConnectedFigure;
-		}
-
-		public Figure getConnectedFigure() {
-			return myConnectedFigure;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/ElbowConnection.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/ElbowConnection.java
deleted file mode 100644
index 4d14e0eb4..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/ElbowConnection.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * @(#)ElbowConnection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import java.util.List;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-/**
- * A LineConnection that constrains a connection to
- * orthogonal lines.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ElbowConnection extends LineConnection {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 2193968743082078559L;
-	private int elbowConnectionSerializedDataVersion = 1;
-
-	public ElbowConnection() {
-		super();
-	}
-
-	public void updateConnection() {
-		super.updateConnection();
-		updatePoints();
-	}
-
-	public void layoutConnection() {
-	}
-
-	/**
-	 * Gets the handles of the figure.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(fPoints.size()*2);
-		handles.add(new ChangeConnectionStartHandle(this));
-		for (int i = 1; i < fPoints.size()-1; i++) {
-			handles.add(new NullHandle(this, locator(i)));
-		}
-		handles.add(new ChangeConnectionEndHandle(this));
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			handles.add(new ElbowHandle(this, i));
-		}
-		return new HandleEnumerator(handles);
-	}
-
-	public Locator connectedTextLocator(Figure f) {
-		return new ElbowTextLocator();
-	}
-
-	protected void updatePoints() {
-		willChange();
-		Point start = startPoint();
-		Point end = endPoint();
-		fPoints.clear();
-		fPoints.add(start);
-
-		if (start.x == end.x || start.y == end.y) {
-			fPoints.add(end);
-		}
-		else {
-
-			Rectangle r1 = getStartConnector().owner().displayBox();
-			Rectangle r2 = getEndConnector().owner().displayBox();
-
-			int dir = Geom.direction(r1.x + r1.width/2, r1.y + r1.height/2,
-						r2.x + r2.width/2, r2.y + r2.height/2);
-			if (dir == Geom.NORTH || dir == Geom.SOUTH) {
-				fPoints.add(new Point(start.x, (start.y + end.y)/2));
-				fPoints.add(new Point(end.x, (start.y + end.y)/2));
-			}
-			else {
-				fPoints.add(new Point((start.x + end.x)/2, start.y));
-				fPoints.add(new Point((start.x + end.x)/2, end.y));
-			}
-			fPoints.add(end);
-		}
-		changed();
-	}
-}
-
-class ElbowTextLocator extends AbstractLocator {
-	public Point locate(Figure owner) {
-		Point p = owner.center();
-		return new Point(p.x, p.y-10); // hack
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/ElbowHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/ElbowHandle.java
deleted file mode 100644
index 6d611becb..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/ElbowHandle.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * @(#)ElbowHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Geom;
-import java.awt.*;
-
-/**
- * A Handle to move an ElbowConnection left/right or up/down.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ElbowHandle extends AbstractHandle {
-
-	private int fSegment;
-	private int fLastX, fLastY;      // previous mouse position
-
-	public ElbowHandle(LineConnection owner, int segment) {
-		super(owner);
-		fSegment = segment;
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		fLastX = x;
-		fLastY = y;
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		LineConnection line = ownerConnection();
-		Point p1 = line.pointAt(fSegment);
-		Point p2 = line.pointAt(fSegment+1);
-		int ddx = x - fLastX;
-		int ddy = y - fLastY;
-
-		Point np1;
-		Point np2;
-		if (isVertical(p1, p2)) {
-			int cx = constrainX(p1.x + ddx);
-			np1 = new Point(cx, p1.y);
-			np2 = new Point(cx, p2.y);
-		}
-		else {
-			int cy = constrainY(p1.y + ddy);
-			np1 = new Point(p1.x, cy);
-			np2 = new Point(p2.x, cy);
-		}
-		line.setPointAt(np1, fSegment);
-		line.setPointAt(np2, fSegment+1);
-		fLastX = x;
-		fLastY = y;
-	}
-
-	private boolean isVertical(Point p1, Point p2) {
-		return p1.x == p2.x;
-	}
-
-	public Point locate() {
-		LineConnection line = ownerConnection();
-		int segment = Math.min(fSegment, line.pointCount()-2);
-		Point p1 = line.pointAt(segment);
-		Point p2 = line.pointAt(segment+1);
-		return new Point((p1.x + p2.x)/2, (p1.y + p2.y)/2);
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	private int constrainX(int x) {
-		LineConnection line = ownerConnection();
-		Figure startFigure = line.getStartConnector().owner();
-		Figure endFigure = line.getEndConnector().owner();
-		Rectangle start = startFigure.displayBox();
-		Rectangle end = endFigure.displayBox();
-		Insets i1 = startFigure.connectionInsets();
-		Insets i2 = endFigure.connectionInsets();
-
-		int r1x, r1width, r2x, r2width;
-		r1x = start.x + i1.left;
-		r1width = start.width - i1.left - i1.right-1;
-
-		r2x = end.x + i2.left;
-		r2width = end.width - i2.left - i2.right-1;
-
-		if (fSegment == 0) {
-			x = Geom.range(r1x, r1x + r1width, x);
-		}
-		if (fSegment == line.pointCount()-2) {
-			x = Geom.range(r2x, r2x + r2width, x);
-		}
-		return x;
-	}
-
-	private int constrainY(int y) {
-		LineConnection line = ownerConnection();
-		Figure startFigure = line.getStartConnector().owner();
-		Figure endFigure = line.getEndConnector().owner();
-		Rectangle start = startFigure.displayBox();
-		Rectangle end = endFigure.displayBox();
-		Insets i1 = startFigure.connectionInsets();
-		Insets i2 = endFigure.connectionInsets();
-
-		int r1y, r1height, r2y, r2height;
-		r1y = start.y + i1.top;
-		r1height = start.height - i1.top - i1.bottom-1;
-		r2y = end.y + i2.top;
-		r2height = end.height - i2.top - i2.bottom-1;
-
-		if (fSegment == 0) {
-			y = Geom.range(r1y, r1y + r1height, y);
-		}
-		if (fSegment == line.pointCount()-2) {
-			y = Geom.range(r2y, r2y + r2height, y);
-		}
-		return y;
-	}
-
-	private LineConnection ownerConnection() {
-		return (LineConnection)owner();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/EllipseFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/EllipseFigure.java
deleted file mode 100644
index a3b39f8f6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/EllipseFigure.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)EllipseFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import java.io.IOException;
-import java.util.List;
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-
-/**
- * An ellipse figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class EllipseFigure extends AttributeFigure {
-
-	private Rectangle   fDisplayBox;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -6856203289355118951L;
-	private int ellipseFigureSerializedDataVersion = 1;
-
-	public EllipseFigure() {
-		this(new Point(0,0), new Point(0,0));
-	}
-
-	public EllipseFigure(Point origin, Point corner) {
-		basicDisplayBox(origin,corner);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-        /*
-         * JP, 25-May-03: Changed from (width-1, height-1) to (width, height),
-         * because figures were not filled completely (JDK 1.4.x). Might invalidate
-         * fix for #661878. If the problem is JDK-dependant, maybe the JDK version
-         * should be taken into account here?
-         */
-		g.fillOval(r.x, r.y, r.width, r.height);
-	}
-
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.drawOval(r.x, r.y, r.width-1, r.height-1);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = fDisplayBox;
-		int cx = r.width/2;
-		int cy = r.height/2;
-		return new Insets(cy, cx, cy, cx);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ChopEllipseConnector(this);
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/FigureAttributes.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/FigureAttributes.java
deleted file mode 100644
index 3ccb96ec5..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/FigureAttributes.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * @(#)FigureAttributes.java
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.*;
-
-import java.awt.Color;
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Map;
-import java.util.Iterator;
-
-/**
- * A container for a figure's attributes. The attributes are stored
- * as key/value pairs.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class   FigureAttributes
-		extends Object
-		implements Cloneable, Serializable {
-
-	private Map fMap;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -6886355144423666716L;
-	private int figureAttributesSerializedDataVersion = 1;
-
-	/**
-	 * Constructs the FigureAttributes.
-	 */
-	public FigureAttributes() {
-		fMap = CollectionsFactory.current().createMap();
-	}
-
-	/**
-	 * Gets the attribute with the given name.
-	 * @return attribute or null if the key is not defined
-	 */
-	public Object get(FigureAttributeConstant attributeConstant) {
-		return fMap.get(attributeConstant);
-	}
-
-	/**
-	 * Sets the attribute with the given name and
-	 * overwrites its previous value.
-	 */
-	public void set(FigureAttributeConstant attributeConstant, Object value) {
-		if (value != null) {
-			fMap.put(attributeConstant, value);
-		}
-		else {
-			fMap.remove(attributeConstant);
-		}
-	}
-
-	/**
-	 * Tests if an attribute is defined.
-	 */
-	public boolean hasDefined(FigureAttributeConstant attributeConstant) {
-		return fMap.containsKey(attributeConstant);
-	}
-
-	/**
-	 * Clones the attributes.
-	 */
-   public Object clone() {
-		try {
-			FigureAttributes a = (FigureAttributes) super.clone();
-			a.fMap = CollectionsFactory.current().createMap(fMap);
-			return a;
-		}
-		catch (CloneNotSupportedException e) {
-			throw new InternalError();
-		}
-	}
-
-	/**
-	 * Reads the attributes from a StorableInput.
-	 * FigureAttributes store the following types directly:
-	 * Color, Boolean, String, Int. Other attribute types
-	 * have to implement the Storable interface or they
-	 * have to be wrapped by an object that implements Storable.
-	 * @see Storable
-	 * @see #write
-	 */
-	public void read(StorableInput dr) throws IOException {
-		String s = dr.readString();
-		if (!s.toLowerCase().equals("attributes")) {
-			throw new IOException("Attributes expected");
-		}
-
-		fMap = CollectionsFactory.current().createMap();
-		int size = dr.readInt();
-		for (int i=0; i<size; i++) {
-			String key = dr.readString();
-			String valtype = dr.readString();
-			Object val = null;
-			if (valtype.equals("Color")) {
-				val = new Color(dr.readInt(), dr.readInt(), dr.readInt());
-			}
-			else if (valtype.equals("Boolean")) {
-				val = new Boolean(dr.readString());
-			}
-			else if (valtype.equals("String")) {
-				val = dr.readString();
-			}
-			else if (valtype.equals("Int")) {
-				val = new Integer(dr.readInt());
-			}
-			else if (valtype.equals("Storable")) {
-				val = dr.readStorable();
-			}
-			else if (valtype.equals(FigureAttributeConstant.POPUP_MENU_STR)) {
-				// read String but don't store it
-				continue;
-			}
-			else if (valtype.equals("UNKNOWN")) {
-				continue;
-			}
-			// try to get defined constant
-			FigureAttributeConstant attributeConstant = FigureAttributeConstant.getConstant(key);
-			set(attributeConstant, val);
-		}
-	}
-
-	/**
-	 * Writes the attributes to a StorableInput.
-	 * FigureAttributes store the following types directly:
-	 * Color, Boolean, String, Int. Other attribute types
-	 * have to implement the Storable interface or they
-	 * have to be wrapped by an object that implements Storable.
-	 * @see Storable
-	 * @see #write
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeString("attributes");
-
-		dw.writeInt(fMap.size());   // number of attributes
-		Iterator iter = fMap.keySet().iterator();
-		while (iter.hasNext()) {
-			FigureAttributeConstant fac = (FigureAttributeConstant)iter.next();
-			String attributeName = fac.getName();
-			Object attributeValue = fMap.get(fac);
-
-			dw.writeString(attributeName);
-
-			if (attributeValue instanceof String) {
-				dw.writeString("String");
-				dw.writeString((String)attributeValue);
-			}
-			else if (attributeValue instanceof Color) {
-				writeColor(dw, "Color", (Color)attributeValue);
-			}
-			else if (attributeValue instanceof Boolean) {
-				dw.writeString("Boolean");
-				if (((Boolean)attributeValue).booleanValue()) {
-					dw.writeString("TRUE");
-				}
-				else {
-					dw.writeString("FALSE");
-				}
-			}
-			else if (attributeValue instanceof Integer) {
-				dw.writeString("Int");
-				dw.writeInt(((Integer)attributeValue).intValue());
-			}
-			else if (attributeValue instanceof Storable) {
-				dw.writeString("Storable");
-				dw.writeStorable((Storable)attributeValue);
-			}
-			else if (attributeValue instanceof javax.swing.JPopupMenu) {
-				dw.writeString(FigureAttributeConstant.POPUP_MENU_STR);
-			}
-			else {
-				System.err.println("Unknown attribute: " + attributeValue);
-				dw.writeString("UNKNOWN");
-			}
-		}
-	}
-
-	public static void writeColor(StorableOutput dw, String colorName, Color color) {
-	   if (color != null) {
-			dw.writeString(colorName);
-			dw.writeInt(color.getRed());
-			dw.writeInt(color.getGreen());
-			dw.writeInt(color.getBlue());
-		}
-	}
-
-	public static Color readColor(StorableInput dr) throws IOException {
-		return new Color(dr.readInt(), dr.readInt(), dr.readInt());
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/FontSizeHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/FontSizeHandle.java
deleted file mode 100644
index 9b6524ac2..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/FontSizeHandle.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)FontSizeHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A Handle to change the font size by direct manipulation.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FontSizeHandle extends LocatorHandle {
-
-	public FontSizeHandle(Figure owner, Locator l) {
-		super(owner, l);
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		TextFigure textOwner = (TextFigure) owner();
-
-		FontSizeHandle.UndoActivity activity = (FontSizeHandle.UndoActivity)getUndoActivity();
-		int newSize = activity.getFont().getSize() + y-anchorY;
-		textOwner.setFont(new Font(activity.getFont().getName(), activity.getFont().getStyle(), newSize));
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		TextFigure textOwner = (TextFigure) owner();
-		FontSizeHandle.UndoActivity activity = (FontSizeHandle.UndoActivity)getUndoActivity();
-		// there has been no change so there is nothing to undo
-		if (textOwner.getFont().getSize() == activity.getOldFontSize()) {
-			setUndoActivity(null);
-		}
-		else {
-			activity.setFont(textOwner.getFont());
-		}
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		TextFigure textOwner = (TextFigure)owner();
-		return new FontSizeHandle.UndoActivity(newView, textOwner.getFont());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Font myFont;
-		private int  myOldFontSize;
-		
-		public UndoActivity(DrawingView newView, Font newFont) {
-			super(newView);
-			setFont(newFont);
-			setOldFontSize(getFont().getSize());
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			swapFont();
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-			swapFont();
-			return true;
-		}
-
-		protected void swapFont() {
-			setOldFontSize(replaceFontSize());
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				((TextFigure)fe.nextFigure()).setFont(getFont());
-			}
-		}
-		
-		private int replaceFontSize() {
-			int tempFontSize = getFont().getSize();
-			setFont(new Font(getFont().getName(), getFont().getStyle(), getOldFontSize()));
-			return tempFontSize;
-		}		
-		protected void setFont(Font newFont) {
-			myFont = newFont;
-		}
-		
-		public Font getFont() {
-			return myFont;
-		}
-		
-		protected void setOldFontSize(int newOldFontSize) {
-			myOldFontSize = newOldFontSize;
-		}
-		
-		public int getOldFontSize() {
-			return myOldFontSize;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/GroupCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/GroupCommand.java
deleted file mode 100644
index fd7413c5e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/GroupCommand.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)GroupCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-import java.util.List;
-
-/**
- * Command to group the selection into a GroupFigure.
- *
- * @see GroupFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class GroupCommand extends AbstractCommand {
-
-   /**
-	 * Constructs a group command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public GroupCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selection());
-		((GroupCommand.UndoActivity)getUndoActivity()).groupFigures();
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 1;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new GroupCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-
-			// orphan group figure(s)
-			getDrawingView().drawing().orphanAll(getAffectedFigures());
-
-			// create a new collection with the grouped figures as elements
-			List affectedFigures = CollectionsFactory.current().createList();
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				// add contained figures
-				getDrawingView().drawing().addAll(currentFigure.figures());
-				getDrawingView().addToSelectionAll(currentFigure.figures());
-
-				FigureEnumeration groupedFigures = currentFigure.figures();
-				while (groupedFigures.hasNextFigure()) {
-					affectedFigures.add(groupedFigures.nextFigure());
-				}
-			}
-
-			setAffectedFigures(new FigureEnumerator(affectedFigures));
-
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				groupFigures();
-				return true;
-			}
-
-			return false;
-		}
-
-		public void groupFigures() {
-			getDrawingView().drawing().orphanAll(getAffectedFigures());
-			getDrawingView().clearSelection();
-
-			// add new group figure instead
-			GroupFigure group = new GroupFigure();
-			group.addAll(getAffectedFigures());
-
-			Figure figure = getDrawingView().drawing().add(group);
-			getDrawingView().addToSelection(figure);
-
-			// create a new collection with the new group figure as element
-			List affectedFigures = CollectionsFactory.current().createList();
-			affectedFigures.add(figure);
-			setAffectedFigures(new FigureEnumerator(affectedFigures));
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/GroupFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/GroupFigure.java
deleted file mode 100644
index f1d743c72..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/GroupFigure.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * @(#)GroupFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import java.util.List;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.CollectionsFactory;
-
-/**
- * A Figure that groups a collection of figures.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class GroupFigure extends CompositeFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 8311226373023297933L;
-	private int groupFigureSerializedDataVersion = 1;
-
-   /**
-	* GroupFigures cannot be connected
-	*/
-	public boolean canConnect() {
-		return false;
-	}
-
-   /**
-	* Gets the display box. The display box is defined as the union
-	* of the contained figures.
-	*/
-	public Rectangle displayBox() {
-		FigureEnumeration fe = figures();
-		Rectangle r = fe.nextFigure().displayBox();
-
-		while (fe.hasNextFigure()) {
-			r.add(fe.nextFigure().displayBox());
-		}
-		return r;
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		// do nothing
-		// we could transform all components proportionally
-	}
-
-	public FigureEnumeration decompose() {
-		return new FigureEnumerator(fFigures);
-	}
-
-   /**
-	* Gets the handles for the GroupFigure.
-	*/
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new GroupHandle(this, RelativeLocator.northWest()));
-		handles.add(new GroupHandle(this, RelativeLocator.northEast()));
-		handles.add(new GroupHandle(this, RelativeLocator.southWest()));
-		handles.add(new GroupHandle(this, RelativeLocator.southEast()));
-		return new HandleEnumerator(handles);
-	}
-
-   /**
-	* Sets the attribute of all the contained figures.
-	* @deprecated see setAttribute(FigureAttributeConstant,Object)
-	*/
-	public void setAttribute(String name, Object value) {
-		super.setAttribute(name, value);
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().setAttribute(name, value);
-		}
-	}
-
-	/**
-	 * Sets the attribute of the GroupFigure as well as all contained Figures.
-	 */
-	public void setAttribute(FigureAttributeConstant fac, Object object){
-		super.setAttribute(fac, object);
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().setAttribute(fac, object);
-		}		
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/GroupHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/GroupHandle.java
deleted file mode 100644
index fd7976c92..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/GroupHandle.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)GroupHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.NullHandle;
-
-/**
- * A Handle for a GroupFigure.
- *
- * @version <$CURRENT_VERSION$>
- */
-final class GroupHandle extends NullHandle {
-
-	public GroupHandle(Figure owner, Locator locator) {
-		super(owner, locator);
-	}
-
-	/**
-	 * Draws the Group handle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-		r.grow(-1, -1);
-		g.setColor(Color.white);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/ImageFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/ImageFigure.java
deleted file mode 100644
index e6d581ea9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/ImageFigure.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * @(#)ImageFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import java.io.*;
-import java.util.List;
-import java.awt.image.ImageObserver;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-/**
- * A Figure that shows an Image.
- * Images shown by an image figure are shared by using the Iconkit.
- *
- * @see Iconkit
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ImageFigure
-		extends AttributeFigure implements ImageObserver {
-
-	private String   fFileName;
-	private transient Image fImage;
-	private Rectangle fDisplayBox;
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 148012030121282439L;
-	private int imageFigureSerializedDataVersion = 1;
-
-	public ImageFigure() {
-		fFileName = null;
-		fImage = null;
-		fDisplayBox = null;
-	}
-
-	public ImageFigure(Image image, String fileName, Point origin) {
-		fFileName = fileName;
-		fImage = image;
-		// fix for bug-id: 593080 (ImageFigure calculates the image rectangle wrongly)
-		basicDisplayBox(origin, new Point(origin.x + fImage.getWidth(this), origin.y + fImage.getHeight(this)));
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void draw(Graphics g) {
-		if (fImage == null) {
-			fImage = Iconkit.instance().loadImage(fFileName,true);
-		}
-		if (fImage != null) {
-			g.drawImage(fImage, fDisplayBox.x, fDisplayBox.y, fDisplayBox.width, fDisplayBox.height, this);
-		}
-		else {
-			drawGhost(g);
-		}
-	}
-
-	private void drawGhost(Graphics g) {
-		g.setColor(Color.gray);
-		g.fillRect(fDisplayBox.x, fDisplayBox.y, fDisplayBox.width, fDisplayBox.height);
-	}
-
-   /**
-	* Handles asynchroneous image updates.
-	*/
-	public boolean imageUpdate(Image img, int flags, int x, int y, int w, int h) {
-		if ((flags & (FRAMEBITS|ALLBITS)) != 0) {
-			invalidate();
-			if (listener() != null) {
-				listener().figureRequestUpdate(new FigureChangeEvent(this));
-			}
-		}
-		return (flags & (ALLBITS|ABORT)) == 0;
-	}
-
-	/**
-	 * Releases a figure's resources. Release is called when
-	 * a figure is removed from a drawing. Informs the listeners that
-	 * the figure is removed by calling figureRemoved.
-	 */
-	public void release() {
-		fImage.flush();
-	}
-
-   /**
-	* Writes the ImageFigure to a StorableOutput. Only a reference to the
-	* image, that is its pathname is saved.
-	*/
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-		dw.writeString(fFileName);
-	}
-
-   /**
-	* Reads the ImageFigure from a StorableInput. It registers the
-	* referenced figure to be loaded from the Iconkit.
-	* @see Iconkit#registerImage
-	*/
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-		fFileName = dr.readString();
-		Iconkit.instance().registerImage(fFileName);
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-		Iconkit.instance().registerImage(fFileName);
-		fImage = null;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/InsertImageCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/InsertImageCommand.java
deleted file mode 100644
index f6521c366..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/InsertImageCommand.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)InsertImageCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-import java.awt.*;
-import java.lang.ref.WeakReference;
-
-/**
- * Command to insert a named image.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class InsertImageCommand extends AbstractCommand {
-
-	private String  myImageName;
-
-	/**
-	 * Constructs an insert image command.
-	 * @param name the command name
-	 * @param newImageName the pathname of the image
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public InsertImageCommand(String name, String newImageName, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-		myImageName = newImageName;
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		((InsertImageCommand.UndoActivity)getUndoActivity()).insertImage();
-		view().checkDamage();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new InsertImageCommand.UndoActivity(view(), myImageName);
-	}
-
-	public class UndoActivity extends UndoableAdapter {
-
-		/**
-		 * Use weak reference so if the command is the last one which references
-		 * the ImageFigure then it might be garbage collected. Usually, the ImageFigure
-		 * is referenced from the drawing it is inserted and might be only garbage
-		 * collected after an undo operation (which removes the ImageFigure from
-		 * the drawing). If it has been garbage collected but is requested again
-		 * (e.g. during a redo operation) it is restored if possible.
-		 */
-		WeakReference	myAffectedImageFigure;
-		private String  myAffectedImageName;
-		
-		UndoActivity(DrawingView newDrawingView, String newAffectedImageName) {
-			super(newDrawingView);
-			myAffectedImageName = newAffectedImageName;
-			setUndoable(true);
-			setRedoable(true);			
-		}
-		
-		protected void setImageFigure(ImageFigure newImageFigure) {
-			myAffectedImageFigure = new WeakReference(newImageFigure);
-		}
-		
-		protected ImageFigure getImageFigure() {
-			// load image if it has not been loaded so far
-			if ((myAffectedImageFigure == null) || (myAffectedImageFigure.get() == null)) {
-				Image image = Iconkit.instance().loadImage(myAffectedImageName, true);
-				setImageFigure(new ImageFigure(
-					image, myAffectedImageName, getDrawingView().lastClick()));
-			}
-	
-			return (ImageFigure)myAffectedImageFigure.get();
-		}
-	
-		public boolean undo() {
-			if (super.undo()) {
-				getDrawingView().clearSelection();
-	
-				getDrawingView().drawing().orphan(getImageFigure());
-	
-				return true;
-			}
-			
-			return false;
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				insertImage();
-				return true;
-			}
-			
-			return false;
-		}
-
-		protected void insertImage() {
-			getDrawingView().add(getImageFigure());
-			getDrawingView().clearSelection();
-			getDrawingView().addToSelection(getImageFigure());
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/LineConnection.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/LineConnection.java
deleted file mode 100644
index 2210bb54d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/LineConnection.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/*
- * @(#)LineConnection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import java.util.List;
-import java.io.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-/**
- * A LineConnection is a standard implementation of the
- * ConnectionFigure interface. The interface is implemented with PolyLineFigure.
- *
- * @see ConnectionFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class LineConnection extends PolyLineFigure implements ConnectionFigure {
-
-	protected Connector    myStartConnector;
-	protected Connector    myEndConnector;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6883731614578414801L;
-	private int lineConnectionSerializedDataVersion = 1;
-
-	/**
-	 * Constructs a LineConnection. A connection figure has
-	 * an arrow decoration at the start and end.
-	 */
-	public LineConnection() {
-		super(4);
-		setStartDecoration(new ArrowTip());
-		setEndDecoration(new ArrowTip());
-	}
-
-	/**
-	 * Tests whether a figure can be a connection target.
-	 * ConnectionFigures cannot be connected and return false.
-	 */
-	public boolean canConnect() {
-		return false;
-	}
-
-	/**
-	 * Ensures that a connection is updated if the connection
-	 * was moved.
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		// don't move the start and end point since they are connected
-		for (int i = 1; i < fPoints.size()-1; i++) {
-			pointAt(i).translate(dx, dy);
-		}
-
-		updateConnection(); // make sure that we are still connected
-	}
-
-	/**
-	 * Sets the start figure of the connection.
-	 */
-	public void connectStart(Connector newStartConnector) {
-		newStartConnector = newStartConnector.finalizeConnector(true);
-		setStartConnector(newStartConnector);
-		if (newStartConnector != null) {
-			startFigure().addDependendFigure(this);
-			startFigure().addFigureChangeListener(this);
-		}
-	}
-
-	/**
-	 * Sets the end figure of the connection.
-	 */
-	public void connectEnd(Connector newEndConnector) {
-		newEndConnector = newEndConnector.finalizeConnector(false);
-		setEndConnector(newEndConnector);
-		if (newEndConnector != null) {
-			endFigure().addDependendFigure(this);
-			endFigure().addFigureChangeListener(this);
-			handleConnect(startFigure(), endFigure());
-		}
-	}
-
-	/**
-	 * Disconnects the start figure.
-	 */
-	public void disconnectStart() {
-		startFigure().removeFigureChangeListener(this);
-		startFigure().removeDependendFigure(this);
-		setStartConnector(null);
-	}
-
-	/**
-	 * Disconnects the end figure.
-	 */
-	public void disconnectEnd() {
-		handleDisconnect(startFigure(), endFigure());
-		endFigure().removeFigureChangeListener(this);
-		endFigure().removeDependendFigure(this);
-		setEndConnector(null);
-	}
-
-	/**
-	 * Tests whether a connection connects the same figures
-	 * as another ConnectionFigure.
-	 */
-	public boolean connectsSame(ConnectionFigure other) {
-		return other.getStartConnector() == getStartConnector()
-			&& other.getEndConnector() == getEndConnector();
-	}
-
-	/**
-	 * Handles the disconnection of a connection.
-	 * Override this method to handle this event.
-	 */
-	protected void handleDisconnect(Figure start, Figure end) {}
-
-	/**
-	 * Handles the connection of a connection.
-	 * Override this method to handle this event.
-	 */
-	protected void handleConnect(Figure start, Figure end) {}
-
-	/**
-	 * Gets the start figure of the connection.
-	 */
-	public Figure startFigure() {
-		if (getStartConnector() != null) {
-			return getStartConnector().owner();
-		}
-		return null;
-	}
-
-	/**
-	 * Gets the end figure of the connection.
-	 */
-	public Figure endFigure() {
-		if (getEndConnector() != null) {
-			return getEndConnector().owner();
-		}
-		return null;
-	}
-
-	protected void setStartConnector(Connector newStartConnector) {
-		myStartConnector = newStartConnector;
-	}
-
-	/**
-	 * Gets the start figure of the connection.
-	 */
-	public Connector getStartConnector() {
-		return myStartConnector;
-	}
-
-	protected void setEndConnector(Connector newEndConnector) {
-		myEndConnector = newEndConnector;
-	}
-
-	/**
-	 * Gets the end figure of the connection.
-	 */
-	public Connector getEndConnector() {
-		return myEndConnector;
-	}
-
-	/**
-	 * Tests whether two figures can be connected.
-	 */
-	public boolean canConnect(Figure start, Figure end) {
-		return true;
-	}
-
-	/**
-	 *                             
-	 *                           p1.............p2
-	 *                            .              .
-	 *            ...............po......        .      
-	 *            .                     .        .
-	 *            .                     .        .
-	 *            .                     .        .
-	 *            .                     .p4.....p3
-	 *            .                     .
-	 *            .                     .
-	 *            .                     .
-	 *            .......................            
-	 * 
-	**/
-	private void resetSelfConnections() {
-		while (fPoints.size() > 5) {
-			removePointAt(3);
-		}
-		while (fPoints.size() < 5) {
-			insertPointAt(pointAt(1),1);
-		}
-
-		Rectangle r = myStartConnector.owner().displayBox();
-		int westX   = Geom.west(r).x;
-		int eastX   = Geom.east(r).x;
-		int northY  = Geom.north(r).y;
-		int southY  = Geom.south(r).y;       
-
-		// delta is a heuristic to make the self-connecting edge more visually appealing
-		int delta       = Math.min(24, r.width);
-		if (r.width > 200) {
-			delta       = Math.min(36, r.width);
-		}
-		if (r.width < 100) {
-			delta       = Math.min(12, r.width);
-		}
-
-		Point p0 = pointAt(0);
-		OffsetConnector start = (OffsetConnector) myStartConnector;
-		start.calculateFigureConstrainedOffsets(p0.x, p0.y);
-		p0.x = start.locateX();
-		p0.y = start.locateY();       
-        
-		// Calculate the coordinates of p4 from p0 (the start connecting point!)      
-		int p4X       = eastX;
-		double ratio1 = ((double)p0.x - (double)westX) / (double)r.width;
-		if (p0.x < (westX + r.width/2)) { 
-			p4X    = westX;
-			ratio1 = ((double)eastX - (double)p0.x) / (double)r.width;
-		}
-		int p4Y = northY + (int)(ratio1*r.height);
-		if (p0.y > (northY + r.height/2)) {
-			p4Y = southY - (int)(ratio1*r.height);
-		}
-		OffsetConnector end = (OffsetConnector) myEndConnector;
-		end.calculateFigureConstrainedOffsets(p4X, p4Y);
-		Point p4 = new Point(end.locateX(), end.locateY());
-		fPoints.set(4, p4);         
-
-		// Calculate the coordinates of p2 from p0 and p4
-		int p2X = p4X  + delta + (int)(ratio1*delta);      
-		if (p0.x < (westX + r.width/2)) { 
-			p2X = p4X  - delta - (int)(ratio1*delta);
-		}
-		double ratio2 = 1 - ratio1;
-		int p2Y = northY - delta - (int)(ratio2*delta);
-		if (p0.y > (northY + r.height/2)) { 
-			p2Y = southY + delta + (int)(ratio2*delta);
-		}
-		Point p2 = new Point(p2X, p2Y);
-		fPoints.set(2, p2);
-
-		// Calculate p1 and p3 from p0, p2, p4     
-		Point p1        = new Point(p0.x, p2.y);
-		Point p3        = new Point(p2.x, p4.y);      
-		fPoints.set(1, p1);
-		fPoints.set(3, p3);  
-	}
-
-	/**
-	 * Sets the start point.
-	 */
-	public void startPoint(int x, int y) {
-		willChange();
-		if (fPoints.size() == 0) {
-			fPoints.add(new Point(x, y));
-		}
-		else {
-			fPoints.set(0, new Point(x, y));
-		}
-		changed();
-	}
-
-	/**
-	 * Sets the end point.
-	 */
-	public void endPoint(int x, int y) {
-		willChange();
-		if (fPoints.size() < 2) {
-			fPoints.add(new Point(x, y));
-		}
-		else {
-			fPoints.set(fPoints.size()-1, new Point(x, y));
-		}
-
-		if ((myEndConnector != null) 
-				&&  (myStartConnector.owner() == myEndConnector.owner()) 
-				&&  (myEndConnector instanceof OffsetConnector)) { 
-			resetSelfConnections();
-		}
-
-		changed();
-	}
-
-	/**
-	 * Gets the start point.
-	 */
-	public Point startPoint() {
-		Point p = pointAt(0);
-		return new Point(p.x, p.y);
-	}
-
-	/**
-	 * Gets the end point.
-	 */
-	public Point endPoint() {
-		if (fPoints.size() > 0) {
-			Point p = pointAt(fPoints.size()-1);
-			return new Point(p.x, p.y);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Gets the handles of the figure. It returns the normal
-	 * PolyLineHandles but adds ChangeConnectionHandles at the
-	 * start and end.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(fPoints.size());
-		handles.add(new ChangeConnectionStartHandle(this));
-		for (int i = 1; i < fPoints.size()-1; i++) {
-			handles.add(new PolyLineHandle(this, locator(i), i));
-		}
-		handles.add(new ChangeConnectionEndHandle(this));
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Sets the point and updates the connection.
-	 */
-	public void setPointAt(Point p, int i) {
-		super.setPointAt(p, i);
-		layoutConnection();
-	}
-
-	/**
-	 * Inserts the point and updates the connection.
-	 */
-	public void insertPointAt(Point p, int i) {
-		super.insertPointAt(p, i);
-		layoutConnection();
-	}
-
-	/**
-	 * Removes the point and updates the connection.
-	 */
-	public void removePointAt(int i) {
-		super.removePointAt(i);
-		layoutConnection();
-	}
-
-	/**
-	 * Updates the connection.
-	 */
-	public void updateConnection() {
-		if (getStartConnector() != null) {
-			Point start = getStartConnector().findStart(this);
-
-			if (start != null) {
-				startPoint(start.x, start.y);
-			}
-		}
-		if (getEndConnector() != null) {
-			Point end = getEndConnector().findEnd(this);
-
-			if (end != null) {
-				endPoint(end.x, end.y);
-			}
-		}
-	}
-
-	/**
-	 * Lays out the connection. This is called when the connection
-	 * itself changes. By default the connection is recalculated
-	 */
-	public void layoutConnection() {
-		updateConnection();
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		updateConnection();
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-	}
-
-	public void figureRequestRemove(FigureChangeEvent e) {
-	}
-
-	public void figureInvalidated(FigureChangeEvent e) {
-	}
-
-	public void figureRequestUpdate(FigureChangeEvent e) {
-	}
-
-	public void release() {
-		super.release();
-		handleDisconnect(startFigure(), endFigure());
-		if (getStartConnector() != null) {
-			startFigure().removeFigureChangeListener(this);
-			startFigure().removeDependendFigure(this);
-		}
-		if (getEndConnector() != null) {
-			endFigure().removeFigureChangeListener(this);
-			endFigure().removeDependendFigure(this);
-		}
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getStartConnector());
-		dw.writeStorable(getEndConnector());
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		Connector start = (Connector)dr.readStorable();
-		if (start != null) {
-			connectStart(start);
-		}
-		Connector end = (Connector)dr.readStorable();
-		if (end != null) {
-			connectEnd(end);
-		}
-		if ((start != null) && (end != null)) {
-			updateConnection();
-		}
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		if (getStartConnector() != null) {
-			connectStart(getStartConnector());
-		}
-		if (getEndConnector() != null) {
-			connectEnd(getEndConnector());
-		}
-	}
-
-	public void visit(FigureVisitor visitor) {
-		visitor.visitFigure(this);
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Figure#removeFromContainer(org.jhotdraw.framework.FigureChangeListener)
-	 */
-	public void removeFromContainer(FigureChangeListener c) {
-		super.removeFromContainer(c);
-		release();
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/LineDecoration.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/LineDecoration.java
deleted file mode 100644
index a34d79d3a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/LineDecoration.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * @(#)LineDecoration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.util.Storable;
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Decorate the start or end point of a line or poly line figure.
- * LineDecoration is the base class for the different line decorations.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface LineDecoration
-				extends Storable, Cloneable, Serializable {
-
-	/**
-	 * Draws the decoration in the direction specified by the two points.
-	 */
-	public void draw(Graphics g, int x1, int y1, int x2, int y2);
-
-	/**
-	 * @return the display box of a LineDecoration.
-	 */
-	public Rectangle displayBox();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/LineFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/LineFigure.java
deleted file mode 100644
index aa8a3828d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/LineFigure.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * @(#)LineFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-
-/**
- * A line figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class LineFigure extends PolyLineFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 511503575249212371L;
-	private int lineFigureSerializedDataVersion = 1;
-
-	/**
-	 * Constructs a LineFigure with both start and end set to Point(0,0).
-	 */
-	public LineFigure() {
-		addPoint(0, 0);
-		addPoint(0, 0);
-	}
-
-	/**
-	 * Gets a copy of the start point.
-	 */
-	public Point startPoint() {
-		return pointAt(0);
-	}
-
-	/**
-	 * Gets a copy of the end point.
-	 */
-	public Point endPoint() {
-		return pointAt(1);
-	}
-
-	/**
-	 * Sets the start point.
-	 */
-	public void  startPoint(int x, int y) {
-		setPointAt(new Point(x,y), 0);
-	}
-
-	/**
-	 * Sets the end point.
-	 */
-	public void  endPoint(int x, int y) {
-		setPointAt(new Point(x,y), 1);
-	}
-
-	/**
-	 * Sets the start and end point.
-	 */
-	public void setPoints(Point start, Point end) {
-		setPointAt(start, 0);
-		setPointAt(end, 1);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		setPoints(origin, corner);
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/NullConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/NullConnector.java
deleted file mode 100644
index 380b11494..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/NullConnector.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * @(#)Connector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.standard.AbstractConnector;
-import org.jhotdraw.framework.Figure;
-
-public class NullConnector extends AbstractConnector {
-	// AbstractConnector implements already all methods but cannot be instantiated
-
-	private NullConnector() {
-		// do nothing: for JDO-compliance only
-	}
-
-	public NullConnector(Figure owner) {
-		super(owner);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/NullFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/NullFigure.java
deleted file mode 100644
index 6de695b65..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/NullFigure.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * @(#)LineConnection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.FigureEnumerator;
-import org.jhotdraw.standard.SingleFigureEnumerator;
-import org.jhotdraw.standard.AbstractFigure;
-import org.jhotdraw.standard.HandleEnumerator;
-
-import java.awt.*;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class NullFigure extends AbstractFigure {
-
-	private Rectangle myDisplayBox;
-
-	/**
-	 * Moves the figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #moveBy
-	 */
-	protected void basicMoveBy(int dx, int dy) {
-		myDisplayBox.translate(dx, dy);
-	}
-
-	/**
-	 * Changes the display box of a figure. This method is
-	 * always implemented in figure subclasses.
-	 * It only changes
-	 * the displaybox and does not announce any changes. It
-	 * is usually not called by the client. Clients typically call
-	 * displayBox to change the display box.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		myDisplayBox = new Rectangle(origin);
-		myDisplayBox.add(corner);
-	}
-
-	/**
-	 * Gets the display box of a figure
-	 * @see #basicDisplayBox
-	 */
-	public Rectangle displayBox() {
-		return new Rectangle(myDisplayBox);
-	}
-
-	/**
-	 * Draws the figure.
-	 * @param g the Graphics to draw into
-	 */
-	public void draw(Graphics g) {
-		// A NullFigure cannot be drawn: it has no graphical representation
-	}
-
-	/**
-	 * Returns the handles used to manipulate
-	 * the figure. Handles is a Factory Method for
-	 * creating handle objects.
-	 *
-	 * @return an type-safe iterator of handles
-	 * @see Handle
-	 */
-	public HandleEnumeration handles() {
-		return HandleEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Checks if the Figure should be considered as empty.
-	 */
-	public boolean isEmpty() {
-		return true;
-	}
-
-	/**
-	 * Returns an Enumeration of the figures contained in this figure
-	 */
-	public FigureEnumeration figures() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Returns the figure that contains the given point.
-	 */
-	public Figure findFigureInside(int x, int y) {
-		// A NullFigure does not contain other figures
-		return null;
-	}
-
-	/**
-	 * Returns a Clone of this figure
-	 */
-	public Object clone() {
-		return super.clone();
-	}
-
-	/**
-	 * Checks whether the given figure is contained in this figure.
-	 */
-	public boolean includes(Figure figure) {
-		// A NullFigure does not contain another figure
-		return false;
-	}
-
-	/**
-	 * Decomposes a figure into its parts. A figure is considered
-	 * as a part of itself.
-	 */
-	public FigureEnumeration decompose() {
-		return new SingleFigureEnumerator(this);
-	}
-
-	/**
-	 * Releases a figure's resources. Release is called when
-	 * a figure is removed from a drawing. Informs the listeners that
-	 * the figure is removed by calling figureRemoved.
-	 */
-	public void release() {
-		// A NullFigure does not occupy any resources
-	}
-
-	/**
-	 * Invalidates the figure. This method informs its listeners
-	 * that its current display box is invalid and should be
-	 * refreshed.
-	 */
-	public void invalidate() {
-		// A NullFigure does not have a display box
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-		return null;
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-		return null;
-	}
-
-	/**
-	 * Sets the named attribute to the new value
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-	}
-
-	/**
-	 * Sets the named attribute to the new value
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		// A NullFigure does not have attributes: it cannot do anything with them
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/NumberTextFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/NumberTextFigure.java
deleted file mode 100644
index 815f15346..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/NumberTextFigure.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * @(#)NumberTextFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.Figure;
-
-/**
- * A TextFigure specialized to edit numbers.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class NumberTextFigure extends TextFigure {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -4056859232918336475L;
-	private int numberTextFigureSerializedDataVersion = 1;
-
-	/**
-	 * Gets the number of columns to be used by the text overlay.
-	 * @see org.jhotdraw.util.FloatingTextField
-	 */
-	public int overlayColumns() {
-		return Math.max(4, getText().length());
-	}
-
-	/**
-	 * Gets the numerical value of the contained text.
-	 * return the value or 0 in the case of an illegal number format.
-	 */
-	public int getValue() {
-		int value = 0;
-		try {
-			value = Integer.parseInt(getText());
-		}
-		catch (NumberFormatException e) {
-			value = 0;
-		}
-		return value;
-	}
-
-	/**
-	 * Sets the numberical value of the contained text.
-	 */
-	public void setValue(int value) {
-		setText(Integer.toString(value));
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineConnector.java
deleted file mode 100644
index b8b556f7c..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineConnector.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * @(#)PolyLineConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-/**
- * PolyLineConnector finds connection points on a
- * PolyLineFigure.
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PolyLineConnector extends ChopBoxConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6018435940519102865L;
-
-	public PolyLineConnector() {
-		super();
-	}
-
-	/**
-	 * Constructs a connector with the given owner figure.
-	 */
-	public PolyLineConnector(Figure owner) {
-		super(owner);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		PolyLineFigure p = (PolyLineFigure)owner();
-		// *** based on PolygonFigure's heuristic
-		Point ctr = p.center();
-		int cx = -1;
-		int cy = -1;
-		long len = Long.MAX_VALUE;
-
-		// Try for points along edge
-
-		for (int i = 0; i < p.pointCount()-1; i++) {
-			Point p1 = p.pointAt(i);
-			Point p2 = p.pointAt(i+1);
-			Point chop = Geom.intersect(p1.x,
-								 p1.y,
-								 p2.x,
-								 p2.y,
-								 from.x,
-								 from.y,
-								 ctr.x,
-								 ctr.y);
-			if (chop != null) {
-				long cl = Geom.length2(chop.x, chop.y, from.x, from.y);
-				if (cl < len) {
-					len = cl;
-					cx = chop.x;
-					cy = chop.y;
-				}
-			}
-		}
-		// if none found, pick closest vertex
-		//if (len ==  Long.MAX_VALUE) {
-		{ // try anyway
-			for (int i = 0; i < p.pointCount(); i++) {
-				Point pp = p.pointAt(i);
-				long l = Geom.length2(pp.x, pp.y, from.x, from.y);
-				if (l < len) {
-					len = l;
-					cx = pp.x;
-					cy = pp.y;
-				}
-			}
-		}
-		return new Point(cx, cy);
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineFigure.java
deleted file mode 100644
index deb63c895..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineFigure.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*
- * @(#)PolyLineFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
-
-// JUnitDoclet begin import
-import org.jhotdraw.framework.Connector;
-import org.jhotdraw.framework.FigureAttributeConstant;
-import org.jhotdraw.framework.HandleEnumeration;
-import org.jhotdraw.framework.Locator;
-import org.jhotdraw.standard.AbstractFigure;
-import org.jhotdraw.standard.HandleEnumerator;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.Geom;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-// JUnitDoclet end import
-
-/**
- * A poly line figure consists of a list of points.
- * It has an optional line decoration at the start and end.
- *
- * @see LineDecoration
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PolyLineFigure extends AbstractFigure {
-
-	public final static int ARROW_TIP_NONE  = 0;
-	public final static int ARROW_TIP_START = 1;
-	public final static int ARROW_TIP_END   = 2;
-	public final static int ARROW_TIP_BOTH  = 3;
-
-	protected List                fPoints;
-	protected LineDecoration      fStartDecoration = null;
-	protected LineDecoration      fEndDecoration = null;
-	protected Color               fFrameColor = Color.black;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7951352179906577773L;
-	private int polyLineFigureSerializedDataVersion = 1;
-
-	public PolyLineFigure() {
-		this(4);
-	}
-
-	public PolyLineFigure(int size) {
-		fPoints = CollectionsFactory.current().createList(size);
-	}
-
-	public PolyLineFigure(int x, int y) {
-		fPoints = CollectionsFactory.current().createList();
-		fPoints.add(new Point(x, y));
-	}
-
-	public Rectangle displayBox() {
-		Iterator iter = points();
-		if (iter.hasNext()) {
-			// avoid starting with origin 0,0 because that would lead to a too large rectangle
-			Rectangle r = new Rectangle((Point)iter.next());
-
-			while (iter.hasNext()) {
-				r.add((Point)iter.next());
-			}
-
-			return r;
-		}
-		else {
-			return new Rectangle();
-		}
-	}
-
-	public boolean isEmpty() {
-		return (size().width < 3) && (size().height < 3);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList(fPoints.size());
-		for (int i = 0; i < fPoints.size(); i++) {
-			handles.add(new PolyLineHandle(this, locator(i), i));
-		}
-		return new HandleEnumerator(handles);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-	}
-
-	/**
-	 * Adds a node to the list of points.
-	 */
-	public void addPoint(int x, int y) {
-		fPoints.add(new Point(x, y));
-		changed();
-	}
-
-	public Iterator points() {
-		return fPoints.iterator();
-	}
-
-	public int pointCount() {
-		return fPoints.size();
-	}
-
-	protected void basicMoveBy(int dx, int dy) {
-		Iterator iter = points();
-		while (iter.hasNext()) {
-			((Point)iter.next()).translate(dx, dy);
-		}
-	}
-
-	/**
-	 * Changes the position of a node.
-	 */
-	public void setPointAt(Point p, int i) {
-		willChange();
-		fPoints.set(i, p);
-		changed();
-	}
-
-	/**
-	 * Insert a node at the given point.
-	 */
-	public void insertPointAt(Point p, int i) {
-		fPoints.add(i, p);
-		changed();
-	}
-
-	public void removePointAt(int i) {
-		willChange();
-		fPoints.remove(i);
-		changed();
-	}
-
-	/**
-	 * Splits the segment at the given point if a segment was hit.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int splitSegment(int x, int y) {
-		int i = findSegment(x, y);
-		if (i != -1) {
-			insertPointAt(new Point(x, y), i+1);
-		}
-		return i+1;
-	}
-
-	public Point pointAt(int i) {
-		return (Point)fPoints.get(i);
-	}
-
-	/**
-	 * Joins to segments into one if the given point hits a node
-	 * of the polyline.
-	 * @return true if the two segments were joined.
-	 */
-	public boolean joinSegments(int x, int y) {
-		for (int i= 1; i < fPoints.size()-1; i++) {
-			Point p = pointAt(i);
-			if (Geom.length(x, y, p.x, p.y) < 3) {
-				removePointAt(i);
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new PolyLineConnector(this);
-	}
-
-	/**
-	 * Sets the start decoration.
-	 */
-	public void setStartDecoration(LineDecoration l) {
-		fStartDecoration = l;
-	}
-
-	/**
-	 * Returns the start decoration.
-	 */
-	public LineDecoration getStartDecoration() {
-		return fStartDecoration;
-	}
-
-	/**
-	 * Sets the end decoration.
-	 */
-	public void setEndDecoration(LineDecoration l) {
-		fEndDecoration = l;
-	}
-
-	/**
-	 * Returns the end decoration.
-	 */
-	public LineDecoration getEndDecoration() {
-		return fEndDecoration;
-	}
-
-	public void draw(Graphics g) {
-		g.setColor(getFrameColor());
-		Point p1, p2;
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			p1 = pointAt(i);
-			p2 = pointAt(i+1);
-			drawLine(g, p1.x, p1.y, p2.x, p2.y);
-		}
-		decorate(g);
-	}
-
-	/**
-	 * Can be overriden in subclasses to draw different types of lines
-	 * (e.g. dotted lines)
-	 */
-	protected void drawLine(Graphics g, int x1, int y1, int x2, int y2) {
-		g.drawLine(x1, y1, x2, y2);
-	}
-
-	public boolean containsPoint(int x, int y) {
-		Rectangle bounds = displayBox();
-		bounds.grow(4,4);
-		if (!bounds.contains(x, y)) {
-			return false;
-		}
-
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			Point p1 = pointAt(i);
-			Point p2 = pointAt(i+1);
-			if (Geom.lineContainsPoint(p1.x, p1.y, p2.x, p2.y, x, y)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Gets the segment of the polyline that is hit by
-	 * the given point.
-	 * @return the index of the segment or -1 if no segment was hit.
-	 */
-	public int findSegment(int x, int y) {
-		for (int i = 0; i < fPoints.size()-1; i++) {
-			Point p1 = pointAt(i);
-			Point p2 = pointAt(i+1);
-			if (Geom.lineContainsPoint(p1.x, p1.y, p2.x, p2.y, x, y)) {
-				return i;
-			}
-		}
-		return -1;
-	}
-
-	private void decorate(Graphics g) {
-		if (getStartDecoration() != null) {
-			Point p1 = pointAt(0);
-			Point p2 = pointAt(1);
-			getStartDecoration().draw(g, p1.x, p1.y, p2.x, p2.y);
-		}
-		if (getEndDecoration() != null) {
-			Point p3 = pointAt(fPoints.size()-2);
-			Point p4 = pointAt(fPoints.size()-1);
-			getEndDecoration().draw(g, p4.x, p4.y, p3.x, p3.y);
-		}
-	}
-
-	/**
-	 * Gets the attribute with the given name.
-	 * PolyLineFigure maps "ArrowMode"to a
-	 * line decoration.
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getAttribute(FigureAttributeConstant.getConstant(name));
-	}
-
-	/**
-	 * Gets the attribute with the given name.
-	 * PolyLineFigure maps "ArrowMode"to a
-	 * line decoration.
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		if (attributeConstant.equals(FigureAttributeConstant.FRAME_COLOR)) {
-			return getFrameColor();
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.ARROW_MODE)) {
-			int value = 0;
-			if (getStartDecoration() != null) {
-				value |= ARROW_TIP_START;
-			}
-			if (getEndDecoration() != null) {
-				value |= ARROW_TIP_END;
-			}
-			return new Integer(value);
-		}
-		return super.getAttribute(attributeConstant);
-	}
-
-	/**
-	 * Sets the attribute with the given name.
-	 * PolyLineFigure interprets "ArrowMode"to set
-	 * the line decoration.
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		setAttribute(FigureAttributeConstant.getConstant(name), value);
-	}
-
-	/**
-	 * Sets the attribute with the given name.
-	 * PolyLineFigure interprets "ArrowMode"to set
-	 * the line decoration.
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		if (attributeConstant.equals(FigureAttributeConstant.FRAME_COLOR)) {
-			setFrameColor((Color)value);
-			changed();
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.ARROW_MODE)) {
-			Integer intObj = (Integer)value;
-			if (intObj != null) {
-				int decoration = intObj.intValue();
-				if ((decoration & ARROW_TIP_START) != 0) {
-					setStartDecoration(new ArrowTip());
-				}
-				else {
-					setStartDecoration(null);
-				}
-				if ((decoration & ARROW_TIP_END) != 0) {
-					setEndDecoration(new ArrowTip());
-				}
-				else {
-					setEndDecoration(null);
-				}
-			}
-			changed();
-		}
-		else {
-			super.setAttribute(attributeConstant, value);
-		}
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fPoints.size());
-		Iterator iter = points();
-		while (iter.hasNext()) {
-			Point p = (Point)iter.next();
-			dw.writeInt(p.x);
-			dw.writeInt(p.y);
-		}
-		dw.writeStorable(fStartDecoration);
-		dw.writeStorable(fEndDecoration);
-		dw.writeColor(fFrameColor);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		int size = dr.readInt();
-		fPoints = CollectionsFactory.current().createList(size);
-		for (int i=0; i<size; i++) {
-			int x = dr.readInt();
-			int y = dr.readInt();
-			fPoints.add(new Point(x,y));
-		}
-		setStartDecoration((LineDecoration)dr.readStorable());
-		setEndDecoration((LineDecoration)dr.readStorable());
-		fFrameColor = dr.readColor();
-	}
-
-	/**
-	 * Creates a locator for the point with the given index.
-	 */
-	public static Locator locator(int pointIndex) {
-		return new PolyLineLocator(pointIndex);
-	}
-
-	protected Color getFrameColor() {
-		return fFrameColor;
-	}
-
-	protected void setFrameColor(Color c) {
-		fFrameColor = c;
-	}
-
-	/**
-	 * Hook method to change the rectangle that will be invalidated
-	 */
-	protected Rectangle invalidateRectangle(Rectangle r) {
-		// SF-bug id: 533953: provide this method to customize invalidated rectangle
-		Rectangle parentR = super.invalidateRectangle(r);
-		if (getStartDecoration() != null) {
-			parentR.add(getStartDecoration().displayBox());
-		}
-		if (getEndDecoration() != null) {
-			parentR.add(getEndDecoration().displayBox());
-		}
-		return parentR;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineHandle.java
deleted file mode 100644
index b8abb8b5d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineHandle.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)PolyLineHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.LocatorHandle;
-import org.jhotdraw.standard.SingleFigureEnumerator;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A handle for a node on the polyline.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PolyLineHandle extends LocatorHandle {
-
-	private int fIndex;
-
-   /**
-	* Constructs a poly line handle.
-	* @param owner the owning polyline figure.
-	* @param l the locator
-	* @param index the index of the node associated with this handle.
-	*/
-	public PolyLineHandle(PolyLineFigure owner, Locator l, int index) {
-		super(owner, l);
-		fIndex = index;
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view, fIndex));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((PolyLineHandle.UndoActivity)getUndoActivity()).setOldPoint(new Point(x,y));
-	}
-
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		int currentIndex = ((PolyLineHandle.UndoActivity)getUndoActivity()).getPointIndex();
-		myOwner().setPointAt(new Point(x, y), currentIndex);
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		if ((x == anchorX) && (y == anchorY)) {
-			setUndoActivity(null);
-		}
-	}
-	
-	private PolyLineFigure myOwner() {
-		return (PolyLineFigure)owner();
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView, int newPointIndex) {
-		return new PolyLineHandle.UndoActivity(newView, newPointIndex);
-	}
-	
-	public static class UndoActivity extends UndoableAdapter {
-		private Point myOldPoint;
-		private int myPointIndex;
-
-		public UndoActivity(DrawingView newView, int newPointIndex) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-			setPointIndex(newPointIndex);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return movePointToOldLocation();
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return movePointToOldLocation();
-		}
-
-		protected boolean movePointToOldLocation() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-
-			PolyLineFigure figure = (PolyLineFigure)fe.nextFigure();
-			Point backupPoint = figure.pointAt(getPointIndex());
-			figure.setPointAt(getOldPoint(), getPointIndex());
-			setOldPoint(backupPoint);
-			return true;
-		}
-
-		public void setOldPoint(Point newOldPoint) {
-			myOldPoint = newOldPoint;
-		}
-		
-		public Point getOldPoint() {
-			return myOldPoint;
-		}
-
-		public void setPointIndex(int newPointIndex) {
-			myPointIndex = newPointIndex;
-		}
-		
-		public int getPointIndex() {
-			return myPointIndex;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineLocator.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineLocator.java
deleted file mode 100644
index 06f5ab1ee..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/PolyLineLocator.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)PolyLineLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-
-/**
- * A poly line figure consists of a list of points.
- * It has an optional line decoration at the start and end.
- *
- * @see LineDecoration
- *
- * @version <$CURRENT_VERSION$>
- */
-class PolyLineLocator extends AbstractLocator {
-	int fIndex;
-
-	public PolyLineLocator(int index) {
-		fIndex = index;
-	}
-
-	public Point locate(Figure owner) {
-		PolyLineFigure plf = (PolyLineFigure)owner;
-		// guard against changing PolyLineFigures -> temporary hack
-		if (fIndex < plf.pointCount()) {
-			return ((PolyLineFigure)owner).pointAt(fIndex);
-		}
-		return new Point(0, 0);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/RadiusHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/RadiusHandle.java
deleted file mode 100644
index a7279d072..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/RadiusHandle.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @(#)RadiusHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Geom;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * A Handle to manipulate the radius of a round corner rectangle.
- *
- * @version <$CURRENT_VERSION$>
- */
-class RadiusHandle extends AbstractHandle {
-
-	private static final int OFFSET = 4;
-
-	public RadiusHandle(RoundRectangleFigure owner) {
-		super(owner);
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((RadiusHandle.UndoActivity)getUndoActivity()).
-			setOldRadius(((RoundRectangleFigure)owner()).getArc());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		int dx = x-anchorX;
-		int dy = y-anchorY;
-		RoundRectangleFigure owner = (RoundRectangleFigure)owner();
-		Rectangle r = owner.displayBox();
-		Point originalRadius = ((RadiusHandle.UndoActivity)getUndoActivity()).getOldRadius();
-		int rx = Geom.range(0, r.width, 2*(originalRadius.x/2 + dx));
-		int ry = Geom.range(0, r.height, 2*(originalRadius.y/2 + dy));
-		owner.setArc(rx, ry);
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point currentRadius = ((RoundRectangleFigure)owner()).getArc();
-		Point originalRadius = ((RadiusHandle.UndoActivity)getUndoActivity()).getOldRadius();
-		// there has been no change so there is nothing to undo
-		if ((currentRadius.x == originalRadius.x) && (currentRadius.y == originalRadius.y)) {
-			setUndoActivity(null);
-		}
-	}
-
-	public Point locate() {
-		RoundRectangleFigure owner = (RoundRectangleFigure)owner();
-		Point radius = owner.getArc();
-		Rectangle r = owner.displayBox();
-		return new Point(r.x+radius.x/2+OFFSET, r.y+radius.y/2+OFFSET);
-	}
-
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.yellow);
-		g.fillOval(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new RadiusHandle.UndoActivity(newView);
-	}
-	
-	public static class UndoActivity extends UndoableAdapter {
-		private Point myOldRadius;
-		
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetRadius();
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetRadius();
-		}
-
-		protected boolean resetRadius() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			RoundRectangleFigure currentFigure = (RoundRectangleFigure)fe.nextFigure();
-			Point figureRadius = currentFigure.getArc();
-			currentFigure.setArc(getOldRadius().x, getOldRadius().y);
-			setOldRadius(figureRadius);
-			return true;
-		}
-		
-		protected void setOldRadius(Point newOldRadius) {
-			myOldRadius = newOldRadius;
-		}
-
-		public Point getOldRadius() {
-			return myOldRadius;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/RectangleFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/RectangleFigure.java
deleted file mode 100644
index ad68c84a9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/RectangleFigure.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * @(#)RectangleFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import java.io.IOException;
-import java.util.List;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.HandleEnumeration;
-
-
-/**
- * A rectangle figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class RectangleFigure extends AttributeFigure {
-
-	private Rectangle   fDisplayBox;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 184722075881789163L;
-	private int rectangleFigureSerializedDataVersion = 1;
-
-	public RectangleFigure() {
-		this(new Point(0,0), new Point(0,0));
-	}
-
-	public RectangleFigure(Point origin, Point corner) {
-		basicDisplayBox(origin,corner);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-		return new HandleEnumerator(handles);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-		g.fillRect(r.x, r.y, r.width, r.height);
-	}
-
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.drawRect(r.x, r.y, r.width-1, r.height-1);
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/RoundRectangleFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/RoundRectangleFigure.java
deleted file mode 100644
index baebe0606..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/RoundRectangleFigure.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * @(#)RoundRectangleFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import java.awt.*;
-import java.io.IOException;
-import java.util.List;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-
-/**
- * A round rectangle figure.
- *
- * @see RadiusHandle
- *
- * @version <$CURRENT_VERSION$>
- */
-public class RoundRectangleFigure extends AttributeFigure {
-
-	private Rectangle   fDisplayBox;
-	private int         fArcWidth;
-	private int         fArcHeight;
-	private static final int DEFAULT_ARC = 8;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 7907900248924036885L;
-	private int roundRectangleSerializedDataVersion = 1;
-
-	public RoundRectangleFigure() {
-		this(new Point(0,0), new Point(0,0));
-		fArcWidth = fArcHeight = DEFAULT_ARC;
-	}
-
-	public RoundRectangleFigure(Point origin, Point corner) {
-		basicDisplayBox(origin,corner);
-		fArcWidth = fArcHeight = DEFAULT_ARC;
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-	}
-
-	/**
-	 * Sets the arc's witdh and height.
-	 */
-	public void setArc(int width, int height) {
-		willChange();
-		fArcWidth = width;
-		fArcHeight = height;
-		changed();
-	}
-
-	/**
-	 * Gets the arc's width and height.
-	 */
-	public Point getArc() {
-		return new Point(fArcWidth, fArcHeight);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		BoxHandleKit.addHandles(this, handles);
-
-		handles.add(new RadiusHandle(this));
-
-		return new HandleEnumerator(handles);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x,y);
-	}
-
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-        /*
-         * JP, 25-May-03: Changed from (width-1, height-1) to (width, height),
-         * because figures were not filled completely (JDK 1.4.x). Might invalidate
-         * fix for #661878. If the problem is JDK-dependant, maybe the JDK version
-         * should be taken into account here?
-         */
-		g.fillRoundRect(r.x, r.y, r.width, r.height, fArcWidth, fArcHeight);
-	}
-
-	public void drawFrame(Graphics g) {
-		Rectangle r = displayBox();
-		g.drawRoundRect(r.x, r.y, r.width-1, r.height-1, fArcWidth, fArcHeight);
-	}
-
-	public Insets connectionInsets() {
-		return new Insets(fArcHeight/2, fArcWidth/2, fArcHeight/2, fArcWidth/2);
-	}
-
-	public Connector connectorAt(int x, int y) {
-		return new ShortestDistanceConnector(this); // just for demo purposes
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-		dw.writeInt(fArcWidth);
-		dw.writeInt(fArcHeight);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-		fArcWidth = dr.readInt();
-		fArcHeight = dr.readInt();
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/ScribbleTool.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/ScribbleTool.java
deleted file mode 100644
index 4d31d1d8e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/ScribbleTool.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * @(#)ScribbleTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Undoable;
-import java.awt.event.MouseEvent;
-
-/**
- * Tool to scribble a PolyLineFigure
- *
- * @see PolyLineFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ScribbleTool extends AbstractTool {
-
-	private PolyLineFigure  fScribble;
-	private int             fLastX, fLastY;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	public ScribbleTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void activate() {
-		super.activate();
-	}
-
-	public void deactivate() {
-		super.deactivate();
-		if (fScribble != null) {
-			if (fScribble.size().width < 4 || fScribble.size().height < 4) {
-				getActiveDrawing().remove(fScribble);
-				// nothing to undo
-				setUndoActivity(null);
-			}
-			fScribble = null;
-		}
-	}
-
-	private void point(int x, int y) {
-		if (fScribble == null) {
-			fScribble = new PolyLineFigure(x, y);
-			setAddedFigure(view().add(fScribble));
-		}
-		else if (fLastX != x || fLastY != y) {
-			fScribble.addPoint(x, y);
-		}
-
-		fLastX = x;
-		fLastY = y;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		if (e.getClickCount() >= 2) {
-			// use undo activity from paste command...
-			setUndoActivity(createUndoActivity());
-
-			// put created figure into a figure enumeration
-			getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getAddedFigure()));
-		}
-		else {
-			// use original event coordinates to avoid
-			// supress that the scribble is constrained to
-			// the grid
-			point(e.getX(), e.getY());
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (fScribble != null) {
-			point(e.getX(), e.getY());
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		super.mouseUp(e, x, y);
-		// deactivate tool only when mouseUp was also fired
-		if (e.getClickCount() >= 2) {
-			editor().toolDone();
-		}
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	private void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/ShortestDistanceConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/ShortestDistanceConnector.java
deleted file mode 100644
index 2011a3f89..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/ShortestDistanceConnector.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * @(#)ShortestDistanceConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Geom;
-import java.awt.*;
-
-/**
- * A ShortestDistance locates connection points by
- * finding the shortest distance between the start and
- * end of the connection.
- * It doesn't connect to the areas defined by Figure.connectionInsets()
- *
- * @see Figure#connectionInsets
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ShortestDistanceConnector extends AbstractConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -2273446020593433887L;
-
-	public ShortestDistanceConnector() { // only used for Storable implementation
-		super();
-	}
-
-	public ShortestDistanceConnector(Figure owner) {
-		super(owner);
-	}
-
-	public Point findStart(ConnectionFigure connection) {
-		return findPoint(connection, true);
-	}
-
-	public Point findEnd(ConnectionFigure connection) {
-		return findPoint(connection, false);
-	}
-
-	protected Point findPoint(ConnectionFigure connection, boolean getStart) {
-		Figure startFigure = connection.getStartConnector().owner();
-		Figure endFigure = connection.getEndConnector().owner();
-
-		Rectangle r1 = startFigure.displayBox();
-		Rectangle r2 = endFigure.displayBox();
-
-		Insets i1 = startFigure.connectionInsets();
-		Insets i2 = endFigure.connectionInsets();
-
-		Point p1, p2;
-		Point start = null, end = null, s = null, e = null;
-		long len2 = Long.MAX_VALUE, l2;
-		int x1, x2, y1, y2; // connection points
-		int xmin, xmax, ymin, ymax;
-
-		// X-dimension
-		// constrain width connection insets
-		int r1x, r1width, r2x, r2width, r1y, r1height, r2y, r2height;
-		r1x = r1.x + i1.left;
-		r1width = r1.width - i1.left - i1.right-1;
-		r2x = r2.x + i2.left;
-		r2width = r2.width - i2.left - i2.right-1;
-
-		// find x connection point
-		if (r1x + r1width < r2x) {
-			x1 = r1x + r1width;
-			x2 = r2x;
-		}
-		else if (r1x > r2x + r2width) {
-			x1 = r1x;
-			x2 = r2x + r2width;
-		}
-		else {
-			xmax = Math.max(r1x, r2x);
-			xmin = Math.min(r1x+r1width, r2x+r2width);
-			x1 = x2 = (xmax + xmin) /2;
-		}
-
-		// Y-Dimension
-		// constrain with connection insets
-		r1y = r1.y + i1.top;
-		r1height = r1.height - i1.top - i1.bottom-1;
-		r2y = r2.y + i2.top;
-		r2height = r2.height - i2.top - i2.bottom-1;
-
-		// y connection point
-		if (r1y + r1height < r2y) {
-			y1 = r1y + r1height;
-			y2 = r2y;
-		}
-		else if (r1y > r2y + r2height) {
-			y1 = r1y;
-			y2 = r2y + r2height;
-		}
-		else {
-			ymax = Math.max(r1y, r2y);
-			ymin = Math.min(r1y+r1height, r2y+r2height);
-			y1 = y2 = (ymax + ymin) /2;
-		}
-		// find shortest connection
-		for (int i = 0; i < 4; i++) {
-			switch(i) {
-			case 0:
-				// EAST-WEST
-				p1 = Geom.east(r1);
-				p2 = Geom.west(r2);
-				s = new Point(p1.x, y1);
-				e = new Point(p2.x, y2);
-				break;
-			case 1:
-				// WEST-EAST
-				p1 = Geom.west(r1);
-				p2 = Geom.east(r2);
-				s = new Point(p1.x, y1);
-				e = new Point(p2.x, y2);
-				break;
-			case 2:
-				// NORTH-SOUTH
-				p1 = Geom.north(r1);
-				p2 = Geom.south(r2);
-				s = new Point(x1, p1.y);
-				e = new Point(x2, p2.y);
-				break;
-			case 3:
-				// SOUTH-NORTH
-				p1 = Geom.south(r1);
-				p2 = Geom.north(r2);
-				s = new Point(x1, p1.y);
-				e = new Point(x2, p2.y);
-				break;
-			}
-			l2 = Geom.length2(s.x, s.y, e.x, e.y);
-			if (l2 < len2) {
-				start = s;
-				end = e;
-				len2 = l2;
-			}
-		}
-		if (getStart) {
-			return start;
-		}
-		return end;
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/TextFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/TextFigure.java
deleted file mode 100644
index 96a07f8e8..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/TextFigure.java
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- * @(#)TextFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.ColorMap;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-import java.awt.*;
-import java.io.*;
-import java.util.List;
-
-/**
- * A text figure.
- *
- * @see TextTool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class TextFigure
-	extends AttributeFigure
-	implements FigureChangeListener, TextHolder {
-
-	private int fOriginX;
-	private int fOriginY;
-
-	// cache of the TextFigure's size
-	transient private boolean fSizeIsDirty = true;
-	transient private int fWidth;
-	transient private int fHeight;
-
-	private String fText;
-	private Font fFont;
-	private boolean fIsReadOnly;
-
-	private Figure fObservedFigure = null;
-	private OffsetLocator fLocator = null;
-
-	private static String fgCurrentFontName = "Helvetica";
-	private static int fgCurrentFontSize = 12;
-	private static int fgCurrentFontStyle = Font.PLAIN;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 4599820785949456124L;
-	private int textFigureSerializedDataVersion = 1;
-
-	public TextFigure() {
-		fOriginX = 0;
-		fOriginY = 0;
-		fFont = createCurrentFont();
-		setAttribute(FigureAttributeConstant.FILL_COLOR, ColorMap.color("None"));
-		fText = "";
-		fSizeIsDirty = true;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Figure#moveBy(int, int)
-	 */
-	public void moveBy(int x, int y) {
-		willChange();
-		basicMoveBy(x, y);
-		if (getLocator() != null) {
-			getLocator().moveBy(x, y);
-		}
-		changed();
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fOriginX += x;
-		fOriginY += y;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Figure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	public void basicDisplayBox(Point newOrigin, Point newCorner) {
-		fOriginX = newOrigin.x;
-		fOriginY = newOrigin.y;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Figure#displayBox()
-	 */
-	public Rectangle displayBox() {
-		Dimension extent = textExtent();
-		return new Rectangle(fOriginX, fOriginY, extent.width, extent.height);
-	}
-
-	/**
-	 * @see org.jhotdraw.standard.TextHolder#textDisplayBox()
-	 */
-	public Rectangle textDisplayBox() {
-		return displayBox();
-	}
-
-	/**
-	 * Tests whether this figure is read only.
-	 */
-	public boolean readOnly() {
-		return fIsReadOnly;
-	}
-
-	/**
-	 * Sets the read only status of the text figure.
-	 */
-	public void setReadOnly(boolean isReadOnly) {
-		fIsReadOnly = isReadOnly;
-	}
-
-	/**
-	 * Gets the font.
-	 * @see org.jhotdraw.standard.TextHolder#getFont()
-	 */
-	public Font getFont() {
-		return fFont;
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 * @see org.jhotdraw.standard.TextHolder#getRepresentingFigure()
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-
-	/**
-	 * Sets the font.
-	 */
-	public void setFont(Font newFont) {
-		willChange();
-		fFont = newFont;
-		markDirty();
-		changed();
-	}
-
-	/**
-	 * Updates the location whenever the figure changes itself.
-	 * @see org.jhotdraw.framework.Figure#changed()
-	 */
-	public void changed() {
-		super.changed();
-		//updateLocation();
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 *
-	 * @see org.jhotdraw.framework.Figure#getAttribute(java.lang.String)
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getAttribute(FigureAttributeConstant.getConstant(name));
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 * @see org.jhotdraw.framework.Figure#getAttribute(org.jhotdraw.framework.FigureAttributeConstant)
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		Font font = getFont();
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_SIZE)) {
-			return new Integer(font.getSize());
-		}
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_STYLE)) {
-			return new Integer(font.getStyle());
-		}
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_NAME)) {
-			return font.getName();
-		}
-		return super.getAttribute(attributeConstant);
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 *
-	 * @see org.jhotdraw.framework.Figure#setAttribute(java.lang.String, java.lang.Object)
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		setAttribute(FigureAttributeConstant.getConstant(name), value);
-	}
-
-	/**
-	 * A text figure understands the "FontSize", "FontStyle", and "FontName"
-	 * attributes.
-	 * @see org.jhotdraw.framework.Figure#setAttribute(org.jhotdraw.framework.FigureAttributeConstant, java.lang.Object)
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		Font font = getFont();
-		if (attributeConstant.equals(FigureAttributeConstant.FONT_SIZE)) {
-			Integer s = (Integer) value;
-			setFont(new Font(font.getName(), font.getStyle(), s.intValue()));
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.FONT_STYLE)) {
-			Integer s = (Integer) value;
-			int style = font.getStyle();
-			if (s.intValue() == Font.PLAIN) {
-				style = Font.PLAIN;
-			}
-			else {
-				style = style ^ s.intValue();
-			}
-			setFont(new Font(font.getName(), style, font.getSize()));
-		}
-		else if (attributeConstant.equals(FigureAttributeConstant.FONT_NAME)) {
-			String n = (String) value;
-			setFont(new Font(n, font.getStyle(), font.getSize()));
-		}
-		else {
-			super.setAttribute(attributeConstant, value);
-		}
-	}
-
-	/**
-	 * Gets the text shown by the text figure.
-	 * @see org.jhotdraw.standard.TextHolder#getText()
-	 */
-	public String getText() {
-		return fText;
-	}
-
-	/**
-	 * Sets the text shown by the text figure.
-	 * @see org.jhotdraw.standard.TextHolder#setText(java.lang.String)
-	 */
-	public void setText(String newText) {
-		if (newText == null || !newText.equals(fText)) {
-			willChange();
-			fText = newText;
-			markDirty();
-			changed();
-		}
-	}
-
-	/**
-	 * Tests whether the figure accepts typing.
-	 * @see org.jhotdraw.standard.TextHolder#acceptsTyping()
-	 */
-	public boolean acceptsTyping() {
-		return !fIsReadOnly;
-	}
-
-	/**
-	 * @see org.jhotdraw.figures.AttributeFigure#drawBackground(java.awt.Graphics)
-	 */
-	public void drawBackground(Graphics g) {
-		Rectangle r = displayBox();
-		g.fillRect(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * @see org.jhotdraw.figures.AttributeFigure#drawFrame(java.awt.Graphics)
-	 */
-	public void drawFrame(Graphics g) {
-		g.setFont(fFont);
-		g.setColor((Color) getAttribute(FigureAttributeConstant.TEXT_COLOR));
-		FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(fFont);
-		Rectangle r = displayBox();
-		g.drawString(getText(), r.x, r.y + metrics.getAscent());
-	}
-
-	protected Dimension textExtent() {
-		if (!fSizeIsDirty) {
-			return new Dimension(fWidth, fHeight);
-		}
-		FontMetrics metrics = Toolkit.getDefaultToolkit().getFontMetrics(fFont);
-		fWidth = metrics.stringWidth(getText());
-		fHeight = metrics.getHeight();
-		fSizeIsDirty = false;
-		return new Dimension(fWidth, fHeight);
-	}
-
-	protected void markDirty() {
-		fSizeIsDirty = true;
-	}
-
-	/**
-	 * Gets the number of columns to be overlaid when the figure is edited.
-	 * @see org.jhotdraw.standard.TextHolder#overlayColumns()
-	 */
-	public int overlayColumns() {
-		int length = getText().length();
-		int columns = 20;
-		if (length != 0) {
-			columns = getText().length() + 3;
-		}
-		return columns;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Figure#handles()
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new FontSizeHandle(this, RelativeLocator.southWest()));
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * @see org.jhotdraw.util.Storable#write(org.jhotdraw.util.StorableOutput)
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		Rectangle r = displayBox();
-		dw.writeInt(r.x);
-		dw.writeInt(r.y);
-		dw.writeString(getText());
-		dw.writeString(fFont.getName());
-		dw.writeInt(fFont.getStyle());
-		dw.writeInt(fFont.getSize());
-		dw.writeBoolean(fIsReadOnly);
-		dw.writeStorable(getObservedFigure());
-		dw.writeStorable(getLocator());
-	}
-
-	/**
-	 * @see org.jhotdraw.util.Storable#read(org.jhotdraw.util.StorableInput)
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		markDirty();
-		basicDisplayBox(new Point(dr.readInt(), dr.readInt()), null);
-		setText(dr.readString());
-		fFont = new Font(dr.readString(), dr.readInt(), dr.readInt());
-		fIsReadOnly = dr.readBoolean();
-
-		setObservedFigure((Figure) dr.readStorable());
-		if (getObservedFigure() != null) {
-			getObservedFigure().addFigureChangeListener(this);
-		}
-		setLocator((OffsetLocator) dr.readStorable());
-	}
-
-	private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
-		s.defaultReadObject();
-
-		if (getObservedFigure() != null) {
-			getObservedFigure().addFigureChangeListener(this);
-		}
-		markDirty();
-	}
-
-	/**
-	 * @see org.jhotdraw.standard.TextHolder#connect(org.jhotdraw.framework.Figure)
-	 */
-	public void connect(Figure figure) {
-		if (getObservedFigure() != null) {
-			getObservedFigure().removeFigureChangeListener(this);
-		}
-
-		setObservedFigure(figure);
-		setLocator(new OffsetLocator(getObservedFigure().connectedTextLocator(this)));
-		getObservedFigure().addFigureChangeListener(this);
-		willChange();
-		updateLocation();
-		changed();
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.FigureChangeListener#figureChanged(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	public void figureChanged(FigureChangeEvent e) {
-		willChange();
-		updateLocation();
-		changed();
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.FigureChangeListener#figureRemoved(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	public void figureRemoved(FigureChangeEvent e) {
-		if (listener() != null) {
-			Rectangle rect = invalidateRectangle(displayBox());
-			listener().figureRemoved(new FigureChangeEvent(this, rect, e));
-		}
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.FigureChangeListener#figureRequestRemove(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.FigureChangeListener#figureInvalidated(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.FigureChangeListener#figureRequestUpdate(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-	}
-
-	/**
-	 * Updates the location relative to the connected figure.
-	 * The TextFigure is centered around the located point.
-	 */
-	protected void updateLocation() {
-		if (getLocator() != null) {
-			Point p = getLocator().locate(getObservedFigure());
-
-			p.x -= size().width / 2 + fOriginX;
-			p.y -= size().height / 2 + fOriginY;
-			if (p.x != 0 || p.y != 0) {
-				//willChange();
-				basicMoveBy(p.x, p.y);
-				//changed();
-			}
-		}
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Figure#release()
-	 */
-	public void release() {
-		super.release();
-		disconnect(getObservedFigure());
-	}
-
-	/**
-	 * Disconnects a text holder from a connect figure.
-	 * @see org.jhotdraw.standard.TextHolder#disconnect(org.jhotdraw.framework.Figure)
-	 */
-	public void disconnect(Figure disconnectFigure) {
-		if (disconnectFigure != null) {
-			disconnectFigure.removeFigureChangeListener(this);
-		}
-		setLocator(null);
-		setObservedFigure(null);
-	}
-
-	protected void setObservedFigure(Figure newObservedFigure) {
-		fObservedFigure = newObservedFigure;
-	}
-
-	public Figure getObservedFigure() {
-		return fObservedFigure;
-	}
-
-	protected void setLocator(OffsetLocator newLocator) {
-		fLocator = newLocator;
-	}
-
-	protected OffsetLocator getLocator() {
-		return fLocator;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Figure#getTextHolder()
-	 */
-	public TextHolder getTextHolder() {
-		return this;
-	}
-
-	/**
-	 * Creates the current font to be used for new text figures.
-	 */
-	static public Font createCurrentFont() {
-		return new Font(fgCurrentFontName, fgCurrentFontStyle, fgCurrentFontSize);
-	}
-
-	/**
-	 * Sets the current font name
-	 */
-	static public void setCurrentFontName(String name) {
-		fgCurrentFontName = name;
-	}
-
-	/**
-	 * Sets the current font size.
-	 */
-	static public void setCurrentFontSize(int size) {
-		fgCurrentFontSize = size;
-	}
-
-	/**
-	 * Sets the current font style.
-	 */
-	static public void setCurrentFontStyle(int style) {
-		fgCurrentFontStyle = style;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/TextTool.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/TextTool.java
deleted file mode 100644
index dcea3c6b6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/TextTool.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * @(#)TextTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.FloatingTextField;
-import org.jhotdraw.util.UndoableAdapter;
-import org.jhotdraw.util.Undoable;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * Tool to create new or edit existing text figures.
- * The editing behavior is implemented by overlaying the
- * Figure providing the text with a FloatingTextField.<p>
- * A tool interaction is done once a Figure that is not
- * a TextHolder is clicked.
- *
- * @see TextHolder
- * @see FloatingTextField
- *
- * @version <$CURRENT_VERSION$>
- */
-public class TextTool extends CreationTool {
-
-	private FloatingTextField   myTextField;
-	private TextHolder  myTypingTarget;
-
-	/**
-	 * The selected figure is different from the TextHolder as the TextHolder
-	 * may be included in a DecoratorFigure. Thus, the DecoratorFigure is selected
-	 * while the TextFigure is edited.
-	 */
-	private Figure mySelectedFigure;
-
-	public TextTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor, prototype);
-	}
-
-	/**
-	 * If the pressed figure is a TextHolder it can be edited otherwise
-	 * a new text figure is created.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y)
-	{
-		setView((DrawingView)e.getSource());
-
-		if (getTypingTarget() != null) {
-			editor().toolDone();
-			return;
-		}
-
-		TextHolder textHolder = null;
-		Figure pressedFigure = drawing().findFigureInside(x, y);
-		if (pressedFigure != null) {
-			textHolder = pressedFigure.getTextHolder();
-			setSelectedFigure(pressedFigure);
-		}
-
-		if ((textHolder != null) && textHolder.acceptsTyping()) {
-			// do not create a new TextFigure but edit existing one
-			beginEdit(textHolder);
-		}
-		else {
-			super.mouseDown(e, x, y);
-			// update view so the created figure is drawn before the floating text
-			// figure is overlaid. (Note, fDamage should be null in StandardDrawingView
-			// when the overlay figure is drawn because a JTextField cannot be scrolled)
-			view().checkDamage();
-			beginEdit(getCreatedFigure().getTextHolder());
-		}
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (!isActive()) {
-			editor().toolDone();
-		}
-	}
-
-	/**
-	 * Terminates the editing of a text figure.
-	 */
-	public void deactivate() {
-		endEdit();
-        super.deactivate();
-	}
-
-	/**
-	 * Sets the text cursor.
-	 */
-	public void activate() {
-		super.activate();
-		// JDK1.1 TEXT_CURSOR has an incorrect hot spot
-		//view().setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
-	}
-
-	/**
-	 * Test whether the text tool is currently activated and is displaying
-	 * a overlay TextFigure for accepting input.
-	 *
-	 * @return true, if the text tool has a accepting target TextFigure for its input, false otherwise
-	 */
-	public boolean isActive() {
-		return (getTypingTarget() != null);
-	}
-
-	protected void beginEdit(TextHolder figure) {
-		if (getFloatingTextField() == null) {
-			setFloatingTextField(createFloatingTextField());
-		}
-
-		if (figure != getTypingTarget() && getTypingTarget() != null) {
-			endEdit();
-		}
-
-		getFloatingTextField().createOverlay((Container)view(), figure.getFont());
-		getFloatingTextField().setBounds(fieldBounds(figure), figure.getText());
-
-		setTypingTarget(figure);
-	}
-
-	protected void endEdit() {
-		if (getTypingTarget() != null) {
-			if (getAddedFigure() != null) {
-				if (!isDeleteTextFigure()) {
-					// figure has been created and not immediately deleted
-					setUndoActivity(createPasteUndoActivity());
-					getUndoActivity().setAffectedFigures(
-							new SingleFigureEnumerator(getAddedFigure())
-					);
-					getTypingTarget().setText(getFloatingTextField().getText());
-				}
-			}
-			else if (isDeleteTextFigure()) {
-				// delete action
-				setUndoActivity(createDeleteUndoActivity());
-				getUndoActivity().setAffectedFigures(
-						new SingleFigureEnumerator(getSelectedFigure())
-				);
-				// perform delete operation of DeleteCommand.UndoActivity
-				getUndoActivity().redo();
-			}
-			else {
-				// put affected figure into a figure enumeration
-				setUndoActivity(createUndoActivity());
-				getUndoActivity().setAffectedFigures(
-					new SingleFigureEnumerator(getTypingTarget().getRepresentingFigure()));
-				getTypingTarget().setText(getFloatingTextField().getText());
-				((TextTool.UndoActivity)getUndoActivity()).setBackupText(getTypingTarget().getText());
-			}
-
-			setTypingTarget(null);
-			getFloatingTextField().endOverlay();
-		}
-		else {
-			setUndoActivity(null);
-		}
-		setAddedFigure(null);
-		setCreatedFigure(null);
-		setSelectedFigure(null);
-	}
-
-	protected boolean isDeleteTextFigure() {
-		return getFloatingTextField().getText().length() == 0;
-	}
-
-	private Rectangle fieldBounds(TextHolder figure) {
-		Rectangle box = figure.textDisplayBox();
-		int nChars = figure.overlayColumns();
-		Dimension d = getFloatingTextField().getPreferredSize(nChars);
-		return new Rectangle(box.x, box.y, d.width, d.height);
-	}
-
-	protected void setTypingTarget(TextHolder newTypingTarget) {
-		myTypingTarget = newTypingTarget;
-	}
-
-	protected TextHolder getTypingTarget() {
-		return myTypingTarget;
-	}
-
-	private void setSelectedFigure(Figure newSelectedFigure) {
-		mySelectedFigure = newSelectedFigure;
-	}
-
-	protected Figure getSelectedFigure() {
-		return mySelectedFigure;
-	}
-
-	private FloatingTextField createFloatingTextField() {
-		return new FloatingTextField();
-	}
-
-	private void setFloatingTextField(FloatingTextField newFloatingTextField) {
-		myTextField = newFloatingTextField;
-	}
-
-	protected FloatingTextField getFloatingTextField() {
-		return myTextField;
-	}
-
-	protected Undoable createDeleteUndoActivity() {
-		FigureTransferCommand cmd = new DeleteCommand("Delete", editor());
-		return new DeleteCommand.UndoActivity(cmd);
-	}
-
-	protected Undoable createPasteUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new TextTool.UndoActivity(view(), getTypingTarget().getText());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private String myOriginalText;
-		private String myBackupText;
-
-		public UndoActivity(DrawingView newDrawingView, String newOriginalText) {
-			super(newDrawingView);
-			setOriginalText(newOriginalText);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-			setText(getOriginalText());
-
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-			setText(getBackupText());
-
-			return true;
-		}
-
-		protected boolean isValidText(String toBeChecked) {
-			return ((toBeChecked != null) && (toBeChecked.length() > 0));
-		}
-
-		protected void setText(String newText) {
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				if (currentFigure.getTextHolder() != null) {
-					currentFigure.getTextHolder().setText(newText);
-				}
-			}
-		}
-
-		public void setBackupText(String newBackupText) {
-			myBackupText = newBackupText;
-		}
-
-		public String getBackupText() {
-			return myBackupText;
-		}
-
-		public void setOriginalText(String newOriginalText) {
-			myOriginalText = newOriginalText;
-		}
-
-		public String getOriginalText() {
-			return myOriginalText;
-		}
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/figures/UngroupCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/figures/UngroupCommand.java
deleted file mode 100644
index 09f8cc467..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/figures/UngroupCommand.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * @(#)UngroupCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.figures;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.UndoableAdapter;
-import org.jhotdraw.util.Undoable;
-
-/**
- * Command to ungroup the selected figures.
- *
- * @see GroupCommand
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class UngroupCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a group command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public UngroupCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		// selection of group figures
-		getUndoActivity().setAffectedFigures(view().selection());
-		view().clearSelection();
-
-		((UngroupCommand.UndoActivity)getUndoActivity()).ungroupFigures();
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		FigureEnumeration fe = view().selection();
-		while (fe.hasNextFigure()) {
-			Figure currentFigure = fe.nextFigure();
-			currentFigure = currentFigure.getDecoratedFigure();
-
-			if (!(currentFigure instanceof GroupFigure)) {
-				return false;
-			}
-		}
-
-		return view().selectionCount() > 0;
-
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new UngroupCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			getDrawingView().clearSelection();
-
-			FigureEnumeration groupFigures = getAffectedFigures();
-			while (groupFigures.hasNextFigure()) {
-				Figure groupFigure = groupFigures.nextFigure();
-				// orphan individual figures from the group
-				getDrawingView().drawing().orphanAll(groupFigure.figures());
-
-				Figure figure = getDrawingView().drawing().add(groupFigure);
-				getDrawingView().addToSelection(figure);
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				getDrawingView().drawing().orphanAll(getAffectedFigures());
-				getDrawingView().clearSelection();
-				ungroupFigures();
-				return true;
-			}
-			return false;
-		}
-
-		protected void ungroupFigures() {
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure selected = fe.nextFigure();
-				Figure group = getDrawingView().drawing().orphan(selected);
-
-				getDrawingView().drawing().addAll(group.figures());
-				getDrawingView().addToSelectionAll(group.figures());
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/ConnectionFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/ConnectionFigure.java
deleted file mode 100644
index 4195d675b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/ConnectionFigure.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * @(#)ConnectionFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.awt.Point;
-
-/**
- * Figures to connect Connectors provided by Figures.
- * A ConnectionFigure knows its start and end Connector.
- * It uses the Connectors to locate its connection points.<p>
- * A ConnectionFigure can have multiple segments. It provides
- * operations to split and join segments.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * Strategy is used encapsulate the algorithm to locate the connection point.
- * ConnectionFigure is the Strategy context and Connector is the Strategy.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld026.htm>Observer</a></b><br>
- * Observer is used to track changes of the connected figures. A connection
- * figure registers itself as listeners or observers of the source and
- * target connector.
- * <hr>
- *
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public interface ConnectionFigure extends Figure, FigureChangeListener {
-
-	/**
-	 * Sets the start Connector of the connection.
-	 * @param start the start connector of the connection
-	 */
-	public void connectStart(Connector start);
-
-	/**
-	 * Sets the end Connector of the connection.
-	 * @param end the end connector of the connection
-	 */
-	public void connectEnd(Connector end);
-
-	/**
-	 * Updates the connection
-	 */
-	public void updateConnection();
-
-	/**
-	 * Disconnects the start figure from the dependent figure
-	 */
-	public void disconnectStart();
-
-	/**
-	 * Disconnects the end figure from the dependent figure
-	 */
-	public void disconnectEnd();
-
-	/**
-	 * Gets the start Connector
-	 */
-	public Connector getStartConnector();
-
-	/**
-	 * Gets the end Connector.
-	 */
-	public Connector getEndConnector();
-
-	/**
-	 * Checks if two figures can be connected. Implement this method
-	 * to constrain the allowed connections between figures.
-	 */
-	public boolean canConnect(Figure start, Figure end);
-
-	/**
-	 * Checks if the ConnectionFigure connects the same figures.
-	 */
-	public boolean connectsSame(ConnectionFigure other);
-
-	/**
-	 * Sets the start point.
-	 */
-	public void startPoint(int x, int y);
-
-	/**
-	 * Sets the end point.
-	 */
-	public void endPoint(int x, int y);
-
-	/**
-	 * Gets the start point.
-	 */
-	public Point startPoint();
-
-	/**
-	 * Gets the end point.
-	 */
-	public Point endPoint();
-
-	/**
-	 * Sets the position of the point at the given position
-	 */
-	public void setPointAt(Point p, int index);
-
-	/**
-	 * Gets the Point at the given position
-	 */
-	public Point pointAt(int index);
-
-	/**
-	 * Gets the number of points or nodes of the connection
-	 */
-	public int pointCount();
-
-	/**
-	 * Splits the hit segment.
-	 * @param x the x position where the figure should be split
-	 * @param y the y position where the figure should be split
-	 * @return the index of the splitting point
-	 */
-	public int splitSegment(int x, int y);
-
-
-	/**
-	 * Joins the hit segments.
-	 * @param x the position where the figure should be joined.
-	 * @param y the position where the figure should be joined.
-	 * @return whether the segment was joined
-	 */
-	public boolean joinSegments(int x, int y);
-	
-	/**
-	 * Gets the start figure of the connection.
-	 */
-	public Figure startFigure();
-  
-	/**
-	 * Gets the end figure of the connection.
-	 */
-	public Figure endFigure();    
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/Connector.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/Connector.java
deleted file mode 100644
index ae9ffdb4a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/Connector.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * @(#)Connector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.awt.*;
-import java.io.Serializable;
-
-import org.jhotdraw.util.*;
-
-/**
- * Connectors know how to locate a connection point on a figure.
- * A Connector knows its owning figure and can determine either
- * the start or the endpoint of a given connection figure. A connector
- * has a display box that describes the area of a figure it is
- * responsible for. A connector can be visible but it doesn't have
- * to be.<br>
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld004.htm>Strategy</a></b><br>
- * Connector implements the strategy to determine the connections points.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld016.htm>Factory Method</a></b><br>
- * Connectors are created by the Figure's factory method connectorAt.
- * <hr>
- *
- * @see Figure#connectorAt
- * @see ConnectionFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Connector extends Serializable, Storable {
-
-	/**
-	 * Finds the start point for the connection.
-	 */
-	public abstract Point findStart(ConnectionFigure connection);
-
-	/**
-	 * Finds the end point for the connection.
-	 */
-	public abstract Point findEnd(ConnectionFigure connection);
-
-	/**
-	 * Gets the connector's owner.
-	 */
-	public abstract Figure owner();
-
-	/**
-	 * Gets the display box of the connector.
-	 */
-	public abstract Rectangle displayBox();
-
-	/**
-	 * Tests if a point is contained in the connector.
-	 */
-	public abstract boolean containsPoint(int x, int y);
-
-	/**
-	 * Draws this connector. Connectors don't have to be visible
-	 * and it is OK leave this method empty.
-	 */
-	public abstract void draw(Graphics g);
-
-	/**
-	 * Requests that the connector should show itself or hide itself.  The
-	 * ConnectionFigure which desires to connect to this Connector is passed in.
-	 * If a connector should show itself it should do so when draw is called, if
-	 * so desired.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection);
-
-	/**
-	 * Supports connector dragging.
-	 * 
-	 */
-	public abstract Point connectorMovedTo(int x, int y);
-     
-  
-	/**
-	 * Returns a 'finalized' connector. Can be used to change Connector.
-	 * 
-	 * @param start - true if a startConnector
-	 * @return - final Connector
-	 */    
-	public Connector finalizeConnector(boolean start);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/Cursor.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/Cursor.java
deleted file mode 100644
index 9bf56c7ef..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/Cursor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * @(#)Cursor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-/**
- * This interface has the purpose to reduce the dependency of JHotDraw on AWT
- * classes and interfaces.
- * See {@link org.jhotdraw.standard.AWTCursor} for an example of implementation
- * for this interface.
- * 
- * <p>Created on: 08/05/2003.</p>
- * 
- * @version $Revision$
- * @author <a href="mailto:ricardo_padilha@users.sourceforge.net">Ricardo 
- * Sangoi Padilha</a>
- * @see org.jhotdraw.standard.AWTCursor
- */
-public interface Cursor {
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/Drawing.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/Drawing.java
deleted file mode 100644
index 420b1cfdd..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/Drawing.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * @(#)Drawing.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import org.jhotdraw.util.*;
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.Serializable;
-
-/**
- * Drawing is a container for figures.
- * <p>
- * Drawing sends out DrawingChanged events to DrawingChangeListeners
- * whenever a part of its area was invalidated.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld026.htm>Observer</a></b><br>
- * The Observer pattern is used to decouple the Drawing from its views and
- * to enable multiple views.<hr>
- *
- * @see Figure
- * @see DrawingView
- * @see FigureChangeListener
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-
-public interface Drawing
-		extends Storable, FigureChangeListener, Serializable {
-
-	/**
-	 * Releases the drawing and its contained figures.
-	 */
-	public void release();
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order back to front over the figures.
-	 */
-	public FigureEnumeration figures();
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order back to front over the figures
-	 * that lie within the absolute bounds.
-	 */
-	public FigureEnumeration figures(Rectangle viewRectangle);
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order front to back over the figures.
-	 */
-	public FigureEnumeration figuresReverse();
-
-	/**
-	 * Finds a top level Figure. Use this call for hit detection that
-	 * should not descend into the figure's children.
-	 */
-	public Figure findFigure(int x, int y);
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 */
-	public Figure findFigure(Rectangle r);
-
-	/**
-	 * Finds a top level Figure, but supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 * @param x the x coordinate
-	 * @param y the y coordinate
-	 * @param without the figure to be ignored during
-	 * the find.
-	 */
-	public Figure findFigureWithout(int x, int y, Figure without);
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 * It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 */
-	public Figure findFigure(Rectangle r, Figure without);
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. Use this method to implement <i>click-through</i>
-	 * hit detection, that is, you want to detect the inner most
-	 * figure containing the given point.
-	 */
-	public Figure findFigureInside(int x, int y);
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 * @param x the x coordinate
-	 * @param y the y coordinate
-	 * @param without the figure to be ignored during
-	 * the find.
-	 */
-	public Figure findFigureInsideWithout(int x, int y, Figure without);
-
-	/**
-	 * Checks if the composite figure has the argument as one of
-	 * its children.
-	 *
-	 * @param figure figure to be searched in all descendants
-	 * @return true if the figure is part of this Drawing, else otherwise
-	 */
-	public boolean includes(Figure figure);
-
-	/**
-	 * Check whether a given figure is a (direct) child figure of this CompositeFigure.
-	 *
-	 * @param figure figure to be searched in all direct descendents
-	 * @return true if the figure is a direct child of this Drawing, else otherwise
-	 */
-	public boolean containsFigure(Figure figure);
-
-	/**
-	 * Adds a listener for this drawing.
-	 */
-	public void addDrawingChangeListener(DrawingChangeListener listener);
-
-	/**
-	 * Removes a listener from this drawing.
-	 */
-	public void removeDrawingChangeListener(DrawingChangeListener listener);
-
-	/**
-	 * Gets the listeners of a drawing.
-	 *
-	 * @return new iterator of all registered change listener
-	 */
-	public Iterator drawingChangeListeners();
-
-	/**
-	 * Adds a figure and sets its container to refer to this drawing.
-	 *
-	 * @param figure to be added to the drawing
-	 * @return the figure that was inserted (might be different from the figure specified).
-	 */
-	public Figure add(Figure figure);
-
-	/**
-	 * Adds a list of figures.
-	 *
-	 * @deprecated use addAll(FigureEnumeration) instead
-	 */
-	public void addAll(List newFigures);
-
-	/**
-	 * Adds a FigureEnumeration of figures.
-	 *
-	 * @param fe (unused) enumeration containing all figures to be added
-	 * @see #add
-	 */
-	public void addAll(FigureEnumeration fe);
-
-	/**
-	 * Removes the figure from the drawing and releases it.
-	 *
-	 * @param figure that is part of the drawing and should be removed
-	 * @return the figure that has been removed (might be different from the figure specified)
-	 */
-	public Figure remove(Figure figure);
-
-	/**
-	 * Removes a figure from the figure list, but
-	 * doesn't release it. Use this method to temporarily
-	 * manipulate a figure outside of the drawing.
-	 *
-	 * @param figure that is part of the drawing and should be added
-	 */
-	public Figure orphan(Figure figure);
-
-	/**
-	 * Removes a list of figures from the figure's list
-	 * without releasing the figures.
-	 *
-	 * @see #orphan
-	 * @deprecated use orphanAll(FigureEnumeration) instead
-	 */
-	public void orphanAll(List orphanFigures);
-
-	/**
-	 * Removes a FigureEnumeration of figures from the figure's list
-	 * without releasing the figures.
-	 * @see #orphan
-	 */
-	public void orphanAll(FigureEnumeration fe);
-
-	/**
-	 * Removes a list of figures .
-	 *
-	 * @see #remove
-	 * @deprecated use removeAll(FigureEnumeration) instead
-	 */
-	public void removeAll(List figures);
-
-	/**
-	 * Removes a FigureEnumeration of figures.
-	 * @see #remove
-	 */
-	public void removeAll(FigureEnumeration fe);
-
-	/**
-	 * Replaces a figure in the drawing without removing it from the drawing.
-	 * The figure to be replaced must be part of the drawing.
-	 *
-	 * @param figure figure to be replaced
-	 * @param replacement figure that should replace the specified figure
-	 * @return the figure that has been inserted (might be different from the figure specified)
-	 */
-	public Figure replace(Figure figure, Figure replacement);
-
-	/**
-	 * Sends a figure to the back of the drawing.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public void sendToBack(Figure figure);
-
-	/**
-	 * Brings a figure to the front.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public void bringToFront(Figure figure);
-
-	/**
-	 * Sends a figure to a certain layer within a drawing. Each figure
-	 * lays in a unique layer and the layering order decides which
-	 * figure is drawn on top of another figure. Figures with a higher
-	 * layer number have usually been added later and may overlay
-	 * figures in lower layers. Layers are counted from to (the number
-	 * of figures - 1).
-	 * The figure is removed from its current layer (if it has been already
-	 * part of this drawing) and is transferred to the specified layers after
-	 * all figures between the original layer and the new layer are shifted to
-	 * one layer below to fill the layer sequence. It is not possible to skip a
-	 * layer number and if the figure is sent to a layer beyond the latest layer
-	 * it will be added as the last figure to the drawing and its layer number
-	 * will be set to the be the one beyond the latest layer so far.
-	 *
-	 * @param figure figure to be sent to a certain layer
-	 * @param layerNr target layer of the figure
-	 */
-	public void sendToLayer(Figure figure, int layerNr);
-
-	/**
-	 * Gets the layer for a certain figure (first occurrence). The number
-	 * returned is the number of the layer in which the figure is placed.
-	 *
-	 * @param figure figure to be queried for its layering place
-	 * @return number of the layer in which the figure is placed and -1 if the
-	 *			figure could not be found.
-	 * @see #sendToLayer
-	 */
-	public int getLayer(Figure figure);
-
-	/**
-	 * Gets the figure from a certain layer.
-	 *
-	 * @param layerNr number of the layer which figure should be returned
-	 * @return figure from the layer specified, null, if the layer nr was outside
-	 *			the number of possible layer (0...(number of figures - 1))
-	 * @see #sendToLayer
-	 */
-	public Figure getFigureFromLayer(int layerNr);
-
-	/**
-	 * Draws all the figures back to front.
-	 */
-	public void draw(Graphics g);
-
-	/**
-	 * Draws only the given figures.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe);
-
-	/**
-	 * Acquires the drawing lock.
-	 */
-	public void lock();
-
-	/**
-	 * Releases the drawing lock.
-	 */
-	public void unlock();
-
-	/**
-	 * Used to optimize rendering.  Rendering of many objects may
-	 * be slow until this method is called.  The view rectangle
-	 * should at least approximately enclose the CompositeFigure.
-	 * If the view rectangle is too small or too large, performance
-	 * may suffer.
-	 */
-	public void init(Rectangle viewRectangle);
-
-	public String getTitle();
-	public void setTitle(String name);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingChangeEvent.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingChangeEvent.java
deleted file mode 100644
index 04419b0f6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingChangeEvent.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)DrawingChangeEvent.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.awt.Rectangle;
-import java.util.EventObject;
-
-/**
- * The event passed to DrawingChangeListeners.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DrawingChangeEvent extends EventObject {
-
-	private Rectangle myRectangle;
-
-	/**
-	 *  Constructs a drawing change event.
-	 */
-	public DrawingChangeEvent(Drawing newSource, Rectangle newRect) {
-		super(newSource);
-		myRectangle = newRect;
-	}
-
-	/**
-	 *  Gets the changed drawing
-	 */
-	public Drawing getDrawing() {
-		return (Drawing)getSource();
-	}
-
-	/**
-	 *  Gets the changed rectangle
-	 */
-	public Rectangle getInvalidatedRectangle() {
-		return myRectangle;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingChangeListener.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingChangeListener.java
deleted file mode 100644
index 27999b593..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingChangeListener.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)DrawingChangeListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-/**
- * Listener interested in Drawing changes.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface DrawingChangeListener {
-
-	/**
-	 *  Sent when an area is invalid
-	 */
-	public void drawingInvalidated(DrawingChangeEvent e);
-
-    /**
-     *  Sent when the drawing Title has changed
-     */
-    public void drawingTitleChanged(DrawingChangeEvent e);
-	/**
-	 *  Sent when the drawing wants to be refreshed
-	 */
-	public void drawingRequestUpdate(DrawingChangeEvent e);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingEditor.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingEditor.java
deleted file mode 100644
index 28a981dd5..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingEditor.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * @(#)DrawingEditor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import org.jhotdraw.util.UndoManager;
-
-/**
- * DrawingEditor defines the interface for coordinating
- * the different objects that participate in a drawing editor.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld022.htm>Mediator</a></b><br>
- * DrawingEditor is the mediator. It decouples the participants
- * of a drawing editor.
- *
- * @see Tool
- * @see DrawingView
- * @see Drawing
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface DrawingEditor extends FigureSelectionListener {
-
-	/**
-	 * Gets the editor's drawing view.
-	 */
-	public DrawingView view();
-
-	public DrawingView[] views();
-	/**
-	 * Gets the editor's drawing.
-	 */
-//	public Drawing drawing();
-
-	/**
-	 * Gets the editor's current tool.
-	 */
-	public Tool tool();
-
-	/**
-	 * Informs the editor that a tool has done its interaction.
-	 * This method can be used to switch back to the default tool.
-	 */
-	public void toolDone();
-
-	/**
-	 * Informs that the current figure selection has changed.
-	 * Override this method to handle selection changes.
-	 */
-	public void figureSelectionChanged(DrawingView view);
-
-	public void addViewChangeListener(ViewChangeListener vsl);
-	public void removeViewChangeListener(ViewChangeListener vsl);
-
-	/**
-	 * Shows a status message in the editor's user interface
-	 */
-	public void showStatus(String string);
-
-	public UndoManager getUndoManager();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingView.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingView.java
deleted file mode 100644
index d35c7687a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/DrawingView.java
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * @(#)DrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.awt.*;
-import java.awt.image.ImageObserver;
-import java.util.Collection;
-
-/**
- * DrawingView renders a Drawing and listens to its changes.
- * It receives user input and delegates it to the current tool.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld026.htm>Observer</a></b><br>
- * DrawingView observes drawing for changes via the DrawingListener interface.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld032.htm>State</a></b><br>
- * DrawingView plays the role of the StateContext in
- * the State pattern. Tool is the State.<br>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * DrawingView is the StrategyContext in the Strategy pattern
- * with regard to the UpdateStrategy. <br>
- * DrawingView is the StrategyContext for the PointConstrainer.
- *
- * @see Drawing
- * @see Painter
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface DrawingView extends ImageObserver, DrawingChangeListener {
-
-	/**
-	 * Sets the view's editor.
-	 */
-	public void setEditor(DrawingEditor editor);
-
-	/**
-	 * Gets the current tool.
-	 */
-	public Tool tool();
-
-	/**
-	 * Gets the drawing.
-	 */
-	public Drawing drawing();
-
-	/**
-	 * Sets and installs another drawing in the view.
-	 */
-	public void setDrawing(Drawing d);
-
-	/**
-	 * Gets the editor.
-	 */
-	public DrawingEditor editor();
-
-	/**
-	 * Adds a figure to the drawing.
-	 * @return the added figure.
-	 */
-	public Figure add(Figure figure);
-
-	/**
-	 * Removes a figure from the drawing.
-	 * @return the removed figure
-	 */
-	public Figure remove(Figure figure);
-
-	/**
-	 * Adds a collections of figures to the drawing.
-	 */
-	public void addAll(Collection figures);
-
-	/**
-	 * Gets the size of the drawing.
-	 */
-	public Dimension getSize();
-
-	/**
-	 * Gets the minimum dimension of the drawing.
-	 */
-	public Dimension getMinimumSize();
-
-	/**
-	 * Gets the preferred dimension of the drawing..
-	 */
-	public Dimension getPreferredSize();
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public void setDisplayUpdate(Painter updateStrategy);
-
-	/**
-	 * Gets the current display update strategy.
-	 * @see Painter
-	 */
-	public Painter getDisplayUpdate();
-
-	/**
-	 * Gets an enumeration over the currently selected figures.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selection();
-
-	/**
-	 * Gets the currently seleced figures in Z order.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @see #selection
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selectionZOrdered();
-
-	/**
-	 * Gets the number of selected figures.
-	 */
-	public int selectionCount();
-
-	/**
-	 * Test whether a given figure is selected.
-	 */
-	public boolean isFigureSelected(Figure checkFigure);
-
-	/**
-	 * Adds a figure to the current selection.
-	 */
-	public void addToSelection(Figure figure);
-
-	/**
-	 * Adds a collections of figures to the current selection.
-	 */
-	public void addToSelectionAll(Collection figures);
-
-	/**
-	 * Adds a FigureEnumeration to the current selection.
-	 */
-	public void addToSelectionAll(FigureEnumeration fe);
-
-	/**
-	 * Removes a figure from the selection.
-	 */
-	public void removeFromSelection(Figure figure);
-
-	/**
-	 * If a figure isn't selected it is added to the selection.
-	 * Otherwise it is removed from the selection.
-	 */
-	public void toggleSelection(Figure figure);
-
-	/**
-	 * Clears the current selection.
-	 */
-	public void clearSelection();
-
-	/**
-	 * Gets the current selection as a FigureSelection. A FigureSelection
-	 * can be cut, copied, pasted.
-	 */
-	public FigureSelection getFigureSelection();
-
-	/**
-	 * Finds a handle at the given coordinates.
-	 * @return the hit handle, null if no handle is found.
-	 */
-	public Handle findHandle(int x, int y);
-
-	/**
-	 * Gets the position of the last click inside the view.
-	 */
-	public Point lastClick();
-
-	/**
-	 * Sets the current point constrainer.
-	 */
-	public void setConstrainer(PointConstrainer p);
-
-	/**
-	 * Gets the current grid setting.
-	 */
-	public PointConstrainer getConstrainer();
-
-	/**
-	 * Checks whether the drawing has some accumulated damage
-	 */
-	public void checkDamage();
-
-	/**
-	 * Repair the damaged area
-	 */
-	public void repairDamage();
-
-	/**
-	 * Paints the drawing view. The actual drawing is delegated to
-	 * the current update strategy.
-	 * @see Painter
-	 */
-	public void paint(Graphics g);
-
-	/**
-	 * Creates an image with the given dimensions
-	 */
-	public Image createImage(int width, int height);
-
-	/**
-	 * Gets a graphic to draw into
-	 */
-	public Graphics getGraphics();
-
-	/**
-	 * Gets the background color of the DrawingView
-	 */
-	public Color getBackground();
-
-	/**
-	 * Sets the background color of the DrawingView
-	 */
-	public void setBackground(Color c);
-
-	/**
-	 * Draws the contents of the drawing view.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void drawAll(Graphics g);
-
-	/**
-	 * Draws the given figures.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe);
-
-	/**
-	 * Draws the currently active handles.
-	 */
-	public void drawHandles(Graphics g);
-
-	/**
-	 * Draws the drawing.
-	 */
-	public void drawDrawing(Graphics g);
-
-	/**
-	 * Draws the background. If a background pattern is set it
-	 * is used to fill the background. Otherwise the background
-	 * is filled in the background color.
-	 */
-	public void drawBackground(Graphics g);
-
-	/**
-	 * Sets the cursor of the DrawingView
-	 */
-	public void setCursor(Cursor c);
-
-	/**
-	 * Freezes the view by acquiring the drawing lock.
-	 * @see Drawing#lock
-	 */
-	public void freezeView();
-
-	/**
-	 * Unfreezes the view by releasing the drawing lock.
-	 * @see Drawing#unlock
-	 */
-	public void unfreezeView();
-
-	/**
-	 * Add a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void addFigureSelectionListener(FigureSelectionListener fsl);
-
-	/**
-	 * Remove a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void removeFigureSelectionListener(FigureSelectionListener fsl);
-
-	/**
-	 * Returns a FigureEnumeration of connection figures
-	 */
-	public FigureEnumeration getConnectionFigures(Figure inFigure);
-
-	/**
-	 * Inserts figures in a drawing at given offset. Optional check for connection figures
-	 *
-	 *  @return enumeration which has been added to the drawing. The figures in the enumeration
-	 *          can have changed during adding them (e.g. they could have been decorated).
-	 */
-	public FigureEnumeration insertFigures(FigureEnumeration inFigures, int dx, int dy, boolean bCheck);
-
-	/**
-	 * Check whether the DrawingView is interactive, i.e. whether it accepts user input
-	 * and whether it can display a drawing.
-	 */
-	public boolean isInteractive();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/Figure.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/Figure.java
deleted file mode 100644
index 4f66cfd86..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/Figure.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * @(#)Figure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.standard.TextHolder;
-
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * The interface of a graphical figure. A figure knows
- * its display box and can draw itself. A figure can be
- * composed of several figures. To interact and manipulate
- * with a figure it can provide Handles and Connectors.<p>
- * A figure has a set of handles to manipulate its shape or attributes.
- * A figure has one or more connectors that define how
- * to locate a connection point.<p>
- * Figures can have an open ended set of attributes.
- * An attribute is identified by a string.<p>
- * Default implementations for the Figure interface are provided
- * by AbstractFigure.<p>
- *
- * Figures can have <a name="dependent_figure">dependent figure</a>s. The existence od dependent
- * figures depend on another figure. This is the case for figures
- * such as ConnectedTextFigures and LineDecoration. Thus, they are
- * "externally" dependent on a figure in contrast to (internally)
- * contained figures. This means, "normal" figures (figures that
- * are not containers) can still have dependent figures. Dependent
- * figures are especially important if the figure which the depend
- * on is deleted because they should be removed as well (cascading delete).
- *
- * @see Handle
- * @see Connector
- * @see org.jhotdraw.standard.AbstractFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Figure
-				extends Storable, Cloneable, Serializable {
-
-	/**
-	 * Moves the Figure to a new location.
-	 * @param dx the x delta
-	 * @param dy the y delta
-	 */
-	public void moveBy(int dx, int dy);
-
-	/**
-	 * Changes the display box of a figure. This method is
-	 * always implemented in figure subclasses. It only changes
-	 * the displaybox and does not announce any changes. It
-	 * is usually not called by the client. Clients typically call
-	 * displayBox to change the display box.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void basicDisplayBox(Point origin, Point corner);
-
-	/**
-	 * Changes the display box of a figure. Clients usually
-	 * invoke this method. It changes the display box
-	 * and announces the corresponding changes.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void displayBox(Point origin, Point corner);
-
-	/**
-	 * Gets the display box of a figure
-	 * @see #basicDisplayBox
-	 */
-	public Rectangle displayBox();
-
-	/**
-	 * Draws the figure.
-	 * @param g the Graphics to draw into
-	 */
-	public void draw(Graphics g);
-
-	/**
-	 * Returns the handles used to manipulate
-	 * the figure. Handles is a Factory Method for
-	 * creating handle objects.
-	 *
-	 * @return an type-safe iterator of handles
-	 * @see Handle
-	 */
-	public HandleEnumeration handles();
-
-	/**
-	 * Gets the size of the figure
-	 */
-	public Dimension size();
-
-	/**
-	 * Gets the figure's center
-	 */
-	public Point center();
-
-	/**
-	 * Checks if the Figure should be considered as empty.
-	 */
-	public boolean isEmpty();
-
-	/**
-	 * Returns an Enumeration of the figures contained in this figure
-	 */
-	public FigureEnumeration figures();
-
-	/**
-	 * Returns the figure that contains the given point.
-	 */
-	public Figure findFigureInside(int x, int y);
-
-	/**
-	 * Checks if a point is inside the figure.
-	 */
-	public boolean containsPoint(int x, int y);
-
-	/**
-	 * Returns a Clone of this figure
-	 */
-	public Object clone();
-
-	/**
-	 * Changes the display box of a figure. This is a
-	 * convenience method. Implementors should only
-	 * have to override basicDisplayBox
-	 * @see #displayBox
-	 */
-	public void displayBox(Rectangle r);
-
-	/**
-	 * Checks whether the given figure is contained in this figure.
-	 */
-	public boolean includes(Figure figure);
-
-	/**
-	 * Decomposes a figure into its parts. A figure is considered
-	 * as a part of itself.
-	 */
-	public FigureEnumeration decompose();
-
-	/**
-	 * Sets the Figure's container and registers the container
-	 * as a figure change listener. A figure's container can be
-	 * any kind of FigureChangeListener. A figure is not restricted
-	 * to have a single container.
-	 */
-	public void addToContainer(FigureChangeListener c);
-
-	/**
-	 * Removes a figure from the given container and unregisters
-	 * it as a change listener.
-	 */
-	public void removeFromContainer(FigureChangeListener c);
-
-	/**
-	 * Add a <a href="#dependent_figure">dependent figure</a>.
-	 */
-	public void addDependendFigure(Figure newDependendFigure);
-
-	/**
-	 * Remove a <a href="#dependent_figure">dependent figure</a>.
-	 */
-	public void removeDependendFigure(Figure oldDependendFigure);
-
-	/**
-	 * Get an enumeration of all <a href="#dependent_figure">dependent figures</a>.
-	 */
-	public FigureEnumeration getDependendFigures();
-
-	/**
-	 * Gets the Figure's listeners.
-	 */
-	public FigureChangeListener listener();
-
-	/**
-	 * Adds a listener for this figure.
-	 */
-	public void addFigureChangeListener(FigureChangeListener l);
-
-	/**
-	 * Removes a listener for this figure.
-	 */
-	public void removeFigureChangeListener(FigureChangeListener l);
-
-	/**
-	 * Releases a figure's resources. Release is called when
-	 * a figure is removed from a drawing. Informs the listeners that
-	 * the figure is removed by calling figureRemoved.
-	 */
-	public void release();
-
-	/**
-	 * Invalidates the figure. This method informs its listeners
-	 * that its current display box is invalid and should be
-	 * refreshed.
-	 */
-	public void invalidate();
-
-	/**
-	 * Informes that a figure is about to change such that its
-	 * display box is affected.
-	 * Here is an example of how it is used together with changed()
-	 * <pre>
-	 * public void move(int x, int y) {
-	 *      willChange();
-	 *      // change the figure's location
-	 *      changed();
-	 *  }
-	 * </pre>
-	 * @see #invalidate
-	 * @see #changed
-	 */
-	public void willChange();
-
-	/**
-	 * Informes that a figure has changed its display box.
-	 * This method also triggers an update call for its
-	 * registered observers.
-	 * @see #invalidate
-	 * @see #willChange
-	 *
-	 */
-	public void changed();
-
-	/**
-	 * Checks if this figure can be connected
-	 */
-	public boolean canConnect();
-
-	/**
-	 * Gets a connector for this figure at the given location.
-	 * A figure can have different connectors at different locations.
-	 */
-	public Connector connectorAt(int x, int y);
-
-	/**
-	 * Sets whether the connectors should be visible.
-	 * Connectors can be optionally visible. Implement
-	 * this method and react on isVisible to turn the
-	 * connectors on or off.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure connection);
-
-	/**
-	 * Returns the connection inset. This is only a hint that
-	 * connectors can use to determine the connection location.
-	 * The inset defines the area where the display box of a
-	 * figure should not be connected.
-	 *
-	 */
-	public Insets connectionInsets();
-
-	/**
-	 * Returns the locator used to located connected text.
-	 */
-	public Locator connectedTextLocator(Figure text);
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name);
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * All figures support the attribute names
-	 * FillColor and FrameColor
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant);
-
-	/**
-	 * Sets the named attribute to the new value
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value);
-
-	/**
-	 * Sets the named attribute to the new value
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value);
-
-	/**
-	 * Gets the z value (back-to-front ordering) of this figure.
-	 * Z values are not guaranteed to not skip numbers.
-	 */
-	public int getZValue();
-
-	/**
-	 * Sets the z value (back-to-front ordering) of this figure.
-	 * Z values are not guaranteed to not skip numbers.
-	 */
-	public void setZValue(int z);
-
-	public void visit(FigureVisitor visitor);
-
-	/**
-	 * Some figures have the ability to hold text. This method returns
-	 * the adjunctant TextHolder.
-	 * @return
-	 */
-	public TextHolder getTextHolder();
-
-	/**
-	 * Get the underlying figure in case the figure has been decorated.
-	 * If the figure has not been decorated the figure itself is returned.
-	 * The DecoratorFigure does not release the the decorated figure but
-	 * just returns it (in contrast to {@link org.jhotdraw.standard.DecoratorFigure.peelDecoration}).
-	 *
-	 * @return underlying, "real" without DecoratorFigure
-	 * @see org.jhotdraw.standard.DecoratorFigure
-	 */
-	public Figure getDecoratedFigure();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureAttributeConstant.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureAttributeConstant.java
deleted file mode 100644
index 78242c11d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureAttributeConstant.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * @(#)FigureAttributeConstant.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.io.Serializable;
-
-/**
- * A FigureAttribute is a constant for accessing a special figure attribute. It
- * does not contain a value but just defines a unique attribute ID. Therefore,
- * they provide a type-safe way of defining attribute constants.
- * (SourceForge feature request ID: <>)
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class FigureAttributeConstant implements Serializable, Cloneable {
-
-	public static final String FRAME_COLOR_STR = "FrameColor";
-	public static final FigureAttributeConstant FRAME_COLOR = new FigureAttributeConstant(FRAME_COLOR_STR, 1);
-
-	public static final String FILL_COLOR_STR = "FillColor";
-	public static final FigureAttributeConstant FILL_COLOR = new FigureAttributeConstant(FILL_COLOR_STR, 2);
-
-	public static final String TEXT_COLOR_STR = "TextColor";
-	public static final FigureAttributeConstant TEXT_COLOR = new FigureAttributeConstant(TEXT_COLOR_STR, 3);
-
-	public static final String ARROW_MODE_STR = "ArrowMode";
-	public static final FigureAttributeConstant ARROW_MODE = new FigureAttributeConstant(ARROW_MODE_STR, 4);
-
-	public static final String FONT_NAME_STR = "FontName";
-	public static final FigureAttributeConstant FONT_NAME = new FigureAttributeConstant(FONT_NAME_STR, 5);
-
-	public static final String FONT_SIZE_STR = "FontSize";
-	public static final FigureAttributeConstant FONT_SIZE = new FigureAttributeConstant(FONT_SIZE_STR, 6);
-
-	public static final String FONT_STYLE_STR = "FontStyle";
-	public static final FigureAttributeConstant FONT_STYLE = new FigureAttributeConstant(FONT_STYLE_STR, 7);
-
-	public static final String URL_STR = "URL";
-	public static final FigureAttributeConstant URL = new FigureAttributeConstant(URL_STR, 8);
-
-	public static final String LOCATION_STR = "Location";
-	public static final FigureAttributeConstant LOCATION = new FigureAttributeConstant(LOCATION_STR, 9);
-	
-	public static final String XALIGNMENT_STR = "XAlignment";
-	public static final FigureAttributeConstant XALIGNMENT = new FigureAttributeConstant(XALIGNMENT_STR, 10);
-	
-	public static final String YALIGNMENT_STR = "YAlignment";
-	public static final FigureAttributeConstant YALIGNMENT = new FigureAttributeConstant(YALIGNMENT_STR, 11);
-	
-	public static final String TOP_MARGIN_STR = "TopMargin";
-	public static final FigureAttributeConstant TOP_MARGIN = new FigureAttributeConstant(TOP_MARGIN_STR, 12);
-	
-	public static final String RIGHT_MARGIN_STR = "RightMargin";
-	public static final FigureAttributeConstant RIGHT_MARGIN = new FigureAttributeConstant(RIGHT_MARGIN_STR, 13);
-	
-	public static final String BOTTOM_MARGIN_STR = "BottomMargin";
-	public static final FigureAttributeConstant BOTTOM_MARGIN = new FigureAttributeConstant(BOTTOM_MARGIN_STR, 14);
-	
-	public static final String LEFT_MARGIN_STR = "LeftMargin";
-	public static final FigureAttributeConstant LEFT_MARGIN = new FigureAttributeConstant(LEFT_MARGIN_STR, 15);
-	
-	public static final String POPUP_MENU_STR = "PopupMenu";
-	public static final FigureAttributeConstant POPUP_MENU = new FigureAttributeConstant(POPUP_MENU_STR, 16);
-	
-	private static FigureAttributeConstant[] attributeConstants;
-
-	private int myID;
-	private String myName;
-
-	private FigureAttributeConstant(String newName, int newID) {
-		setName(newName);
-		setID(newID);
-		addConstant(this);
-	}
-
-	public FigureAttributeConstant(String newName) {
-		this(newName, attributeConstants.length+1);
-	}
-
-	private void setName(String newName) {
-		myName = newName;
-	}
-
-	public String getName() {
-		return myName;
-	}
-
-	private void setID(int newID) {
-		myID = newID;
-	}
-
-	public int getID() {
-		return myID;
-	}
-
-	public boolean equals(Object compareObject) {
-		if (compareObject == null) {
-			return false;
-		}
-		if (!(compareObject instanceof FigureAttributeConstant)) {
-			return false;
-		}
-		FigureAttributeConstant compareAttribute = (FigureAttributeConstant)compareObject;
-
-		if (compareAttribute.getID() != getID()) {
-			return false;
-		}
-
-		if ((compareAttribute.getName() == null) && (getName() == null)) {
-			return true;
-		}
-		if ((compareAttribute.getName() != null) && (getName() != null)) {
-			return getName().equals(compareAttribute.getName());
-		}
-
-		return false;
-	}
-
-	public int hashCode() {
-		return getID();
-	}
-
-	/**
-	 * Constants are put into the place according to their ID, thus, it is
-	 * recommended to have subsequent attribute IDs.
-	 */
-	private static void addConstant(FigureAttributeConstant newConstant) {
-		int idPos = newConstant.getID() - 1;
-		// attribute IDs must be unique, thus no two attributes
-		// with the same ID can be added
-		if ((idPos < attributeConstants.length) && (attributeConstants[idPos] != null)) {
-			throw new JHotDrawRuntimeException("No unique FigureAttribute ID: " + newConstant.getID());
-		}
-		// increase capacity if necessary
-		if (idPos >= attributeConstants.length) {
-			FigureAttributeConstant[] tempStrs = new FigureAttributeConstant[idPos + 1];
-			System.arraycopy(attributeConstants, 0, tempStrs, 0, attributeConstants.length);
-			attributeConstants = tempStrs;
-		}
-		attributeConstants[idPos] = newConstant;
-	}
-
-	/**
-	 * @return an existing constant for a given name or create a new one
-	 */
-	public static FigureAttributeConstant getConstant(String constantName) {
-		for (int i = 0; i < attributeConstants.length; i++) {
-			FigureAttributeConstant currentAttr = getConstant(i);
-			if ((currentAttr != null) && (currentAttr.getName() != null) && (currentAttr.getName().equals(constantName))) {
-				return currentAttr;
-			}
-		}
-		return new FigureAttributeConstant(constantName);
-	}
-
-	public static FigureAttributeConstant getConstant(int constantId) {
-		return attributeConstants[constantId];
-	}
-
-	{
-		// use static initializer to create List before any constant is created
-		// initialize List only for the first constant (during debugging it
-		// appeared that the static initializer is invoked for any constant)
-		if (attributeConstants == null) {
-			attributeConstants = new FigureAttributeConstant[64];
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureChangeEvent.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureChangeEvent.java
deleted file mode 100644
index 781571885..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureChangeEvent.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * @(#)FigureChangeEvent.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.awt.Rectangle;
-import java.util.EventObject;
-
-/**
- * FigureChange event passed to FigureChangeListeners.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FigureChangeEvent extends EventObject {
-
-	private Rectangle myRectangle;
-	private FigureChangeEvent myNestedEvent;
-
-	private static final Rectangle EMPTY_RECTANGLE = new Rectangle(0, 0, 0, 0);
-
-   /**
-	* Constructs an event for the given source Figure. The rectangle is the
-	* area to be invalvidated.
-	*/
-	public FigureChangeEvent(Figure newSource, Rectangle newRect) {
-		super(newSource);
-		myRectangle = newRect;
-	}
-
-	public FigureChangeEvent(Figure newSource) {
-		super(newSource);
-		myRectangle = EMPTY_RECTANGLE;
-	}
-
-	public FigureChangeEvent(Figure newSource, Rectangle newRect, FigureChangeEvent nestedEvent) {
-		this(newSource, newRect);
-		myNestedEvent = nestedEvent;
-	}
-
-	/**
-	 *  Gets the changed figure
-	 */
-	public Figure getFigure() {
-		return (Figure)getSource();
-	}
-
-	/**
-	 *  Gets the changed rectangle
-	 */
-	public Rectangle getInvalidatedRectangle() {
-		return myRectangle;
-	}
-
-	public FigureChangeEvent getNestedEvent() {
-		return myNestedEvent;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureChangeListener.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureChangeListener.java
deleted file mode 100644
index f6b222802..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureChangeListener.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * @(#)FigureChangeListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.util.EventListener;
-
-/**
- * Listener interested in Figure changes.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureChangeListener extends EventListener {
-
-	/**
-	 * Sent when an area is invalid
-	 */
-	public void figureInvalidated(FigureChangeEvent e);
-
-	/**
-	 * Sent when a figure changed
-	 */
-	public void figureChanged(FigureChangeEvent e);
-
-	/**
-	 * Sent when a figure was removed
-	 */
-	public void figureRemoved(FigureChangeEvent e);
-
-	/**
-	 * Sent when requesting to remove a figure.
-	 */
-	public void figureRequestRemove(FigureChangeEvent e);
-
-	/**
-	 * Sent when an update should happen.
-	 *
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureEnumeration.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureEnumeration.java
deleted file mode 100644
index a88ec6ada..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureEnumeration.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)FigureEnumeration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-/**
- * Interface for Enumerations that access Figures.
- * It provides a method nextFigure, that hides the down casting
- * from client code.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureEnumeration {
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure();
-	public boolean hasNextFigure();
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureSelection.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureSelection.java
deleted file mode 100644
index 74c444771..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureSelection.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)FigureSelection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-/**
- * FigureSelection enables to transfer the selected figures
- * to a clipboard.<p>
- * Will soon be converted to the JDK 1.1 Transferable interface.
- *
- * @see org.jhotdraw.util.Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public interface FigureSelection {
-
-	/**
-	 * Gets the type of the selection.
-	 */
-	public String getType();
-
-	/**
-	 * Gets the data of the selection. The result is returned
-     * as a FigureEnumeration of Figures.
-	 *
-	 * @return a copy of the figure selection.
-	 */
-	public Object getData(String type);
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureSelectionListener.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureSelectionListener.java
deleted file mode 100644
index bab56b06f..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureSelectionListener.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * @(#)FigureSelectionListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-/**
- * Listener interested in DrawingView selection changes.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureSelectionListener {
-	/**
-	 * Sent when the figure selection has changed.
-	 * @param view DrawingView
-	 */
-	public void figureSelectionChanged(DrawingView view);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureVisitor.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureVisitor.java
deleted file mode 100644
index 2b340910a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/FigureVisitor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * @(#)FigureVisitor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface FigureVisitor {
-	public void visitFigure(Figure hostFigure);
-	public void visitHandle(Handle hostHandle);
-	public void visitFigureChangeListener(FigureChangeListener hostFigureChangeListener);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/Handle.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/Handle.java
deleted file mode 100644
index 3f37dfb99..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/Handle.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Handle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import org.jhotdraw.util.Undoable;
-
-/**
- * Handles are used to change a figure by direct manipulation.
- * Handles know their owning figure and they provide methods to
- * locate the handle on the figure and to track changes.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld004.htm>Adapter</a></b><br>
- * Handles adapt the operations to manipulate a figure to a common interface.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Handle {
-
-	public static final int HANDLESIZE = 8;
-
-	/**
-	 * Locates the handle on the figure. The handle is drawn
-	 * centered around the returned point.
-	 */
-	public Point locate();
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 */
-	public void invokeStart(int  x, int  y, DrawingView view);
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @deprecated As of version 4.1, use invokeStart(x, y, drawingView)
-	 */
-	public void invokeStart(int  x, int  y, Drawing drawing);
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view);
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param dx x delta of this step
-	 * @param dy y delta of this step
-	 * @deprecated As of version 4.1,
-	 * use invokeStep(x, y, anchorX, anchorY, drawingView)
-	 */
-	public void invokeStep (int dx, int dy, Drawing drawing);
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view);
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @deprecated As of version 4.1,
-	 * use invokeEnd(x, y, anchorX, anchorY, drawingView).
-	 */
-	public void invokeEnd(int dx, int dy, Drawing drawing);
-
-	/**
-	 * Gets the handle's owner.
-	 */
-	public Figure owner();
-
-	/**
-	 * Gets the display box of the handle.
-	 */
-	public Rectangle displayBox();
-
-	/**
-	 * Tests if a point is contained in the handle.
-	 */
-	public boolean containsPoint(int x, int y);
-
-	/**
-	 * Draws this handle.
-	 */
-	public void draw(Graphics g);
-
-	/**
-	 * Returns an Undoable to be used by the Undo/Redo infrastructure.
-	 * @return Undoable
-	 */
-	public Undoable getUndoActivity();
-
-	/**
-	 * Sets an Undoable to be used by the Undo/Redo infrastructure.
-	 * @param newUndoableActivity
-	 */
-	public void setUndoActivity(Undoable newUndoableActivity);
-
-	/**
-	 * Returns the preferred Cursor for this Handle.
-	 * @return Cursor
-	 */
-	public Cursor getCursor();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/HandleEnumeration.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/HandleEnumeration.java
deleted file mode 100644
index 11153c612..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/HandleEnumeration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)HandleEnumeration.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.util.List;
-
-/**
- * Interface for Enumerations that access Handles.
- * It provides a method nextHandle, that hides the down casting
- * from client code.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface HandleEnumeration {
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Handle nextHandle();
-	public boolean hasNextHandle();
-
-	/**
-	 * Returns a list with all elements currently available in the enumeration.
-	 * That means, elements retrieved already by calling nextHandle() are not
-	 * contained. This method does not change the position of the enumeration.
-	 * Warning: this method is not necessarily synchronized so this enumeration should not
-	 * be modified at the same time!
-	 *
-	 * @return list with all elements currently available in the enumeration.
-	 */
-	public List toList();
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/JHotDrawException.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/JHotDrawException.java
deleted file mode 100644
index 6812fa334..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/JHotDrawException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)JHotDrawException.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-/**
- * A JHotDRaw Exception.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class JHotDrawException extends Exception {
-
-	private Exception myNestedException;
-
-	public JHotDrawException(String msg) {
-		super(msg);
-	}
-
-	public JHotDrawException(Exception nestedException) {
-		this(nestedException.getLocalizedMessage());
-		setNestedException(nestedException);
-		nestedException.fillInStackTrace();
-	}
-
-	protected void setNestedException(Exception newNestedException) {
-		myNestedException = newNestedException;
-	}
-
-	public Exception getNestedException() {
-		return myNestedException;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/JHotDrawRuntimeException.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/JHotDrawRuntimeException.java
deleted file mode 100644
index 5672012c2..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/JHotDrawRuntimeException.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)JHotDrawRuntimeException.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-/**
- * A JHotDraw RuntimeException.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class JHotDrawRuntimeException extends RuntimeException {
-
-	private Exception myNestedException;
-
-	public JHotDrawRuntimeException(String msg) {
-		super(msg);
-	}
-
-	public JHotDrawRuntimeException(Exception nestedException) {
-		this(nestedException.getLocalizedMessage());
-		setNestedException(nestedException);
-		nestedException.fillInStackTrace();
-	}
-
-	protected void setNestedException(Exception newNestedException) {
-		myNestedException = newNestedException;
-	}
-
-	public Exception getNestedException() {
-		return myNestedException;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/Locator.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/Locator.java
deleted file mode 100644
index ebaa0aac5..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/Locator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Locator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import org.jhotdraw.util.Storable;
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Locators can be used to locate a position on a figure.<p>
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * Locator encapsulates the strategy to locate a handle on a figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Locator extends Storable, Serializable, Cloneable {
-
-	/**
-	 * Locates a position on the passed figure.
-	 * @return a point on the figure.
-	 */
-	public Point locate(Figure owner);
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/Painter.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/Painter.java
deleted file mode 100644
index f4817760d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/Painter.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)Painter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Painter defines the interface for drawing a layer
- * into a DrawingView.<p>
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * Painter encapsulates an algorithm to render something in
- * the DrawingView. The DrawingView plays the role of the StrategyContext.
- * <hr>
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Painter extends Serializable {
-
-	/**
-	 * Draws into the given DrawingView.
-	 */
-	public void draw(Graphics g, DrawingView view);
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/PointConstrainer.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/PointConstrainer.java
deleted file mode 100644
index 2a1c40f56..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/PointConstrainer.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)PointConstrainer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.awt.*;
-
-/**
- * Interface to constrain a Point. This can be used to implement
- * different kinds of grids.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld034.htm>Strategy</a></b><br>
- * DrawingView is the StrategyContext.<br>
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface PointConstrainer {
-	/**
-	 * Constrains the given point.
-	 * @return constrained point.
-	 */
-	public Point constrainPoint(Point p);
-
-	/**
-	 * Gets the x offset to move an object.
-	 */
-	public int getStepX();
-
-	/**
-	 * Gets the y offset to move an object.
-	 */
-	public int getStepY();
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/Tool.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/Tool.java
deleted file mode 100644
index fc94f2f3e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/Tool.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * @(#)Tool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import org.jhotdraw.util.Undoable;
-import java.awt.event.MouseEvent;
-import java.awt.event.KeyEvent;
-
-/**
- * A tool defines a mode of the drawing view. All input events
- * targeted to the drawing view are forwarded to its current tool.<p>
- * Tools inform their editor when they are done with an interaction
- * by calling the editor's toolDone() method.
- * The Tools are created once and reused. They
- * are initialized/deinitialized with activate()/deactivate().
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld032.htm>State</a></b><br>
- * Tool plays the role of the State. In encapsulates all state
- * specific behavior. DrawingView plays the role of the StateContext.
- *
- * A tool can be in the following states: <br>
- * disabled<->enabled[unusable<->usable[active<->inactive]]
- * <->always_usable[active<->inactive]<->disabled
- * <br> where each square bracket indicates a state nesting level
- * and arrows possible state transitions.
- * Unusable tools are always inactive as well and disabled tools
- * are always unusable as well.
- * State changes are propagated to registered ToolListeners.
- *
- * @see DrawingView
- * 
- * @version <$CURRENT_VERSION$>
- */
-public interface Tool {
-
-	/**
-	 * An active tool is the currently selected tool in the
-	 * DrawingView. A tool can be activated/deactivated
-	 * by calling the activate()/deactivate() method.
-	 *
-	 * @return true if the tool is the selected tool in the DrawingView, false otherwise
-	 * @see #isEnabled
-	 * @see #isUsable
-	 */
-	public boolean isActive();
-
-	/**
-	 * Activates the tool for the given view. This method is called
-	 * whenever the user switches to this tool. Use this method to
-	 * reinitialize a tool.
-	 * Note, a valid view must be present in order for the tool to accept activation
-	 */
-	public void activate();
-
-	/**
-	 * Deactivates the tool. This method is called whenever the user
-	 * switches to another tool. Use this method to do some clean-up
-	 * when the tool is switched. Subclassers should always call
-	 * super.deactivate.
-	 */
-	public void deactivate();
-
-	/**
-	 * Handles mouse down events in the drawing view.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y);
-
-	/**
-	 * Handles mouse drag events in the drawing view.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y);
-
-	/**
-	 * Handles mouse up in the drawing view.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y);
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y);
-
-	/**
-	 * Handles key down events in the drawing view.
-	 */
-	public void keyDown(KeyEvent evt, int key);
-
-	/**
-	 * A tool must be enabled in order to use it and to activate/deactivate it.
-	 * Typically, the program enables or disables a tool.
-	 *
-	 * @see #isUsable
-	 * @see #isActive
-	 */
-	public boolean isEnabled();
-	public void setEnabled(boolean enableUsableCheck);
-
-	/**
-	 * A usable tool is a enabled and either active or inactive.
-	 * Typically, the tool should be able to determine itself whether it is
-	 * usable or not.
-	 *
-	 * @see #isEnabled
-	 * @see #isUsable
-	 */
-	public boolean isUsable();
-	public void setUsable(boolean newIsUsable);
-	
-	public DrawingEditor editor();
-	
-	public Undoable getUndoActivity();
-
-	public void setUndoActivity(Undoable newUndoableActivity);
-	
-	public void addToolListener(ToolListener newToolListener);
-	public void removeToolListener(ToolListener oldToolListener);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/ToolListener.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/ToolListener.java
deleted file mode 100644
index 1dc207239..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/ToolListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * @(#)ToolListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.framework;
-
-import java.util.EventObject;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface ToolListener {
-	public void toolEnabled(EventObject toolEvent);
-	public void toolDisabled(EventObject toolEvent);
-	public void toolUsable(EventObject toolEvent);
-	public void toolUnusable(EventObject toolEvent);
-	public void toolActivated(EventObject toolEvent);
-	public void toolDeactivated(EventObject toolEvent);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/framework/ViewChangeListener.java b/jhotdraw6/src/main/java/org/jhotdraw/framework/ViewChangeListener.java
deleted file mode 100644
index 04159971a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/framework/ViewChangeListener.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.jhotdraw.framework;
-
-import java.util.EventListener;
-
-/**
- * Title:
- * Description:
- * Copyright:    Copyright (c) 2001
- * Company:
- * @author      SourceForge(dnoyeb) aka C.L.Gilbert
- * @version     1.0
- * @since       10/14/01
- */
-public interface ViewChangeListener extends EventListener {
-
-	/**
-	 * Sent when the active view has changed.
-	 * @param newView view
-	 */
-	public void viewSelectionChanged(DrawingView oldView, DrawingView newView);
-	
-	/**
-	 * Sent when a new view is created.  This should only be fired after the view
-	 * has a peer.  I believe that means the view has a component chain all the way
-	 * to a heavyweight container.
-	 * @param view view
-	 */
-	public void viewCreated(DrawingView view);
-
-	/**
-	 * Send when an existing view is about to be destroyed.  After processing this
-	 * event, the view is not guaranteed to contain any appropriate data.  You
-	 * must not use it.
-	 */
-	public void viewDestroying(DrawingView view);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/ATEXT1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/ATEXT1.gif
deleted file mode 100644
index b14778e95e10b55060a08916082862f666f1cba8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 195
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQt_d|bM;<_eTR3moM@?#5n_@ypLo|&?%9_Rl@rs_Z>?SX;^>OmAEs~S@jNiI
z%e_*uSZCgA&Ceg|>|(xZu*}-`V1va^joIfjN<N;ty2xls+_Pz0re&<Lx+J!oZKGeU
iZa|Slah{c;Us!lmg{etZZXJK}w4{QzStf!E4Aubb*Hkb7

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/ATEXT2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/ATEXT2.gif
deleted file mode 100644
index 61025ef8ccd944517bf878bf5327b9258155b4dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 185
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ}v(bM;;arIKA=E*)u{Yf&X!si4G_GexU;*_?H{f9DnF=N(uOAkoxnWHK+$
zSorC*Qvw}dn_i_|xw!fHZQlLylUu!oj-Lp4BH12tHRVclCHwkyu|7htOZ2rKON7Z)
Xn-%4|=UN%IXQXyWOfVE=V6X-N_zX=F

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/ATEXT3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/ATEXT3.gif
deleted file mode 100644
index c44b27069cc020bad96a8ce4660ff5cbeab512ee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu3j}bM;<_MW1)ndtB|kx20FnsZS&`EPl_l13#C(F_~RtU#>rK{dXomn}uim
zgI+J4aY~|p$`O}dvxldeWc6ZATPl3?W;chwf6h8}RgK#9Dy?qe>~Fbm%ULcK=O=_z
d%Czv;n%B3u`&G7ORW(j14G5d&F37-O4FHD@QNjQK

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/BORDDEC1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/BORDDEC1.gif
deleted file mode 100644
index ef8d3911724b94100918c4f80cb79f716c3a3c95..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 173
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJud$bM;<_eZ^+~AG8;67*)ot=yR`J^&yKXLuQj+?)%DJr`MnBcbRpy%|iKj
zx;I<<_Q*`HwNcgmYsyYP)mnHlq5Mz5tCkasB(m)O-SXb{>rBr<>+7%goHKj&KSWZZ
LS%O`Vfx#L8?I%qp

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/BORDDEC2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/BORDDEC2.gif
deleted file mode 100644
index 6c4228539e266d9da591147bc78ab4c4e82b0b2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh691vWbM;;arIKH-6C{d+HZ;y(A@`(YUBQb<?o#DzJ@3EX^Y=i)hA)r4mS`xi
zHujb(cD>EJs^w=(MB-+xTSbod+ADn2oHH-oxOp<VddfSgIh{53FE6eU*#A4tph1FN
Ikb%J(04`Zd`Tzg`

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/BORDDEC3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/BORDDEC3.gif
deleted file mode 100644
index 206a1d1898bc2274178a3203077e1dee04282ff5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK-K>bM;<_MW1)Pe^8!t*QG1bs!HwED%FBR?`~eQ(B5BDQQW_vKx50>BCW@3
zo(I+mTv!pZDq6{P*~&6$)7Zj$%@sa+ljRfpZ|-@x#QMzCXtwpApJeR1;dgld_ww9I
Yj<W33rp&gk=6HQci3t+yf(#7S0D=Tk0{{R3

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/CONN1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/CONN1.gif
deleted file mode 100644
index f0f6e4d34b8aa9c4e1007066159e167a5fc68286..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 171
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJKFybM;<_eTSF6SLjf<EY>#FgX!7JRZmZ+zLPk;>FlGQx4cB=y<=arx6P*i
zV}sAUlEo`Zykzax-B=U$y4Y@a+>Ld{g=Xm)cYbc+SsT0M>F>~YXU;w_NRN0MY%I|z
K!7j+aU=08fj7_Tm

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/CONN2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/CONN2.gif
deleted file mode 100644
index 470fc08f7147fa0435a78b9a7ac266a8accb3916..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh6853NbM;;arIM=kaT0#BGwLpJOi5q8DgD``IoX$^*S+7p<=Qqe-zgLC);TH*
z&Rnvm$$ef)mxNRDnb$(gzDDdl6)85gizzv2-Go1q^6}5t`QOz|dN<vfg~1vCF;GQg

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/CONN3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/CONN3.gif
deleted file mode 100644
index 0fbe78372d9e711df3ad1bac6b1b20dac3b49a40..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh691vWbM;<_MW1)D#J=dfyJg~Ii=}B@`{KCm7f3TNx4r+9@AR$&&f|}+lpToF
zRrcb_^^@mrUlFzb#v0F6M+!@$MW1?pUX^j@!)p#R?cE(FQ8M*m9$A~T|MR9AG)S-u
IGB8*J0JL^SvH$=8

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/DIAMOND1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/DIAMOND1.gif
deleted file mode 100644
index 44440dc3b928a05b8f00f0bb3b6e387bae69ecd4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu?96bM;<_eTOY8m^ISwHY!{Wt9pED?#kN}jsBcXTCrWf>hys=Ur`pm)cFEy
zOH$s><Bt+%kDXQHGJWbx>&pEPK74T0n|(e#$Iv3ScH7<=*5ajGCzq&(_qD(CD6h0B
ev{$Vy)y{3}D9g$=jYyi5C@C>bf?be-!5RQhqfdkY

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/DIAMOND2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/DIAMOND2.gif
deleted file mode 100644
index 0c6f48d4c7209ee40e812dd620b754323f7bf823..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 180
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKG**bM;;arIKCm4;b6rWM`VK+4&}-DtOhotTP95-yM44yMODwG!GpyRa+^K
z%+)VFmZ{~roZY+RT<nGADO|k?%G<1^CoeuJzhzEe)b=}}Te*(3Jv%??=e++j9P=}b
SQnL%v?L8#A#MlKH7_0%tXiYKz

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/DIAMOND3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/DIAMOND3.gif
deleted file mode 100644
index d54e8e69b3b7ff0c70f18a8443a16eee89c40513..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 187
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQt+X{bM;<_MW1)DpBJ!;O!qoaR<=N6n%wMTU!oSTGTHT;!{2iD1hzfAxknW_
z+UCrS+ADtXXXmeFj!Gvx9?RKlwp94&&2GGJGVAo3wG+c1?mjhn-Lnf-bDFn*no+D1
amaC%aRbAee6W17*ry(&>j9rj{!5RSHkx&)@

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/ELLIPSE1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/ELLIPSE1.gif
deleted file mode 100644
index 5c51d07a69d156218046418b238df2278e9887ed..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 199
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQuCp~bM;<_eago_KTxldZ1Ry_K2K~>k=n0A(|;dx;A;8vW6GK<ITlAaJ5Mwh
zZvEWKur2ktC+n$<z3C=1-aPVou%RNSX2$s!C9`h3dSzPPJF+arfAb=rzf#LjeYcdU
mtxyPSY-*`ADD%=N3efJ!HJ>!OyEtWLvZTaZ33fpS25SJ~$XA5`

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/ELLIPSE2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/ELLIPSE2.gif
deleted file mode 100644
index 9046010b39eca172d44fd7daea792f92ee183382..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;;arIKHc2R?K>`N1%!WtnWmzI3bHxZL}9&$Ow<q*=|mu<W)(zsHiU
zGUmvLom1PNzn(j7w-%2^Zrp;?3oT~p%$|G3P;W(Cxvk&p1hZQ2Ez5YywBDcpZdq3p
flUd%RRFzX8+^kXBn%kc+QAkT-x){441A{dH{xDG(

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/ELLIPSE3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/ELLIPSE3.gif
deleted file mode 100644
index 18254b0ce00a8d0418c1b805e09dd901c144f51d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 202
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQvadBbM;<_MV~Ds_%+&6uK7k^R}|J<w2Ea(jO_hwKFoRcd^WLs?rRpdop@w;
z?9tzZV>2(hv(8(x%73fKQqlcR1`@3rv(LXU37HdfdzR?>^kY~4d3EUAEq-tBlU)|A
p&`@1pSKeC5uieyHSv<kKK%}U?&2#4TNwac|Bo>IV3o<ZR0|2XbQvUz|

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/ERASER1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/ERASER1.gif
deleted file mode 100644
index af7b09da732c121e08b1f3c37d8396029c89c4c7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 183
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJlX#bM;<_eTRQX@@w!pw<}zJwsuV?Q<ipd`m1>sPMb_^{_nlf|6PdB_TW?v
z5v8dyW>I|V-g2FjSC-B8w%zw&LqyD;q}sHUom*ubFU~6~R_`r(!u|YI)dRcl*_ovU
UO*O5qF`cnO620Q=f(#7S0Nn{o1ONa4

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/ERASER2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/ERASER2.gif
deleted file mode 100644
index 7432c0cd56ad3ee70669a35d8496feab7a1e17fb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 173
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJud$bM;;arIKC$6)bY^r_D+<FUtJA_Ti@!UlR5+ynOfi<$rb0zOC5@gSOm!
zvrKAQgU_6GGo%7zZ5Mni+0!-W-g}cfGR>1r{l7QIxm|DncF0UXnEzH4hupL3zu}S+
L%@XW_3=Gx)qf|`W

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/ERASER3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/ERASER3.gif
deleted file mode 100644
index da9b2b7589ed49fa13fdb7591c29210073886828..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 179
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJTLzbM;<_MW1)PKP}wneBF2U&$X+%HWj?y`%0tBS?_ZHoAp~}d|>h5Z9RCa
zcgbu~`;HYRQBA7-yPxO3o>R3yL8M&g*s)WOi$A6(*Ik%rwl1@&S@6sETgCSeUDmBn
SE3IzOk(B6^U>9Uyum%9sj!~Wf

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/HTMLAREA1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/HTMLAREA1.gif
deleted file mode 100644
index 6d9cbc532221767f9b00de02c6f1a421cf165f07..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 194
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQvRXAbM;<_eP?(7Kk-E-C3Bvd5R>w=X{%P$$~R0fTph^&{(gH*_F<)K4Tom7
zYHWHKc35utjY77CyO&K%^$p4lR+;uXt1C6W;Qboq>DT?Y>^dbk?d->IHgodtYM1(J
hHMg|XYIJCLcJ_oTwN9AWEIesyt7LsWyC4IDH2|A#RBr$P

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/HTMLAREA2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/HTMLAREA2.gif
deleted file mode 100644
index 9063e2d7997bea69f0e7dad6b936a6498b0b7502..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQv9L8bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)nrW-Ie0fuIe*RWrANNX;{=+f}
z+f#n^cqaBnF4SvOn{w_)b<)&ho<Fqyd2RQfAL+d<cJZ4n;`3x~FF3ek&-Qh@PnQH&
d+c&D!i?p(<s75*)^+!&aB-!51F37-O4FL3wQDguB

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/HTMLAREA3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/HTMLAREA3.gif
deleted file mode 100644
index 72dc3096ad38e82696712e5270e4375443bf9b15..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 203
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB((s|dbM;<_MQ3;aKhYw?pE>Qt%C5}SyZSwnz9eqCwD|oWJ_U_P9WzCyo{fQ=
z<ub2k?TP<jULCf^{Z-Jc;;PyMGtHuxC~Otd+j9M}(A1Quu$g@8Z$8kx<KcbpN<~hd
qQ(<j}Ph)Okeo~QWi3PjD<SPAX2BkA*sXI-d=bhQt$1cdgU=09EYE{Po

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/LINE1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/LINE1.gif
deleted file mode 100644
index a9fbbccb6be1885a78e4c1d52ea310b73032e99e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 165
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh67`|MbM;<_eTS>xDRd}Y7MpkHc(3ZKE|r8`Stm~A*PZ{lv)MGZhh1b_)xpE-
z+jsTOyRf3<`--Ub5pO2kyi=4L$6qe#)zq)?S<C13qGHES<$veBUsjRHcKEoA5`#4W
D4N*%l

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/LINE2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/LINE2.gif
deleted file mode 100644
index e991acf489dd5f1296d17070922d3903db2600fd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 158
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh68xdTbM;;arIM=iaT;C+%;qIn%uHWBEoSzj4cU{U*S)vde#~6T+hp?99M|*u
vD{2^Lx<usfigsFj`1SJ@chl^BUTbvL_QfV`xv-{e)56SLHs|9qN(|Nj7&b!E

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/LINE3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/LINE3.gif
deleted file mode 100644
index 5436bf18983f1419d3d293ea7be69e63a7ea418e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 164
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh68WLQbM;<_MV~F$V_$UM-7@hp$Fj7peR16O+B&-}s?P6ZnPYp;@2K|QCi&YN
zZ%7-ts<o7Ot&Q?MFC%7oyDck5-|)|Cv7`D1oNIlj@ASNCy?fr_>vlc&iaHn=tO2d<
BMDG9q

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/OCONN1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/OCONN1.gif
deleted file mode 100644
index 14283bbdc772bac4caaeea1efdbdcdafb4b5fa2a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 172
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK7#)bM;<_eTP&3E3_+I7HbPJpO*f6ZNtm5nO?^>bDy@{ae4B+hwj3B`FkRL
zTTFiCEnZRLb=P*?jWuDnOKwHDDjGV!6SO>iC$h=2w(!uGU7_pF#(rA&Jz~|bl_|MR
KqU?eU4Aua{6-=)H

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/OCONN2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/OCONN2.gif
deleted file mode 100644
index 4c8b94a457b036e4d7cdb0f6db780634fc2702b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh6853NbM;;arIKB9;xy`RXOzt}pPJsywB}Wtw)y<8%ii1g-`XDNJ7pJdvyc>z
z#o`qS9>MF}-^wmNFY(RYCC)hE@h0g#`wSN7Y+iX~+aXQk=)F@HzMtmI!e9*m#Oy=A

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/OCONN3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/OCONN3.gif
deleted file mode 100644
index 3b9e94e4c1f754a248aa1db6e4ee0b0f10ee8a8f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh691vWbM;<_MW2_Pk3G?QcT4As8Edr)CKYJSG6=hxx8`)vx&Ld!GnX$u+o7o(
z)GDm!cu@61%ZjM=H`Z{Txa(DZ@6was9K{SVlXlMGTRSmh>*`v!y_F)CO?ta0hnqE;
J3o<ZR0|0^!O56Yd

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/PERT1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/PERT1.gif
deleted file mode 100644
index f69744556b8a98b0f903febf45498dd09fcde923..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK-K>bM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF1(sB5u8|!Jh*P2E`k`vPmdj
z>=3r9_m<Nuzj;!{KmE(A(`?(#buKO1(zZKp#m^aG;!Be>mi~FR?XC~!)lJLJeyY=G
ZXw<aPYVYXm((dl<maLvADagQJ4FJ?UQ3?P6

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/PERT2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/PERT2.gif
deleted file mode 100644
index eb9f10ef03f573d2d7c08a805dee7264cabd6ef1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK!E=bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW_0GOA^<6__frm_*&x-pD
z!8T0Y0SiB~{Qg>VVwDQlT(#{ni^8R2qGnyox76{SeADf_ua9H;^AAh!RIPneY#h>H
Qq}1GEQyb1M$iQF?0Mukk*8l(j

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/PERT3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/PERT3.gif
deleted file mode 100644
index aac7c5e3ad403e29fb246df6eb318f71ef45be0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 188
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQuv|4bM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6aqI*=!x51P2|dZUzy5
zqXRO=duM<0P*rO+U+{j>QO?y@vUP4V+wZ=-?CDAs<Fg)L#Pf3dPkEfOeARpLbws&Y
av}lo)rFXlrW0ygv$pp!k$&!K$4AubpX-<Lw

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/POLYGON1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/POLYGON1.gif
deleted file mode 100644
index 19a954ae68ce4362ee4baefc4ffe6395b434c22c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;<_eTOY;nKja6ntY;{uZv4xlyhdE!>y~AWhb%co;H#%(2%JrS{j@i
z%FWAgj(vSa_rsV|^8;OtEB8Ox@ZM2x_W9>;%-mv=6R&Y)tO|2<z4*L3vpnrxm1lvu
eja+ecl!J$DX<kQPOk~pJ#CnP8;_QM94Aua?L{2yW

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/POLYGON2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/POLYGON2.gif
deleted file mode 100644
index b7fa7a90265da375f38d14818857eba50678fb29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 179
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJTLzbM;;arIKC$uNkKZZK%zND!aUL--44%4=AL4J$tGkKJUPSf)kl%YqXLt
z9TRz3cU*$&Lx|GkWv@?ryy04VYlik4MrF<2g*~^nOgxkNe8taa7v&~zvX<3V|5%eE
S)Y#P0Y9Y}n&MwHnU=096^-o&>

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/POLYGON3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/POLYGON3.gif
deleted file mode 100644
index 85b9f2a5b0b7fe9eaf19970060e299763553b1d4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 189
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQuLw0bM;<_MW1&pKQGW1X`UPVYGsxt;|s0LpDex4Phnb=efhxc_hLB*I}V+E
z?!nx{W^>8tn$WXlCzQfg+bZsRu%V*nQQGO7#%rQEEiE&`LR`w<U)#JhxZa&%s%}|9
bMVeZ^WlLs#XRCH$SEathWHEL@1_o;Y+pka;

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/RECT1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/RECT1.gif
deleted file mode 100644
index 2b5701d12e2f0a0eb3cb1b396c5dd777528b18af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQv9L8bM;<_eago_KTzkp*{E>&TCYyTJWciUCcMmA0`DGoKiZn`cA1b=r%deX
zr`>BScB_5ZSyDLR*yHy{-d62D(q7@CH@*Jo8-ck;64vGLPEkD@`m#VhPi~d^``XIj
c>IVKgp*-=X%q(M<gbDGIol`{E1sNEu0V&l{A^-pY

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/RECT2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/RECT2.gif
deleted file mode 100644
index 20468af429a22ff746851f75c49d8241ff34d266..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK!E=bM;;ar4lO%evP&#6Fd)G^GuGOH+k2&lHOA}E4vF$-8>MP<E$gqzdhc-
zBBr)%x7@pzS)NlvG|o?ss%k%8u;V4`q|;lC)6UM#Dh+>LE%N=0XX#1VDeQ0LYqQ03
Py)v9MnmQ!~85pbq%PUIL

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/RECT3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/RECT3.gif
deleted file mode 100644
index d94e65cf42c31f8e2ff4448fce603db77788788c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQv9L8bM;<_MW3HY$8+@gU-P}Kxo(Ljqo#WKmz>2$2j1z${Wn{n?;&!iNP@>`
znX;wx-o>we_83i`o>~~~thn#NhKe4hS>366=CO-5mB^SKc-t~PVav~T^Nt^XsZ>_f
cpxjiKTisa8k=|>Zla(eJF-3%3kb%J(04^0y#{d8T

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/RRECT1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/RRECT1.gif
deleted file mode 100644
index cf2c152cdc40f5a1bb7d7342a84611d86c36d020..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu3j}bM;<_eago_KTzkp*{E>&7-RD5scNT+N^)<f?`r!K@oe*K0rg<seh1~%
z;!UdMde_%;r2euvuN+kNs%rm(C&@l~v(JXSHQ0S9AnRu8mQLT(YuE4cYZmwYUS7;!
d@7NgD;wF?QT#%V%?wL3#L9%;Vz90jGH2_seQFj0U

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/RRECT2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/RRECT2.gif
deleted file mode 100644
index 99f9d8048f9739836626e1fdc79cc47c317aaa8b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKr8<bM;;arIKAW%o=Tp*L-KQPe`_&q4E4|i7w;Ilkb#!PH$WAYP+UX|M6%)
zjh>Yi0r!iZ7I`+xuQ;(Jr7HPE!Ht)^lTL5_%;`LHE@SAuP|^Ie{-xJ!XV<@Z7*&<+
Uot+co6_KH3-qtHA$iQF?030+;Z2$lO

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/RRECT3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/RRECT3.gif
deleted file mode 100644
index bf5eef360c1390e7719dc9d097974fec2f0224bc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQv9L8bM;<_MW3HY$8+@gU-P}Kxo(Ljqo#WKmz>2$2j1z${Wn{n?;&z1PlC&6
znX;wx-o>we_8jv&d2-W<wF?CvY^d;YV?6I#ynXe&cMj`>de|0hDw$LESNG6q!ICn+
cx~ityl48r60^{85^uCNql95xr1Q{5t0gLERrT_o{

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/SCRIBBL1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/SCRIBBL1.gif
deleted file mode 100644
index 48a6d954e4f68001665ca9606774e7010fcde40a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK!E=bM;<_eTP&3#~xEWv88pv^hs&2)~Oa0E&8?T)9U_@dk*VPS=aXYYKBO_
z$6_0;>NBTx-Bv}dzws#f^xLYv7v^VcmdKvmB5OFOZtl%(Ka6ioJ74_t*WDRKpI#)%
SyGFJ|NJ?}_unRIUSOWmsUQ-tU

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/SCRIBBL2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/SCRIBBL2.gif
deleted file mode 100644
index fea78ceee88f17051bbd0c81491a683d98839a9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 169
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh68E9ObM;;arIM=iaX%_At2Hh5U|RNSm8$q6`O;0Fvi5#__TOOv%Xh7HQ7Xz>
zWnN-4jc2S*S@W&whQbyr)uP=eu9Q40{nTf<QRJ@4;ZsSstaUQaUoN$t`A;_Sp9H%g
H1A{dHgKkMb

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/SCRIBBL3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/SCRIBBL3.gif
deleted file mode 100644
index ac467864796f2e16ddaa31120ee541662ac03ab9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ%j%bM;<_MW1(ki9NyiXv@?EYSRwPT(>@bS)|9YyFBkV_Wj=}_V#+x&LWqV
z!WqFrtt+nbK6@Ogs@qa_`fZi(bpr_wncM5O1`3+I-FW@^_Q<zA_P2Kb+#6E=@}qoZ
UL6%rpRZ38VM7J2bAOnLn08gAzhX4Qo

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/SEL1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/SEL1.gif
deleted file mode 100644
index 0d0bb054559fb9355ca17b4212a3aa6451bb342d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK-K>bM;<_eTS_p9!xHkZSs*`nU!2w_j=1JHL2!!?`t34?A~_2f4Wkw%i-{g
z!dx%;j@;1L-o+KUdwS;Sw^f~IH(0FciCvf~YAR`BRU20Rxiimr?vyoiCtF{7ELZN|
YU|d&a>txi<AKx1%F<~NuAOnLn0Jtkoz5oCK

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/SEL2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/SEL2.gif
deleted file mode 100644
index 025ac9c3c10aa410e37cd2be2d4733088b6134ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKr8<bM;;arIKCK&rhzszh&axDP1d0E-c`llbf;m>7QeA4a;}+7I>(5l^BS=
z_fY<sqpZG3?bp*;Ht`}mqL0NKEx7UYtl!+!qFn96-xl02ewp^P?0&$hulr`T-0-Op
Vs>sRm_K$9BZ<Xln6J%hp1^`3XQilKl

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/SEL3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/SEL3.gif
deleted file mode 100644
index fcbe6603d7f53d9a49ba0e451de047e2f7d03d53..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu?96bM;<_MW1)D`*SG7{_LG+S@wW=nNZdy6`SL??{<ZpJ!N*og?*1?>(Tzx
z;&Yy~EPTQBGh}C!WRmF%p}?I9S2-N@W}nY^UN|@C_MPmC=p%DZdhcHP@!ZMFZ-dK}
fs`49iwH5RmN_|@@+6rUadvY2ircW1SV6X-Nve{HT

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/TEMPLATE.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/TEMPLATE.gif
deleted file mode 100644
index 4b09907701246543b02aa42d8c2aa26ebd2a5c72..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 152
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh;`^b&bM;<_eTR4dmuvEo&ZtwWTo=PNWzEY&hF1Hw)?BXK{oPD-gR!(w{-PyC
pC+FDCyRahUm$6(|*qT7=Cro>73;be~kEfkAF>cOG<`ZPF1^}o8K6d~B

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/TEMPLAT_.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/TEMPLAT_.gif
deleted file mode 100644
index 223cd29ecaf5a6e2720660fe7d5cde747df69b9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 151
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+Qh;`5=wbM;<_MW1)Pf1vIcozbP<xh{SAwl^G84Bwn9{rBuc-f_EmJ>OnG>^dNs
pbTY?kzRD6^t(?H6E3&^XKH9YFHv0|hb<>un$FUtgCZoh)4FEt=L<#@^

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/TEXT1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/TEXT1.gif
deleted file mode 100644
index 5ebb27c4c703e4e4b53220d98652727cee9208b6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;<_eTR3moM@?#5n_@ypLo|&?%9-0mrftk*tu;{`}r*jZ&*a`bvSmN
zZNHM5V7u(h=FhI}!N~&Yud4PxxS#B!H~XybTf^$rlj^oi-aYkMug2>+SKFq)@|LJo
g%~bT3Z7Ps2))I}V&#L23oSY!pI9-fgkb%J(077h1?f?J)

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/TEXT2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/TEXT2.gif
deleted file mode 100644
index 7c1fbdee0ede5090c8b4365c8e14f0bad6e43a5c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ%j%bM;;arIKCWMZT9_HuHPjI7K00SwU1+`m#;;W!}Gi_Wyu_`}X3a9Y*4M
z&lhdA(@s9$+2rc#eQ%@Y8>Wf3o@nco^)0&naVHaVb=YC8;Jc06b1s{@>18@CHLdW-
T@f4{oNl~e-?r9TbV6X-NV2Dkk

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/TEXT3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/TEXT3.gif
deleted file mode 100644
index 5f316eb149e76d2badcfff6069f3ea64a3f76271..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlK-K>bM;<_MW1)ndtB|kx20FnsZS)c?t_%~fuBp?sO&GY|7<*ewU|wdk)493
ztMj2LZahyt-*hC2WpCA3qPXwDhKiby!kx?Vd}r_l<*fd;PVN7d;yFfTzOncI`)PQU
Y3bPxhTBgP3)O6?h22E@gWMHrc0DUG-K>z>%

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/TEXTAREA1.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/TEXTAREA1.gif
deleted file mode 100644
index 1b210e93658f8b842965f810ef2e905f835280a9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 159
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB67r$JbM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF46C^WCI~m5<lYZ<+4M*|_0q
xU&KeviN~H#cy8sC9h4@lz1wQ{z2>i0ZPO;EFYr5>xBI^K4w-ouv-kxWtN~D0M@|3$

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/TEXTAREA2.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/TEXTAREA2.gif
deleted file mode 100644
index 5ae72ea0ed2120f1f5a08849cf156adb1e888969..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 152
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB;`^b&bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW^*;a1xm@DR+2fPnHcggW
pb;C+Y`><;9Qy#7Q%NpM}S%o%76-4ArYASy&ESd30iC>Vx8UU#BK2-n!

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/images/TEXTAREA3.gif b/jhotdraw6/src/main/java/org/jhotdraw/images/TEXTAREA3.gif
deleted file mode 100644
index 23f4ce93a5fa0be469cd32b9a4825b6bdc40b33b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 160
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB68fRRbM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6b#Kxk(ad-nnTntJ|2s
ycFb68qSxtyE7kV`0;4v+YI4&IUjAO|n$S+;l$~2+XJ5&9bF+3!?bLP-25SImd`GPS

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw.jdo b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw.jdo
deleted file mode 100644
index 99d1b71b0..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw.jdo
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="org.jhotdraw.samples.javadraw">
-    <class name="BouncingDrawing">
-    </class>
-    <class name="AnimationDecorator">
-    </class>
-  </package>
-</jdo>
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/AnimationDecorator.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/AnimationDecorator.java
deleted file mode 100644
index 2fe2941ac..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/AnimationDecorator.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * @(#)AnimationDecorator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import java.awt.*;
-import java.io.IOException;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class AnimationDecorator extends DecoratorFigure implements Animatable {
-
-	private int fXVelocity;
-	private int fYVelocity;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 7894632974364110685L;
-	private int animationDecoratorSerializedDataVersion = 1;
-
-	public AnimationDecorator() { }
-
-	public AnimationDecorator(Figure figure) {
-		super(figure);
-		fXVelocity = 4;
-		fYVelocity = 4;
-	}
-
-	public void velocity(int xVelocity, int yVelocity) {
-		fXVelocity = xVelocity;
-		fYVelocity = yVelocity;
-	}
-
-	public Point velocity() {
-		return new Point(fXVelocity, fYVelocity);
-	}
-
-	public void animationStep() {
-		int xSpeed = fXVelocity;
-		int ySpeed = fYVelocity;
-		Rectangle box = displayBox();
-
-		if ((box.x + box.width > 300) && (xSpeed > 0))
-			xSpeed = -xSpeed;
-
-		if ((box.y + box.height > 300) && (ySpeed > 0))
-			ySpeed = -ySpeed;
-
-		if ((box.x < 0) && (xSpeed < 0))
-			xSpeed = -xSpeed;
-
-		if ((box.y < 0) && (ySpeed < 0))
-			ySpeed = -ySpeed;
-
-		velocity(xSpeed, ySpeed);
-		moveBy(xSpeed, ySpeed);
-	}
-
-	// guard concurrent access to display box
-
-	public synchronized void basicMoveBy(int x, int y) {
-		super.basicMoveBy(x, y);
-	}
-
-	public synchronized void basicDisplayBox(Point origin, Point corner) {
-		super.basicDisplayBox(origin, corner);
-	}
-
-	public synchronized Rectangle displayBox() {
-		return super.displayBox();
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fXVelocity);
-		dw.writeInt(fYVelocity);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fXVelocity = dr.readInt();
-		fYVelocity = dr.readInt();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/Animator.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/Animator.java
deleted file mode 100644
index 7e743e9d0..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/Animator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @(#)Animator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Animatable;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class Animator extends Thread {
-
-	private DrawingView     fView;
-	private Animatable      fAnimatable;
-
-	private volatile boolean             fIsRunning;
-	private static final int    DELAY = 1000 / 16;
-
-	public Animator(Animatable animatable, DrawingView view) {
-		super("Animator");
-		fView = view;
-		fAnimatable = animatable;
-	}
-
-	public void start() {
-		super.start();
-		fIsRunning = true;
-	}
-
-	public void end() {
-		fIsRunning = false;
-	}
-
-	public void run() {
-		while (fIsRunning) {
-			long tm = System.currentTimeMillis();
-			fView.freezeView();
-			fAnimatable.animationStep();
-			fView.checkDamage();
-			fView.unfreezeView();
-
-			// Delay for a while
-			try {
-				tm += DELAY;
-				Thread.sleep(Math.max(0, tm - System.currentTimeMillis()));
-			}
-			catch (InterruptedException e) {
-				break;
-			}
-		}
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/BouncingDrawing.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/BouncingDrawing.java
deleted file mode 100644
index 60d16ac49..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/BouncingDrawing.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * @(#)BouncingDrawing.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.Animatable;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class BouncingDrawing extends StandardDrawing implements Animatable {
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -8566272817418441758L;
-	private int bouncingDrawingSerializedDataVersion = 1;
-
-	public synchronized Figure add(Figure figure) {
-		if (!(figure instanceof AnimationDecorator) &&
-			!(figure instanceof ConnectionFigure)) {
-			figure = new AnimationDecorator(figure);
-		}
-		return super.add(figure);
-	}
-
-	public synchronized Figure remove(Figure figure) {
-		Figure f = super.remove(figure);
-		if (f instanceof AnimationDecorator) {
-			return ((AnimationDecorator) f).peelDecoration();
-		}
-		return f;
-	}
-
-	/**
-	 * @param figure figure to be replaced
-	 * @param replacement figure that should replace the specified figure
-	 * @return the figure that has been inserted (might be different from the figure specified)
-	 */
-	public synchronized Figure replace(Figure figure, Figure replacement) {
-		if (!(replacement instanceof AnimationDecorator) &&
-			!(replacement instanceof ConnectionFigure)) {
-			replacement = new AnimationDecorator(replacement);
-		}
-		return super.replace(figure, replacement);
-	}
-
-	public void animationStep() {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			
-			if(!(f instanceof ConnectionFigure)) {
-				((AnimationDecorator) f).animationStep();
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/FollowURLTool.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/FollowURLTool.java
deleted file mode 100644
index dae1f340b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/FollowURLTool.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * @(#)FollowURLTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import javax.swing.JApplet;
-import java.awt.event.*;
-import java.net.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.AbstractTool;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-class FollowURLTool extends AbstractTool {
-	 private JApplet         fApplet;
-
-	 FollowURLTool(DrawingEditor newDrawingEditor, JApplet applet) {
-		super(newDrawingEditor);
-		fApplet = applet;
-	 }
-
-	/**
-	 * Handles mouse move events in the drawing view.
-	 */
-	public void mouseMove(MouseEvent e, int x, int y) {
-		String urlstring = null;
-		Figure figure = drawing().findFigureInside(x,y);
-		if (figure != null) {
-			urlstring = (String) figure.getAttribute(FigureAttributeConstant.URL);
-		}
-		if (urlstring != null) {
-			fApplet.showStatus(urlstring);
-		}
-		else {
-			fApplet.showStatus("");
-		}
-	}
-
-	/**
-	 * Handles mouse up in the drawing view
-	 * assuming mouseUp came from active drawing.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		Figure figure = getActiveDrawing().findFigureInside(x, y);
-		if (figure == null) {
-			return;
-		}
-		String urlstring = (String) figure.getAttribute(FigureAttributeConstant.URL);
-		if (urlstring == null) {
-			return;
-		}
-
-		try {
-			URL url = new URL(fApplet.getDocumentBase(), urlstring);
-			fApplet.getAppletContext().showDocument(url);
-		}
-		catch (MalformedURLException exception) {
-			fApplet.showStatus(exception.toString());
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawApp.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawApp.java
deleted file mode 100644
index 6c0139add..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawApp.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * @(#)JavaDrawApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.util.*;
-import org.jhotdraw.application.*;
-import org.jhotdraw.contrib.*;
-import org.jhotdraw.contrib.html.HTMLTextAreaFigure;
-import org.jhotdraw.contrib.html.HTMLTextAreaTool;
-import org.jhotdraw.contrib.zoom.ZoomDrawingView;
-import org.jhotdraw.contrib.zoom.ZoomTool;
-
-import javax.swing.*;
-import java.awt.*;
-import java.io.*;
-import java.net.URL;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class JavaDrawApp extends MDI_DrawApplication {
-
-	private Animator            fAnimator;
-	private static String       fgSampleImagesPath = "/org/jhotdraw/samples/javadraw/sampleimages";
-	private static String       fgSampleImagesResourcePath = fgSampleImagesPath + "/";
-
-	JavaDrawApp() {
-		super("JHotDraw");
-	}
-
-	/**
-	 * Expose constructor for benefit of subclasses.
-	 *
-	 * @param title The window title for this application's frame.
-	 */
-	public JavaDrawApp(String title) {
-		super(title);
-	}
-
-	/**
-	 * Factory method which create a new instance of this
-	 * application.
-	 *
-	 * @return	newly created application
-	 */
-	protected DrawApplication createApplication() {
-		return new JavaDrawApp();
-	}
-
-	protected DrawingView createDrawingView(Drawing newDrawing) {
-		Dimension d = getDrawingViewSize();
-		DrawingView newDrawingView = new ZoomDrawingView(this, d.width, d.height);
-		newDrawingView.setDrawing(newDrawing);
-		// notify listeners about created view when the view is added to the desktop
-		//fireViewCreatedEvent(newDrawingView);
-		return newDrawingView;
-	}
-
-	//-- application life cycle --------------------------------------------
-
-	public void destroy() {
-		super.destroy();
-		endAnimation();
-	}
-
-	//-- DrawApplication overrides -----------------------------------------
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new ZoomTool(this);
-		palette.add(createToolButton(IMAGES + "ZOOM", "Zoom Tool", tool));
-
-		tool = new UndoableTool(new TextTool(this, new TextFigure()));
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new UndoableTool(new ConnectedTextTool(this, new TextFigure()));
-		palette.add(createToolButton(IMAGES + "ATEXT", "Connected Text Tool", tool));
-
-		tool = new URLTool(this);
-		palette.add(createToolButton(IMAGES + "URL", "URL Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new RectangleFigure()));
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new RoundRectangleFigure()));
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new EllipseFigure()));
-		palette.add(createToolButton(IMAGES + "ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new UndoableTool(new PolygonTool(this));
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new TriangleFigure()));
-		palette.add(createToolButton(IMAGES + "TRIANGLE", "Triangle Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new DiamondFigure()));
-		palette.add(createToolButton(IMAGES + "DIAMOND", "Diamond Tool", tool));
-
-		tool = new UndoableTool(new CreationTool(this, new LineFigure()));
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-
-		tool = new UndoableTool(new ConnectionTool(this, new LineConnection()));
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new UndoableTool(new ConnectionTool(this, new ElbowConnection()));
-		palette.add(createToolButton(IMAGES + "OCONN", "Elbow Connection Tool", tool));
-
-		tool = new UndoableTool(new ScribbleTool(this));
-		palette.add(createToolButton(IMAGES + "SCRIBBL", "Scribble Tool", tool));
-
-		tool = new UndoableTool(new BorderTool(this));
-		palette.add(createToolButton(IMAGES + "BORDDEC", "Border Tool", tool));
-
-		Component button = new JButton("Hello World");
-		tool = new CreationTool(this, new ComponentFigure(button));
-		palette.add(createToolButton(IMAGES + "RECT", "Component Tool", tool));
-
-		tool = new TextAreaTool(this, new TextAreaFigure());
-		palette.add(createToolButton(IMAGES + "TEXTAREA", "TextArea Tool", tool));
-
-		GraphicalCompositeFigure fig = new GraphicalCompositeFigure();
-		fig.setLayouter(new SimpleLayouter(fig));
-		tool = new CreationTool(this, fig);
-		palette.add(createToolButton(IMAGES + "RECT", "Container Figure Tool", tool));
-
-		tool = new CompositeFigureCreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Nested Figure Tool", tool));
-
-		tool = new HTMLTextAreaTool(this, new HTMLTextAreaFigure());
-		palette.add(createToolButton(IMAGES + "TEXTAREA", "HTML TextArea Tool", tool));
-
-		LineConnection lineConnection = new LineConnection();
-		lineConnection.setStartDecoration(null);
-		tool = new UndoableTool(new SplitConnectionTool(this, lineConnection));
-		palette.add(createToolButton(IMAGES + "OCONN", "Split Connection Tool", tool));
-	}
-
-	protected Tool createSelectionTool() {
-		return new MySelectionTool(this);
-	}
-
-	protected void createMenus(JMenuBar mb) {
-		super.createMenus(mb);
-		addMenuIfPossible(mb, createAnimationMenu());
-		addMenuIfPossible(mb, createImagesMenu());
-		addMenuIfPossible(mb, createWindowMenu());
-	}
-
-	protected JMenu createAnimationMenu() {
-		CommandMenu menu = new CommandMenu("Animation");
-		Command cmd = new AbstractCommand("Start Animation", this) {
-			public void execute() {
-				startAnimation();
-			}
-		};
-		menu.add(cmd);
-
-		cmd = new AbstractCommand("Stop Animation", this) {
-			public void execute() {
-				endAnimation();
-			}
-		};
-		menu.add(cmd);
-		return menu;
-	}
-
-	protected JMenu createWindowMenu() {
-		CommandMenu menu = new CommandMenu("Window");
-		Command cmd = new AbstractCommand("New View", this) {
-			public void execute() {
-				newView();
-			}
-		};
-		menu.add(cmd);
-
-		cmd = new AbstractCommand("New Window", this, false) {
-			public void execute() {
-				newWindow(createDrawing());
-			}
-		};
-		menu.add(cmd);
-
-		menu.addSeparator();
-		menu.add(new WindowMenu("Window List", (MDIDesktopPane)getDesktop(), this));
-		return menu;
-	}
-
-	protected JMenu createImagesMenu() {
-		CommandMenu menu = new CommandMenu("Images");
-		URL url = getClass().getResource(fgSampleImagesPath);
-		if (url == null) {
-			throw new JHotDrawRuntimeException("Could not locate images: " + fgSampleImagesPath);
-		}
-		File imagesDirectory = new File(url.getFile());
-
-		try {
-			String[] list = imagesDirectory.list();
-			for (int i = 0; i < list.length; i++) {
-				String name = list[i];
-				String path = fgSampleImagesResourcePath+name;
-				menu.add(new UndoableCommand(
-					new InsertImageCommand(name, path, this)));
-			}
-		}
-		catch (Exception e) {
-			// do nothing
-		}
-		return menu;
-	}
-
-	protected Drawing createDrawing() {
-		Drawing dwg = new BouncingDrawing();
-        dwg.setTitle(getDefaultDrawingTitle());
-		return dwg;
-		//return new StandardDrawing();
-	}
-
-	//---- animation support --------------------------------------------
-
-	public void startAnimation() {
-		if (view().drawing() instanceof Animatable && fAnimator == null) {
-			fAnimator = new Animator((Animatable)view().drawing(), view());
-			fAnimator.start();
-		}
-	}
-
-	public void endAnimation() {
-		if (fAnimator != null) {
-			fAnimator.end();
-			fAnimator = null;
-		}
-	}
-
-	protected JMenu createDebugMenu() {
-		CommandMenu menu = (CommandMenu)super.createDebugMenu();
-
-		Command cmd = new AbstractCommand("Clipping Update", this) {
-			public void execute() {
-				this.view().setDisplayUpdate(new ClippingUpdateStrategy());
-			}
-		};
-		menu.add(cmd);
-
-		return menu;
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		JavaDrawApp window = new JavaDrawApp();
-		window.open();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawApplet.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawApplet.java
deleted file mode 100644
index 701a4b236..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawApplet.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)JavaDrawApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.util.*;
-import org.jhotdraw.applet.*;
-import org.jhotdraw.contrib.*;
-
-import javax.swing.*;
-import java.awt.event.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class JavaDrawApplet extends DrawApplet {
-
-    transient private JButton   fAnimationButton;
-	transient private Animator        fAnimator;
-
-	//-- applet life cycle --------------------------------------------
-
-	public void destroy() {
-		super.destroy();
-		endAnimation();
-	}
-
-	//-- DrawApplet overrides -----------------------------------------
-
-	protected void createTools(JPanel palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new ConnectedTextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "ATEXT", "Connected Text Tool", tool));
-
-		tool = new URLTool(this);
-		palette.add(createToolButton(IMAGES + "URL", "URL Tool", tool));
-
-		tool = new CreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new RoundRectangleFigure());
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new EllipseFigure());
-		palette.add(createToolButton(IMAGES + "ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new CreationTool(this, new TriangleFigure());
-		palette.add(createToolButton(IMAGES + "TRIANGLE", "Triangle Tool", tool));
-
-		tool = new CreationTool(this, new DiamondFigure());
-		palette.add(createToolButton(IMAGES + "DIAMOND", "Diamond Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new ConnectionTool(this, new ElbowConnection());
-		palette.add(createToolButton(IMAGES + "OCONN", "Elbow Connection Tool", tool));
-
-		tool = new ScribbleTool(this);
-		palette.add(createToolButton(IMAGES + "SCRIBBL", "Scribble Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new BorderTool(this);
-		palette.add(createToolButton(IMAGES + "BORDDEC", "Border Tool", tool));
-	}
-
-	protected void createButtons(JPanel panel) {
-		super.createButtons(panel);
-		fAnimationButton = new JButton("Start Animation");
-		fAnimationButton.addActionListener(
-			new ActionListener() {
-				public void actionPerformed(ActionEvent event) {
-					toggleAnimation();
-				}
-			}
-		);
-		panel.add(fAnimationButton);
-	}
-
-	protected Drawing createDrawing() {
-		return new BouncingDrawing();
-	}
-
-	//-- animation support ----------------------------------------------
-
-	public void startAnimation() {
-		if ((drawing() instanceof Animatable) && (fAnimator == null)) {
-			fAnimator = new Animator((Animatable)drawing(), view());
-			fAnimator.start();
-			fAnimationButton.setText("End Animation");
-		}
-	}
-
-	public void endAnimation() {
-		if (fAnimator != null) {
-			fAnimator.end();
-			fAnimator = null;
-			fAnimationButton.setText("Start Animation");
-		}
-	}
-
-	public void toggleAnimation() {
-		if (fAnimator != null)
-			endAnimation();
-		else
-			startAnimation();
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawAppletHelp.html b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawAppletHelp.html
deleted file mode 100644
index 5c0d1c80e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawAppletHelp.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-
-<head>
-  <title>JavaDraw Help</title>
-</head>
-
-<body>
-<H1>JavaDraw Help</H1>
-<HR>
-JavaDraw provides <a href=#tools>tools</a>, <a href=#handles>handles</a>,
-and <a href=#commands>commands</a> to manipulate a drawing.
-<P>
-<H3><a name=tools>Tools</a></H3>
-The tools on the left create or manipulate figures.
-<Table Border=0>
-<TR><TD><img src="../../images/SEL1.gif"><TD>selects, moves or resizes a figure; the shift-key
-toggles the selection. Dragging the selection tool in the background
-selects the figures within the dragged rectangle.
-<TR><TD><img src="../../images/TEXT1.gif"><TD>creates a new or edits an existing text figure</TR>
-<TR><TD><img src="../../images/ATEXT1.gif"><TD>creates a new text figure and attaches it to the clicked figure. Once
-a text figure is attached it remains connected to the figure.</TR>
-<TR><TD><img src="../../images/URL1.gif"><TD>edits a figure's URL attribute; the URL thus associated
-with a figure is followed when the figure is clicked in
-the <a href="../../../../../JavaDrawViewer.html">viewer applet</a></TR>
-<TR><TD><img src="../../images/RECT1.gif"><TD>creates a rectangle figure</TR>
-<TR><TD><img src="../../images/RRECT1.gif"><TD>creates a round rectangle figure</TR>
-<TR><TD><img src="../../images/ELLIPSE1.gif"><TD>creates an ellipse figure</TR>
-<TR><TD><img src="../../images/LINE1.gif"><TD>creates a line figure</TR>
-<TR><TD><img src="../../images/CONN1.gif"><TD>creates or adjusts connections between figures. A connection
-is split into segments by dragging a point on the connection. To join two segments click the end point of a segment</TR>
-<TR><TD><img src="../../images/OCONN1.gif"><TD>creates an elbow connection and offers the same features as the ordinary connection tool</TR>
-<TR><TD><img src="../../images/SCRIBBL1.gif"><TD>creates a scribble figure; dragging the mouse creates
-a smooth line while successive clicks yields a polyline figure</TR>
-<TR><TD><img src="../../images/BORDDEC1.gif"><TD>decorates the clicked figure with a border</TR>
-</Table>
-
-
-<H3><a name=handles>Handles</a></H3>
-When selected figures provide different handles to manipulate them.
-<ul>
-<li>
-the filled red handles enable to manipulate the shape of a figure
-<li>
-the blue circle handle is a connection handle. It allows to create connections
-between figures.
-<li>
-the framed red handles are null handles. They only show the selection status
-of a figure but don't support any manipulation.
-<li>
-the green handles are shown on connections. They enable to
-reconnect them with another figure.
-<li>
-the yellow handle enables to change the font size of a text figure or the
-size of the radius of a rounded rectangle.
-</ul>
-<H3><a name=commands>Commands</a></H3>
-Commands are invoked from the button bar at the bottom (applet) or
-from the menu bar at the top (application).
-<P>
-The standard commands that are provided include, cut, copy, paste,
-duplicate, delete, group, ungroup, bring to front, and send to back.
-<P>
-<H3>Attributes</H3>
-Attributes, such as fill color, text color or arrow tip, can be changed
-through the attributes menu (stand-alone) or the pop up menues (applet).
-
-<hr>
-Comments or questions to <a href="mailto:erich_gamma@acm.org">Erich Gamma</a>
-</html>
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawViewer.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawViewer.java
deleted file mode 100644
index 8254a5b0f..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/JavaDrawViewer.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * @(#)JavaDrawViewer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-import javax.swing.JApplet;
-import java.awt.*;
-import java.io.*;
-import java.net.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class JavaDrawViewer extends JApplet implements DrawingEditor {
-
-	private Drawing         fDrawing;
-	private Tool            fTool;
-	private StandardDrawingView fView;
-	private transient 		UndoManager myUndoManager;
-
-	public void init() {
-		setUndoManager(new UndoManager());
-		getContentPane().setLayout(new BorderLayout());
-		fView = new StandardDrawingView(this, 400, 370);
-		getContentPane().add("Center", fView);
-		setTool(new FollowURLTool(this, this));
-
-		String filename = getParameter("Drawing");
-		if (filename != null) {
-			loadDrawing(filename);
-			fView.setDrawing(fDrawing);
-		}
-		else {
-			showStatus("Unable to load drawing");
-		}
-	}
-
-	public void addViewChangeListener(ViewChangeListener vsl)  {
-	}
-
-	public void removeViewChangeListener(ViewChangeListener vsl) {
-	}
-
-	private void loadDrawing(String filename) {
-		try {
-			URL url = new URL(getCodeBase(), filename);
-			InputStream stream = url.openStream();
-			StorableInput reader = new StorableInput(stream);
-			fDrawing = (Drawing)reader.readStorable();
-		}
-		catch (IOException e) {
-			fDrawing = createDrawing();
-			System.err.println("Error when Loading: " + e);
-			showStatus("Error when Loading: " + e);
-		}
-	}
-
-	protected Drawing createDrawing() {
-		return new StandardDrawing();
-	}
-
-	/**
-	 * Gets the editor's drawing view.
-	 */
-	public DrawingView view() {
-		return fView;
-	}
-
-	public DrawingView[] views() {
-		return new DrawingView[] { view() };
-	}
-
-	/**
-	 * Gets the editor's drawing.
-	 */
-	public Drawing drawing() {
-		return fDrawing;
-	}
-
-	/**
-	 * Gets the current the tool (there is only one):
-	 */
-	public Tool tool() {
-		return fTool;
-	}
-
-	/**
-     * Sets the current the tool
-     */
-	public void setTool(Tool newTool) {
-		fTool = newTool;
-	}
-
-    /**
-	 * Sets the editor's default tool. Do nothing since we only have one tool.
-	 */
-	public void toolDone() {}
-
-	/**
-	 * Ignore selection changes, we don't show any selection
-	 */
-	public void figureSelectionChanged(DrawingView view) {}
-
-	protected void setUndoManager(UndoManager newUndoManager) {
-		myUndoManager = newUndoManager;
-	}
-
-	public UndoManager getUndoManager() {
-		return myUndoManager;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/MySelectionTool.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/MySelectionTool.java
deleted file mode 100644
index f7b107fc8..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/MySelectionTool.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)MySelectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import java.awt.event.MouseEvent;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-
-/**
- * A SelectionTool that interprets double clicks to inspect the clicked figure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class MySelectionTool extends SelectionTool {
-
-	public MySelectionTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Handles mouse down events and starts the corresponding tracker.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		setView((DrawingView)e.getSource());
-		if (e.getClickCount() == 2) {
-			Figure figure = drawing().findFigure(e.getX(), e.getY());
-			if (figure != null) {
-				inspectFigure(figure);
-				return;
-			}
-		}
-		super.mouseDown(e, x, y);
-	}
-
-	protected void inspectFigure(Figure f) {
-		System.out.println("inspect figure "+f);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/PatternPainter.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/PatternPainter.java
deleted file mode 100644
index e29dcf88f..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/PatternPainter.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)PatternPainter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-
-/**
- * PatternDrawer a background that can be added to a drawing.
- *
- * @see DrawingView
- * @see Painter
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PatternPainter
-		implements Painter {
-
-	private Image   fImage;
-
-	public PatternPainter(Image image) {
-		fImage = image;
-	}
-
-	public void draw(Graphics g, DrawingView view) {
-		drawPattern(g, fImage, view);
-	}
-
-	/**
-	 * Draws a pattern background pattern by replicating an image.
-	 */
-	private void drawPattern(Graphics g, Image image, DrawingView view) {
-		int iwidth = image.getWidth(view);
-		int iheight = image.getHeight(view);
-		Dimension d = view.getSize();
-		int x = 0;
-		int y = 0;
-
-		while (y < d.height) {
-			while (x < d.width) {
-				g.drawImage(image, x, y, view);
-				x += iwidth;
-			}
-			y += iheight;
-			x = 0;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/URLTool.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/URLTool.java
deleted file mode 100644
index 04896d88b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/URLTool.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * @(#)URLTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.javadraw;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.FloatingTextField;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A tool to attach URLs to figures.
- * The URLs are stored in the figure's "URL" attribute.
- * The URL text is entered with a FloatingTextField.
- *
- * @see org.jhotdraw.util.FloatingTextField
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class URLTool extends AbstractTool {
-
-	private FloatingTextField   fTextField;
-	private Figure              fURLTarget;
-
-	public URLTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y)
-	{
-		super.mouseDown(e,x,y);
-		Figure pressedFigure = drawing().findFigureInside(x, y);
-		if (pressedFigure != null) {
-			beginEdit(pressedFigure);
-			return;
-		}
-		endEdit();
-		editor().toolDone();
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-	}
-
-	public void deactivate(DrawingView view) {
-		super.deactivate();
-		endEdit();
-	}
-
-	private void beginEdit(Figure figure) {
-		if (fTextField == null) {
-			fTextField = new FloatingTextField();
-			fTextField.addActionListener(
-				new ActionListener() {
-					public void actionPerformed(ActionEvent event) {
-						endEdit();
-					}
-				}
-			);
-		}
-
-		if ((figure != fURLTarget) && (fURLTarget != null)) {
-			endEdit();
-		}
-		if (figure != fURLTarget) {
-			fTextField.createOverlay((Container)view());
-			fTextField.setBounds(fieldBounds(figure), getURL(figure));
-			fURLTarget = figure;
-		}
-	}
-
-	private void endEdit() {
-		if (fURLTarget != null) {
-			setURL(fURLTarget, fTextField.getText());
-			fURLTarget = null;
-			fTextField.endOverlay();
-		}
-	}
-
-	private Rectangle fieldBounds(Figure figure) {
-		Rectangle box = figure.displayBox();
-		int nChars = Math.max(20, getURL(figure).length());
-		Dimension d = fTextField.getPreferredSize(nChars);
-		box.x = Math.max(0, box.x + (box.width - d.width)/2);
-		box.y = Math.max(0, box.y + (box.height - d.height)/2);
-		return new Rectangle(box.x, box.y, d.width, d.height);
-	}
-
-	private String getURL(Figure figure) {
-		String url = (String) figure.getAttribute(FigureAttributeConstant.URL);
-		if (url == null) {
-			url = "";
-		}
-		return url;
-	}
-
-	private void setURL(Figure figure, String url) {
-		figure.setAttribute(FigureAttributeConstant.URL, url);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/DUKE.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/DUKE.gif
deleted file mode 100644
index 4f31ce593f3d96d76ebbb515cd98d83fbca46bda..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2012
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

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/Juggler0.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/Juggler0.gif
deleted file mode 100644
index 577f7a9f03200f81d1ed3931620cb0045dca83d0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3090
zcmZ?wbh9u|oWM}a@STC-|NsBrzkh%K{{8dk&+py4ckSA>bLY+-J9cdE-o0D5Ze6=}
z?b4-7=ggTiWy+MEo}QMLmg?&2;^N}$?Cj*^<fy2qpr9ZxFE1x2Cre99LqkJNO-)5b
zMF|NB0RaIH4i31{_pV)gfA8M&YuE0bJ9q8av2%O(uAMXI-mzoX_U=8mb?dRUYxgc)
zdTi;^y>sTQ?de(C(z18Tl&w8IORKBr6c=x8X_=CpJtaALX?Au`R8&h)(3GgCYA>%A
zFRyARryeh_7AL1-OUr6Y%VI;rVol9tMaB1CUfGI@_ne%9BqWLz6)gn>-a9!ZOGqek
zaJ;v)%$AUd5)eoh5OCt)h~nT#=HLioVDMsKFl1m*WMB|rVE7*u^gYPye~{OEFQ@Nb
zPXCjmS`0P6M|o9iDozRV>hW^=U!7fTY52c5xy91(dv;W{q2~AGpkhtMVnvCy)x}GT
zv*%<d&q<Ez3G(_srR9H5_5YUQ7AMPOO~oih2`>qO|JTm#ozk<lr{(|BDaB5f|ErV#
z7e}pass6uq&i|g`|1H^GiW1d^is#lY-8!Y`|K7F#=d}EvQavTesoGN0QbNE`faBQG
zIseyA`M<QMC&;PV$?)9Pwg1oU{l9h2ob0Hj)!E6Gn#G0^*_r}dd#a~IIkk8h{=au_
z@0^~kQ(FEXTiX-mRPCgxD8OMU!Ex{0v13c8%*hU#lI+zIWLfQH*y5y^Y$)NRC{S%F
zQEVu1?bzO>)yXYhn$=E<#g-D+_O3m*b?Mrc>^a3zL6(|5QI=7L5<!{*UWy$5pI<w+
zc22RA;@Y0#DcN38h63mIuH8DP<@@{R|KHye;9$6S?b!eS-x)X<-hcl-WzHN90RaXM
z4nsrB@9)3AKX>i<v2*8o=G?2E@_y;o=Tny6ORnC^q4~UL&b^i?_q>v?2^dB(2t03@
za?L5~o@G!rgMc9e$MdyYvkfipDOx_4FuW(A*}@^=#K7@9DEYmj<yr~Ndy0nlBsAY!
zI(@fv+N)`}R8e!UqUKTw#s8L0?+q=VD{4NMP-I|W&|zR;U;yO>29Ey>j2to^8x|aF
z<`CA3Ik92k;dTLKuQ?tY7ai@EFwVMjV&mfD{R+-qGM<~3oSdu?yej78rlqH+8zi5a
zv+^VJ+1U!rGa3pH9~V$`uDR1t$i#APu?X{qAAwK1E^7tMja&Jt*_B~Qgk)WYBTJU3
zX2RjN-do8o*EX{`KA7<<bj|IJ;cYDr-qRT-uFU`3wRchTyGSPI53gkZOl^%{qVSF{
zj>qiX!^MUy#@BvtJ(4`D^L9|5)>Pda%k=fm*Dy}~B&zA%^l3*Rv-<>%-1SEUbd3w{
zEeow!BcP}d)sVr=(GhU)@M^AG2A&=lZMJy{h+Sk5NJwOE=QqjdVo0oN?Ff9L7pn8W
z{B}qm1A|(|f`@OeuFm<O@7t4~SJ%p~o-?!l*rvx?f2Ofm9E=fl=1^!BowWDr6ake#
z-!Jhm?=3yd^LgU+E217pKFn>_-5MYj@!02MVsWtLM`xbmLXKeGhzzr&kWhuf!(3@A
zHH0~=DpbYtT&`?z>N30crAct^+-J?9j%lWcxYzn-H2HeEX+E725|;UNYDC(~r_*A}
zUOt_k(5CrpM#{9zXEQUFt$a2sXWPqXvkRoYFmh^6VR$l~QQ|?or~H}#HtB{%jP6_s
zZXeFG@l09bC7HLw@z~;&JrCVvr1LTl+Rv~un8ca0gYm`k1~;qY#<4*Sn#%-RSehi~
zHNAQzZB+7K^We&vO)T!Kb0$2@T9I*Og(}OIq^<^cqdgy2N*DcTe7$@_(MyL7|5FSY
z+*MaB)LxMPVo~?T_0I}sXe}1FoZ!mk@SC4adg21Mb-S7#Fl}G3E08TpLE!Ky-7RN|
zx^;IuND4AN`*+#Fjb#d>zI6Tx#sdoM?OAR6-B*6%*4=rgiCb@Tz@1Y&1SADEupf>x
zVUlB?{Lqc_{EWifJ)e_Y4;>MYxAE2!zkJDSDX-uI#{*Jx+yyy`P5!j0Fo^8VUS6DX
zluOqzehxSP_6VQT8iJe~iVp~dsI*_;YHv7pYQa86_OPvIk_yjko{@A&Q!M%oj|*do
zK*3s}uZmx8FdVsPuvstRe=7H7-^-ggIXmX~o>ng?Hu!EYD<Cj&SHk{_UA_fxWVNJa
z?wdGiq#yU;mQg5p_eI}ATcqJpcl?9R&e8Q!E0q`~2z<HNuq%-{Y}bW5CVEZG0iEw8
zu73((kk;wbWZ`dYXkRzc&Z%VUwDwhP>n&87YR>G;U^<}I@OYB9zCdQeAA32O2NyW{
zCp2=%8ub_)TAT3Ri%ntm<1Jp_Gj=l_;GVajw_A%}@cs`I1Kl<Oh1#5eBdU)YI?Rup
z4^298*j}z-YTyI^w4(})oK_ci9%eO&cznU#?vo;ac?M%}Wbz54HCI=fTTCchS9Qof
zs6vGM-MgfD9aCj?nRf>S_$xB~VHf@X?qRDzOCxvOjpH`w8dtJrw1yfikyUAF6-|oS
zkha#rU!CbVcY6v$@bec<iV_Dq-0mpy<}x_j+&gG-Tz5%PAj?#VBLbYqG!?W@?vT4B
z_i%^ThYw;iy*b$aHTEeREE1U!!J;S;*kRIhQ10FhNnT+irsks)d6OKRWX%)yt(m}(
zZ2sh~0>c6(zN&K)yn^y}T#cQn2F@Z&XSm3oyU?b;L0S6JjROb7jF{XNnA(yO4$B2>
zRbNx{K%#2OP31o0j(;b4CUAG&wx8s{X{VDcd06A967R+~y$g?}86+53xmE~>Xe9O(
zi8M>|DIVszb5Z|0_tNh=f=vt;4$j=8eAJ19;eW4ANu$t=1UBOz3w+%QHgo?|Xm=2q
zpwX(}kmqy4dGVbF7TXg^+)tVv3@;irtvG2czCOT_A!EVrm<>saPlMdWr6zK^Oj8n`
zlEI?8{{mkgPYaXiizN;$2@I?b511|-da=^%1A}=S8(;X5ICYVQOc$RX5)m*y!EDgb
zTgB2OSU=;4N>UbwV-F+OqaDW_7{2v$`y61B+99>p=0I3hLYCCk0*AjYM%R0Em_<&y
zNFUw69@^@nz{t?RE^(=V-TKBtfpiXM=~)-}b46Gp7*98_h&VJbvMgs{S@GJ#Y?WZ_
zfknlij@<JUHDY9DP>}u0;4FP;L!0TAL>}J{?v`d&41E7H4lqexU|`c?V7z?FWwWT}
z0al{~M!yELEqj8GIUUoSkUL|sd_aeu{jZID1ylGK1PYYGEV2bpBxy-(aL{Axt(w5#
zk>Ibu;BIjyv9G9vS(;Ol;nOA)?I=a%JtyY2>Ms($|1)UGibyX8_8V1OLmn{gUnp{n
zZHKnN&#YBS92pwZm;@LY1s*W)>^LCSP?!)=apUk#57xU}O$}Tpd=Ck8I<THNxs-uN
zNOThen?aHwPo&A?5V;8lnD_(|Icq+KG`w9`wo#>l!(u^$gY5k~dIF4dgO)IeoC%s_
zJ0V)tc{Q`d3>^lsfQD|C2aG&^mtL;nS<7YOz{s{@KJy80LG}{K|K5B7t0!3p+-h-Q
z*ddU3KyPD71J{zP6>>WoCi5yWaJBqY<n$1o&UWE4n~egK(2N5tDh!Nldm<HC7BCz%
zkyUS!Nth(6`DNktC&9gUc3x&qWa!fU#2|KjC1dkC59S*@%T2S7Tv{R45tCp0($6~K
z3jaaVRm>kA^l<FH%&cMN)+ejZr14wnOxt9}u-u7kU!?pvD$?C@db3ztbd=YgGi9#n
zp1>gEz?hMCVrAgjx6L97OdH%9m=zk*8GRUTWGpgw;z?+X({{MXezIg8ckcuykA`bE
zT~918j&0zSIl>^iW19ohhIdU<q^@!>{BRI*V2t8-VdOLCU~ZFH?lSqu1McsY4ih*Z
zJ&T!Lqabi%C8L1D=UKPs92ZR}-f=zT;ptBnjC?B&9Fb38WH&j$=;6QX(!_fVoDm77
zj57`}2{kY<CzLTT9Wb9-<;TD*@!&aE!~rI)2e~{x4(EA2cHg?buZ+#*zy&7B-8V!X
zzA{J5Wte%jY6?ri&GpI(jEV6M7b?5Uwn^`ME4;vgktLz=jb6h$jt#%Beq5u<^?5G?
zyGO%~(AXb`tM@VTG%)zd&Tn8&2xEwB@4Octl(;Wi>^*D8-Z$y`)qA3+y%&kAT~~ho
z_r2f$z9*mB`$3au>BHBy3<@1>rgjJZq}w$AyzrlQpMAogSI_7D61`UI%*4cC4FGbG
BE@%J%

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/backgrnd.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/backgrnd.gif
deleted file mode 100644
index 602f909c9784eeaeca9896a78116ea9555007e2d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2443
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
Q3+vUg`y?D;VPUWa03CMQ`~Uy|

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/beans.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/beans.gif
deleted file mode 100644
index 4a0370f09c9a0738190af806989f58e66f882b4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7012
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

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/bg1.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/bg1.gif
deleted file mode 100644
index d54150cd9ed3fb7b1737d16b24dd39950b914af9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2164
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

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/javacentral.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/javacentral.gif
deleted file mode 100644
index bbba907bb45e0a98aef00d8fe8444345a2d72e24..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 37239
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

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/joe.surf.yellow.small.gif
deleted file mode 100644
index 7f255f52f968dda6d4bbdeccd75dacee6a2873e5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5009
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
XGsk0&*4Qv=G@iM@v)WEjfWaC7_FX~{

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/rain.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/rain.gif
deleted file mode 100644
index 2fdf8fb88e2908cbd5591dc60e942971c15ebb61..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7664
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
H1A{dHTx~5P

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/view.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/javadraw/sampleimages/view.gif
deleted file mode 100644
index 5d562671099522cc034b6c3b0adf523e7e135d6c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 121144
zcmZ?wbhEHbY+!o8_?>})LqLE-LI4CL1UMul1SBK`6eU1FQ9?jMQ9w~qLQzpvSxrFE
zP(oE#Leo%4*-}K=Q9{#6!q7=T)lWb(NJ7y|Leon^Ge|%&PDC?G!Z1icGg(AGQ$#mk
z+`Ls$O<7e_S6SOw)6h^=+fL2cMOiOc*)-2o-_p=LK;JUO(5@ob(%Qp0wZzt?&L_vf
zy<gjBX^`La+=v;L5j%YIFBc{6C~JK=Gi~nN;(gN_Z*A<jw|L=~eXBoTTL1FVt?vvB
z4Ew=&KbYFju%BW7{sRXNG&D5)XJBCX&+s2i{RgxDgE<VNU^E0^A)o_dfbs$Z$3F&U
z5ebI`2gXJgUM`o24-XEs@d#V>ya-5g>EM!A)5!=-cI}ZjE_0FCq;hn!n)Rxfj7!R{
zokH5vLT&~;Jur<e@!lEE!t{f)%mWX-IcdDyr%^Fm%k)KoTEJqJ#wroXEeFo7lrPVk
z>h)n&;If3ZZCACfX$36{KfNlpd)wQn)diQ2wRV@SySuyM^Q+eEg!gy%RWsfe&6!&8
zaAzB*_OsJJHauo(QZ}#CiEMN{IYC`IVV9-xvokdp%a+NAe|Wm7$-g`H%#6)<F0Nkh
zwT@f*<L%4Ioc&+3ZWPAeZho!A8ryKd;o8z(arJXGMvRw>XG+N{R9M}+yW;<@t9QdI
zUmZVt@SpsD?wZP^T@NSPUyu1`oPG7k#N>Il`wbrK`(b;ZeeeCvb^m`pWshw5&wFA9
z;}1cO2lX6sZ4Ve(WiE&_efR8eXc2a5Ye;32S-`-=taIUEdu^x2!gi5G7LQulIw}@+
zb9HDeZsAsV@Q~rk+VC5xOr_Vt8CE_lmvo#hdNbLPjbWu=DYL?sNN3M`SHw$gzj-Y2
z^tU^yoMI`-@N{}WVP{J8dDESfryp-*y*p)NYuSuauHI?#li4?Fs?L49_S@9F$Gj(>
z&UfW|nH&+j=vZWQ(XmXCS@l8T(-v1e<9yLqUR9=%QP=lOV?li2s~fd5>%78im+oxK
zOuNCkBC4M2-Sbr~|Jb`uX|-)|nz69q=f;Qwts5U@iLRgL_+xdwj+2JYdfBvyoOn4o
zg9auOzJiDC=fAPOP2-Z7;IK)W>-L(|3t|b8n<qG~KCte&Uc%H}%2g5zcM9zLv1YfL
zn0m(46};|G`}s?ci3D|8Wz37LcjA-`O8v*VWEOkys}}`<pRQh*nYSow&V+g=vyTUO
zr{267$s5h8n!D6a<@U7nO7o)P;G~?)nAz7#HIJ6L<xE+^rWt<YsQKbm8>bjFpPHS~
z5@fX^s;};P^fCAKrqao;4c|zWPx|#-b7k(gWfE&PPWvvgCi?Kv>^(~hdB1H8oBLwM
z+SY?yZy92y&o*hxWG-90V>zR>(!XF16@|nOLBG|yyLPE%AJ{4<SNG_ixtiVDRztrZ
zihCw|OC&SQ{&Z%>B)dMYTUB1)vR@tQW!e=trNwWhaebbk`I2(KcXJ-Uo~t?iqVM^+
zq8U+hUdAj5+P&OznR8FpoZ{ybORZ*2wOj95GW+q>Z*!xH{GLBuxLf>b(YZX=tW`Oc
zYW+7p1}y%rG5yi@Z$)L3{bG%lY~HkLR)*jDyZ1Nca?kjmc=VR|!*wT(1RAGoUBDNq
z8@^jfEaTC)9i@9;8<|_ll<Iv^TD_+?R{d01XI<*dSXBm>Yev_0912~3#I(;vL#tue
zovY?MR%*xcItg;_KBCg2`LZHbQHZy3+G6$4Rf+%NJ_&kOl}pLH@oVZB3LRYZWc{VY
zKL0YIkesq$8#T2howGIv&t<zNYW6d`%6iYFg~uvPzkX#mpOF=rqvU4b^3lNB^6=ed
z7nW~sN!7``_PK-K*>&2Cw;lfTE_MC*=4}6AYMbqK&L@iDOC{avavKjn>fX@Ntn=@W
ze{T0|pS2!`b)MbOHEw;Kz{F{y>t2~%Fd>qm^jxSOx7F$hnV|5rS)~>yHcW6<o-%Ex
z!sG2ZqQ_hxdC5GwwA3jrm79?%qW`^9xRvR@Gd9yD@4f#sV|n-1&SHV?W%G4XcYhOI
z<}MjLWA2)ixvw{7CWh7Yt`uVxf4zh=t#p<5Oue+Z&r5`T-~F?eU%qUHtl1+rgC|Qa
z%j7PTQF*E3e*ELPFqWxSpRc<4ys}wxX-Tlg3j^NF<yte#_Hp>@Z+lt&OWF7KgF~in
z=d|qR3x%oY-ZVX^a5{|b3ICdsRByh-70tJdJa$}Qb=<>R9I^Gt`I`nQ2R1M5wn_+o
z+TO%zemdubg1FZluGpJO%`3PW^?A~^WvtYb3|zii`I4|e>+vHOZm#iAnyoxB$K79X
zk-w*N$c+f?sfX=i&+Fv1%D#T1x}|rnpOuL9xdMr#Jrz;BdJj~5VrHLM=2W^;{X}(K
zjh^VVTMa#yvsUMPH>y&9YG7>X==J(^+BetoeV<eM7$tKa2;XvW+h#NU<39~A+nX0{
zj`}!qo>{y0(Y5)JUdtvqO<hobfK5E~k*@RP%Gn;qoza}DbQ>T43S}x;b*X?eeC7Yu
zPjB;7tc}Wh5qmI1rYYoSNYuR7O{Q0$<|S4vX6+C%u=><{-s#v`N68+)n~$^ezEvG|
zySdq-h{@o0i`j%36Z{s2m)tn6b?unZAvIIs#gnFZOp5q2<MP~|SEp9$EnEM7!n%a|
zE0V?+f34SdI#cec+?j5+O}25~O0{0m57JY`&Z&GnUEF?BebEbc`5zA?GNvqibk*nT
z?HNu*+ZISlCw@sgnYi(7ePFLY%VzJGILlD`^xz9V*{g!Qqh{{pta+)ySh4QtTchZP
z-LwB`@m@HTq`DwRD9QK{pZfY!GrOIx-F?a!lDYKmUq6pOTvN^}RBgCbs-EO=X-4$p
z6yJ%GxBRVqX7Dw3xHL{Z<-V<ZlI`>3?td809I)xUaZzgZjE)qEjKG5tf_E)eUYVBX
zBjc)kz~z~w`rW*1EwRBb{1#uZ3F}#0*){j&C8e3W%hqk0wk+=Y3-{#iQ(QNbK8sB3
zz4pXnvwOyG$Jq^DoHJt9ot;!Zn<v9c<CLlV^?Xm|clVCCZa2z49c8t3f!=F2y{VIY
zV@}8ha-3IPFK)Fe`flvQtrtSi<OgOrGYCvhm=fYAa$3T^^W2oLMaIjT{;ly2y|wt&
z9h3dL{|S@^L`9hY3%|Nq&ML)fg6YhJi_7=;Ul$Cjx0(Nn>6-PNTI1usQ&#+(A?(|3
zDqMc4t|u@;M@?-lPv%G7w*@m6TffTPoOCZz<Zu9Y?zKl1)k?J=5<1RK@vJkteb{!%
zxv$UVwmjrNJ4s}f%1`lJFFChq>q>e{5BuF?xio3j;aggJd{gueM7m9@y07r`!?(3b
zUEAO5n=IJ>ykb}Ft?=Nol9>mm&Daq9+wxV43Gbr%Coe_67hE%U7d=uOCnY-BD$8;9
zo~0{0_my4qJAAisr<+gm@teE(Y|QkeoC;^SDyfNVWwd+URCj*U%8Sp^3Xg2d?%<i$
z%(rR6X~v=k*ZRzj-C6rs(qxYn{Bw<o?EHIj-KDoW#k1E$ZS68VWVC(7g+0N4Zfq%d
zb1%O0o0wCkthoK{Loc_Tc)xCCmPf)pRtdEvpOCK#yT8Q7Y*VWJ9$RzW)sel>TwF5k
zs-a_x(E_84-$j~sQw%!OBE+^9a;GKsUo!b7B*G9{BBWuxEi^*RRZt_mB<W#xor>)l
z6*t4@#Ved^uRjUMGc>f^A=7s#DbTpGaB0!f$HIo!3^<-Dw0^SN@;u;QV@+U&<_FiD
zwkJ{5rBM%)Tm98bqSeioA2elD2`)7*YcG|!Tq==MtXs^So){tdZF_WPMogkv-QR<z
z@1E(UY;J$>N$-YG`nx6zttp;LkLnGB3jQU24S8Cs`+TXcc~bhJ5(fVe!Hl9NyCrVD
zY<^Rl5+a?fPpi1=9*z=F7LdDKlD8>gqMOYjHmNg<HGj8gR;8-1dTul&(N{_>K5&w+
z*fHTE*W8+`8PO|p%ucwiWlx#EG%)mu@i}q7^G9UOg<ZQI78HLHTOK5B+g81$tTp(!
z)bqsJ`4>&oCFFD-*X}7&%v_PTn8oaNsmDXNvYf+a%qiYKmIuEw)jucdux5(n10~0%
ziqxXuv^8Hs-b||to2nz*;;77GDOtiGrW9v>N%!cJ4ExVjSuJ9d%3KtdxiGYenP#|L
zyAsd2xYH`dWzj(aH<#`xlj0x`&Cf^l_h=-p*!a)L(ojZmXOYE|E^l^OUvYQSV|EVL
zGz}se1=WRXS-QoJ*{oV>qx?f+*N>8E&#R0sngoeU^{58jG_?7gY?^yRLi1<fj;mQG
zzGh!HZ(|n`pL(S1XQIxDhYCVQu?>c1Eyulm4k~6!#Qy3KGck>>-4R#w+5Xpww5X%)
zpV=lRl<Iw$=Je)he(iFGj&LQ#MKj8uP3NEHKl5X_^<&LR&kCKUXiS~1d46)nwlepw
zW!=grY<)gwc9j+WGfDWUI&0GMtkA<Pg&PIt9`~Eu-fZGLdDinPNk&<_XA+%m6Q8QI
z=BPvmIaV7;YNm+fSR60DaUwzHx!^@-BYQR5wZb)*k7?WdTNe0XahvD0AQe@K4;p2U
zI)hVJX#X`1;!B!0Z=v??r*-EJc{ONCJ~^s*t1M>PW3MYral(sY=WfZ%4pYk79QycB
zfBEJ9pOSi09$T!L5^-^h&6EyxGdF|7+cXy@yI*3lW-(pZH?8Jkdgb1ou0BU5{Rj=0
z5iRXuDzXf8HWkluRySPaT(#(%*bkPTcbAJ#i$~Z+8h4bM@a?kdn;Ir2s;+t>`+(ZC
zNsE*ft|q@^4mTBB^6<N*Z`#zoqJ5Jiqq|sA65CU9-OcwlP22f&X^dwy_oV4b8J-72
z+YCd!TEcU#nZ|Bqny`G~jBn!8YY+FABsWAabNU=q&=XO?+@W-SlF~oFt=>wHrkGAw
zn10ekbDPw)=2;xAnf6zzJU^G{MD_S`WX^H7@t&dC%(^htF#7JsDOZdOwRcRcS(*^O
zu(Ld*aZhD&^vx>0&Rp;7BE6!Oo5L!17+1|J&N|gnvwNpYw@~H$oxYyOrQ>&)gtbRS
zZZ17xrhWYT(np204{o%TeV!Iy;c)kvPTvmA8(NZ&Idz`8$!2QA?3<+6cGCO939~nk
zqPMV^?{R5h%}NUn&DU+p|K7E{>v4Nt@p^`I%SH*M+F}N_!<OYt0bNJC985CV59ORR
zx1On)^d&W!^=roerM`<#`G0>BY4L2W#S+oYll3>3Pc+++6~kh8=ke^wz`*mt|77Pd
z8qGRkW3*H4+2W-093^`zjSD6%<!_tyV6)-X!wI4*UGsvfc}xSPmQJlV$>qN~IZ<Ov
z@bTg^Mq3}aEoDArHuZ>hiH3pKHAjJ@V5g^BKWPO2PK=Q~lJZ_C{agC{$FtVm6^j!*
zqV&Agyh~!@v8y@_$;uZlO=x@NSd*ovawM(MLosPdC2za!)GW_4$5txNwCiPB<ajAw
zQrNn`wEA9Fwr{Yt@G<|B$=%)}CfOmYvaaec3bkQ%E;CrXWJS5j%+HO5Chn`IW=D7W
zFR^ZYu)}te)~u7$0%x5}KC#hP(KJ48b1VPS(m3JOJ&ZB0ey+8xtkzc5O8=Ge?eJ7X
z)wV_dOo9@%%a@5PyM8L@;GyN2C%w&&Ix45eiUkEHitZ3-n(*3Mf6bAO+Fy!wlfB|i
z=ZBZ-`X8Oa?x6Ttx@GrvJKfI{S5Nefx|Frp$mWc(=AvV(PL&rje@@apylTZOLy42(
z4@#^}xO+D;s;gTZ&^KPhV_Fn-F<oKy(iehS({9OcPU{U8bV*sbiCs<5Q`}lWx%h}?
zuiZ^`-?BM&ZMkPpmEL)g^vQYZlT3j-uX^L2m$pCE_S_>8(!DG;EF~_>{MpS~JJ$R=
zY+iPv@?YI#(voLfduDbidxBd}+TZEA@2=@hnrv~NX?yoi-3DdldTvWjwhUqIMJvPO
zg_<`+H!b7erTR~wJ8<5t<BQou4rD~w?=G5Moy_rQW<pWoriYPjzq^W;ES;FOA$*~-
z-k<6prrBaEC8m6B5XzKT#9{LM;cWiWotHI(44&usS-Q?;c7N9F_R4sviFV$(C*6-F
z>Si0w)4XcB$2EHXld>ePGPWbN??WY&r}QzKZ+qA_@4;yYMx_|tlo_XM*0**jZu%12
zb#g+{wz#_6dPXh<A|@3|pB$%bb~=#ZQdP5|ODwBm>!PAf*$Uwia=SM4t=gF!x=8l4
z=EgUx`gWZ-!W<}Ad@%TzLB2}$ku=){KdX*BQwe<R%6nDBK0B$XW!0~oh{<hX3$qNB
zH9e;G*oaigvtOOF<4i?t<-hJ@?DK9UOD{TB<Jcy-|K{ASZ!YcDKI(g{_G{y=oEN7>
zH%SyemVe*cm#CdTQ_*|c<&aB{%oDFFc)8Vms!08;<@ma+fzi^*_0xpfiWS$BVzRHr
zg@$Gv3G9k=?z(h&m1wk<)uaOsMuqO>&a8W)_GwwaJmU64DN<%`@p%o`TTeufT|W3B
zG%D9+%l>WZo8Fw0)mFKDu{h?Ym8ppA<lVCsJxoRRCg?@>Zj%gjUbRW+@4+(>nw7O(
z=H5rRj$SmIyXP^pZS*$NfT@PFO|-vzo_V0YjQz{4-{of>u8d|`6tn8f*8gP@-#EQ~
zi%+Oo6`HHl@gqa~xvEoetE147{c0s0Z~rmr>ZcUcy^3S_zEf7J=KY@8LT#DiJ2p%d
z_v_3yozYYLnMGsC<F!o3Hg4o`;Z;}7b*=ogM9O`W>|`$AgWXmNYfid^Ph9@vu;nkm
z)v5RTcdy=^*!=#AuNTMM_qm40EYx?HntOBIESt0B&~Eve&pa=bH#3Kt2ENkncv2f}
zRa3&Ob1*39@KvqvZpS|E$V>KCcztwjo^aenG4r;Wihrd#UI&Hd><KXzjeR6KQGJTn
zBPOSxx8sU5otYYLwz$OeU!PTe)Nj?*g^JEe#~c$SUHziIY?$sTnqit1ZZcK=_DPMS
zyUuPtB~rW6Z~1D0btmjIcZI(y?#a^7&u9v_Y!>S|^)FH*T3obc@uEwgzuG!RC3E^n
zO;X+R;NZQhJF_lJNP7KwaQ(SQ*yQP%iybCuw%y(|^?i8T&8clVQ{~OJma*TQo^vYX
zl|<XgnwTfsyw*>N-I#LZX?Px|iZ|P<<vJ~T%9}#^FK@r8t6akNs{WePy}j0RPcED%
zu5d<p(|+eSE1c9LS?n5?S-Z9b9#K5F{pL(jVKv3GtIl5E(7wmFV^hgRDXG=W22WX1
zdc`vSU)u1JdH0s|JtYsD_j7Ez>UiXAr0nGvQe37Ngm^Tr-Q2L_hxC??_o0U+a}HNc
zHr-n16s+K6erfjdYvpZ^IP(o%6&PRbJ@nNqvh1kr{NSh@-J`L=|HJ>)xo$n?#H&<$
z*pZ>?jKx(QhULKuEO9@)KP!AGw>etQeKL4PP1wuW&R@RSaV7C;mk)AzyF1R<eK@aB
zdg2MeJ;uA#s$zdstlx1`!+nY6mXkti+2^K|ILrz-7`{63oZsZH#Q`t7W_&MNxHVG7
zc31f2_qN3?o;O-LeP1R`y=1d|iDS*PsXlA7e@<QRJ2yhY?(X*^E2`H`;*9<HQX*aQ
zOmE`RyVq`2t~3|C-~O>YZu!N~=^xWrrUx^d7qmz@+;?3u(L?r_$?GSdLZ0hb9xX}t
zeJ3}|IECB2_DDqMrsX#tox8d4mP>za;KIlox9nD>=`Q^6rL$zcR^;Ky(`LwYGp*e5
zPhyqzlPwZ2w!FV`{NJWsT)OceQv({mNE>WF^!sbV<@S{ohX3{&?r!?8>C<((`%1J&
z=*grVYmz%|-<N!qI=Sq|?Azz7<zmIe)42pVxI_#J4jgc3WZ~A3P$)Rq(8SKGB5@*M
z!4YN_$+Vb&4GoS>Y_?oJGXxu%Ci8GFim7Z!Y;57;(&5M~OguK*Kvcow!KKAbQ>|k8
z=DxiAlwlTss!)pu!=gh>{;FQ81qQDin3+Y`4*dF}8NwX1S?Iv34O-VWvm7l`U40=d
zWOef6B+=DdSB0(c-}&gQ)rI#F`=S&d?LGBn)wMNYCqJ2<xv}B?rZ{%9))QazZ|^Hs
z^snodcy(a!Kek(S-@IoOKV0AJ`d^f%yeM(|9NqnIxg(RVUs_YRzt=Y6`}-s7<L|ra
z%>16&+OqW4J(-O<XD-(i9#gBedHDRc<a4<>bsu&eZxz^jn`LFdliZew<=iztKPczF
zQ`{Ro$1*|l%WZbaOD-z|o(8Tlo3zrl*QjWvU1MJnr|L{Up_TSiCQRzw-`#hsQ<06=
zi%YZrTGhMN`vjtUG?@=gdSlo$=hx{?kK|7G9NqKokZwb>PVmNUhmP&)T5~3fg?sm@
zQ>%3Kj`4YMn;lO1a>hWW_ILNz$9E2$Ha_IU^KMJ?G7+J5*F181%#Jyf@E+Hx*D+qT
zdySTn)vg61?{?hU=jC@oHSu3}(AnqnN_6~RZR6=YY5Unb|J-+l-7gl)|2?uUK(WwB
zLGk^9SN+@U^FO^&^;+9>Wi5+`)`fjH_^xW&u+H7BtN5>lOH1h+Tg8S8lf}AB7teho
zt>whFH~Hl?_us`I4)r&@Jz?CLG3AraMI&#+^C^Oh3s1>iO)@f(aGjjRu+fGkaJ_o_
z8!y8Pr>evPieh)K(pQa-G4n{Z3_f?7X%5$FAHjvWyn9u{nLn9ZosAXT&i{DJ+q(~6
z$s}yN`b1^>=_^-QgyV}VqlJx*pR@UHd3KWv|6cW<CKBhIe6{^=o-?ZRvz~J*_`U7~
zjkW8ZZZi8DY(Gb@E5LDu!zDhW?+c7it`GYc{>^`N`wi~*=cmV6oeZ5>lccFM>s2)8
zN~Tb!0}Zk2wYL<wU!N9u9qpL)Dyh=&^hH<wm05XrQ!j4%9Hp%P%zX337uRlV5t#YN
za68kcyE$(**cE@;X!UhZcK(WUhi-4XxX;Sl)o^Q%Si+reA-(Sp{9Glicly_|KPv?T
zznps1w_Vie%gGQH?kG*~+w1&#|GKVw+%)m9v6=f!))~o@{@=3Px83Dx&ud-NrM0i-
zu&@1c#m>A>*M5SWP{`6Hu}9CZZ{Kl^e_2OFQ{OVK*=)Zx*#xsT9GrC|c|vA1Z^y1b
z?Ph1bD$F|YPBdC*yY%PV*B#2&>IpgOxvu)y>*A(7P4KR7)IUz<D_Nh!)*op(=I^I8
zIZU8J!kqU>!N%;1Po9++i0ir=aJ3{%{}5uhBO%R`^@_s0iYo`Tj(U5SWy<baa`ix7
z;=20u-8c4LFq``D$y4Wvl1j&loadYmb?@AFx_j9@(LJ^&m;0ap$ydBWc=}5X6~~E-
zcpFrN6dmXCC@%@>s22G$>HLP}X+JElxCkgrW#na1k)G(mH0_DpUxy{CpDdF%G>J}O
zE={r7BGh@g<I=<>EZizKkqiv0E<2vD^m9LJ6(044Y5t+3-nx~{k5q4O+FrHMwM?Tc
z`q_mv9kq#@S`~86<ncu)AKf635Ng!>j;VOv%{?p2)`m=;<grBc$j^*={(p0p9yZx|
zI{BACQm56T*Lj{hZy#j$KBRc|rbF4$t&D<}JDYE&^~_kHuKL6()91W}>0;LnHw@==
zck#d5uxzUHL&NmvM>u}5Jl*u*WMIvYjf=~E-4t50@|1&j=Y6M=ukLSoRfB}HPSi21
zy1*T{R(Y?{69$(p>oz|zDoY8PldZGTyj|93+Uzw#T8op`T-nkYdCW<b;q2F`TTghp
zge`h-aFMCf>|feN<~n`6om;1SoC@ezpcvG*ti|G$j(h3UX0?aAQV(90H7?t=Q|Kv6
z`7&)@zp3vhP2RL?$|;N3&N#K*rx?3b&bVwnt(8{l{cc^kui8#gEm5!jl||{so1cA5
zpIi0slw@q_Ij^mPjuV9*S1YmDF+MHTY>$fa<>L}rIDtRJAu`36Aw+w@ntavZ?yJ9V
zd^cT~vLcg}H{!?=7tMew?xmWu#G_-Lt*PhLjMw#1Wejy+vgn#eR7UShjkULC)|mzu
zbTg$E<(X`VnD(LUuhy&32$nk!+E%wM&U`wtX0g*^uHzQldls41FWKOtd1kfcmt`h1
zUmpCEB9y$dS$Jaw$6Vb`uMoE<62_;Q6@EN>(p|4Rukt~3<kSeSps1TybN>l1F!k-K
zt5_*t{%`YxRjMHl!aKG9vdq%vc=<$yuW-KKo5u=~j%!_XA{*`>>R5D_X`*{-^1J;u
zTH-4txR1r$dhn0KRO9lb&XCC=QH$<9W0`-mWu@L+k)$nmcHccwV-j^tB;wYmBUWCm
znl7P{-VuR^ov-nV+DhGxnb^!BBm9c9BZ*gJwv?K+baY@}YLxb|BgPy0B=b9yPUXk`
z-DEsv?c@#Tg>M~um%T?zs>1TrW2NgUoAx?gT($l}V6yGW_6hZDtij5`CM6L?6XSV}
z`V+XPIp>Hb@!$6fyA$kCA0uSn{VC7<+@iBNP0V)=JiO#{YU8yK&z(CwvUH|5aBpHR
z<XV3%_ft}$YS^^pt{U&7Cg$1Xgy-LV<bBgma8m2xtb`4_Q|${UdEcLUeQ%M}<CPmM
z&%FyuDi3^Yb9W}^Isdh3{r{FtUjOxjrm{j%<lNsZn+;DDcFD~=y{zt-&2-O+6MCc~
zb1q2C=W;wBVmndT|3T-9rJhx1`LkXu*IW|+PvEV3j51eBa;fS2pDLQFUGirmHVHRf
zNNFu9^oe@6(`n6-Te%0$h8Gqu4!LQ=pI>I#mk=jmIGb%{VrbN=eYZ?MS4EzQI?wnj
z;Z~B>OtXunWlBjLi#@$_?Tc@3<uuZtti18NRN(aN$Kh%xL*l*%886*X=5zb#+MH)|
zBsyQktvhvW$F*XvY337t6_<bLU2*=;U9A~ikriG{Zp|($)^@gfT;3C&(6q(yfSqHA
zgYR4I=Ac|P)mt;0?{V5S=h-=anEc|q&cEG4>|6UCd#~=Cy{SvRb|-7Y`g*hHbsCRv
z$C-HhKaYPaRGfQ#pZL@b|Al64sh+jmKIiH3<Uam%^BoV@TN^#<`^WdQ<>Y6pufN=F
zgt`)acNkx++_9c5TX%13?IV7{jv`+3J0JZFb(XR3sXjMlpJiBn@uJP^*ws6%k}pk|
zts%H*r^xG-`X4w9?pm5`@9J-!t<1!&^4f5gzR~K7&OHrMd)-%d{;H67O49hZU~0F<
z&gCyTf1ebMy1D0{!<vxn+4-IeHhYN)8Lqs?FqvhNVDhK#bD3+6n>V&-PJ8yyQ0}&&
zgp5M&qHTPyG;SoS-u=~k@uPVAPTl<+b2ogNuz2>|;>LfPH>{0{Zf}dsR=xacZ+w$@
zzUS(BzYbX&@){nT_~De@f|CosXiM59a_w3)cWUKkS4JD=H`C^3u6`Tbzva=gO$Ro=
zW?b%UX%Z25ptGW%g@f;VgpPMLm;X(nkCI)-xDVJy&05CUUwdea!0**ZejoYEae%q7
z)6JTT>*J2A+FO}9mK~9pee>2_hn+G}M!IWH&)IomQ&RF|mP3x$1=gD|Zc{j9y7%R}
z8o^~*!B$o>+t&+EvR<gQc#~dcmY#l&xmt*`Yo<{`$Y$*+`?@#}IUZiNIdN`yjL}Bs
z{y)EVo1Q)v{<)`clGTq}##3h=c1m8<@u2TFvz+Fkj_O}M45#PG8!8|E=e&Hy!^H=U
zIe*RQ;9)U5by<|TQk{d*!C9L_;I+;w!L5Nurmj{z*r4RveoFL+6+_<x9sb`(mpCmF
z+PQ#7Nh#&!oV5+M(_aauOcXEd<V~^M>{z`pPk7zwPO~DNnQGR%_ubffy>M07kp)~%
z(qdePZZQe#EfJcaD0wnc<o<-77^Nw3Jblql`*jVssdL+3dT8!uss8WM%yR;>i)wZh
zo?c|O`MAaFJ~`%Y+bPC(RxW%0LFw=2DV+&Yo1?lq6y%Dv`d3&Qns7Ou<Pz1?;-0<2
zA$H?D|2rqX1;}$GYy7^shJSYFS>r7qEW6rIt(hz^fz`osXQuSzJ$AOQw(dK*wm!1&
z-+_zrEjN#a+?u#XnL8!YeAyYN(5{UStu`koZjPKXW5-Xonl7gaH&>osv38}hbz!#C
zjOLBo7SG+Bw9U?BhTXz#cV9UF)$CZOCHtw#xGHJcu0z~21l4m*^lRow&Y!sKzMyqC
zgYv)KeEUxG9WHTL6QI5_amVgxmEgsaF9VjWv{Y`j65#nb^MAvd=^i#$qB#y{3p|&w
zU94c}t+{nxfsW7=`JgwPQyf%gYzX+SWS>;%c!0}-xybE7Mep=Cb2b{TGBi24reveC
zp^yUe%BNerqNC?nNlx!OX?y13x{X3w=Ei=mg3gI=4!_bq9KFZY!g=-L=;Ja`7gyY}
z>OXn*>8kZoUH`mAyjP#veRzf<&&Qtq+kSNwe(IU_(>Q-qugzoYBRU6|3;EQ%c08LY
zvhNlD{}by!C%UuTm2}oo|IxH&!HRy%Ti#zSEc+Cua-Qt^+9|qTk#o(<HBLgh4ZF^K
zX6)bLXeO!HVX#X~GH}lP-IF}uYTY<EDf{%wHE+%e{@NLkd+J_>UFIIg1+(YKsI2OI
zD6f0bXv^e_k#p6uv`#&%Qc#QD7xinMYSyIGD}Duc+)Au_GM*TBFnWKy)iddWyMC~h
zX7DjbL;bQ<B1Myw{7k0)TWsvnDmf)`!}b{_pHFI+EmC$h?pS?s`3#Re{>q%M5@&t4
zm{4?y|6|OoUmsWZJD;d7-E-`p&6<RbQ_m=E5bz0UVw!zE=3vi6&ow$TJ$tpxHg`S0
zwd6^)u)wP&5n96HM|k)f6&CXxdmHThUTXd7UB}K!8h_or;-A(2l`J|%iuOvcWG_j~
z(Wt)pNoey1?dkDr7v8Trs&35xzT@ia7rw6|96WlA4;4(Y{j%Q1#s9UB`;S#h4;9z%
z{1N7KdC?L>j+FuGvli~x+copwoBeAhIPB9pvF3;Q{uAe&i%)dOaLjVJ&dBKS+j9@k
z-*7J(%g}=-0-YOtoR=)<kndA*UGhP2qm%Tm8}3U=Ze$&rq4?PD`eg<EhkJz?SLblg
zIO;L^s@K(NdoAzv?Cm#<vR$ZlVd|wv1v}@ZM*chaHe|Vqwfs`Q9UB+L9C2IoOY!ar
zZL6)aQzQ9oetX%=oX;_uVtSbSdrSBI&PAto1-Z>sYEH0l57`s;aK=}i17<B-oB}T&
zWj^qeOQZR*+VdOgj*NGlo^UYK%-`^p|FPx4V_Qrn-mp1cy?Ao6)P}|hlQ%5>$~il3
zXQy}a1O|n>axQw4Tm&UIU;Ten)$FvYSh0foPQj1CzBiS5lTThT^08iaX5HrBPWh+K
zE%jM=drnNo(lCXbpoA@M(X$WkD0bS%sIPr?o!sBq54Cs>PP&$sv+Ccixv$pjS@QOr
zeD3B$!CQsDb<Cf+yz27mpGTsKS*}0Qv}lSEnOCvc-q7Tqmdn}~|1NK;J<*l$s5NS)
zLzBg6mz_&@dYompt$%B9JUit5PN^UlN4}k+-zIFSd@L)lQcFj4wbp8{RT5rRM#r+x
z7|BnWeWEjVWzr#i?`_G|E7LBDU!EBD_KRwgsPiJ5(^E>4qe_p*)y!TUqO{)0Hzanh
zhIW{hNaWm5<K4~oDw%AwSoi!1p7%FV`&F&}rde^XJi?7yLq4ahxBcU?<;=`ijgl-=
z`d{q~`u;)0)Hm3z+NJuDH}^{$o{JOMORn&FdoX_7<NS;BTkeHE<1MV3E1F((EYjc*
z)e7@Fsw@3w+N7sPEga{Z%$!tdDY&3#q07%_SvpUy_Cy}-4S8X;PWat?Ubj0l{sli=
z6}&pe$5SXwyKdqgyDu}gbH9)~v`>28g3zt@lFv5FeZ6-7ty9f3$@y!ecFkGscyVT}
zaooa(hrbtJ+r4HntLyUHAKd@BDAzD6vz$G>IAP6V%Pp}N)!*LSZ|}Ug=kx?dn;Ryq
zj%y~!Ih>vKt}r!+?P#;^{0^b@2RIh1t313Jee;s<q_|5HHNCnYZl0JNGWX3J+50l*
z`TlN7Sj&|u<Q{Fi{^-K#=4!k%|LCsLPI>u7EKk=hbnZr<PS*pQ5+tYT*6h6dP;*gv
z%kD%~-mZUw-+tY&Za!U@eA*@Pdi~OS^E~I5e^O`SN!xx#xcF5Z?~_jE9FL&Y9Q?vv
z|EsQ-8`=Kb_J%`fu}$ly`x71Zx=y*>`RKqGMllmRc>!lzmq{8)3un*FTJ<{S+NGJV
zgQ6y@HZNJZN^1en!gWt}E)jk={nqrDz0;m4I?qv6ynAw0Tc6@&*=*IhiTwW*B;Q`W
z)ni@U{UC$+@_AMNws%TOir!gUlvLX!AFPe4EAC0Vd-%^|-VV7W+db!ASVr|$SQOm4
zRx>U0s&aU}$d>+PJC4nId3ecnqeDrRUrmzu4t)QRx!+{P*N<<meCBjnJD*j7>-)wX
zJa;#Idn$T;%8T}cLQ<=?irmVLn6*nOM``-$P3vYS>)nx8_kAJaH+!*;(gtCPlrw6t
zujvWo^*#TS9M2lK&+K{8oPYZaSlph!d%LbiXy>6@PbKf|OzX0pWB;zCcjC({s?XPN
zHA#A3(r3ELK7HwnA3q+}T*+yvG4^}&<{i(OFF$7<%W}!<DtP(R|Hy$<zMD3UOJ==e
z6kW3NjIC9!qt{M`nE5@`@dod7xUxIX$#k8UQQOIBKDp@KYqcl$t9dil$cW18OTRid
z!({)*&5^N3cSYuyhpb;%7$YpU>DW!f1557tMXxqnC3HMi)o#Mlt+RRq_w#M*NL-yN
za$4i$B8^+idKU&4^BmdCXY+c+&3*r5P1RRdaXT>Vnb*5vb7pLk?7Nx1h2fd}x$5)c
zcHMf(uv*#Pb>|VTRL(E_y=srsw#DyUI)C54JDsjy<Suz}@hyI~@6Xi!+q0TCE7Wuz
zb1YW4o4})Lt^4+0z@j2Qp+{Geg!Deht@6|R6xdX%t-UXs<*;b$P8Ffu>O#9$8ShqV
zUSha>QKs+LTQAgJ95DRxIm_tvBAF!n_xrvU?a|M5zxE_?+5Vj66;q3X&6aa)z11n%
z|6S~S-?Qa^pOkrX26JWGd}Qdq**7mQRc`5qGfwvxbI(+6cj)-|^267dOy|S>SA*qO
zF>)<s2-s6Ki}i)bq02qX3L<MAHDmK-ZOrV&GH(Rs7PaZ`zbtrjQHXuet)q(nH%>Qy
zZ|Isng|$qVJu)S^CofBIa{IdnN78R`AN$hu#CCm+>Bimv*8Sky<LR#|w)@l}yYu_|
zq?Vm_@bqsBySsaGkz=OvoWyyZr@!^L@hq*JcT->FeW0oHQn|Bgd+c?E0(!g|4l46C
zbL7{%*z<?5H}7Z)DxYv<D(l0SwYCgPPncBeCr`bU7=9$QRa`bD@v)@c$7`3CJbGp;
zn{TIo<TcN&6+%KkwT!o2kKO9Mt&;1Xo~G;B_hL~8m^zr*xOg-iHXJz6#44z#GvmU8
z1I-+~PIEFgDjn_MWVd_c5wO^mnMvHOWyc4lql~JSL4P_n9yrm%#(IjUGH|Ky44&w9
zb2KJBZJe$ucxj77$%?a!Tq3h<w1OQ2Sd3l8A{>eqUFl|Sjxt@4p!V+yQ)IoCL_x@d
z#!c~pHKH>P=y<Qp;Z^FGvF+6%R)P0XS9d2oh}oHXxoWDFz$=CoajseuR!v{)aMVCr
zIc7rGg3uLRH~9{nytMTE95Gp;4vPg_(mUBWM0gHdT$t6qJaCztM8a~$^Q@c-PihUm
zU%0+d`<Yoqs8Y^DJ=?SvU+W!(6OP)S*5Uj0@a%Puwbth|ZL2=dy2Q;kx1)IZ`PHw?
zg>0&d)|{EFD!3v)^TwmvjT<)e&Hp82?&D+1BH=H2F(j@*c&hp&ucx9%;)6mGLnjBj
zbZ!l4vU*y6J;g$D*_FiSz8RvfT?<3S+#N3-2@21@xFkHXBrqhLNvqEFQKGV8+rJ4R
zU0b(?g>rS7&WM`)Hzhg6u{E?IY9jB0@TB6GsSG`xvD<F;ZeKe^%6t3L?X&V8<faRi
zMu{#+^*w3Y9#Xz6vqZ>QuJWg>_tM6;i{(ewvM+EsymMyS%x5z@CuN*FnWpHG^r_@t
zNrjbrdU=Ij)~pFf0!1dr9=&TGR-Sy6CC>Nn&Ct1iQMwk&ZXaA-=C`cq<BScAPV~65
z(rD3<i_zPRB4<xvxm7h~jqSRO1x)s$B8yw?1U)ZpFsc$&*c7tt#0?J)l><*UWV{W%
z*51p=mJ*vNIl*Cv%_G&N$ye;EmpX)mJ<Z$rHqP_@bb*~=3Z)ksMV@(UZ8QtW%;>wO
zQU1&CU(2kb1Fh;JD~|rHUVdo8ru59iqO!kcdoGC5iS>GMb=iltX+cqwss+@n?t13V
zI;k<ocJ7-ip{ku8vokvXExY0xG`D>Ip^b~wqn4_8YrQD7`#tB)47a&8i5-51rDEGJ
z`gH{Kbg6ECkQyhu{pGqjFI^tQi2qx<;F|lU3LTd!)`}<LzKd3rMP{w$jl5&T_4{4Q
z)X0}t18YTROUCm?9ox>-n|bZ#f|N~XrsV#VN>?xF*YjDHzdCZc;FEvLd^8u%*NmCn
zaUnMRLH+d8*O!;u|K4d>lzOUX%F<q|@&#qO4_zijPCpiU_hr77)Tf3epEWJlOPcpQ
z@L#I-R-nnv(00q|_<!xE3O8L<K4nmMDgOSY&nMMytUCRacU!1uu%1R~!_!)ikFhoH
zXDKd9JUNwND}UQn(e%)NORjfwRGybie6eZTq13anjW>IKuh=>*`|nb>w&;c^g~Kz{
zk7^|S>lRs}AU3JG@QC^1hr%cNoM$;}y7((R<ULW;EcN)$^YR-D`<&E{IXORFT~Qvz
z_x;n8O}2?Dmb{Gj7Ui%D`9E}Xc`lfE^hola$p@b%*#^pno=~@$%<8Y^nix_w>-!{T
zlNDB?mlpmCIBGEa<*UjCT3#V(PeqDU-KtKW_6pk~y02rwi)_D@i?6L<6JI`8t1?i!
zVe5_?3%}QLEA9By**k^RW0Am1BcFdlr~6cH96KYiM1S|A`}b#T*<UQ_5D|80TH1?i
z%T|Z<C3zbkn3E$u>D0mrrrgDI{P&1xJ^!Fqa%}O895=BeQw;ii{&C;*lUus!%10jC
zl1ma|!qY^i37)Dr!y;N!#c_DvpADgBRFngDt=Rj1f_oV2Z~hhqk(E4>46`S#n$Wmy
zy0c-Jf7jkMqV*?k*y{GZ)>65YoH4D{BmLoLr<aGXxg?eN3%^axx?i<8V%<>>y?G}*
zpE>*VFZ;Auy>wGv#mXlWnoPE}`x)q_?F>|1`DNOEn-8%y2d^<$WK8am{aB<o(O=JY
znU5M<u;oVSyF!bZm(RcXGGSq6$ec~h8(-f2)O_RQKZ)|ZO@41WpIbx(%YBh4I<x53
znRY+Nd%n)W(j2AhY)xG{SN&@7T`H5S>i65<+&E<Qo6elDrK>wmdX<K4nAB%=qUn6M
zn2@_<Bx^6HuW!$}LzB3^b*UZwBUZWZlkl&p9-iGxo+wXTx=m*5$GZ7jxMY?)&0r|f
zc2tp)PG2IjeurRRUO;uArKO2mq}{}-ea15i%#>zF?K(3xf6~I-x>I{^a0V~a33=t^
z%^uvGn4@Y{lIY=geE0m5r&=Fxi42~>JZZs?3$62aB^Gl|61|&aK8x9yzq#Od@Qr}!
zh4oTXPG(Fu4*Yp}YsA#kL3~Fh@2uKvlkVER{=*|%&3mQcmluWpv)sH~sjr50X{JhG
zYetjARktg;1v7cXKYQE#@yqmRQhDL;^hIY<-4qW2GofjIA}WV#w=B#}nUuiMeDZY9
zS#<?(|Gg@yJ5A?iTAVU{>hAUObRX-~*63T;y>h&-Jeij1ui4T&ORDY36~jn>gLA>v
zlmA?sXM5s!66<@%HCkr_jtY05l)aLjuePhJMX)R~^k$s0tFXTJ#tph>*0oGub(`_}
zs_73-d-U*3UcIJeX=L!pspcoI?Tvf6O{sU~8inAHHFpF#HhzD}RcBh6<fW$RlHA;t
zeCWo$-34yOTs#`vtX3-I?|rRbcT=#(FGT!6=mZsQo1&){5;i&KthT35S~&L~+Z3s(
zT0Dt+Bl);mFWsJY@6&Aexsk?&Czk0}@^l&SiLQ*vI&&lB)y+%SW(pNg3VV8{Z<Y1b
znfB?I&NbHv&Uv}y`qD|Q#(}bD?IU#GZwU^`C|+Hd5iC-^>d4voXY@*IR3-<wc&Kb;
z)NhSRh+NXrCc14ykJ-jg6MMGaQ=hs*Mc>mR@OG<BmDy2-zJkEaC7m@U`r2E2yOqkP
zue`r>=9U*aGh<EH&zdyLX^z{}ow_W(8+N)o-B&cWFqu+#qV16O`IXD;FMOL*eQ(!}
z`&Gd^&wPCP^3LYD9KX$M^lOSPB;A|v=Sts=&kMOfm)TtXXthe?<Cp%*`%wX_PAspS
zDfI4&+P^Cz^H_GQZQggGeb4gyqPjOKxkGN)<~};PT=d3<OS8LIy<Ht~rbS9oZ&zS5
z*B|lTehW{Aqbe~0M-;PO>K4os<A@HjozQOQxqnvU1C35*8QI%MrmbJ>;eYbpnN?9*
zH?&rM)$8R8S)eL<+VSh1qXjn%r^o$%#yL}ae#!guJEV?%m7EmQKlkuT^Vg-P^Tifl
zxY`%0+LzVwTx4<ib?f-wS4{5|-wUtHNlkD1eLP6ZY05+Gr&BhsHa#b?s^aSd>lyBc
zwq|kcU(xQ^()~hk!W;R<7%8dJE4ya+ub6tzr6KHuuUjn7$-WRax3?V*z4JUJ&!st@
zoXa`)JmcKSy|LFDJFot0J^7ZCL!VWAVkFl_!LzSf!{<qK9Ziw$+o&+jF}|%J^wOOR
z<*L!krd-I*y&si$e$^JfFxiK<8yD2PWu4GD|653;cgAVnzWc(hw@YLbSI*%4)WBiC
zH2P5Nkx1V;<qF;jPbXfVAZaP-QXlIf%_fp_C9w5?_$rqxlRog&xwf@h%t+jNw)w)v
z*dDRQ1ss1bbl=%?@sZ=aCyXM=CEk{fCz%|MO<=h6Fy(B&!v)3#orS4K4u6n&SK+sA
zuf&X%vTu)Go0{2kZtiqG+2etZGhg3`xfm(CU_sJz3*Xas9{IUkKH@X=jl`s$9Qpi(
z?dNQc%qpDkl5@RvOYEGd$8MU2zX*u^=O}n9Z{cL&SA9DQc@8ql#B7znxN^SFlKGN}
zE<05@B!3B;o|@~vm;Z7^oHXCO;4h)7u5wppZ|yiT_j<(XjTQ@<PR2GWIw*Y&ZE)mx
zkRtOuu+uB!So_XykCLP53uiEE3Y=`5(Z%bjq3MujaZDppppf;(ryp0|KjeP*<(O94
zg|C`j{zv3C2ll*Ey#3B``i7Z{0uQ>}$Xu8pDmq*B=Bk8%dK1M9H8%rGLw9VHye#@q
zxN_!)A3gVc!!KO)%Bb;ppAs!3mFWBCs`#pfQp@CP{zm`a$R8l1AZ>J7p>FoWtHMgX
z{-)npj?Fw9?Q?;(Np4=Dpqrgg_?Ez(YrK^|hW`urcQ!I6&T+}Cx|6;4UZhUQ5J_Iq
z?e3_gA-l{i;=;7OH+r7lc=a-D$qqNKk1o$Xu*_O;LA}dM_imJ6WF&WyPd2BpcSv}D
zDWCQ;x#KoZFEJ#Zo^x^YSMP$oX(E;jPbth5H5Bw+_$*^v*Uwf_L#AVk*Mu%OA<b7e
zS9+&x^;GGv5{be=?s2vcg7Xw*bz9sIvTr&P?_uHjD`UYTS#NpANv&U$lVsXfhfHWr
zjk)@R|1jsJ6>kMo1KJpWPQT;AdE9W`mN_TfQ$<3S$gsO{PEqhPf3)Cp=yWbemfV-q
ze77$6`f<`Mn-w1z<_jpc8@ir4vt!9u#;N(ct_5-VKiZ=t)|RsE-&2(mogmY{*VbML
z4rRN)LV?$6lmBbajMWtnCupiVbsqcW(x0E#u{y-dQYn4G+ROc`9<NRaRi68FT})_)
z!<}$D|MXn$$^=#y&5-^#;*New|7{l4%SfpNDsKP4yT^r1aA$Yiq?fKv-R`^>+y&3E
z$eueTnl^R96v0`1eGge)A7y{cafa*IHQ%&QpLNH4zfStF^;(NlKli&C3rxeclP;8W
z_3_Bg<lPo-V8l^2(W_DCQpho%H7`>9Wv)#)81MHcw7V>ML2q)!v~w0+f=yeZ*G#y2
zF>>*uq=!<IP8{ito60FuaHV7Eo#T^Ea7%q+aS8OjH)ZLvS&Ekx*jyA+W}Qp?*Z5ZU
zaBb?zw;onbv#zD|dIlb4*tt--SMKpz3D?A=m5EbU)`~FwaNTm0XS$B+2g7B$u@}+}
zR!#joV*$geg-vQ=vg|s2$BQFmOYd@iIVt>g!>J`dZmd*^sDE)RK;YsQ#jB;Fv-b4f
zv?!DmDDs!to9$PTm>Z|~Y3jtnS6%lySJ`iTA~AQ>dK;aeTW9`M_5X2Tp_JX!d76v=
z*Yb-pwN7}jSoqx2?PnAtUgU_xcG_?)`<?Rgh-gH*ujeX7m4vjj$Cp0N(DdBB;Kqxq
zm(xratzE{N^vI(r?qPXt-=l;TTxIN;b0!^)dpPmr9KLB9&rgW;|K%+Fne;RA)rGgy
zw7iybNd3Djl_qU5ZPj(R**!mRmU+zF$j~uGHMTBS-M%(<<^}nh4+|{pF1D>$BR(lH
z_mNLouKL5$V5ysHRw$)TUKPGIZH}Do>NN%2f42zUjuDYvnJ7E6LtZxJnWpEaB;P$#
zE>B{4y}9RxyQO=$KyH%6l2%c*X=zuSFZ!O?81wLhdNN1D>CR`zKj=33-R|5sFUR%B
z-iiyxjRM*GE(zY8@#*GUf73Tvr?Q!T$yL|587>lDyhQ71SKGyg+rPfa`K54Iy-^Lx
z6hGQ_EY3{5O@V*8+v3kVUYM!*ov7$q9G3c&Ewivp{hyQKyeaFP8fQJdHIdCrJtR}{
zxRS4wU{G-1bETtC*ZteV`oc`RCY5!m>B+xq=R_OzCO_znH<`lb#F?59^fx5ocxXze
zY0!(zMLJf|240cTCs%u%dh0D1`_^TJ!0IKL4t(7EB-Y1VPfv)R{MNv_cjmrNcjhzQ
zIPWQa(5Kaj=k)ERost_xZW*4<ezl<LZPquNHASnIgm%q8xohej&&RB*gL99?`Y#Ax
zePxy9qu5PHR1;4=ELd}*@k(I0%$>d$bDyz#uj5f+Vdp#`$hPAO?}ugFm-if<{cN3l
zR@)zo>`vbR7f%6~DBUZ+-lSw2-JPMm=~}nw@fm%`v_CGmw0@@&N9|3Cr4Q2VUcJ8)
zv(eH^`<>C2zxO;7-b|Re%tFe)?;Oj&eap_x2#_^(T-x^PiFo1#srg)+KB@%m(U+Ik
z`+aH6Lncj$r27(==l?txeyC4AapRGBA9dxN-i4dZdiYgb>S~}(q|vn-uin+j+I)JY
zQg(mkgT-}8A@doJKI&vC&pO+`#DAj%=W@Zd$)O>)rpT?{IOmd^@9r<Gj0>J{u@y3^
zpUPA@^Y+Z72AN>CjeW0vY!Wf{+x6*DaVyucL$|dL1vQ(vW?i}YH#C`VrRTqGKKuEU
zXDY@nQn~xpb7IGYHDO2R`Y)NUH+L$l^}8Pj`yB;Uf7Y(L8M&~lEx0=O#e75l#>96D
zg^I2d;@U;#`Rf$bgtDY526g;d^mu6?ljri9(pxI4{)t8B&0_s_^|pc1?toU7Od(C@
z2zAcx-5R+wX1xpxNl}o}7hjs~Rlj6Qtx6$F^ex6<UZJdH{f+vaTRNV-)^q>Xz?D_V
zkleH;wETiehl;UJn$Er*>N+bEw_Ea^sN>C*$}^lj|Es|LyVsT+;o@C*D$+byCivCX
zoY%5Z%h$B8OSXC`+aWM*8Eed+DnZL>&o_KncTvI3;rH}IGgX!SFYIt}UB?q3XXo8N
zCGLRXrCUC_aWDGo*xasfIlEQJEmq<^?`iLc9*Z(VLv~kwTl*s*`<M4ZJ)H}Ilgl`K
z-X55c!u-Z-=Cg*l_vy(6CPhomo9Lgt#&^afPeT07n@s-|$G+_Um*i8-yyJ7!R?j0>
zFZq~;uH%dKTs7b2hyB+zR(o3xmCavZ%P;tkKmKU$%n6|zHYgsLs&2VlS!Q+bwhr!@
zS0{F}R+_$2{8PAchmZG6-Fx<TdlRoLSD(FsQTE)$tSO$H>y`g|OcLo%j9!q~F2rE5
zMr*#>O)tsmDTOZ%g!r6#Hv8fBFWXl8bt&p_J{Nw(ZQ%GgDEHO9Ydv2U76xtl_$E`h
z<k!8zM?dYBUXF`-5meb>UX;wIcp`hdWS#bgin`BV6;?;`y8jC0s9HBSsG>L0Yn9oj
zz=&JD4u9plW~3_2d>6g_v;FhPrau=It%WXpoB2|6M&i?p?@mqMaUpAq)`Kf~*ZwU`
zz2qv_XYbYaaUXYrJzL__E30ow>g9f1y-z_%x{z1%^6EGXY4`K)uRjG@%}>4l@#wCN
zMVHp^y{et{UO2q9EH}jC#@72j?!UjU?JrDTAzr_DZNXjrzMEAuC&%tw{-`eg!Va&H
zsK@()H`r+&6JM^p-YxU2*9NOg3#DiE_InFBC%+C}m@e}0p~K_Shl+94W^*>PcVrrN
zzW7=CbZ+<TWv(YDMrc@Gh?z5wLF2`qwPrtmRo)8R#<NMhw{cnW^_|J<5_Vgi-YsQe
z@=nf_OMRN?yE~;T?)D~kFPi=T*wqailuSPT7LHH$Uq5$utaV;l?T(B2+4pXmy)u04
z$J_GcH<R_h^R?1f3gg?-6|!SkISaC6`aes?tmEC%XBu~ZUD@_k3}^4}+_2EKBu3$9
z_{psk>%4Yub>iK-;`B6U-}o@Q<Q=_^c~kB#-jEV<baq-@sK+CN%n5F6p&t#Ry^P)q
zJ$xjPEx;GH!qab?R~?tdx^qoEWd$!zgej>T++tmPTzske^12-tzhBE}-2J@u`@com
z3*WDQ(_%CAy7&3Zv%EqkuWD~P8}{t|V(n71SAE+gbh^Zg7k#+B!Z2jZfpsy{*4*vz
zol@rgPGN?GTFK8RiyzB+F42@&U1NX4gfqeC0}Im;CT1=^35f*@8V<0q@o898C?p<X
z<&@NNNJwBj)F#a>AQSO#LJ}j3EVq<{LqNj8UKT+;34@J_OiZji5(_FftDR*u%N5&U
zc_7_?j#cHWJ(40T1DTw1-}#&p&N#owu0KpP>*}kJRkrR*Pj`uG`*rwl^jgaKQS0(-
zg|lL%+Sk;W7KFIUrE-hqTwajeU&eY%RM%rd%G)|y?a~9W8#3k_ExR@K-Ni*c%U8)t
zZqK^AwnlQDsrFAj|9vd%F?tI&ExvrnPB!nGSLo8SO=|<Y^Ll?8yIgL}R`Q88aJ=$h
zI=fY9c5uR>BYf7!#cozU$=SxIZq?GU;nBGV!l{>4DlRLXWx398v*+cc-Cvrg$GW|l
z^J(Yd$;)lsc+MMbW%?o^ziCeWrak|5UO9An$HIGB3ai$#xCm&?=Q^`y)6P{vZ#5tD
z6kX8WqN1~U&HfKcuZ{NYGFp4!px@&UTey7>XRkT%V%IBI;j=+!x16kr`e=Nn?N)%X
zw6xD@_2YAzeAeE2A+_>A_lHSd1~+#7HaMzgefi^><4ryvk1UxG)MGMx&F$A)4|56o
ztbVs^Qty_-QcSB9W*oW2ZE0r8%z0q(os!HYlZ9S)Zk)KG_=WYKm|q#{9c-UB>)m>F
zd%bs`#Hts8{c4Z=Ec<ny>MBhVSXI1evX+*HOTWRQ^@^PumyDM^>e2eJ)`-*Q!y)GQ
z*PT}vhh&#(%uPGxZNyS}wop&W_;u(eUi-_Jj>P20T>BTA6npiQ$%#WeM!M&!*1Yz~
zPF}LfYoXhj?oHaQMS;h3a<9CJ)@iLRIVrYv)oSZ`=Z=^j-t{6z?4I_?LnWr6^J6xz
zns|%(a>D~5-wVoCjI7#68qHq6S$0~?YGcAqyGtu9%VwSx+TUWj>XZG`Yl~J|b;SI7
zXRd$xcZkZASSHiP2@Gp8&rbVQoq46xDQdyODSBNmb^ZtZGS%TrysOo~Sh#EI8t(eJ
z*^au)ZTlSAgo}MoKi1e|aC2J)>)BNYi(Ye|Svbje`l}aa*KR~>oUYp(U9f)AwVd?c
zJe{N(Q@^Y=^KM07-x%|I-c)^U&2yJFUi<OxrS-)}N6U5W*B_g{Gqp7MUyRAMlGD}2
zOOu%^&Yrt|rq6$>WckJ2EHAZ9tW{ZepFQ2YfhWuEr`bN8J)Vn`I5m1jI=+NFHM;de
z`Jda~EsMJ}HtpTzDg3E6t%oJxn!<LWHUFGfb>~iV;%a9V+PF0H?5*oNA69KxVVuvq
z$LQ><viNPsm-^lRprzQeCRar9-0X<+JXfmAK6d-;;}M>=&+wSb#M|PD4sK>CZ~5a^
zICdR5CG2qNL7#7aU`%-2v+cZ|+*WHo3Y=0<*E^S^XEmcay6wqj)z=r6g)TUJ<AvF#
zIZad4GN!Ly_$h9Ol^5rmtlga)Ovjp?XK!_}yxz(6anYBR7BAO?G&i1fH~MPa&!CYg
z`tRY~`5{RY9|;Dgmz|#VeNDP;H1CVZ|A*s#R+Z}f&0Slc(<3<LTiQN`UF)+#jJt2J
zO<yh3$!UJ2>c;IoX1lXLYI>J6U)=E{e1G=bmv!0JbGFXgvdGLUsG*1Z+V5pbiy!dh
z6}MGQ{&QoKfJ~BVf%8fkf1jDMA6$4<-c}}7)?8lx@rkbWuH<W_c_PNMEY?g>nj%<t
z?b?o6cR3WlCi*>{)I3e(or<k?<+8ez^z{}SmniL69ch-FCOBI(KUiO6*2#J5XIH#A
zm3=--Eb-q7w}mC|C%JN8Zd|8+zFao9-hR@PyHXrWZd#@p%;uggn_jA$%UNJvoipnW
zgXXp~Yd9v=%KV$N;St-$GnOJnOfC!lZacD3b=#%5lZO)(RMiiyZ1@oM?YG2)IhR#r
z(=M1!=<H+I_(k++2dnk`FJVSgHFny})hH=_=r<>2)tv5716$2Qev{Kq3BF1>p8WIV
z6Oq>GdmLZBv45O+(#tDU{hLeXYG-GE_ca__9$k4g@A9X`fnOp6mM;y>^gTHB%C%i8
z+pP?;FF9#;ce!q#_;dZ-w~wdC9&hv55m=H^?wG^)v17K~(a(Ad3wu=M(*rFS3+foS
zpX3OItaDEC+{}=@s9VH*#lsu@%leI`*gxjjs6X{w0_*G8_bx$4>_09mRL_c7nZ-5d
zi0u-Msm3>Bww*G~w|$ioGw1C;hjpIw-C5m}nGPn3PrtlrI!mj`Iqtad_#Z32uW2vm
z&79*fX||8fuL%mZOXLE7M24H{b;RA)e$lP9WQ~Dk$@)FJuB&PXFP4^kJ)LLnECunZ
z$i1($cQ|Wh?0lzbwT(A**$?gvcg2!`!w)@NSk`s*cnMv&y=L7+-tM=IN!h37$C;Tv
zvQ&*`Q;&JgaI%ac>Rd_YtlJS{T+!EL?ksoHSdc8HbM&IrM$diD2PbTE-@5#>ns93M
zhSwZ#Tq1IP*}cCS-Jj@Eshrg*tXkyt?!n3O)0~lotBmFEie3+7vOKv&AjtoNV6Wzj
zXsNEErMos*yq#{Hm@AbZq94OlR96+eVCTPgY=$0E9p(!aAM`nX*)O*=sBXbg6=qJ)
z`yJ~7eA=ZXCo-I}|20>_Sjj4Ps)@DwF}IR@k#loy-AX^}S=H*Jq~epU_hSFyle?5p
z3te5ia%<EAHOnF^)=sX=BF@)Xa<f;woN`#;=&O#sH~dfS?%U!Xy7X5`o5`NT-)5b8
zBi!ha6==D*<K!HRb1NQc1|NU8IZ$Try;Vnpd$V&_FFqULA>pWz^<|&Dzt+u*n!0UU
z`IoL=ziVln74y6Mvip{-|GwJc*TpG|`P+Q1XL)TnEP8T+)Lkw?))1G_LXnfrTh<82
zf0O=k@TK*Ejh`2rGCK#hX&gTk^vG>8&-xp3ecfyi`JP?+*D_iB`K~AS#WB3zt{NIv
zfn^I-rv@Ee6P?uduKfF@;L{!AVK2{IQs&gqj?^}q$Cv+g*G(36_YE1(x_I){+_||{
zUzjC+b*ojF#4ovn*DL*v`0hBQK1$x6;3Z<WY;uP17NOfWMAzEyJ~e4gS>NLibuw<>
z-#aXjxfy=!>b6S{3pdVadg6MYNBrN+6>fL(e79BQO*?i`t%>b(4STS$g11xLR~DZs
zrODGD>8N>mvHJwFuZ$>qVw01&^ik!}x!k)hRC{{foXK0Jm~QPcu|1{y&#%&xb9X&a
zkUVvcH+!1&@~c-(pR8CmYi7*5H}`hznq9+nsx$ma*URlKuh+3VWv1G2|9gFXPQirr
z|GzgcRyp68`|GpL>Wx>rKh>NyxzKz49cwTXXV{k1&nnz{V*Rdq{D-bAsoR#TJHy$W
z$L)KZ_GN?jE?Vtn1?%TIb+!Fad9`bCx1Bq)qt0PF_9V8)W_f3VCY}4_Bw(7f_=Lu>
z0IR3J>oUGnXf*|}CG0p6_saQ&QENqjYGp@z=cgy-Hx6@d&naPGIkRH5pTQ#)fd#%t
zbXE0^g@`DmJ<;i9(0_Nz<Ng;9C%yi<x~FkGXInO@T|3dvXnTIYnVOLl+twK7s9U;z
zA67Em{%~L8wW-}nzRvRoLMQ4}IAX<)7pe6pR_VrXI(q9@-#<H_r)_7C8yseyS}^n5
zKbC6-k9|V&?O3$R!j@#4T=Wt-zC_JKqo%oJ-;?D5Y!g4Z+~8wQR$FFqtSQLvS$)7q
z?+sd)bDX!na<=T*u)}Yu{WLz`h@SE#IsV5EtGsw@(#9UJN=NU4PC$&N%^?9U$D@a4
zJZjs*e(#=E^{ZntjD{kY`}aTL70GA6pzv&pjN!vyYd#)1vR@+k3yWuRhTnHP7NZ0Y
z-y2KYQt}@dJ$v*()mcm^JK@~tWl!E8Xj^QNXBC#Vm4{7K*Z-o1^A?wYu64_-dps{B
zoISQ?b*D<8Xnof9sz=k(3_Df?rkbr>;?rF2amd1nQ=WCb<)*is)4lAH(tJzWr|)`_
zpI~?^t!MkcJ=$tEivqUv?&dk#U9@(`inl>o2Fg)wPc~e%U!k|gOTherMqAC3y*FAF
zKlz49`1GARzfa<%V)WWWk9u{)v#x%4`lMpQ$1jC)*I)5XO-U9o&<oM`+wgj$)pJ+7
zGi6>Je2)6_HWg0(k)~hAclzI>!=E}g8}+KMertHzd5g$rUe6|#%q4=R8@!LS>X{Vk
zm`va`KWy&t)KP)cI_tDjKZn+NCIc@2l&X!I@kY0=Je|t)__^MrTYDZa=XzFjV3keU
zvsW1#u5a_WH6egQkRf#6iR6+G4Exqdnl6<H7ntqWq`<TwL&m@ERKTKZe*Heay}vRP
z=Q?@F<?R(&wNS7BnM>clqt84yC9oQZKUVZF-u5A1{G?#VyGeS{>mTL_PnLPima5aL
zbwV}W?fkiAH^M&O&td<%AY&@iF_qlUpIkO<Gdnqz<<vK}w<?V<j#Xq@Z1uBUdCs}7
ze^<dICD*_SPDhWgXufhGMNdQ3pm3u}!>2C}terE2)Djk*Sl4S)#+1CLS-f<O^kxl4
ztEH_a&Gysy|AZ|{jdDwvS7NpIWY-R%Q{NU_tzY(5;ylknH=VnW`X5Ya+|n*^`;g^{
zwoh`ppXvntZVNq^x_E^r&_!8evdb~GVj*?5)(c&QON6>DI!iilJTsBZvCH>WJ(?1K
z@96=)4h3i3Jg;^0KdG`Ged0aI$m7*NWp?3XL50fC6F%GwVo{FIe4$ZLx@_H&tX$LL
zbGznTyd80TM#mYY?9*li9M5)%%>1=7u&nsP79Nd1B1wMFUY}Sjq1!eiVT(sPTV+Sj
zs|p{*EuVLt=vG=}+P)$)$UrGwq(N2efc4RjKCgB3jE*~~J@?_b$e+5N-}>bIysVA)
zmZ<P`uiwD5=)`m3hffcObWWS4ayN{f&o_Tph(?#tn#mJ<C(OxLP&Z;0SMjx5{-{I!
z&8-w+^$SPZl8xMzrS1p16|UDW+c5FZQ{(T8LRvLd*0Y($pSiBHI+B;Y^+<B@B(0J|
z`Cf}T#8+-S#nrkc?9lENekos6LO!LX74WB?KV<cf)l1^}VYP0NRa1D=v)pWTl+tFD
z{@nLLGdIlbbYHY7t7Y?+Zn1=_6JKm<Sr(_L?t91O_i56iElM#Lp85NKI#}Xz@!aBh
z?<T}Kzd9l&c-vu8l251FoVWV~K85^0&N<Q3$hIZMk#E_IqA*9z9q$&|E^)agbJS(w
zMDyyi(>G~6^>G)i%{H36!n5$Jgln4WH<wpO4sU$)bXt+`&ZMno$}6H1K2DQ3FMjs&
zm1$+>Ujqynd(+Ol%si3Ymcw>hz@&0g=<*biRWA-Ftt#Pa{uCU?(Xs5ZN48(ct0(1G
zdK6boUCsAEY0VWW??C$?pUjNu4QH4pC9I2l6r_G|(#IB$u&UO7%2QpR*=fi1q?D?*
zmuN6AIb$AgF!gA}GA7HbC89YAvjp4!n1qF9Pk(TsRcL$Dzpv*5wpcz&ljr<=U&ipa
z$YQs=%o|!946j>*n%%Z@@QB?#Y+a=()qlCg>}Y9oS4-gqo0cgdJWj_tCKoNxGw<gM
zYM!K3!Df|~8FRSXBw|BDs=G*dmeumB9RY_|S52ECx1H6yEp5@etXwtKrY%zS>r+l~
zbv8_noGs2ZJM65^q3FV-^k~-&Pki4g6<%a|xsFTS^!ifY*w%|C8IE4L6F#V2xAJB1
z<xABJ*wW>+tM6RMLL;|KPn&Hm4!u|OCTuXdIazJ?q-MbnPp0Sxg|(%a{X5B?cttx)
z*H45^WT%c=@;93){5EZ0mKW@J5>gSiQHLebE22BE+1xuXUiep<>FzaQjUA$vKbT{6
zoXYlGFRIJCo)z?P-4>ISDYsjU%Ukm;cbqpbznPqItZhP2SMBzo4iEp5=Sm$@XLWg(
zTP;mrcJ+42x7jye%A~jcD`?f<KY8ID)udCwAHIG6Ai{0-?ZW=H%|@IeKAHOY7tR*e
zIEOZt`H8JrbcMw!F+jAOul0X{kJ0l&ZGKzJGddG=rX{hYws_>ZYj?c8*797q^x4yf
zuC?{KLNk5^IY=G7?Q_n|TadL`t0hc5V8*Ex_bx0ge#CJ7u$NQcZikCY+qJv7F8ThO
zV>+|cQmLjmt$4*G?)O__LO)h;1$CLR-cAlU)}y?pN2MXHa{pqh2^~=z!)A5m_PRb&
zyFOk1p|HuJO-#>M>nLo$`c3=sucwXNMFGYkPVcs@sNiKa_V9}9*pYTdrK_WZhl$fy
z<obkf@x3ZBUYW%%n`iBM<>cC=Jb`oN1R<sAu0<~HC7ro`zQ;dTsL%QKWSU~@4wJQ=
zL3uO9qMD-E#oM<`dz8MUx8Sed@9!^`hx=YDK6=wURMdXYskA97J2xCLXIrY??cciH
z_x!Ss7dBs?&zaDE>M;A_3u=O{UshZ^wXKYGBES6-<=MyHu3T}=GPt#J>#qnc38B-)
z{{?v0oj&$&zt($2$u7@3i>8|7=Bj6!T;0N&{8)tFe?j~1uV;i$#q4If_~=>0td(L+
z6RO=iE7o}2U$XUiu$Z~Y;?gC@941;OZU4H&P`!Qf)X2-X5`>L|A{(1lxqP2`ts*ce
z^jK=&BDIGbwJo-8tKD3}`gunG6sP&g3H<40;ROq(zp|O(`nqd{xUul@ER8*f^k3C+
z{^|HVE4a;SW6zu&pLcQYJk#X1ia)8VrZ9UYZ^n+Bs}G;5+_9zjF?Y^=)4vyH<p>u&
z(d#?B%r&>JPrYSk>4n>3yx}@gMZto9rhE(B>#P-Y@8UC?BL}kjrhBwsG0RA?JNDsO
z)dc~edhV${O}f`)b{FsXXVCP!@b8mZx6^(%Ey$i^Tlp>RmUj`)O}?qe8G0}IGjnUZ
zo;7}+Y!TI2b75s32bbs7sj6S4T~$4Vo4b2fUfU*MHvj6enaYP`qIXu5RGuzM%kxxN
z_i?vnU?R`XF3V}Zr>t6?c5Jt8Drfhvt|_y(Z}gb1mAygZg6lz(yql5}1K%V|ieA+6
z4vmsIu9kn%UH#0(%OQ-tr-ItnC;m#9EFrQ!z}lzGF>O-P3J$l&L51O`H#!GB|FvzK
zpKM!RGF!d+%P*lDDgy$aFm<(ZsW{6lU(mP9PR;UPw8lg$%~+0=71JK~tnw(l5&Zm!
zWvcqjf~(sC`lhdt-Bi1?+hlpTsqlh-pKsjUd~wBwp0tkQZOqnZn#!(K-d({yO+i>G
z?xAxfQ)RgG)#N`aAzb>;N-J(w#w9Fx9<@Ctdh0}wtVNsjR_B~Pzv)`_UE|e!m+Sat
zpFcZNv{yOKFG%WGqi*s4i;JB6OIfRy9_r`{5QwhZUQ(;v5jdwLopaL6^B(m#pFS^?
z^1YlV|EDy-VnyZ)Q^`XsCOR$bEm^&Rr!1HylilLT&&6Adds1bj{j_dHNQSm2e(}3{
zj3Y9jF)h%zT(C1^YgJkG9XHie&9dylF)q2z=JN`Ir}K6EJ6t}g%G!MDk<vY0`7@Um
zuCJVL(=pvPM2~&;ijp~x*gZ-$)}$Qzbgr&0UG?8W8Qlc|rFGYJKQUe3v_F64F69?C
z#pze=G`|^^Y5bhzXm_r2Y6_#%K}Kd)0S+C9fCY?AtXw)75e^3#SU9Bld=e5CxUsSr
zE6GF{I6Ah7@C(HlJZLz~$jT>Ul4-Q)SQlGp+7yqA%7>;i8%YWL{FvfDRoR;_;6{)_
z&=j*!Bhv*12b`A+D=+)<vS8_@#R{QPGFpL4omg4xgZ`}Avhv7m_8o11Gp?qeY0t?o
zYQ1$WooS^}q~3=g;wqQd1iK%~@xG?&*c=({<a%IJ+Ofr~Cl}T15ZZkDtX-fI&mDo!
z!JX{#K`faD>akn&?sCPw6moPrswEm+QX!O;w$}8rmWAxUZwXnf)9a=CYws|e?i1BE
zTC(%T&XT!jXE&#uvw2?fvd{h3o;Ydii(B=y*DcL7-TU*k!(ugG&4Q#GEt>9bYxZo~
z{qFZX_IWZhBx>hhRTqg(?c5qvvR0O5whIU2RY5Pio2{X(_e$Fxm?}F{riZ75UXjX?
z?F^k-mNd8Gf)D4f<zZo#55Gn_o7z?|H1M)^Bzk=KdSynA+SRsT@2P@YqbrxOE`8W8
zA}cw|)&A{^t8ud<pUF0u9Zf%w5S<%x-B+3Q*mU>3zCQ)s-_KQ5j#QnwLZB=BZ>xNA
z^0zC`ydBC~FZ-TaD;DU<ZnNY<e5uzl$=rROsSWdG{(haXAUMi1BIqA;;x!rPh^H(<
zF6RxeOO+`XbzKkOHC*y&*^Ay)FH04omfl_AayKnLFn*KD;x+cQS#jm9sx4|&Gmc%K
znwZ<jaW!=I+bb(wdECsGG+TLA+>iA3n-;(*)#VjXxq)@*;|cF$Bd>;Zubeq!)}ePD
zt8-F+O<&SpSvxx^gl!hvW2W3%QHjhSvZrS);Z6;WD`3u?o|>YhTlpYA^;7Az=DJ6v
zLLKL}soj|Ednq+}uDfrlWW?0Kve-rMO<x6OH#{rN$?nl)xwA_r*HStyQmkc?<J_+=
zpKjE+={YmU?NQifmt`Auw)m9#amlB*6n#lAGSgR>kgiggow+n5{g?jcnL%q;{wr3P
z+pbysM0d%m)kotxv?Ggj)4%Spef#yQkC5E%4S7NLf0f2(CA)^zoZa+9E#}bCV~@kz
zMB~(BX1sG<?30?>8a_c)cTGwXM`ff@kk`^*)2`T=NtR!ncQpM`hj;6;IrAs&oAV`5
zSA1?_r@h=hy-k+uZ_nR3@9m#eJ!P3`?{+FWwjG%7CZGL0DTi}Qpx5@sX`7$0-sax@
zw5siI#zx~lOTDDlD$f_UW{K{Zcyec|#?1>Fi=IjEv-f@ZIp6sEv5d`adF!X_4VrlL
z+X_CX*>hj91T<VOoN@i0`^>0?S&8w<vCEyN2=ldO*qIw$i{2oj<8xO%d~4IR@Hty%
zE)03myyssr&mpTHhAn@eYANmX2!7`*lI!YX`E<2ddQ#J#ZF|@v_-1$Z-%?sPD^lHq
z`@(`4jb}5a7`{k!dvrRr<;t>ms!uz9{0wi)ay?`+RfEx#^Lp2#W@YBJ*?N74&u&cH
zw(tE9-hjG~SGVRB%{p^1-G6>(%#CRwQ{7WtErP0gHd!!RcJ;D$tXnm&=2ZKXTPyqh
znq-0+-P9(}jAiRh*fRf+k;rTn(-WNzx8>7SRtlJ$(y=<j$-9=NMO3Ktxy|icAsu`j
zayp*N!&$b7WX-vv{GP$p@Wie_{l&s|acZoQC7TvJ=3%v1c;}Ums7>IkQ=c~k@J`C)
zk$!e(LeqhlKi{X`V*1w~)RJVYb1toHdvHhFsw0B?9P-@CDrK6k6wTI{bj+*HQswXj
zrR9(BE>CcK?N`awI_0d-N%f3Po_{!66nOLUd`z@eYNjnYdGAPn<<l;qnGC9$l|Qq~
zBN9czFZ>MHTiHFgKj`*%zheUTrlwV%n<IH-!%UTFdP@Rp7S2$4df8xsYge`EQIRVQ
zM;6cBaMtOTqQt>RNt1Uwo^x8-Gj(ap<^wAQuNYb>p0Dgmy~KGiHDrs4_j$2tQ`+`E
z(~&qBu<b<YLS~=SUR9s^@1I(vXthYs-u`stkrE;IGYslBuY(@TpMT}To+NBqdqklp
zWVzs`z<?OF*OOmAJ1nW`XzCjga{J#_pH0>q1cXfNLzE*J%*9-ES8O!CH9b|q`SLCf
zPmR7F->M5&<X0GUq^4(GzOwI=!HQFt7v1wbZ4g;y<e8}&d{leZ2?j0cy>h&L>rV22
z%_=#$W8TrN62|9FPBBuuDErak+EbM)8&2;iDb-!|zsi5xwr1H5oez5~BTpX*`gL>b
z(&LW&TM|!hFj{4P?vz&N-c)NzXZg@cTQc59hSmhEI=4viqPd3h^}XjZ*EM}S(kg#T
z($nsW<hCzQx_-V1m^w}UO8p}i_i&SphF@$;J9ctxKDH@M=<=c{i*u6$Qdey}rDWqD
zt9tfeigrPLGy6V|x+~E+FDGwm*%GdAdsOwz=`&~k8FeYym}TwAHI0g8I5Q={?0w_H
zGjH7{aT_SFKe<yrHR@u*AJqaYquo+vA=77=xoHZ!`8++eMCItNdx51XP8%<JUYnq`
zENar)2#2TZ*PMA~`kG;Lm*J+)x4)ET{=K#|nNeuTxm7`#L4g<2Ca>a2dA8iap-3&B
zJM;0IE6<ESEuC;;<+7E#|LwNSSa;4lTBvXBTqXmH<u{jk>+wz!zkH}-=eNo!oVN_V
z&)Om-ovx%Yw<!5)RoccCdZ#}~&U)N1d7?`BuQmsrh=WJ6()Qhmiafv>oLgs=vE=Q>
zwsoPAdFzzsXsSn^UfC+2aW(UK$n|TQm#v~iJ}-4=xp2j#&^5*L=0Bx^c8MpQuV%{?
zrYHqIvZ!H9eQJE9E!6b+5~ICLzd~!*l<k~w`%})%O-rjSJC1X8>1a&8yd}OQSj(f*
zrS9;P>pc6@mTten{`|<3doTB;=59-?)>rSl_Uu*C=Tz%mmG=TyCPlASbINy(tq!|Y
zvxCDx|7u{0!M5IsAB9a6rlwAKJS%jvrJ52)ePpBdlZd4DwrF0%v>OhL7WJ){&MM{m
zxhL~Zxq3Crtxq8OUZd5LdlNq|pJH=L*ShKQrDfCBx3h7*+Nt*XcwbuCA6}g`J70c@
zS6a93N!xK_t(cQ{B<E<ToleU%)=K&>BT{tGTHPc2;QP?PqXP1-Y8oyJCj|cK{^uL7
zIO}QeOOeNQp{lDRjwzR|oe}nN>g%g3v(p!9%TMIBcD0F}v7^BFvB&R8`v1?e?7rWU
zc6>(u9`$o>b{{sLKe^(OkGmSj((Q~dWK#dWKlWkW39hYn^J`AWJp69#<WknRSeRjJ
zC3~8<_EG)WjOwbP@{!Z*RxdW_Z1#+w<n134lt10w$SkWbMZf=ue)K`ZW^vCJXCvts
z0?(TBHaEF(2HKZ61{-V>Z4a{dVoVk~s^P+{!D*h#{UIjOsp!o1(2rZHr%uvburPet
z<m&0pB_@I@F`^=DE#Y$(%d{sJIhsYB3J-8UB9OMp**H<r$;7hCHFD|GAl@XEX1CzO
zsWJb07&RU|j(&Q~ue31#)KxdR(7;u!1!W8Mni$=K(!DN(6x?_!H8HvN&S6_s7yAZA
zt6g6sIvPv3l*Kh8Qe4#(gOsIgA7;5-tXd`<<YS!nF<9-^wiq+!_C>CBvyX?JI~FT*
z!&O4LG3`qVk7|MGRE>YnY*hpsHh)Up*C?*Kq%kC@)^$slrH9FkB?f&TgG<H291fSx
zV9~uGD1Jn#?$pOt=c%TOPKtYvE8Q{lS#hZ3-nQ0{CIY6Z4y(6ieQozQzZ5?)Sky}`
z=7(ZT@uO;cq4o~-S~oV$?K2`wzqg&<9;|dN%)`82-y-Vm6tPN)po-RpJ?7Ht8KG~M
z87vTVdNTQ6x7;L?x$H?C6AGj)JX{}jgfFv+{Vwf2+0gQ7gXh+~x5rhPmPXya945jV
zYr`6vcRj6v(f#eFfElKlUcnvVTe_rosuhGp2c);h9;x~u(ZuJ`w9Gxa;89ugr5<Ks
zjYy@!;7R)2;tZmUx(nM?1;sqoK34xqlviRle0H(XIK|P1Ddk^D*!EUsV`smX=N?%l
znunf79un&K7nD_VII(@ZgxE8Q%PGEZ-Bq`X*&cMNnmsvH`GxExLDw}K8_ph<*t^8=
z>A`yDMGV`IdCpBs|6dYjxx8mlWMJY)7rwHNt4j?0Hrh0*>FqP?Q4EoK!BHV|xNe4p
zV0c)?hvX^iTxI<JskolsoYXNr_un$N+3L~~fyy&hw9Qg&iTjv)y0}W7!=BZ!>CUpL
z^&$~#Z>U<92L?6DT=C5O&|D?-RA6$t**X^Q<}gz?7kT4wi`PfPlbOTaBMcLTh20eA
zr~N3|pcLk;Ryvhaxk6F>RB_Jy#_Z-rIhWH*?pI7)rEG7fGLfgbvn#aL$9X#2@&r-W
zF1GT**78^%rI|avb#82SFPtLN_QP?<!_4D~VP(Mr!W^|0oC-J01S6Km<ZW7bH&}O_
zn9Qn($%h0}`hU*e_B61^w9;sY<O)-jRWC9nUY02fI@MbAWM7^2U~BF_G5bqt_D0W?
zraHC>SIO`Ny69O=^^Fqy=Rc)OM%l>jM=sB<sb?QG+guWqd+xPidRF*SD@F6#_^nRd
zAH^05iKzb66Bq3NwA0|0V>L%>=)bFZCnra=AMXiC%T{t(*vllD8E8}BXk@#BVR~uz
z4O0b;n-VFjj6<^YVyhI4uN%k(+k9?zoN%o#al6y}FSef&CA3<?w{n_l&TzMx5*$2n
z!g;pjm7KBi54)VYq?E*j{+_T4nC`r9^1O~E8ta$2yC=`CyJ2U2ZAtkgnT~SLDPOvo
z4~u;%lI)5QKe{n;M@DgRm&a|cIZ}+}I|8d-Ee;O2yi((8@bOdY?ku&BJ85;`N$$DA
zn$<1}QfUpBH@4jQBwlKsqMs!6+~r?DVXF09v$8Nny}Ss;`yZ`)KT7=nH1&_Vkns##
zlS8GeW_aZu3VU*?&V7=t45vrp_hliE(oVA)WZqKXF0U_^@LaJu;Cx5k%rA}~f;%36
zmzrO`=HDc{AKRpPL?w<}8a>h46p*NYK199dgwy@Sl?RGC@01B&xmKX5(PgHwOqIjy
zr0V*}X@X~FYQ%`R>ID{@>olnfF;3<#y)9gky}~VamG7&=?#F(1YMIWP>>{J{xpBW>
z^PKGrv7L1;9z}<gLeB(waSA$!S56a4Yg?P7=KnF*cu8U6H|4~O+PM|dlbuDMvoDEF
z)aW&}58YN@SUvgLmyKIOW89hyl#g{@Z<@X7pH}YMB>C;T7wx#U;$&#i+HT_$!mB&4
z2L!F$_}OvUw~+NrAKOJ)OTRzSm!BbZhGXgS=f*czFSQk%>$F??p?mViY4yy<W3olJ
zwLJ8!mR7%VdeOHkh5~PoY>wQ1rX6}mg7{`lRQkNq@0v^1?)}F;Zpr!~{d`Nu9E~~K
zJm&o=^W=G!wO^`JRZN5POs`YvMy?|@+P@<ugflpcEEyO3DTnABu(E8N>7w*9sMloX
zo^sE?Qz~B`B_ydGkSIww8oAj@*|T<cQ2k{agDkOUp0OW)_j_qec0CpSc3k7;(MdOd
zTHlY%misg@lryemR^U<5ri+#ulLBLQcIQOhQpozzGfRERKP9fIz9LQ&gvw%mxqlPZ
zyme)csc`t5S2Lq$s&voDWe~P|-4%SvsvtnD+nl*TH1o*)izOYKw)bBwjWo)#es<)4
zx4u=E#(XZ*c&4i3iuv;dGd3i-78aJ?xN&f6QRtqKs0<;)W2TW`ZiuqZ%CcaW)KRj(
zu}%E?Qa`y6_o!oAuB$1t3vZKFvrsq{*84PVTSl{^j#!<?x+Pgg^+73G7Uj>S(j1$Y
zYJEAfO|9{fRhZHtqqv@`Nxy`2Hw*e-5!xGgQgLbXOUc5UpPRX25{*g&J2KM3)LnvC
zI-QA<`g})Cb;mNvQpxwPmZ(}JZA{$Wv?leA=;D>XW_0z;cHFUaV$Q!M@*P3@1TRXS
zOc2ey==U)zFI>3SC}(<%!-1Hhg2riCiX!?<DmFnGyO#U>y67-3LWec;plz~qXG-D<
z8}qr}r^sHK`A~dzt=o<k$0b@%C(TIBeB125o?BY;hQa(-8(rr}s%1`f;7#q^w2teJ
zr{XEQb(%@*+YETV8pm?SHY_*kcz)zqqx;(Gi))>?&1Q{=u)5}*5^d~c@$=gm{^v`@
zJqxl-Z6zP(d^OH_8$74)WusHni7(N%qRE|at{r|HGbc=G>ig{S*k4^<Z?1>^U4OIG
zHSl&-oQceB?iQ=io6`fQ{=Ay7+T@h~QQb$&)4xc#Z!MC(>#<txiqp>T=O%8k-SW>c
zxMcSEoy)p@1WQz2N{^m)VE)Ni?Y4OznXj)B)#QuF)i*2epJ@<Zwq4Dn^3;qJozP_;
zlQ*f&EHL|d)njf%!m`F+T6vR&w*B0!^hDWGwK~`%_`oj-iC3>@yjUTn8+c;9=Jp4k
zCV8?q6lU7S+1!wh5PrCMif2{Ry-)Y+dgtzvILPrMzaz+IChInazLM9sGLHWWsMijb
zF<u%Vt*5o6K-#M~)i8L4(CrtBikj<g$2rG0i$$dd6=fN_tx(*2{OEL(JmvXYs-m|~
z{Pd$=QtY~XOO>8bhZpmHzdhL;ygP*4Vq0Q_Qf~Lmwoz#4wsW(*zv9+D_eCoo-M!!O
zqH)?2p?{5MG!8sFvt0e|m(5N5;ZyThpIx$R@0%w%lV6-+_-DLw)?|$t*$%mPV*c*E
zRJ-hovhJDW39WzBTZ^{7+`cE^aL!a6P1bueZ|qu<?znk!OWC63Cyi9omsBiUyS!ji
zc4f5Xon9sTR6pBE=FhH1)%MLfaJfP;{$RRCYu0BGt&rzot3D-va9cX#v*G*VR=%$p
z%!_Z&N%hi9Dxdbl_X$tC@y+xflZ6**?*61Zr}KH>)#IWrdsK4n1w1=>ZNU^<4iC@d
zOB(h+R9ogrZohF&`{;{Y+Z>KNOAdNITja8?-drU%&iTc<yW6#|FgR^4%$lmcE2jJV
ziSW};Jwsepx=%gf`0~fxe`2qKU6PG-r|?x|>@8n5vEcZuIhkdWMd^(uKVw9mzU=b}
zdt7^W-_e3@9vQiPO_FQxvC9|yY`*(<Pl2DVWRA1%iS|ePLh3tm%x#=BE1qmx(H&a*
zHL3ifNuA-Y!=fHCg4vlTw;A6SzkbpsXm0oanyE|Xy;A?WD4^})#*gCn53YM!{dLlG
zDZYw1GxnWZ|Kq_HjvJAYb>6SP&Rl4mAOAe3E@rjFiEWN1efLa$ew%S};bQN%FOE9e
zY})yJX6A{+{1>UOG**;f@k?BMF*xAWJC`fA0X%A{@q3!uL(VmZKd97E|2Rz~aCP1s
zQPT;6%IUgi_~%WW_rxUd=JgY$U!_@1(*DUeF_=H&biXt$b@?8RQ0s&9x3&7JI&Kis
zR4Z&=u&XpV+{mCh@#353v$xBKaZ7G>oZP+Q-_uq1Z~O~d8I@x{KYg(X`~9?AIy~k-
zE`++cb5DBYzgO?jVLp!D_P*G<Z2kGO?2|qPM@I^~&93{R)xxlG!GR`bHa-o91rHJ&
zo48o@JSrFt9%AAY<dInsu<&3bx4B%;iVaFmJ?zqAdo%=6PO`FvNI7T-9Xvcykhd<z
zfI;OrtF5V9PNl<xW9>YKdJY{2o?e{IEzc)lu~D_Dlgm--#7=={&eMIjX07GAn(W0a
zE~ujM;>uHoNt_F%T&faOPBHmu^TpgYdVXQ5@84Pf*8DDhe6cZrTY0YJjW@@qRv9mo
z2{_R3WRCddQ#un88g6$m^DNkF9ocy9B&(g6oTTN#m&|SM;#VSmJh*gK!+ri<jZc{;
z?zWo7O}j0m7&XVe{W9;b-MT(&E0)g-;oG>RX&1N9l%rPPeteq{s#~{Yop_eVbhGbC
z`>kfLxW6K*p3g_X{8@NYD!*3y-txarO9P)<AMsxCa7EEc&5chMuUy{O^eb!M6p2GV
z`fDF$aV?%QV-d%SvmKXSZs+TLl%;dBN%-}42I)B`H!NDyv|4H51!s>HuV$R;QaJu<
zvd6-AH%@!Fz09#<Sn@>RM}fy<iAS0{W~Bt5+u6L})(Yzn4s*0s4rKg$boSJYM@BE#
zwy|hE&^xIToUo~zXNJyMgO$dU&vaeb)w%Q1g)_OEnxA<YYxVIYt@F9zu~=_I6N{_H
zrfD;LJXBlkjL#d(CoXxdBk*&zhW_LyT^frxwX;s_nXPb1@PJ73E$;Ph&NUrZmOh#M
zVgrM4i_qoOa!gv*?Wa~vQJ5e#+t)#+v+3Nrc@LVrj|EmXXC3{uZ}N*}+=^LT+B-tJ
zPHz-H-c)?~%d^Lu4bwL&@fh~|HTBpFuZ=ZvSIO-uTeK>wG)JvnjA^6JmMOQk?L1P)
zs;9B3M9b7L&64%Zf%W%Vx$pms*(`LubH-=?75rPj@a^Bj)FWoGNzLbqlkDLs!Ru`Q
zx$Zu*>57Zj=QV=rtIwFsTv1(g<TjJ)%1zg=bq8&^8udwM=Yu!7zI)nk?CLV*vA;V(
zaa)Bq|L(r8v%eZFve|Za<%d<j&WAHrT3<Z4e8Q_M3$rY3wOm$R;5rqlUEL+RFpImy
zPq~9dYyBgI<SErA8%}@Qn8>owryykYKjU1}?T?JQ56x})d*0~3$lFQpg39++hB&dN
zeS970sO0x#-W0d2b!)tP3pJUur_Na2uIRqr@bDVH?koNK*ZDo%QKgf;!k=}j!1W;K
zkT*v2|NeS=`-@vp&FL~(CV%hq4*PC0xVsDU2E6>)vf8<M-tuU*8RtY~ckguLT63wl
z<j{+~a~7S=y7=!|C-bRGE3fUE9J<}QNX%kE?9$S2p{+94^M5gK4_JHJ+f#bM`ZDp!
z!K!Ia6~?EhvLr8lr{J3Bb#r>%s-;RCnkRGBDrdQfuuMEL)iYRr&ULouYP<UOdW18q
znsz6|M1c3BN=)jm*gaP6YkU>i>K=XcxVp?t?BAMz2sX*njb1GJ(-qR(_Et}yn!&MU
z9m{c}JBu!TP@BH)>4)sNvxhI|R~?`F<co*FOV4P5>E%=3X&j6H@;I!vXw#;fdoq2}
z6or=^YL=SOlWCw_eW{g=ReIve<q9=H92Z3l=3imiSb6FtU&^84$xBY=>dyQW(Xc{!
zsq|TvaJyIXU0gfN&GKG)6utg;(V3+~w1Lwr?$%4rrejklt>nqb`n||&)rGJHmtMMB
z32h3^TT!GPaI`P=sprDmAx})q{uxvsR$A=(K}F@+!`0J1edN0-wPhVwS8Lt#g(s$J
zNvfoq9<4mQXwI&rmMI@wUbQ$fO<iWUR66+PQmvL-vy!^LE1hWZoe=EQACw`X*EVI1
z-cRnNE{*TIrpJ1EX?J>*+D#Q+qjO2K|Ft0Fs_mP0uUTdwZg@6LrFhwjnvk>%CU2$_
zPi8qw<$2jJ<W04^s&04poLW>-(Ah6Res9mDEw5VnET-q>u{CSCR?OFau%)ADyGGqQ
zZT%^Wy*DtKZ9nOqb5iQQPs<dU_^h>^4>n!=cXip1rT=UMa!zWU_6cGQn|`D{Y{Krq
zkQyZgfq5yd@m%+UtW$;L&P|RB+$1W<?7h2fp;3~U<fR8}JFc~CJK=7kqQ(%dBC28A
zGhMbPHfY7RkVSJmH3W4}{ePE!{qTn%?_*x80>e~yJrG$HeoAKTU8z~(U8a6Lvpug)
zJSC;ZGbzPnq2*;Y&mf6sPXv9X1Ya)rl`+|M>wBYlGoL8VKQcYj?`*kA=v{}|$5b~o
zE!9;|d=$AaWzrtcRT`bU#9SYBP7O~=*Vv;u`A*1BS?Snrg}a8UZ>(5lu<!y`-IYDk
zD;B)+mYCJjV)bhMjU!d}&-b2EFJ?Yf91%K2rth3xvGDCR{}>)0SQ+IS_ttUM<D{pW
zb-8P7W7eFCt9rFq-B7eLYo?du+DOGCp<mWNF*>2``DjW<-L{Gyg11_0%>yc%J~xL3
z-KzOgv9Q)KB=%gB$2J$$!#i^|>bj~TUddcqc+Zc+_FK14rc>1NlM{Pt1YLbS6I+h2
z-*6^1N^{yhre@WZ-wcu~e|Glkd2BN~_kLq>>A5W?KO^fm7VfiWoZa-RdJ4zyRq9bo
zUoUSFnXy(SYgHk)Vcc`E)7*ZctBQTUgd8l>6zMYvt*$O9>+%f!<P@wCK1rMR{;4%u
z^?osC`{LV<u87w!6*I6nxX8JIW!>_f95GAuUI^@c>Xev0bIyk?qOBbNj08FsOi%EQ
zc@*h7W6jYY5kWy83nzSFvHbV(REbs`7q30HdiNWn39l=~dhd1%&8~EDjjp-1>XXvd
z8f^`g(|d$Z{t%JcIb)g54QZZ9VM^&<%lO0RPh59q%9Cd|Z@Ao-RpI*lBkGhu=)|>>
zXE>TGgXEr{nALM-+BJ^!Mb{$Aj^wU-re*e3xF|4N_oD9huOU}oWia>eikj1xdLhv6
z-h6i3HB8U8EIvAI#e(nQtK*$aFD&oc#{W9}ijdb9j-%T84W(ynK4&Fmf1i}`r_svG
z?s)(C{cq-8_-Axy=3!1}0pr}2d$c#qk(v{Gdh*n%%qJ$Q9$vUQ<Lt^7(T<QFwLj7G
zYyMsEyINfE%J$xe4W+j#tUl-IJ&BM0s^PNyeTnMSNj$2%r;ANEx<<7_ha;1t@=SNB
zv~Rz&fB27Tk!=$`*>_kjPMq0S6l6W|!pe|R;knLYOHNx^tg-vHH2LN$R)YgqI5HX*
z=dye~Z_2=U?z(=EjKkZ;2z%>m<qe-_->+e{n9q2#@Brhb__|h$gg;K6`<YMeZ+N@>
z{;%id|9`k=)c*SZ{ot~&UBRFC&lgtAI&GDBx=-PkrF69cbBJjr<MyssBHLzamj=!`
ze0pKh%iY>ti&meUc4@+*_)FR`!LwMb_oZ>FDtn0sJko3Xz<0cGV*E!w(?!!xHz}{0
z(YL^m_nMP>vCu!BZib0xXP7WHulR9s#;1(w61x|Oe_E0t$j?}{^?s7%HinsfQQb3c
z^q56j+-T@rvT%{7*OEsUd*}TWnd;SXd$kTHi+1m8gPp~FAt$>x-j+V>w2$Z2h7Fet
zzc1d#xWt~>rR%e>y+e;ZTZbLHhyAbU2DS<IYzar$GWM}0xUd(vc={Z9mh8f2aOA`8
zBR)PZ90m4XCNAzrTs&$R{HC}#w=lSt>}QW?U_Wrg=ZQ-=i>t?-BmOx@ypOoX$k;zG
zW_aP<@j2LjL+8GKr+0=JZ++9PxU0&9<>kc4S=&Ob*WXY&^yY!$f?b<3dz=KDq^F-&
zb*$XltI01PJ#p(xYs;dA`u|?4?#!OJJ4ruGOKtT6QSO-I?3wQQ&D<<L-Pb3Z)+}-t
zV_wa#IWJ-7@gof?SzC5LFLIw#FiS#)lQV{aQNn`9O7dxzz?4K@>p-2wnOuhx#GcKV
z`r|-1OTw;gjsl@Z28ouYKe;UJbDY0T+BHwvKAL;=kJ<YjYmRuOxNrn8d=EbQ!P?ci
z#&vGVQFet>Y!wWyHeQ?tUJ)u@oCyq^1q~r8r`Q8dt!(k)Xz*IS#fx)7!^$OItInKS
z_r!}m<J3A9?{zNTn@mo#cQ9<q@m??E&3@t(+X=5tTfBXa90@veB)r9Se$UacCH4z*
z?7p9N{d@Z)^8@?EzwM94__%WK;{IjwZ+h|J<d9>{Tl7zSGP_%`iea_tm!O@|$p%uB
zx_VA7{V1{i4(Em|iHEX(>wL~SbTVq`*^8?JCi;YW`WC;@anUw^oVY-NMXl(wO6Q9?
zu0c~cm+TGomUv`hqtDr3vuK|6N1fgmldnabuz1L`_vf_6&b`tLd+#K>Wn}GNc)07c
zw@bXFTl<dv^B7#3ZtVNF+0K2-k*C5(eM64St#NhFX<++sB>0WzUY(<>ws`G)<F)3G
z*Qz}XoE8_jJpx!l16Wfpa35e`?G0eP+rZWvz<Hs8<7fl#UIyM947?{U@E&O3{~N&j
zp+QjgB9CvN;N1Yhy9~lN7{q-8c{l?3zXpgr4G_NYFMwm|1-8_HEi9K5e7)DJTvEDv
z`fra{q>8u8my-uoe0+55-RA6nF?qIYwa<(_Q+8%9n&&V(iiz_R!-9lY@}E~3Ph>WH
z{AK!?PBqVqJAW?{&#BrKl6ffdmQ+&Iw91`EcP5>glD$f`NQUE)NW)I|zmYrlTIi~+
z?pe>d;`Zv!^r$HvuXe{b3+#NfM!nPHmB$io8I>ugW_|4B-4(cUfq_)8mGh^pwM~KZ
z*k{{2nVg^3VfSJ7c`qLOz$5-&n~!+b99<CN657JB-Y00MiubA`rxc%_Vz&rjaSh|X
z8z6c&KuR@G`fCG!Zy3)92H_VC!Y>;5ZZPD0ZODGh!2cpF&z6z@pG0_}YIu%qV~Of@
zevk0dzYXQ7*M)yHh<<3O*m}Jz^?FTfc*W7{B}=cD^j<H^4KK32o^2b>YthKtaV_gD
zgGA^JiPk{g3xQ%=FLZqk+@cb&p~ZXA8JE9LPKT$sMr=8vp?m(vY`ehUCc)iS3vO>&
z%)H>^rk&Z6YjzZ$%m}vGEj86Y)5%=bOjc8%!b|4y=4BrpW)$pR5o@_2C0O}U_f%=g
zwMmv6TP_JMNZ2Bh)Nj@-CVlWs(;Sh@pC$?kPB(pcqW8nR>57`?Uu-HlIp39Y%g$As
zXHC@l>2-v^yW3U8CEWGQ>^<lGTNq+pFD>S|mLTiBvE@{f>uEOM3thZ{l3N4+W!`Pb
z35_Utd#&K>HGYR1HB+zG)?Pnz_xhRE#>&49=UW*s^4`59d-p<XqeQ@6{*J~gxv^JE
zW3Nt)z1|ypbL-vPp|O$&?%sVGdqei_eb#%|Oz%FlZ4|u`)94yk>U+J-HzK<<qW$Xy
zA=emoTW<x?I|)y3ym@*fGS$`Ri05Z%`x)I<##WvWnWgU;*lds7Cz8B#XQgS-#E#rR
z?LCs~*;5Y8O%|VjS|q{R%J1Ph^~cLM{|;I^iA%k6MiW!_eZ&4qf;ycZB5i@@!n;<S
z?%c}|=8$5=`E8-vmaocuY?Iz|PG-5-Q@(n~oyRggR$81Q`<XKQqxO1wp7HcBIkF_g
zWhKi$?@dQe#j&0~@-&en_nQ2&i^8neMV8(vQoT{MH|*@ynDeHwH)3Pe!(yd6l5S3Y
zq_vDuv#(KmUXu2?N7~;W>9ajHSjQ-}qR~+8v7z2$W4*_wX^+jy9-HSq)^<xaFnesk
z_gF74R;nOY$1nEQ+s6-CV;}p*mF&HiD;wDU_k!3}2D#D;%zsZE{Ceu&olqwempMJ>
zo!+c>4!OVP^Ujyv@$RP;8V(9^ZP_}PTa@dU&djHgJ8y8ZX=~I+$JcLM{X^9$Ly&7#
zcYm{pa`MjgavM2(7fxL^!{NqHK8agVt5~PbQgZijit=!jn|?&4bK(wdE0v=GDvLd)
zEUj2s_|Pvz`q-p@y8bb9Q$k!$9XcAfp{0TQMj~fxfWX#^BBmElEDdYjdQI6ZqLww{
z!rANRdGAU%#9n**{MOc3ooz{0YRRT;$tHd;TGL*b?rUtRdtp}hLVCuFu4ON}_q~uh
z@S=BHM&GfF-hVGT^&WSqy=<HIxcOg_#DyfCd9e?4V{7?t6uBk|dqm_OWyqcyD1VRP
zu<WH}JTZG&PDO2T`EkYmIk!Wq%c_^g2UDK}O)Xv%<hN8e)!^uncov^4>njx%GiUqU
z)Dm%V^izDWX70pNr_TMa`d?|NwVvE0+Bls<OF^l6&q~|=)J8+Ys#T3#{kMvhED!Se
z9_5~~iq~z?`aO;lR#t_w%sBebCFE!zON_rx42Qyn!&@0RW3Q#EUTj?(R%9B{z#8$m
zHvDmGqp-r=%Wv=MpL?XYE!oiSMccKE3Cl9Bx4oTkE~Bq3_vW`3xA*1B9eCS)Ew|^|
z+xyF2-20a+C-LslKE_9Ed5`$sJr2uzV)yRpySI1ia?ScO%)ULc`u0fT!rj}lcdyyr
zJs-<hDf+%qHeC2bjzsQ_^xSJHqCrV_y$|tZePF%+)p%D~j@8U3hZ(1275b#k5ncEr
zR(+*MmNxHhkz%WV$2RS)I<B3WT46aMVcXWmWSz-6+R6J&L-$R+DWWsEMSATngOhKL
zB`7i+HJG)nmOG^M)}eJ`?md@w?+sOHeRC-E->JiIAIfjLSiu&aFB@L_^rNUkZ2iAG
zcb`7G;`i7hEw^pki(7r~RO|B|<P|-9miuzrC(Zl08rwfTOUrw5t?0?SMqTxHdjE^$
zUNq|cXEeNCWMKZ;gumGIdy!80Czbl#iGD98vpu$%7yJI(^XbQ8KB`@>D!V7aTEbIt
zAzAj)_ARHsFSCDdYX5Pz-LaevOQP+9Ztncqt2$x#`#|A^zm06zPWL^?F%z9VySh<(
zRmIj8$Hi*Ox@)vwr|t}%>3UG)u~CK0m1m2Lc;(mXUi6iAR_lBi(h=3qQn{*&>Db(q
zhhAsSOH4Z=X?|**PYmDJhpBHFgqMaDn%*dWdcEBDZY67x#y`1?E9;Vt^@_~JUKaL$
z?kan6O)k^o_}eFb@6^jbKPY?mV%ew4<=;!6zkR0n&P@EX;rma9&l}}mFgA$)sOSID
zs9)Utzg&;~M~nQAy7%R^<?qz%-*p~;YkB<L)V@ZkirDx6Vsrk#nQ<>n_-Lkh>qWP1
z_g0>9IdIkcS9MTa$*w=IZC*w1TdA~V#{2a?%b#XMZ`rVI{p|abJVN80q?gS<tS?w|
zpXp;)DC4vHdo<Six|QwR6so_dD9a{r?fQ#{&ahAOd$?gf1Je<wkcK~dLJzF<;_P@+
zlJ=ZiBapY_+sV`$rB7o%e*1BswWu*JvpFoIP(HJL8)N^qM(H2bUH^U`n4b6V(Ehi#
z*lG^?|Ix@V>MJYKPJef-|4(QB_p<rrYVmoe(!W>m7uWfJZuYNeV*k-_|9gY^-^=o~
zm*oFmO|QKw{@LjHC*%4GllF@H%W7_#z3iTzba(0RKK9%TvJtcRDkbJdu$nSD>Br2s
z`?7C|J@bzvZpY)7O*?6kdx%4LoA2(QF5Y6|r{?|&DyZD^({r^o<F56qekpzT-IMM$
zqkolT)$eHsb{;<UNV>*n>puy@AZO#;YsOx4jzp`vG-N0&WNcv<l(Lziz}VEnEp8BV
zp}}zx8^5$w$eRZbj~wHd^RM{B@YscCqI}W;fli}iUegRS4)k~~cJrBKmVIMI;NxTG
z=2-vBzjHxQWCfp`b1$3eswwQ3mzmEos^u!ty0kKEeG+R|$;yzGfm5q$Z<Xj=U7K{c
zZfRFocKGI;gY#syr)ToZmA?G<VB&Xo{(ZG?U;RCO{e8mj%HN-OZGIe2I@ZVj{e||=
zg17^v`q9g7n|!*vGvIpMUCmj`&s|!Ud1?uxvnlTsgQPhgGmDOP-r8zC=f;DBEuFj)
zRrY%voDvVR^GjJ&JV@Bt%zA3JeZ+<X2N_>p6_1Hu;9&Lb?VXL$?g_PxKbRf~=GZI5
zRWW|xShqUeUv3Z6N49mdr}zEa)%4@)>GS0d)$9@*8W=egCLE~xn^^8p^-?tB0Tb(=
z?++OH!rT`&zW=KJPoa_5s3WoV``7S<>bIp4_sjlXHCL=;)i}_=bk=l(LocrZ17i`B
z=9R@x5)6_{*rZ~XOk|fToTB2P*cc+jvwr21pltoUQ)c;?oi!2mvzTZW<rl$edL_zB
zG;~UY&6J;_!LBDoug}P8oGKQR)fT!uvT)wdnd#N1ZidaPIVCzXb)w_78z~)vR+1@A
zh1+JNl<G#kSlB5yYsQj(MXwogZK=y5m*-ZoMTJJrO^cega__cVll|*99Aa0vx$Pk5
z{@eqz+0+sY?y%Z<O}JBh-tzjK4eSBmWh;(LS>G@JP*{Gq>N>B&{YsvF$78D`*g6(;
zafn3Rt$jPuUAN-?E%mka!vFrMFKl?&bzQ!S!EeWc=3DQ!&o8@nHGF;f&svVWYQ{Sq
zGAyjTK69M;6E`rja)y^IVV5oqxxHH9WLS`A@UA04*#-;SqI_kZFG=-_|7H^9Z+?T}
ziod46Xxa?VgE>=XW)v+|n_aSMr^o{9&o*k2Hq5-CXN&(zzKH9vZCjb_ksPIYX{ORI
zjby)guNRjlXsUg^+^f0vWqeZ-Th;~3_Fu-)VY!j3j+>m=aA}ohrOR#39cRx*uic;c
z;Q*V8LCT!_rzM}ydB9_`{a(d!qv|(RZx3ewsAMc^UsTmU*?fKX)x>j2yO?KXRMtv_
zy;#uQoqXcQ^BWU89`63ErD644DM@_ovs?c<#n--Ac|ARjk;m}L1ZStPmd3*Z`a73+
zZgRaTG<9X7<z$|SUrU0&n4d{GeB#pbwM7{k+jW-BFgm`*d4`F->XlhOZw<ahn6KVn
z9P{>l<;~c+xne8QKHqj-k=kN7cgz3(%mxiHvu|DHh}h~R7!df^JL>-owymyD`RkHb
z_bl&lQ(v<pH`lacQg({+_K2AYVQMcJ^7Rs!I6m~|*Htq->`~TXGk9Qa=re8WoTc+W
zG^}v!O%Ch2)VlsE>xo#_M-wXaj?62n)hK!Qh_7mwvQ_oXZ0nzfvW=@Y%jTYRFMIWI
zddr`!3m9!uJmduC<@KaUKi;U-t8M8y)$E&L-@!uftGE9JoythCo!r}FqVkyY`;HbP
zy^Ux3oeCqvCM4OdKeHy|=i{DV7R~m*K6chk2vJF3Xq8;<xwfe!F=dfJ#tKF*fd+q$
zRECvqr~HjJOkubarS`Yz<n92Yj8DwBmuW@XM^EF`3)b}glB2{tqeQ^V;73B9-v#M=
ze~z^XN%XO}1jxi|rdyqzd2X{rf`ycqy3@_ZnDT4IX9Y@6&weK;yN$=ZA-#0P?2n2U
z>wcu_^WII5`;-&7<<Qf$r|&**<2jXX!<*vD!~4L)>(hZFVFp4s3Ix1@vL3H|@MBN>
zttVBAyOqDa$hbJg^L(GhMGbkwU#fORnI^Y3pHevLa>C+b&g9;rC;znbcY65U>z}4y
zJ7qx*=gG)0qnxkJDi`!DSNKd6TJcv}HLyM)WU<oL6^nhcw0J$XF8Ab}vOH#Ku;oh+
zu5X<=o6g+7xKC}r@6Rj2Ho09h*A>~$-N0*_>wVQDNNDw)8*5wCGC1zfSt%o^pl;a`
zeSk-Jx`mpacck5y{>Qr>E3u_&cTe=b-eK`%-p3gyT)9`IC+@7cQTbFo>Sv0e{Zdue
z`fVPJ%oAp;zSU(jZO<{UobF`lY=*#zu~XEp|6VNT-4=K|Nk6sHM)G^r>gXwv{@W$q
zz76m?)%;~)zMf9%%7}y8?wqqR-_;(O$1-<z@W#HU6Te@6a_-sl72cczhF+;>0{@-%
zj$0;I8q|79Drot)t;==<H7<-<pvBL6ZGLaplJ~dQg^JIdaq`8|ECXJtjIzvG@tb_v
z3?g0|M7y35xw0xuZASx#fkIQPtpkhRk?fLb%?*cqi)Wv>)W_={Gq=j_o4xwB<&R8Q
zTo3z&m0V1^WAVILsh%&;b@E|9;f<*~nI~41+?yD?Rl<a!dDaqD?l|7hNe`l~DoHF7
zIy=dKUrMU>XO~4*Ka=y!xlT;3-ML+RHrMHn-<y`mnD6xUlrP%c?Hv<zeWG#iXRpV*
z@1E%q^|#urGEeiyCEqHeDc-j4E4X{(mTe2qE($wy_0yY~|JinB|KBWiong=NPpPdM
zGp5~VWd6sza<vrOfsaeiEdQ`v{k`N4ll?9Rx0`NiO<1wOOmN<Z7S{_toGCwMp60y9
z<nUnbVb#~2VORXiYBDU&tjxB1$+)(wck0f{T=n^XqRQIec`mHowz`A)(6(1AY|k?;
zS!K%6=Xg6osX2a9^;Vv#CqF-th}JEhdD=o!a<6e#v(8DewPF8Gp86r{F|T9&4ws9P
zvv19LX1q~<_l3W!{A@pmwx5n%KIu%>GVOPwPj_8;IF0F*=JC}lz6t%h(DRWoEdS+Z
zo4GF^RZilme!1Gju~od0*M0J`lQwDQ@l%8TynYg_?7B6&jdxP>nfz&?dvC?-{q)q1
za9k65fl>6$vl+s2=L(G8{BwH7(LL*c+qIp2Q~is~Hagny3HEpP-jMY6*zjtnQfIft
zkuAs5J7;A3w`gcvsUKVIdO?UY+I-uS(&cSeIqt2HHC^>|^P%X|Qo4VRztgzbzv)bs
ztNcpdJhtV_C1RG^B<IyDdrVu{y#87Hn|FsVPkO2Q`QoFxO<Wfv*Nd#K-E;AEY1iCu
zXF?}EHqkE)@>YzDpBB-!>$zWS$d!G&P2JbNKcnzh<M%Z0npxK(_pwh|@1wla?!(;5
zdl5o^ZcnRY3eR<5m2TJ&Gkxb7wu~DV3MaCQlPsKb^8Vg<c<KD6%XPVbWY$H^$rejG
zEcd-M@N~K>$GwRiiLMu0U2eA&T;ST`%lyyiW|m_D%erfO=iX*HCiwX7ZMR+?-UVl5
z?%sBJIXma=H2;DGPu4r39q0Kv_#+g;pM7oMKafyjD&zh00Qa}>8*3hXpTj$2PG_m5
zc=6V_=^P7hHC*xdd&DDj&SBRJZ&uz5eQ_rG$`w}DMB#fU>mJIS_vBi>M>6Qbr1`x^
z%P+<qm^!6y;Ylv1Iq?NkHA^SGIXbVF@tB~)^&1`MWy)9szFb<h(f9jF-!&8O8=6jb
z&X~cW!rsp5_uJE*XX=gkhZCxGW<SihynBO(pr^al+vCqe7HzIMx2g1W%F+n4yOZq?
z-rc^y<#vGQ6vN0VORui7z4`eFi?-Oky$4xz+@`p;hTIB?{Ff<m&-JF@f!;*@dy=tN
z6ygsoF!;yt?rK7cjB>h4@*<VR%NNW%pqTjmij1dbqR-TMdP}2LmUL!j^n1+Y2@5&8
zGVy|*sN#OfR_R;!_^v6gTyXZ=2f3(>seeP<WM<71UN$EzMLc=J)maM`EIWI2=FNLL
zjn|oX-dPekmDlQ$V9r9PWjE)YdB}My@z#TdO`10hF1B$csKj{QU3X)af|?750?Wgi
z8;X|#w)!O9oGNR1^mv8L?KdtSR*jD~Hy*c*^$>P^lxljqokenoh6CfDxlLQ8Slni2
zpA37r@zH~&$JnFJ`&^hN|2OPpfj^toJ=djiPwyV!yW;xmj8D<U1<4a+c&`0>VB{9F
z;7;q)&{n>h<X01Cew!j`SvAFDCV$;d{#!YbY*UY!r3qMWN*12v7Jn_(^3mhu8NBn>
zD96Y=^#9<%tMbh1+r6hJJ1>0UOx_h|%hkGau7BjBrOP&YroWl=>EUA^&#8-#+)I9N
z?=xp|%7H|FgC+bQ7-Tl36-mm3E#p^t>L58!(sgE%E8k?-Pl<UG?zb8SuPcnW<|}-i
zQM!K0jT;BqcPRAP+n(OLCsvj1=6ccF^&v_96D2IK9%oRv+teA|WE<jl;=sd;6J-Mz
zR7Qyuu(t9=s8(-M{dOVD{MXZyOMC(oQp2Vxp0yB)*!Lj(+5?}Dp0i?>29(Uawcx4X
zw?~2hW`x-LC5KFDy)dCG*6T&ASB8mOvc<K>=2;pZxsfaWI-Ke~HD|-(B)Nx26Bp0>
z%X#XhkXh4WTcNa=84E9ExXs(+)A>*Eb1vKe1(&4OiJY&EiI;htS>%>=i&aKSlYhf9
zr*{obMw!1fQYPJV&7IacBOrwL%z=w9AAY~;#+8x6`G)K2*HZ;acS~xHuU9?Yydgy(
zb@szEd@t_=Yz_^q)i}|0!M*iJ_a+bNoi8(4o6dZ;h~s<Vz!&p0z~i3Yy=i$H)2lBn
z<eas@llKy*-BW)a+1Z-Yc_+mf9$OG`sx>Sre#Vd4yU!-c_uh<Ml^Vw3T3goNyG$;r
z?O4mMSF8P22&_u}CmZylChvvc6kfYes-4^7M4yH0J-zv=v1|UD$cQ~>!XkQSuas$D
zG%sU``Yg?3OIHOk2FgzmTWrvlYPc^U`&L4h+R9iJ<?MaWwk<oqy-u5-VO8$EXFMBL
zPff~nt%|=a860DKpuj@7edC37qRZnMr)}!>YxpDlM8%`b!!Kpy+@eK%9W$0BD_%>P
zd;9RQmajePeoG$kWh~`-cYyavLjmuK9}%h^b63eO@;R_lAz;OWpA2k8S2OZ$wSFsz
z8+}Tj6MMhv+MUdrgj+Y11kF?xI(72jx}=5O*>9O`GK*)8)Z2@PvR2)Ebs_IXbjlr-
ztr{0+tcW?re{APXv17?8X;Gi={&R?xm~qM?`-a=%JjG>+7RM?omoDO6V#M~?z-hh{
zS7yYiwcA#uMXXwuwe3OSQ-|0m49<(P`5CkpROJ-hJiznh2#-(7_e@PUySw=_4lvJf
zh;?L$W8^D#ao;TCr*!Igg@Quml+!*;*LFE1?W%dSx8R~WAH&04Vn^7-k9GO;N8}uv
zloRx2x$??{MVBUiO<5KYlk+oW%~7k2^YbEO!Y<UFO1P1+^t(XZEuA>mkCQTe`p-^V
zbs}iJ?6fH!q6<wXDX+=uyj8NkrB46SF0Htr7xAlBojWsU-ovb~XI)R`PF;CcId+B2
zTT$OcKAGTv2|pQhg+7JZ3kd~WSys__C$Kk$@!xBirAHQI%Q^Du6~ymQ+uo#l_g6#q
zx93dtOSc&nusvrumiK{;`Q4;d3Ve6+7IZC?70cTl_TcswhdtNaIHo$Roe^*BtM{9+
zuSA5KH}~@0xl2lS^p!5)Fn`!ye&TYaN<;5M?^i;4)z98lEnC31L+{wBw6|%gpVA_~
z@@O3hEDYJ^v$*Z#$)HzrbgvugB^Om{ove_YdiRK~+xvK~w^4EWrx!)ZpVYEYI+|Fd
zA9a^S?y>Z=j{Hm0-e<1SlE3R|YL}6)qVsoBxD*rHhpl(29o7ChT}nD2esvP-j1RXH
zxAo}GJRd*9|3qhuf!ul~#T2&YR30(qNw;!YzNfPZFRnlI;NPT0&sg>=aOh|9-T1`D
z{z|aq1K$lJz6l>ruuXrsDO>K@!^vw5E*s`?S*$ZMoXosNzSyVz_e_cZOP}m!xVBYd
zT4lt!TYoQitx?(S)A2Cs{4uVq2b<KZt2Q3(^5<Q$AXg|W?cB5{Q*#!7o46?JS=v7l
zqgR`?Kd19t3rV{reXc3;T-M`hyyArmUo~x8`l9mLHK*4BAEbZYO8x$B<H|X1uJUgM
z+H?iYv=fr@8-3SaU$i3m5o=OS;)l1bOI|*%FJ-H^8m=m=e|B!Nz_F*5t_zc2s4tqE
zdpThGp{;9EmK1Gs`(Pksx-3q6*|%a%{|!OPrOekq@jY<hbJ@z#y+JQ}jqdAz4593=
zjxmKBoMw3RY+;jR2=^R@$l^?{2?3nB4QsDnEwo^GD53P{;Rcnw$tr#9H<zk(&h>k9
z<A82>Ts${xxbmuFY?B^~-hG@IA7Zx3J@UP+v@7?k%|=QoB@gHM$i84N@{xMHM)LET
zr0#o7MTMus)`!-F2;~KRVEg3mUGihoH{Xnta_#w!*PrI}=U-f=dZQ>qFzn&Y1uqol
zCoh$l&@Pt3*s7+bcr|{>!fMA&c2cZOkMtKQo(=NM4vc-ZK$myL-J>U0iSR^y*t%~)
zV6?V<`l~?UuK~tiS*L$ul0PUI@ka2+COz-3y6#)6<s11TN<(HFFA#dixxC;KudrKE
z3fI30_t`2|7Vxw)7evH;42{3LwS)I|njv@ZRr&6o8Qmfcb?UF`(klwiMjyE*eUj(8
zAIG`_Q$M_wYn7a5c6;5Y6#4w3jZeR4U2zi@w|*V2FC-++uW?pIBjbMY_ZMd>Up}_j
zmc{n)c6RxhmY@>3+e=-V-^v#+&i$_%y5ZH8x`#G;yvx^!Yebq$Fqs$mf2x0Y^a{%i
z2HsgoI-;lgSY_UQnbtpNtDk7<_GdZ!)PAk_UY?xw_EgbrJp&eg)5_`FgP3>mJDBQk
zHh=Ri_suTzkmKJ&K7V5K|Ein(H9orE;P!!V^&6KYizDYZG%ViAIpsk9goc7IT}3;-
zn%p(0WeHoAocC`l!%QJlX`%P!@$A<vy>%*!bY%NJaAl=(T7Qh#lXI$VQ_5xkSsxxd
zPF}z+wdI6SR$<{sj`itYYj4`=tw{4y%YU34_$MQ@WXlD=EppYrSAH;*d%S1|vyr>{
zvma$g-O5)ac`cI_&z__4Y@Wj{zu?eyt5#Vhy-+fYD&%In=HphS%I18JXQ{7f=DcNw
z@6?UBl9{zN!}2y9{`_fDQF#@AGUMTd`@bCcelYO)d<fpWJ!JECz4hCVea{WGuL@CS
z6!O@5%DZ&&V{^;*=DWE*ALg6PBXNamO##=62F?`@@|(66C>*)!Y8-F6{LvD3;lBkN
zV=q4cmQui~C$jqU+evSa&HJ}mIJ%bG$!zw)ce6gMt95JpxUMMZx3R#y^8shlj(uZs
z$oHJac&8~%CqrLrneDgGWg)X}sL$FE`QyZwgg*YM!d|J|mU-?PddJEpN>}dC{y9nf
zi-4KsCBOCV&ij78IubNxMU2n<glQ%G2HBmPR&A?a_SAm+<pa~JSe5-|EB;dmFKw0y
z_TBCm|NVbY&~bTj{d`+}>yLW3i;isGzCeE~>uU3p(Q7zve>!p4Je2<z+v}oZ!oN;0
zw&8ogAav%yB5(U8hxdGa;P6mP@5^I`-P;<@>dRi<%Fr;Ip=Id-qpR744BpH~I!vsk
zOSQUR%5XP-InMCl)79g7SMoo+`CfI!_)_7&Kr@Fw9~3XR^Eb2eesa+G;C{H#w#KHX
zVgh@=ta(X@i^s&{ymFGIEms;1RXistmq+}W@o9126!V}ymd=lD?$hOY-@RD4>Cve!
z$?B#zH$N_RU+iL<ClfVU^RkrbEHl=qkH>;nn`B%$F)Q?S@VfZjd91guX5HKrx_VaV
z?rCo?Z^<~jtko)fUG(aLm-Ae+r@X(k*tWi84X3Hr<s~86S!;eQc6XNRQM6vBHR<@o
zW4yd>d}|&Tr8V02@%;IiQsR7Rxv#lT@2|uRS<5~Rk+oF|`em%jBl>E8cbvPuGygfq
zKIb2NkB>FWpKNU2ULa#V&v^R2IaYkH&#eqUZ<uT;By;cI#63Uq=I$)`e0lBd4eK8N
z>X9@{+p~ai@zE~Pui-NSCMq3e6PEUx;K0HtUvS_6yI4U2Bb!*pg9cWG8i7NsA~OP<
zSTv@5ILK6Gu<r2V9`2KeZ*ko6RPRt*<?GrWF~@gHdqB^Mqn!d;D-?vQtqK=6EA0wY
zoSI_9xp;mXQ`Yj89e+49=NTDYbeZO~X+`_&wp*Rc=l#2+vFRMs?Uft0zwmlvuyY&N
zX`MA^WL~c}TAy|Ltog$$+&;S>t+}jc@NrS`hMhl3R;g)QZwfMP^}5WnX`$Hd&W*<$
zs@H5j9ir^J)iZE%Nzg5W+K=rsoOZo6eeBfCvE{nLtF!GF`W#HR-0}O``0uJr)sDB8
zPp2@8nnkYG_TQy^%6Pri`%}(~tRJ=<O>BGLH<yu9rSEUwjn6Zf&Dg)*D(2rOnUc|H
z_scIrkyX^^#rc*(W|4)Af(jK5v1|e<4F_4pFBBZ&5kF9Hh>?rw;!?i+DHD&(;ZfRn
zTuw9fW6&)oHx92=L6=sVHRw8Vu9V7L^I}o=ADxv;WHquQytKu`jMV0Y+*;|}Z1iZ#
z(j{_DJ%JOp?%^>#!ytNQ?e=ebBsb2v?Q+@I<hYXd*=;+rHm_N9|IX@_@_W~uKDT_K
z-z<avs-zNckH1orvQ|ye`MF8j_;aIa8<$>4kZ57a43}deURSTmcx?T+J=A&g#^V<_
zy#9S`zmTAO?tS#%wmyr`d#o2ld|KrD$11U3^jquOIko2_zE24)vw6Meu-~qu51Gq8
z{zzD`e&0p^8~HJX|AiY_IAsjNW0@rj9^B>RZnzM~Di@N#&@rJ|`dSV9yeaYZnc5zT
z9iPM^Tp!!!Rcw&XS+Fuo*7B8y+QKlgOcm*E>otE(w&3HsC?UM*Mv}VdrI+rXV<&Zb
zDD$@kp7!wGyk+CuhnpG=RxEm6{A$^s=Tm1NT&k5LHEY(1AT{PqCmWbzP6rBYHreNq
zYhc5n5G^HP$}Z)bnUr)pS*Vm*`(&${QDfKF6={;IP1*7f8Q;j!nYw-c5fxRf6rO`s
zQ>42^*j@LY{CDs`gM`cWtG?!IAI-jBkvb<XH!rI5^wbST*L7q{&apk*==WG_`&{uI
z>D?a>9^|%hmwT>o&Nd}QOgz;=Uh>9syKfKAZ$I=@UU0?(Mx}u3vZ7b?D$c%+`&q>K
zrAK(8?1>ja2czX~__ZnBsd-_c#N;_4plI^5$R(9}J3TxXv`>5Cs_!AOGsSnE`{WNx
zkEGZ*T}<ye&MYsp-p%Xeyh+QLG{thCBz#?c-(ka*DgW-O`dGe}pC^|gv3zZ7BcIMQ
z##S+tB@;h1?J1eeE*UzJA?<<>r%cqWBT2ps|GxJY+_K;w+Y9ey3M)M}x!maDdZ`t$
zPmO(3V~1AyV*$rUTqaAol>YJkO_dH`cq;U7$i&+Xhqd3xytBD5sjtfB`A(yziA8q`
z{VQgu${CbRj1<kiQ)Ff?mzw*LH8v%Kdz-~Bv5eJr_p6e*j-@tT<>iQ77ks@*rl4Vl
zQ%3p5toghT%oZs~EmtaAJW<<u3G=%`pK7Vh`$r>YdbM$;RZm!QlJ~)}lR~pxszZ8%
z4m=W{Suss0pt&bq%d>OoD#4;@lchX(w4csc`%qsi=cR(VF2{i#0>#Y|chs0xcW$u~
z{NNY7oBL`O=Zu3QygFQ8x)Q~A96TadHoN@MYv%qiX32=u>BT!&E!$9as*!h+7h~|H
zu6?_<@B6td|L{xR!YRovH*Orut@IAP`>(;{NU$Kgt>uY11ydGl8{I0izTy<N>0HJd
zJvnb1{@(Lq`#Fw1QSw`O%qYyo^45jEa|uhX<~DMLZJ00iK|Q8eN1XFRgaV7A2IJe=
z*D804hu-IGuf8KZvA5#O%*lIOstq>Is4XqAo2Ig)+U$e=mp`vVJkJ%VIXbPHaz=gj
zmSY<xeDXa}7wswVFpwo+reWm4w6YDedS6!VezQSszIf99vVs`}O2NrrSDiV=Hrc>s
z;jHO8Hzpo9^40K=b5Ft?w}=!qfsH&aIdP414(42AU`w0j7}4j$Tp%YoNBQT&!xEb!
z1r8oD7R!5h^PSttJ2{mW=XZv#o!0CUb}(#Sv&v`t@BcWZWuAl;$Di|cTf9~F!<3I*
zXII@3pDa2*<zeNn<8w3I*PaM?&h@=JJ>}qhOR0I{A>nMAJNmh{{XRBjmP09%Pyq9l
z(uT~f;Vb4|yT3eJAYpPrPDRG-d~d%^LX%!xsj|2lvBKGQhHsL}UiGTLpK_IxrhLut
z(sqo~<^CG%p_-y-trWd5O~fpzJ=b*GmiT0s!`GI-I`9AgcbwX8Nl}^SntC?YQkP0%
zuCLlrVVFJFa8cEw<#A@d>q;4Cg|)>*RGgo^@#YaP!}iSgmHTIFyFTmU6<J}g8f|^$
z;^{_r8)Y+2_O@Wjom)4bRXcC6e?{n-kBWsoCvM%|!ZlyCpCjjU<-c2Z{Ek~LKdRw2
zvvtSGiO+XvF27T<UE*Q~lljHtcQf1z=Y5_M&Hnu1Oh)br43}Q${bFtJ^DmX<eK~p7
z0+uOpvK6uq;#Zz_cojT-*K$8w50P9JbJomPfs8uBeyN)tTxc#mX!`8ryj>>_x_p&W
zxL*DswCY)q;gN}MQ@U<SC7x28>3eq3G}))g=GAF&Me75<eGfm>!!kv{<<zBX+jIAL
zY%nOX>W<d_G5vStkyOsgIOFHDrkl$K-?Pd~NIWglERpcxZsNr9iFb`AE&Aa3&D3tv
z4;^MRA<I>&US2aIIrYzLp6v>im%p>7Zb#I;0-FvN#-Fyv^9rNpdY#qUzIL-j`<j1F
z!q*q^w5}`MdpYpoE6L}^1qTaT`&vGiUtx8gzm7ZR0@G*xsPj($lm3YBy*uesI;*OK
zX8GcCY%BU+xx9T4w|H|w^ORHWsva+0bePog4z1ji{xPp<mB*u79-Rpd`GEqDHJ5Oy
zt$0--F=34k>uEc0(;Z$R0hu4tlr>-Qu})2@d69SU#xw7_%sCF6cRL;_oyhg9+OYPB
z%k2wiKTcT0cI4E@YgvZ#5;)V}e17BAe8^YlT`t#8-g`?v-20}hopc~Q%)jx`*$qcp
z0^YH!^Qam$^yUgYGH?-?m$G<*iMDGVEBg)Sf~LbZe~z7Aqr5e(b!*r82{j34qf{&H
z^tQ1*vpVtbae<n9m&B?aN6vRA@GY|7dZw1Oc*SehbN+v|+W(x>w~JxmjA#&c)UtV$
zFB09r8kHdOmFI=m#a%uhm;89lxa!>gmd7h}GWYd0PYP;FmI_F;>-@;TccpG(wM2k&
z!QpC)V{UfMte;t#j5DwO^GI=ddhphV_miGiw6O1sdX{S9th9<fNTt<;OUbCiN#h*X
zqj?GGb_JQs4ym;T7zA(x8Z~A8P`bVE2z%)Vj?F2W&(cjinzMV3&HD0cR+SDnqtNV_
z^W3~eUqjZjZ4=<Wzn1$jXNy=f^X9ZHnWsTji;t!C7{6FoGvjS@8AslY%mTMbVf)rR
zxpJmGZM8*~D!-+l!oLbtt1#~lHp3@H&I{HxZx7LXx{UjLjh<c2y620spXKP;IGnP*
z<^Ru4u*dG>p9Z~uSMs|*od463w?vHhpP%4=kBz&cHj4Nj*njV^&4MhQPA>BqE-DH-
zQkqQ3Kh&=!oR#!Vs|xUysOPP`an5_)b9F0U#*ds+3!L1Hd?vgpVrJJ5mUzUv+U23d
z8O6FsM_;I~6?wF>YUMWp*Orh>qbGu&W<8U8Daa{!PU?N2eE%VjJ%&LlOAY<ja8<L-
z<XFumTg3If_jtoI(~B%h=a*>Dc~<>Muw~XVU4}j*wKZ8jDqeETxfKj~N^UB3?a9*~
zo8Hl0ob<Z=01vy;qmv0izZN+Ev--|y6~+2E>S@@d{-1O51%9fjmG{{s<^8tkI^R(A
z;tP*v=es{vhMLdU3%~5wG!)bhoXGk?Kl;&ok+s}Qf)bYa82*b;hz=8EO}cnB>0_`&
zK}v+1?rQgHza=WKvg2J;EnPiX>T}(Gz4KV)UaQn;{OD!E9ybBgfDa7%l8t9?=&`b=
zelS?;l6I!h#I56_gn!j7fdI8s-koXLr=A}b+h9<z#XyaX_2?@lXX7-rO)N7F46ZPJ
z<=Hgj8jE7>GcNwq=}E$7hjk5QIO_c}(wB5@I$`3@cv>Mz*{nvv>qh5Xfp;D*Nt3s@
ztF)flYj<c{0hf*GyO1B6eBs=oEsyzE{@ZN6h}r7M3;xWb0ik`C{{$X0m7WR7E`Fx7
zGbc|dv9EhahF$$Rp^2MVZ3-_gDq8$R|M`?ln$P){1e9ub<}KkV5&eHzgnNoZszcGb
zb(iPxFxk4e3v^zuSQ2k`$h{-Dwyvo@$f+{wh?mEdG#;JQibpOH1;Koa82gz!SkAj2
zx@Z!Z%y>4__(GFK<s${Lr-q7oCPzwcJxDh>p!Oqdiqh(|fTk}ii$vD7F&Urh)sjm+
zoUxLVaWUKcbf2A5?p<3lt4HnLnhD+;CnySvnMn(oIs1S7^TfMDC#ippp=GkMo>7dp
zlZx$AQ=^mROgU-`UYUL|T9vg{rSw4iiqC<y8r%OR1wAb=vJx{*OBJ(C{Wc-(v_R#%
zg-U_vcllq`5e=~wec^XCq*E+pwor)Y#Xog?{~5m6Z@(n6Gw6TVMG?^}`?>g*8$5bY
zGEuc_>Qtd;%L_byJn)vvY^wgzuE)OF#i4ED9y9exufkUvPL<QC(db;Gw{%LzViwNg
z)oYe#T}yXkTyK*3fxYO1qSWQNT&-^DYHL-PSKFC<GPqoQM&$06(!&ue<1Pmnu2AxE
zTK|P_TH?(m4a-c-xW8#``=G!r=Djt*`{k>3O5LAzt|=!i=8<hyX=Pr;_s({~s<4Aa
zYzB)0m!*15XsCWtAjY`d{M2Ogb<X^S-PWHA&Wc=3O%AgWGyT_-G)W+Eb!uQ=di}JZ
z<ad9k9M!be3Y%Ic^0Zi_@STY6#>IV;>;p~zubZU(SUfA3A#7qFYtVsLHOqCp)xw26
zLj+cav*y3Pbi69b_vDl}mt~f@{&<(zcRVkyEqtlrYPK}D>uxdUFC08@_2!|%sckI*
zMJH?Dg~p^W)5uyQfBYh=@!=qmb??q)HoyP&txQ;BSyOiG1=iSQxwR?oLTvJvm5#13
z=<p8D;L0##{uD16R4Qxay*o*9=c10SOiJ@_Xm_3Qj@J2XlM&CVlvI$Qv%A95s_b%#
zVbvXGm3zv2V|2~q4jWD32%DmBQXpn4GBy0)1+!~8Y5a!$;-cFHwwk^8cg)P-U0<l*
zABMHhjwt`RWvprK#b&Zqc=IH!$NgGAKmVC!_Cjf9=411^_|mNR<yqbi3@i1P&oB+|
zZ?D>L%3V$(AxS{_M?2f9q-utD<=3AzwW|BwU6*KeBuURx?UTtq8T09LMQ@$k;G(IM
zb6}(US3&OzP31n`wtP<GTVGAivqyg9W7BM!cG&cXj_SKJ&+EIL7;QH>Cr3Cbhphbb
z(dUgXSMYaDE2T{ne%xMTkXWtLk$#zLd%@RDQ`p|k+~{YX<e%Zka$@TJOKNFfEMj|Y
z%fesHD!lwkL`U@3s~g;50oS(FWrQzauGICL@KK`Q@KuqO761G-Y7b|GIqXV3zIeyK
zN!mh*=c+${7MZ>+bM`cm$JhU)NNIQXWqzIPP%0G`y|vDri}l=(Jy{d0@(L$1wN>`b
zYVUPtKXs1z<T>VCUDpnG6RVbMW#v&bW|g;c9kB3yb!+)#t3~w|oGRP+rha@E^?sV-
z9Ygm0Ei3P~Pfhv2ntyiAlQ5~NZx7X#MxUNoX!;|?PR%{UB2llWS#^r?zA$!qvALTk
zaItGFh%cTyeTU*x$wYB6ZLQs#HVSOs$iyZk#I~j2Yr=cYuAD8lv$y=6$#zfKtIxsG
z)roKW@ojkx)~omqoV&5#;#kzWys&x7VS4L+nH^V&R9$R8Yv(76o}_J75l6SOd3LT7
zFKn~^vmpB4qCFl~DuEZDY_4(Cn$#>d$*@xNv3O{pXjZgo*xT#1zJ)9`sVi)bh;@H;
z5%ZiLsu`u+mUr_KTiMT?|EKrPI+Cqj@oiOJ)EU3}O;QJ(*7}`4y(-yv;ccNgaXTd!
zE>g)_;Cbb%ao3}_Rwwtq;`WMbV!yrBh4)yiB=hvSM;JdJEzERD*yQCF-TAs~NmAYV
zn=vZ9nmI~;4#_>$nlE`<>k-!`@9$i^)8^I3%x{$0EdFg%X#eK^JzF~8lx)ASxiiNu
z;r!IE(bdaZ=5CN$e(N>cIgJ&i3OdQss}?YG-YVImrDttAYukexeGALgS5L3{T45Q&
z8ub3y>O0Hw<HXLHXf5Uc7rFDo<#b!q<xl%3rQQ+=7p*&M9(wS$!%VTP)785ZwzAB*
zywLvX3a%UVnk%Q|PMrEwq-M^c{cPv5?ye56J@R&4*efU9#`WKH-|qGlTDkv3-vQgX
zZ;n{KmGO&tzDwDnP12or(h8NNu(f*CN;2^i>H;*QSXa*9c5b@5(y4udH`RLD8D}K<
zENe=A$!Qhw!|UY{Mpe1SlABX37X*I4oiN#_<%a2crW5biD!#wDsX5}Ves!t#Y{l6z
z^KGN&f8VM2Upqyc*>CP;n@usc%VJVoi@F}9ZS60Pnv$%x`23GGivt-yJ`OTc^OY*R
zBU7v+Ws)_iV$$)D6_a=L&fZzX_q;;y$-k$c&s$E_GPRuS*mWV%Y7h4mk(1S;!3zIg
zl{;L#y+3VhnC6w>5<_uEm5FwXraJ2`e^#`~Y0LgMxA%5_blx$GjpM>)$JkdwKUQ%Z
zQkN-E`N4ks-lhYETFm(^%RA=AE?-pJ)#RJGwz^C7!>tdTKe#o-Zg?^XyLox$KJtEd
zQ1sL+-8Waw*1H~EUGjdl-^>c1m&%!c+#_wJW~xp1^O^lA^3G$)%x^c-Uh&@5oPYOn
z?1|PrC;Myez5IKkb<XCgGF!6`ls6`A<-bsV!?|bgty855`BNraYCnFkHz%KM>f;}o
zXCK5oTq*qcL4~^NtL_WIXJ_bFaDC1T(GI<LBS2j)LWS#}Q2sBG#g{^UUKZLsJ2ZIf
z?$zAd(RF)bL!X`AowZU=XY01$1?hkICs=H{<}5K`^~SO(Wk1Cnox~T5PD>BGR#(WK
z%kY2mp)09@j7wP*%HBNKc(}b^-o8d)%fSzAd~#NKCOsL>#}7Ag2n)TrsGNLA-j*Zk
z$wlXf&K>4uQ{D(}TzX)NR(R2q8515KkhNloYnd^bonKx?R7k|4Ani<_spTY_7lN9H
z)a@5InMMe&xFqM^9AtW9qS~QmZO?O8UTl7HtuKM|SI>*!H)j?Yd;Z!}xVY`^?uzUS
z8@v~<kK14V``uc@@b$5B_7#7gMk~ABm*``?+@bSxV}is)MSn4$$j!<B&dg3uV9Tx8
z600Jrd+$V|^CDMSOBJ(}Si|<C^6o_sjwA}U^UAC)e{f+gbNh#fN6Td#-#zX)C~L_h
z*Lct7c+uU{g(=5BGO?Gxf3V!z++*G!_hs=XpGT~h{Z;hcZc8+~|NP(Gzkft46dEr6
z{Z~?N&xIy#U4|QnxLK4c61bU-elT(K8hI!*>N-R`Y!*n1P;Ax|IN`*laYmt;$M}YT
zbjh~R5N2oIwGk6LMc1+|=F{2aq3paXS47BP^Y535zCu?OX7lM?N@z|tlDHYsEBJER
z6<_1Xuh%B8_M9@wIbv1Y<-j1Oqf<gMA8rZp5PLh}(&UI%mnmL`E2m!dv3*){IqF{#
zmx)MV<}s1U(@kbR4|EH16%~!}e9Ae+D{j*FX_YZ+Rjy32_Pe<>DEDK5^U|b1)!>-i
zi>}j`mOlM@J+Ap<s$|?`$+WE0#d&ErSN9#YicIV8d={Cq;N~jrltl*(qIgUXBwXh)
zo#HXO(_~%xqm65pzL3tfR4`-~I(pL~x9}e4@;lpha+=I3vY22#ulU|mvHPWmuP$F#
zeo@x&p5yzxuNNzynu^QscqchMuhwJF1^uR<tT*EK|9;7C(D+;R#)1aDfD;?q`LZ$=
z9ueJ?P{^(6(81(<{+3#FFVD-VOL)xINL=JwJN1l!s|lavoJa-TU(4O}wuPmnnn`4)
zWR;1rT=^G}=6Q1EOpBWe7bfd|%$Xe69yE2LW8SLNX|rrSIaR~lg;murWUkt&Iy)yR
zc9}z1rKed{)Y<9_)0^0=rUoW$y=l56wU<>hro?^Miz|v>_l8A2&8-TJERI~2wR$S&
zwTR?3LC?fjt~(_)Yt77$Q9GY*cKWvZ>73uMw4cx7^ghgUWSbdt_J*To$(v4WYm3^l
z<bRrTCr{vS>FN%<>9K`3qT1)~{k=}RruL&+%KIHXc60B2eEZ8le)p}b-wz$QygT4S
z-QS1e3+jZ$ek^F>a(nZjQ6PWD!Xr|%?jPcKZOZ+)o2S>~@QKgIH+<@LUdB`8YLOUf
z7M?wO=F*UBT9QW;JSS=Xi{!g9NqCD*Zf=Ammw!n5mdOP#)2DMOL^PS{x0K}Orh0RE
zmL=G%mf_8=hzh>Jwds&(UW#||WKYLEkCr+uRBvedB^=&$Xqot@3-yK49T88MEFQaR
zW(c-O@-c5$Zntp>3chqP#>rLdNFiI{fuhhy{~k%64A3ju%%!~Esaf*u-K?<1nvb75
zY;Tg-V%S@IQnI@*bg|Gyy{H2-W&2i`GT&day5Hl2^7|=|cR&8Z&0c$@xBL(Dyk`yG
zvG1(Hi|2ecc|L>N>ab?qUM~%~YR%)74~6<`rZvkm{N%P@vFH3ZCY24$XB$|*cTQ;9
zwR|7X&W0p$Z^xr&rZ)+`5G>u7c=2C{%Vs8tH3@Y(MHhQNE#G80%R^N^=St<gW6V<>
z`|7N-Ih@lHmWogGZC7~Mn46a(*gw^iUFMEL=$&s<XG#VJdlyf+wNGfN+e#Nd?TeRZ
zeX3k8yhtFsOY7w24`Ju^3{?vp9Mi7_tPocGbU~fjlG8=^so0Jcx-E_~)ohhnCwAqX
zS~zvlB2m@F)6X3^Wu&&&M?6#2@@xTHi9zqnbvaYr;?_=Fws>{q$tAA4=1ud6viNoO
z^^K#}cAH*DHO5T8$kC)*^7W#{%g%ed-aJ+RB(pr`p62<IzU85JD=$^P-^i!2u>8dP
zjPq02s{~%MwJ2;c>sia)d_h<DOIS>vM)IyH5*`0Mo?M=HE5SuO<6sAy_3l}oDRTlY
zo%C1~IY~0jtKB*xkXKGg@MOZvc|Kl&ze6rLwm#5QZ;$1D6*Nh12IH#SQ`HJr1VlHt
z=}pxByoGaiOPR1sp^AFxs^EDkrw>)-ebKe;QTJfFby2soMZ>1@#7PCAz^yXV7x~*H
zIWpf`(ep27QGm!DH!Iiap{jkx`nD@8Lc1<S`JP)k#X9+!$>&C+V_%B*|6=g9eZJbP
zt4)8ia#&}Pl(p@z>n@kLo@~0*dc0)evz4`T8u?aCmA<j`_2g?mQ?@Hf+Ai1SZ#jCi
zZ)cIR{0om86E8dRRiAmfn`gWGs_r9>L4S{)3J>F-rY9HBwCi8F{LWeDodulZk7;d5
z-m^);#Z>8H$G<8ELC(u=#U+>SoicM)yLYltO;E^cVc1Ppzq3Kg8@YmYl`ga_&`|Gk
znwSw^yrqCk#P;1D1McrDolJWT7Qd}ImoqVA`KvBnZ>=M_T-Rens?**EoM2tC_{5Wy
z(`r_^pOH<BE-Mn!i9MA!XV+}^@+%oO;U)_vvYlG`$|>lmZ(pG<>-#58%EwMkopohn
zQs%R3*_Pigg@o^$wElUL!t0-6#;p6g9=~|AB7Xj&v@(5zi(5W)%zBV`+PZO0od5jP
zIg9MR-niZAw_{fDp;r+>Ru3iPc3yjY_0@t3%Z~@McB%2$y6J6-U(FJKnD5%Z1)K*r
zIo;Ksf7EEp<IgvDJ4v6`?{+a+#H8ze-lCE>`<z<z%QRM1m&YL!q82l+7U)#;xM(ut
zyzzDeZWVWr-%?j2(r)kjna~!ixAwoCpU9-iHNL!a-k#rgEN%7<O&xQ|+l5a<)a_P(
zc&2eY_w0S6>C;?V^h`eO?7MU%qa$dWp6$!o_uD$2PUd*)={x<!1<j{-rc3A<tbMdd
zT$cG&XtUwoD4FC{hVA!^yJD9a9PO#8URw6!(yV=HJ&jy<G7jwhQ8HWS)8pXpCk!{K
z-LSqq>)NIw<$2xN-BY^1gloJmy_#%ZT5((R`tiG4b*s;+-+9Yu{$-O^-mf3&_CFaV
ze%`7*{f~WXw3GS0r$4p6Ev&pQ&8qn!)4<zg(LcM-t(8KP1N9CqZ`;<R=>B`=iLfxC
z!=^_z>NO?^nl=gFu8^3uUh;NU^SuM>4+xxnpW^kdu&&6UeP%Y#*M)_eOShWeH_o>3
z-~a1t&kN1>D+(OecmFy4#c5)RiMQXMozAoBR@%z0T5Nhnv_@EU?bo`zP4!buT~~av
z=sX;xnHrQ_9;bcPb#+_WyoXuFQ_Hrb1)E)so3EVxHq^(kfJym<rDu{m??rb8G3#xU
znYB7Rt}%JkF3I6$5sR9te|A~Yzl-v>zRB9o$bD=kGq1(wK(gM9a(#_$dNOQs-xI?Y
zZO{8SO<}_o#pULP|6T>>?^$9fe~C$PgRe$L_0OxpuLFz47n<s*3t5R5=q5*BO;Isd
z2(VR<?r3!6x?=n($tk7HNi5LuLSQY|!<yi2ff5s)52r@WYc<{DDzd9ly;H)>guN)@
za7@4@F-?{Xtt}m|wx@S(Rb8+(V(Otlr$Yq}$Hk;K3a35F5H)mKRTydY$oLaWwA2=7
zh7|uP7V5Lzx@N0swSA1;a7iM0d(dJw?eymj$y?%*L@XCHH;P5Ly}hcfe4^}|YWY4V
zqq?I~9tF%xKI`mn^w`&!uy0zzwU46LuQ8u&l-ap3hxL;DlVY#`Nn!0*WbIZYUNY>z
z?iMO<)<5HVv(&T}%`z|HPyY;pG{QfoC5s<sk_(!!db+oK6O)FLk4A-Z^U-h*H)(Sx
zhXd{c4cE+T+Z^?j0=gy|t1QVhcx0IROfXEShOtG|?@=T#yV&*Vg6Yjsg<+wNp9|wQ
ztL^&OaVNaULqz<avG2olQ^xBx$r;jaCyTl|issx9u21g%RIb^Uta_TY*3NvYZMl(H
zN<ixi(YGNQ6`KW59nWxT@q7PVQ?XRM&pA%7H7k)lc(GZ}cA?-kY}2JOEVHlo<UTLk
zyNGG0Td&np=2}-P4+iO9%aWX0J(euane^P`xsptyiSDUyUaUqlnJ3wH9dB9gVsrek
z?$<@3@0AkgKdJPYk#mc!{|;l-oqro`b4$GoMDt%wPS%*vy5W1WZUYmmC6m6Pb#tlv
z7RTz{n(iMr+c#v0e0W?Fm!$dav%sP4#sSGj+ZrdDt<aQXON~+NRM@C`E4;R8kw8wc
zs5wh|qM51L%sQJw(|;_QWzQVL8|%8hN}c|s<Tg{s^<`pJ*nEpZHLr`YC5{eLzfGBZ
zRk`n2*N^8e0v`+iA9lIrF6I%^t->gzurTKKQuE}Ag0>2xii#?CTT54d>fZRM`%pzs
zntNGcW}^z1Rrd3&P1nlIRGF26b;`eI8?JCq;*eG~lChc~ZFQh`gQD(bVOf7c(d&$|
zbx(tJK6tHfVY&BN{-2V}(Sv<HJ1U|}bN_wK2)*tmJGXr1kB|Dk8MD$#^S%cf_}|E5
z;q+$9oUkU`P%?PJs^iHz2258^NY#eA|8tE{IlSnAyNcx{`{g%$44a~hGK31Zgp^+N
z5q>_2XGzSj5;fmq4due<`!4=$jG|ZBoSrJKv}aJ2ULvaYB=Q)m33q6$&vetjEM{+C
z+Et&hTFWdgH*NCs5EJLl`2rJ-<|(DRh^Wka<g%k{_4<wTtsmN(9dxOB98i`d9Hk^K
zP$eXw<>K&g!5fv8Oe-2zH^nXg*1h>rw_;S5>a4YDS<@E<X6IjDYY^ai#7XJsrhJ1R
z()M3_uPxHKc+u{*M8(4w%#D)-E`Oe}{BcwEQH9Bt|8ia{>h4|K?7KqmQrd!DpA)Bu
z>$QB5IeyGz`H?=xMN5~xlowj<WyEI3?6ho|yP}A5>)Pqd?4ND?aZF*!Wt}aKO7*Hr
z$BL9yodo?3scDwS{9f$4cB8{KS3$R8=2}OiTTcXRz8BA2x+;BH!P6ye_KZ#{Ax>Uf
zJXeJ}&v|A1|GKf)N>f`!mypW=i>r!_m~=N)*_&U|vE0~^nX!58MP<h48QPDe1lhIj
zhG^=3oZt3LV6v#M&JlG65fg?JCMlO<(k5m2ZwW~HxOh^RM4;df|H6d=I~G<i%o6Gd
zTG_Vt#;Ub*HkV0fxSjD}-ug}Zi!1YG59=kt%<N*z>s*yNzx6i#yT1P7Lv{OI%o8n{
zS&e2~eysn2tK#IrC9G{Z(^s~9HOjqwF!xZRz^y{Ppw^||7!8g{E39}Tdrf&`)U2>I
zH}@pXO3sqnyDHsK<3RYv&2rv9!-XP^G<Q4Q{jRjXy<E}QT|l&6*|4TC#lA1l$R#N9
zgh-dEL4n^y3B78wd8~7v21c!ay2bS8YL(~q7h2TSjua(duHielYW=D<k4&`{!P1&d
zDVoA1UskrsE!GifELokn=C`H_ua#@g#`;{xjQ^S2*1YKIoU~u+Ns)59XveCURfZ)l
zC0%xc#;wd+PC*Mf9tzidbXE8@E&X_wsKufQ(Tm=x?o_|kbM{AB77Me^sqBA=5^Xvw
zni$iTblwcMNtHP+nAoSXan0@EUxu5mU1WY@l&3f?<n4@#FN}E~7kRu9s!aZ~d*1Y!
ze5<|wCmj=9U2*rK0dr*Qh1H7NBxheay=+^jp}iV&lWN=B<S9aiN<K0ZYnQA_5q5mK
zB>m&f8nYzTg&EA*f?e-UFPgm7-YsbPCgUi(W`TsqH8ssKjcVP;jJKyLr)L)x&CF;^
zF`KeMuw?bYx~zy|-qyWV)2+njoQU7OO5FS;&m5!l?x}CHGfJ2a@mvv8dzg`Gq#{**
zXl|swPR{<6L)()kMH~p-m$s<n&R0$Q4ViPEHLUpN`f_Pps`?`5oJO}bmg=Xp<yIWY
z|NhU-`C0r+sfs;p%|BK()lTheG`HDs`h4To97}~`*~Kj8w``6dYkn{>BvVH3ymIKo
z=gt1JlB9HPo|P?Kxl`U^!SSjy$9X4BxO}>bgHti@RQ~SD^+vz!*q3Y;@hol=vTzTK
zzPm+L(=k%pc!id*`c}cs$~$$sGt4fw`!m|8mt~l#x|`{U=&Nl{Q$HS1nRYtb$nR(Q
z)ty^cCGR-hG1ZF8N5&%Z>H=3+)nuce?W$&<HIte&=S!^aE<L#R;n|bUD?KNc=!q8#
znyMd|>LTzeCf_%({h8~NuhU-s*>R<-teA7>N1L5rc$j<7Hhxjn`4tv1=XQ8-&y0g?
z)|ZMd2&_%I^shPRyqfNTJsr}^tj`6?oSZhZTP4il#KqWKvK`{K;<XoNmnZpi_46`&
zuPNF1u59C0lfB=!Ez7-iNyFQ!&u6n~K=p~D(?@1a_Om{as8-x=<)U{mW~E@s%7aQb
zujp*LXqOUp>qd5rRpD0Wn<;Er`&nk+vok)u{m#{M;?i#)OU0i)9oW71RFh7pjbGB)
ztLL9r?^ll$o_I~`la#5B>V=tyrx{Jt{X8cpEpf`J6~4LZPc21usJfOF35LEbRw!NF
zyh~z{TVr8n+`F8fyqD+R-^of7IsbLe^hF!RRhXHL4Xo5}2R}WP-8C~I)l}y1q4Sr7
z<nDcw7Jn|oRl8yKcHKRP_5OMNlK(0w|7M}AenHO0T=@_``5El}9mhS6RUg+g*rW4J
zA)%`3f_1ot?48fwl0S#-Ws;qE^vDtRTqW}ZcTPXLqH||eLx#!j;~DKwmCsKU3Ndt8
zF14R$dWz#!!{p78jMwjE&8XjLTCnepe|MCe@V>N`m649B*LECTwPE6E?wksZ=_lMK
zpEzPOf5tlDXH$&4k|tJr+~5CQQ?aqD)Oo+>cCpH;XyxUOs#gN`ES1u8R5M<E<sq+D
zZIx>7-WT&1)h|}Eyv(&o@Pwt~oJSeY*G}54ec3NK+uZ)(qMbfARz`9<#th8tX4W>P
zf=3N6=>3>y^F!K2F6q=l8}k{$(^zILlKgi&&`)pLmCBnJFY;uEoql-i)uiJri)|aP
z82tXIpTG4sYi3oEsiBzjv-G-WU#BTLi23||_DpvJ(@~e@XXbjO{V-(`Kd9-X+?i*z
zE@GY!qn2{xa;~QWq9rePu37c<Y^P|-e1`Vo?J?1BbNAa_zAx@B&Ghf`){U2yHePl)
z+_~B2UX90;j=q-{c<;)8eyF8fpRRj<UE{VXmyCWbuP;6{Wvk4|lf{V#rrz5lH-GiI
zIfA0np-R&096JM>+msy_+zpMB-*w|c-1n<|k~)3gbIYesk(M+(cjC9JmC?T=n>O#Z
zw6gA4nY81v^!yNk-OipCB`d#hI9;DOQ|Ro{nIiHxw&{QPcjM=bmp?c0=K9@eIkr1*
z6-#UCtq=Qn^V72~2_K%N*?UR+u-&^=vzt_zwHto7{R!WG|B_3uj;y_a^3KbmoHajp
zD$Nm1^=1`3v0h-)LSchV2d1u*-pY7#Er;`xTM-5<1#0Z4ZQq}^3^4XAQaNYRc4Sp?
zgT?82eD@#O-ixjM>?fjZv0A)H<o_G#gSEG=z1z8U66>L#>;g7b9~5>pxA)6&)arcs
z*u2oWO|bmOjg61n_@vEqUR;>itlZzpQvBpb#^EKNz2erdR?J{lIU&auUKFzO@v&Yh
z%giG;b{Ze^pYKr5r+RAhi@+tGQ|mNNP0<Km?w9P)%h;^dBVm+r;eyrSf5&*FjQ2E&
zS~GXvkhZ9JaG=oac;t?>!W#*v%bxTpi&Q_!{jotYUf#XTqD7*j{jPGE;O3{V4cJ{}
zI&bcq5%ZljRc5;3_1>JDpHpS@ChVwiymj>DW!;E1X?vr#W{c^@9S@t^)Y^Sxd;02W
zb9ZljC8&~nLP0N??c?JUlf|cBT(mRdp_==qH4>K}ed!X*y<m`8(B3CyR;1!m@$pz+
zqlE7(1&KHt_m7Wk>;Bu-|2j3%QtQz69nSWLUai`E&c65AX+GQkYM=D?|7zjZ-y_kc
zd~)&bh*uoeulTMM*#8n+;<tYqAInF!ev2f{#Zp0=7P7tDQM`WHETdZ;dz%a%9kl69
z`FDoHwkapcbHNP0B#mVqN?L0?T2>ev+AAc_3OG7>k;_Td=9o+U3*^`yC8|kfp6Wb0
zZ<~~t&*D=i!I~!1rMy;|&Y#7#dS%@&2EP>#ws5i8d{jBNWK-6MSK1rfgkP@_XVZOs
zLGs3=*Se>KdVTiqshhB6{Q<d2R~9NOG`-m9#ayj(xmE2fcl!Y?YbKM^UZ-_7pS8Gr
z=IR+A?X#_78Ap3t#S?y?HNRKqz0mAh8h2U5H8+Emt)fvLj%_KO#p_rl=7_G|VJ|sF
z-<j|J=MyULt|@D}PrtF*LzyN2g_w%$j!B7b1?oNhhyJ*2O0=J3@My(hUS+9_#Xt4d
zh${<uPSLm1{I_^=-;v*cHVYhiqq1oI;z?S2w5<iczD`X1?NcLgRCIf?pz24D7XQ6{
z37_8GQ}w;|iLI&PM2D?z;w5p#Pkk;%A+4LfFsl4=3GzQa`OfPK+dhpyKNo3j|MS9n
zcHS=|4WsisTE43;r*LVnx|1V(-r{Ku*E#czUEA79d#(F)9Oet3W_3A#NU`0;vr4+%
z<@~IL7q+WsWn9{)_jI;__vfyXOEL`1Zww9=t?)KF8JBS<^prvOp27<z&b~KpM_rcL
zcDHDAFRMrlx2>6o!GD_wk!8MOY&T~p=e4FS56xS*z4u(+!^Xu&CM^DtaY<v3%$eIi
z_I%hDb$#zn4z-tMEs<Uxm;T9UFZ%hd?@O76_j7gD%%lBn(-@V@{U?=M@tp5I`IC`9
z=0%Ng<g5vQc7K^{@6uryB$3b?u}kBqi0>)R<$X^y>b);V`ZT!+>WBtpYP~$jpHw6#
z=hNj;wL3C#(~`|ELtD}>YkD3pGGboX>h8)Ma-(Zckcr%s4ma*SotLYWMCKp);1jy|
zVc-&`Z7Vjs%nDxU#edjrx#htI?K&>+h*L>N#Lg&mrU`T3bt`IVezLTnX{L1agatc}
z{m9LqRMm8U%Z}}>4^kC7S5A2(F=@teAGXk*hdisJz8*W(dW^Mb&ehD0t(NB>E(>49
zd3Sw|@|w%F?@IP1I&#c=x=ZEUQ;TySyZ#l<@DSH@y_E3px9|b8BEkPNRh-^Po!hl&
ziKu^Hs_iakepfXU!Tqs4R=f`<lzLs8zsR;<>3dXy`gSGHj|b0JN?(%J*SxlXMYqH0
z5KG#gAE^sv7A|SkeZs+Oc1?ED*^Xf6MUrPvTy|hjTbb(Q6#k7t#r9LnM30AC`W*N~
z4tPxBwX9=`G)iqT>ge5+qI3A7QTP{=g&w?`!HX4V=iCrkzg5#OuygVau3K9bm;!Sy
zc7+KZFEVpK$H3M$YdW8Y>M@U>3Pzl#lEinPaGg+A*ptL^M{=TzYtY<@hLaj)*4&w~
zDs<s9lTshwXGNu}?>t~zzD4m`cEePr+bo|-bU9=d{spT~bGrN1pQZZt?nkMLlO>iX
zOuQp}Fl@`(w-uWzj@;zbIBh1g;n}5FNw1)?tg?M9J2zQ*3N7^AVm$9N;{`PZ=~?fV
zJl6ZI;Zgf@Rz#D;x9hn_y*Kbol4sZdxjTB7hnt1t$?kokdp^E+-NePUocZ@Mfp(51
z3gTyknhta-yiN&7__j!3e#<w}4fDh{$%@>(w4+2`_^%(E&Z4(raTT{EpG}@`D)Pdf
zkt<;NotM7ZQ5kdJEol-h(2YtnKIbyEV}*)VXdWlm)Pw^Zm*gu<cHb!Fh_etDlv(hp
zyC-=uzsPmBGjqB^U%5`L3J#qWd9lQF`>o8{(!)|wxp@;7Cp&U|`FG>^zin;%btM{u
z1WPq`O?dBQ`jao~W!j`Ctyd>AE8q6aJ21I4QQ~mY=T%cm9*F)G$&KUUR_nC=J#XrS
z8MfRH8#$hDUHT*B$lTK2lwMgC`L33ZL~)_Ods=FXlA7{snsgs>bU!ydYBX)#lGgJ_
zu9*w+s6DBi`gKw2@;^^n0t6hYKK6B#eA&FdVN#CblI%v79ZMEHTwW`Gurn+!V#?i1
z2IuzhW?X0M5^0WVT~M?tnE(Bk=llxhJ3}uD7xipD;>z|)r=;+-htt=K{aIPvZJIIO
zKM!5<YYkkic~v8|ui#$j+Eqo_H7~vOlci=}^IC2-SAX^M)ly;m)%G9xq@2wr`R~M4
zhN-5C0a>vD(bJY4%C|Dk*iiB9@N$2l<!qB}IzRR-nku@&`_@s#Tc!6dC;X0yw$>J$
z|F5J{w|rImO&d<(tffyp%Xg+9`j8aS;U#1LCdb46melI)UYGX2W$9(>F`b^&%BK30
z#lI@H?WCz_(TCH1r#4+*Jk#M?dx6ILQu_zm7t~op(-wGYCS=6D*`IOc{VE>Ujy-dY
z=l+(wz#nroyZF<rP!=wi)@3r;6<$BN{1|piY+0a{T7AxC>f{6!kyU%`XPgjp3!Q#w
z<`n(*MDEKI&jkh5?&_U*)1=DyaL`$ocT1Oau6+7H`?A%wS7udb?yUOAo&87XQ?Uj|
zRzo4L)xWb_6<E@$8CwEp%X8oLPS{x!(Nn&lFwb(gy3qqpo;*J08-nw0J-p~uo)@6|
zG_q9h(8TE_I{W9{b2Oc6x=lAcZ|4=M=sDWjvugI-x%+OKO=%rZb-3pN<?}v8?RU1F
zE%(#;skB_|t<CN`s)w$JM`l~a1TpU{vdI5-wlP@cIB(H?pAz<^?4?T&O<%K-!T8Zc
zZeh7|KTRsXzkPFCRxP!?Y*leVq+jv6y_y}NjEm0l&X2h^_w7y{hbb5CeruZOQ(G8y
zO!D!u6{Uw0cs?&uTFkw5@#ih4I%G~M^sbq`a;DYR_08+oJM+$Bvc7vkbIaoOcNmt$
zH1D?aVr00jf5DS)A@@HK4=zK#K>o)P^H*AR3I|S~e1ePTG1rZSj8893Ua@GKJ)<rE
z=G`8%R#$DbImRvZ{^c}|?o}7LwNI?xbGlp0Q)tby=)H#xB(_iDTej2e>}?M5>@_uy
z`Hoo`eGlMokmj5^W8!;@4*5vClR<VJ7lfKKI7$p9Sr@8xM(nc;*|(QV`MlObA12i;
zg$H|>_w?>&JS4qy!ehJl-Y#ob8rx;NDC{!+6utA|D`SVrJNZ4<2|L)VY1qFZV)~{X
z+Pek0_Y_Rob%0xEl9Hy8{^1o?i&tAk{G9SxYVpeIsWXa{PZu8eF-bJU*_88+YqX?w
zi1h9=j=SSFnqFhr5c67j8~4HFoJR3~71Nw6H{3co_qhQ7v0}bw7M-OJxsKdECi<gO
zw889rvzaf?@u#y4ik;0qzEt3HJ}$g*!<t)tH=W({3OA>3-gr%z&*{yQ4X2hgR?fdQ
z(`j3Q<M#r?YD2TXGpA4TSk`o>Z>@&M(NFVJxaKhkSyZi@$H1uj>4LQ8<B7jk@Gspc
zz#C|{|A4dYnZq*PCuORoI~1kcUUjv{tdfabrF@2C;!eTki4zxVSh`N>TJuqTe$M3i
zDfSDexOmBE%zC`g{fhDGAIJDD8ZA${NX}T%>7}HyVFlYQ6X_jZE3><oG4mL_n(|?n
z$vF*~qnuVzSN5MuIB+4un=R)62T!k6mqY9vhuAI3|JZe`Hx_R_tGN3b$Ev?h#~7IB
zicb)Gp1}A>Lu7O1hVI+bo<%esis>s>aaZh`wtUZ#S;d>5eA@G*NH%v#cR9<(E{o2c
z7G@=rCtj>pFch?r?hr8FtQ#;(OKgtH`Rubbn|G|QnEz*m(!oty;x-=DnJ4bw<SP=K
zr+-H9)?>aB?`0y!3wR8dGb(!Oo#va+u;%(HXG5!f>bC{HUo_mmYr?|^$JRa2+EC!w
zYjE&FHUH9`g0nAp&I>tmUub{*p;?Pkc242m`FqYzyKc+YUz@ExSBM_)Ideq#X-ng=
z5S87GyxS9dmN3sb_;9w8WskPhfj`_<rkCv3PWIk8MKkVA!0sgncJutZ7|U`jbhGG{
z6LYp0AG^t+^)JghRfh3qgi88BxAc{PCsZWTS6cThV02XGv+>lsVYtVeC&2g5#gjTF
z{-=%!AL3YlLi+6t#>Ux(Jq%r6Uzi6JZIirWXa3q<hQV0#qs`-oU2A4+$h$cAZV%tp
z&-|x<&unIy*;FH-zh!x^rBR;btl1JqZx|+2-#pxAx#M==<<dR;-GLL9?v~WNyyZ6M
z4%SEkE@tkm+g$E%#XkR-eA(;x>;!(FrJZ7{8x0%%mvEf2PCjyP*Jj&puD>dw)0s`a
zUN-hlImOsIm$7x)=9?YcGNzo^DZOVWkBWm8qe_pr;Yv*-{oNBprYSj?{o*;p5Xk=T
zh->Q7(|oC68EX%mp1J;aQSYBanrAM~x!~BC`sCU_r^aUmjmLBPo-wRC9wU|!BYwpB
z%#%bhQIAE}T4YzI*el7J6kl;!$K}5M0*AyLZOxf`&ZlfUz#Lr368zS?%i!sr+akv8
zHD`}KcE5B+wV`y?p-a<RS!PK}&x*da<jAW-dSCW@o5EM|Xe0m389Lscai{tvgBAO>
z9JUVOU}c>6g>&BSE}``wCKu}{Nee7mxRP=9f}0wWezWKBP20#h=LqM9k0JLbonOEb
z8lZaW-<^e@h1dP}(OBl=HFNcKM%kdlmxTjc7H!t)Uf?|?Zujg3w?ntRn5`ex@xjY#
z)#{Fb*E}IRUH@6F@)kJjnm+fy&X}<HCjr7+l@pJ6i-cO={&9fM=2$MTEQ`aLG{<Sz
z1h-s^Y)nmDkrFx0t%*@Ipz%=$<LuzZ*}IR-=DwtGcd~q{*b|G1k2=<LJDMHNa=N}{
zZMyK~g%`LMOt_m-Z2VSw@A_ZD0gpIUaw7b_oK9c%?MfB+&tbMY$wRYo!ny2wk2*cl
zgU+?NaLS()*#2r$%}i&mSsWrYt6pE8CNo>@brJ{f!D-Vnf+c5g&oef0e0k(?q}H3)
zf}b~dGVZ#P`fB_4kSOz$vjTKOTdZ6bEja(*#mn1gMQEwltmd8nr-ZK#XjJ6AB&i_S
zQDC+CED!hA#uEpXybUM${rqQg(C}#QE1rnR1G{8-`R?A1tGN~v@-TME%GtYQB#!Ba
z%{H|$a^q)_%{%*0tRno#6kbt}#`4lTc|OxpEF0qsmz+BrBY!q#h08i&3!5LW&pe*#
zbzP9VG|I7g$L{%^0vBG#-u!w}Vo~h*)0ZwPKhEu0Qn^RfNPD(a!J=C)&wiJjVb13?
zg<-GQOk0Dud#pl})1w4U{d9MK>S*E+u>7JkW$m)!CW%>VJ$l|;=HR_Aq`A#*&W24N
zT<YGqc<^>F=v{E8iNCzcW_h7U-j)0BZ{H968^56E{F1+%8x}_WF4<`}`^eh8lb;A(
zSTRSKoiE@<B%}0$C$A$#V^T%Amq{;qo#6E^F*?zfCoxv$^PxpM=JH(Jar9Ea)_r?#
zr^Y7kUUPsehnLspV&vn~`}ZWK_{8MNGM=mzQ@WS<q)F^J@7;3U*`gKKEABnKP`Y3A
z1H*Y<_q-{OuD^8C>eJh>XxejyPHneC1y49@=XK@(aXYuPkw0L%_F1mGtlCdS_V8t&
zEj;tW_}Z$|r~B)_oOSr>`@P}r!RA@>Z(OoFmi*|8!divdcI(7nzp>ry<k>lSo`{h4
z#J88NWp-R?R?7|9Uh+ppV3NK66uXK!f<GeSL=JY&Jt2JWllp4SRM|-`YiGXl(BZOr
zsJNshbzPrjnChh|t1V;K?OZOC%^}C{(>VK(;?aP^J)2#p{xghnO|P51r(oC7OwpY+
zjSG^m?Y-ljeJm~8?qT+`=t~;bSzn{`<=mVOC5lNf#(utbq%=l}Evd3EU7;^s)POO?
zF)4-f__?h+g+JU;zxMR$tEikOcUFGM$+_d$VYKC`#_UxV89%h$=YM!~W6z~Rmaaz;
zXAMM!OO_nxslM^BcZru)r;5+Ks_bn&W?hDS!Z%VTK3=%@X4gC2TBlbY^8as~P&Zap
zSlyrXbEbAB&)!FQSD5E7$+MB$vdXLN<ZNB(hpc-Rd{vlkq7fMDvf^LJ1E<L=&Afh3
znH&-u`c+ylB5ePP&<EeTEq!{tR-`=O?MT1z^65{;9?c+`lPe4MJ_}8B{ip0dGkd*_
zK8KAdn@G;V)`vN1VY%;a3*CSA>y$&*-8mN@uD{ywM%=ye%+fbf@86uMy?)_XPEO0*
zQ`;;r@V&jb?z#Fo7X@FN>kGvkD&Jo9`!rq0<Vg3aHlbjNl)SYS8CT|Q>k*6VVAKBb
z_e`lG=Yw^Z`#4prc1NgW-?Mr4_U5PL_Nivm`{G`f?wxKZAnR;fxwyZJQ@%=h{xlEI
zA3Nv%*mzTu^OdqqpTXuNbLNF#N(}!APX4lbmaX;EkbUo6Yb^iQ-CE80n(3Kh*i--T
zudg=n1#J3PviX?LiX(R_=4pIP=oa~PYVVE<Ym5{3o!w=6t0%Df0RLIhh}mJ$3)6PX
z=4AeB4HI<F+4E)nk$H)^f5UbNKffB$P;Sb2%59p0A7go&>~ja3Dz+lU?cWrhm&LMu
zx>!25Af&Ius;@{rJndtSyluu2Ws|6~7b~B*Y4Pv$RpIL_+m<oW@%EEd>%IJ^>`Ups
zEv(UNSblQib)NJ0!aiSL^TI%ObK#tK%EtNAu1=U<VE*pvVXl{%g}cQLX|0Jjic?rE
zP<K&Q-?sA!$L5D0gr~ialzKg5ZNaM*$MUU<qul0{d|3RdS!v7fJ5gRap))qS1nDOP
zx$jYzD-GFyhGFkcw)zB#gxR|@xpxYz58C)(P4TgvM?}{>4vo!CyvVRSevfDbbD6OG
zo3z@nWc$Ko^KbtSvZf!Y{g}4=qx`(;C%+!@o`^Y9mtNw}c(L{op9dp9LvCUG*H}M2
zDc`<x_i|jE$}g*yYlZDmn%ZdDnZ%cU>eQO+mG^hnKEJa@V3DokaW}4vQjy^L|1}r+
zGmV~vKll3~Cit}d%^q!CK7*IJFT&34ikig7$oX{hy?t8od%F9Uy(-oa5iH|g_G2RF
z2c60r&XvL<?-nF}F+AN_z3HHbeyXYC(_jDWW~*OqR9f--NuBqVR{{L5|F4N!pkMEo
z@1<=2OQHVM;`8aE8jROG12k$cv<4j5IQ77S$-Mu>dyg`7h+D*M$#{5ZL3guWoQBDX
zrq;tPIzoDDJPZ|`yCwCD-u&yB_}HymTs=tT<VVF*Q#1oNcpRL>>dm6*vm{{QqN7}*
zrv5M1tW0v{k~9i?lA|bcj8j<4Z;3@=($U~W24Os=StTn1B*V9Ish%p$zP2_b^~eN9
zXSQAm?PZ%<1(}brZz~MnQ!71P=hk-ZjGnWzrnd1&o8(-XA!xz&V3Sk&4Gx(bZ4ZuT
zC<fR0%>0xfHR~di*qcZ<-h;ClC%a`!ZMh&78Jd62OX3r+w0X&$6BCo&`DAyNzPPcm
zxjp~RuIBsS-aa-fy1ldb#)-RocD|FbD-i!~D7&5a&cT)0_wUZ${_dv5hTwT?na!R^
zzKVBVCpfDx<CJN}fd*;iW9`3xeSiG^z5T!abqxQe&u?J4m!441AhqH_{f~p9*PDJE
zO$~1n5aM{)Twt5=kX?Swfrp&3WfF_p{SJyM1u3q(z!<2#Wx+je!$%2s3okz`c-*V6
zAh@`X>FA6AZUNSr%zfs!+FYDG&Ljl6IeIO*=q~;D#Dpo_sb3zuN48zLI8An@$s}&!
zr6OrFv<{X$bJn=va@pVR<B~&cW?L69@mM@%x!SH?a$s_>-$T#z?y_I0qT%tOPp8H^
z9Zd-7?)3_tADw=6>-D%`)wb!;P8XMJq&H4|7Ev|zX27+y-p*Gu0+ubyn#tQ^dMzsR
z4X@bD^u?WSQVDA^mqqd}ne;8H#%zxGUA|`@zuhji{_<~wY|*XK<ub(+98b^5Js0&{
zr|{alg1JR!Z(frwxcF6U?S==jYVsQvF4K<Y{pwqxQ2+0!c0%(9u^9{Y{&;kIVGHN2
z^o4CgP8tU7vUVOy2PDdVJZx7ot5G_j_|4KVFmUgJdpzRGjm#4*WFCGzZprs#v4f@3
zOC}+wMQ03;yUR>ucGP*15x}j!pFz-ti_uePszT;WRkzq6m(=r0l`LwWNs}~}T}qpG
zQix08#+S)lYBMGX^Mw635e*2=-yl5OPq$V5X0O<(7f~TMpJ;^k7VQ-a%3S|dBsz08
zYs9V0)Y7o9j)zlc-Cw@+Rpjd4iA&3~mpN@)mAc^4tsm*#_gAf4zUZG~m{h{7No_Z3
zm!;Z8W*jsMkIuF3seZF*zvTAV@>_*DR;8C;x#g6e+0+-^yRTF`r_lY2!QIk3ufE9?
zKWB}Os5vPtwyXN{PS*E(e!eTuZ~1vII=@Byo%W*GThcm8KP1y6uK#$T@1qn{ICsK7
zc46-~|JZ#Wax(Xb>rXK}ZgS~|VZZX{8_CDg8jPCHJaChreA8h<ia--fucDW=r)Qhk
zq(!`El|}9Zoo^94*ghdMQ>gHk*QGC8M7C(K#@}`bTJ~%i-;4(=(iw@|p$`~mf6&y*
z$#$IEc4(UzZ)>*6mc;HL7xSHtTzMr6yONB)TOL)>((m+I^eD!4r~k^Xn6BXPf2k7U
zGeaHI3}(H0l#pbgb+KYq@boJ0I4@J}6LZ?juRN0F?+cxCd##?uO6_wpxraACRA^^E
zzA}01EYo=(S=ys_-xT|hv1RR(H|uQHYMseWTVV4|Wqml~BmTVxk?Xy^);r$39p36t
zxsZG3(FD<7a{JGyFXFBAsAbKT*SY<DpWRk|tu0f!co=>tb*1RA+y8jV-)B5w;@cJO
z9!gQ?#a`_1{;J_-ZN<^A;k3C;rlpx<rNR`04qu(nl^Ieow`R=v<|wd^g*EVZ6!(uW
zPOEFzGW&K;=JvhNxb)0s|J3SJ{vA!u+x{M54qDjt>%$Xu`>RG;a+9RPOq!3lTz#IO
z+Sn-cZ)(L97s+!4zJFrUbslSJ$F&(YOZQ}n9A9<xVgj3FuK(Jyr8~E{oXW3>UYwc}
zJo`D%a`O$R84DuBZ63clZ*}(4+_IX4;M;ePxo!M>wqi-M#~pzpcK3o;CG&oT+}ZKU
z$f7_rTP1VVvxDj;<}=RMyfC(X?b<*2SJDObi(03)3T4zhjaJoiS5e$<#pAllWMapK
z=OP@osp}P$9!5nK7=D##RcM;aD720BjJ%C$W7x0x#)~rrR8oE1nFZIJWJ%h>8nsf%
zy!wP`uUgdN*q0enozKiChpF+EO~~}+R^)a|Xj*?UWv;%@shr1}{uWC&%wsB@$osug
zSmxZz?XRV8-^lrQ^Lpd0O-YU>i!vu^?AXMxCFo1!illWG+Q+vX)1MzKnp)r>*}sfE
zq<`hBN9VNH>UFslO};%f?Hp6!<&-Yd@RY?niUOqX)x0(@X7SrJWtPX^mwFR+NuT43
zn|@`PpSz{+QQ5*WtE(xp%Ny<m^<_B;&p4E^Zq=D?{U!HGPnL)Ful>6yJZkfHh4-yS
z_W!+}ewTT&VNcb9srgS||J-M87}@8Mv|-D`NTY8`2X~#&n(=ipe_f{Rzpwl=SFG(|
z5IuB8R`jI1ykkc~bKAsD7R_{}m6u$1NT%id<7x8GT08Rqr{B~)EUbz%-sZ&bV6;5E
zvbFG6!_`MKr$`C8va**3E}n7w-=e2RJ^sgZO&q6R3g3BiZD+M{H{bm-siVBdLW690
zeb&E_I@$8dK$$mx!-eW~;d`}uwx7Ba8DVulq&%&+E7-5De6n=TS;JE1Yw=2(k6I~-
z?ufdQxuHnl=N0>Nf#nB`&xLTGX||Yj+IBi;Z1o)8M?9=6j&KO6Hm&&X`C_H%RHp2Y
z+izQWg&w;)^{3;EHaC`iHWOFewT_dwYmT`YBeheZNmPf)yzPpNrQ}wRPxI6HgU<Ab
z2D@uy2hG^E^O;`p%rk+HF3qS-yR~?4m}*wpTCaOH&n<4>Y}wWNaNg8UYL4$WoNxOl
zyl}d8z%E^@rva83wYR>l+^aZIYtkv1V<`zU{(U{8VAk_dL)`uC^h1Ab_OAQ+GxT`$
z4)ZSasAZh1B@JZ*Pc7Y5Bpr5rOG5bN`C`@4amT;Dk0^JyVH1kl=*?HobVhf%(90Vq
z^EMP(h-rPvikKwD_xivB^G9`!MQi5xeC%{Tlk~PR`slOj*9Qx1?Bt)De&h(A*x&ks
z(VkV!ja8*1@ok8}Y3>W2$?xP(Ih_}fskrt)ywk{O-pL84<bu=GCPq3J9Q)Afvt&!W
zTJ8~9yTT=F&CWil@!*JyV6r?dd9KLs;JhhLhnE`E=k^_Xcq1(%qgqc&uR=@k@FO$P
z3j0;LrI!;I3H%DUE|T}|v8cY-)VLiB*_XYT-^TOn=xeRMf4-;9&MR(RZqROd&f~ht
zL`B{zQUB|l$Je>exUM*<RL6Uh$c?~>vVS$NZhjyb@bKcsp9eOGUSj$*>&{&79Ft=o
zU7~l}`0x31ciYmdjWZrR=oN~VmHW{$`_K~U9~XoUt(dK48K-knp?~k}BLb{Rk#fd@
zEn#<B!VHe=-P<uK!)NluGgB5^>rarJ5D<Lnh{rTt&a6()2{DT2He7pm^Pc(JdE&dS
zdAA6&_bPJFXkZbTZ?kc7?!gH>TLXek?qAu`F=x-o8$0+9%S_=dydPY1!2g18=a$xI
z6OTq12!?$)n>1m5>rIAVqOm^>+x~3rs>r=nzBOJ+O;$xL_Ht$S7KhV+1KIwqoZz*5
z&9UbT+}7PWdw<Qv${BOleY~QjCLN+1x}H@i`N=V6wd1E1M7Ib`y6Nd2VtKWUC89}^
z^Vd!J<OzN`N7~QtY+toir1{0%&XeBT=U)BRa+{M)PIKjq11TQ8t^7K<%8wWF$83#`
zJGp@G*23T`E_$pNj;&zlJJAy+BIdY)T}Yr)j@KpCR_ul05yM!QSE)DImo`j(;`26?
zB|X>kaOnk8L(U5vzT$2Z#QTK3S{5F)W#Kq+Q*zVfyuAxg=(cj2%F9+Q@txxF*)#qo
z%Pfb)cv(Fur?0K?5^al@c6sypDeLj|i177kDEUd<y`U)j=c~%Z2TLkUWhX9CvfUM)
z^y1(B3=Y1hXWAo8LV~Kew*I)q<a8tC+C{(6r+RS_I&8PYtR%`=E-|f>?JGI6;^6TW
zmePqA+7J08Z<`rmT*Uw2;M2~T{a<60W7bJ%9}GR{&=V)sb7anmxV>{Meog)TrIYK-
zW#1njsZ)DIj3!Lj%MoH4#`O2Z2?m*$ijz$$BTY9taLy3sTGDW?Wac@K0He|gtP77g
zzq>bm#WZ$H6^X73E~`#{*n5F>N#cpC!CX5h1aFy;*L5~{K>*K3PToY`1sl)GiA5EM
z-jDh+A$-FVZ?&$f6xU-nQYu@+{eryJUM+F^x<o1I`IbBK#V6)op4zs4$;C6N5$j@3
z)%XhjyeVJ5){pg{+=8`?qT2*SOFsl|P(9w-`Sj+>MSh}}lwJn%y}47hGo?CXYS_->
zyjPA#Pnl%0=mD48W0Px78_uX6?3m4UDB{qOqh>`XdT(A$_;;iK?4*u!le$?hJkw3<
zJ9A)fVw|IeQr`)W{h8N<s>F`XJ;|}<K>9KUhh+|8ug+xUwTLpE&5+~07%<0TrrHdP
zCzBVb&7SG$x@q#&HJ(>b1P8OEUzJ&Q;_b3vmHVGMd2i<MdcV6om*Ha3)}s+VtUq#D
z@4vaD_^VZMld|8Y6`_^fe{B_hEe)?Y8eeXg(8T#dx>O{s;#^wHxnMP~@{8g%e|e?P
z9$2I3&iYP7_UNL`6XrImUS+hB_}BFEV&ly=<yDUu{1gn|%~{cSOxbhN-L2mDwyLh4
zbamUt)a@5j+oBeK?}^q-U2(7?dFRCkJZ@dPZ%on=P2&?w>t?xdV#A7!pQ4k~?uiNs
z7=@<wPP&)+jmN8GX5S)*^j$4`IX%zCOg1lUd9LYl`N_PQ3vXtvOq)FK_4}QY9}Y^+
znK@zVuHZR)F8E|<2Je`hw<%!SAw_?N@CADo&wavjchA{x7kR@9TDwzPi;pci=NJ`U
z(mH3^@v1!zep-tb|4S*B@Lc^OCOJatc+8tEcQk`1cKdjREKKWjUCNg6hU<Po-;xXB
zKSgf@)ZPv8y^*`5Z-tZA=91Gz3dePg7F@shICsy#bMHQ^Y514<x~5z7ugvjn@h@)3
zMj2$>->P+Wmuj@r;?+Vu*Y2tA{Hn@*EU5oz0-ssNZj;obOV0n+n65L`*Xk3;F^*|H
zzfSDslyv!!!QGJ7?IgD4l*fU@&aKzh-u;x}oshUAZGwk|%i-G2i9s?hb{Af6eU?>s
zVOFC6(~JWju4?bS78ax;KacVGybsfYI%51Pcx8fm_ZG5V{gUnZ=;T2zuCNBzlDJlH
zHJuV8okpugN^Gg`+_+C}J9R!Vhp|`n^o7SCHl0~nAznEtez}8e!V)RPv{OH(x~@Lc
z_VUccB~cIFdL+pG%&9kXfAc4>;KKb^JP9Q?;xFITRK6;odgFfMzpNXPvs`0cI+~*%
z$1Hl#<(s>9-X!jC-f?vfy?0mjOuWrwcaNv<@#C|t_h*Q#k~?~P!JYYYR`lqo-TBqA
zNllUagu~sqh4+Fww@ka2%EvNO#6|3$ZvQWhhh8lr-*Qc+X7BjLGi^>wwx?e9#$`PH
z+LEiZea?h&M)<m)dM$M?%(_<dv*A&$oJ{$3ygVx$LOEKWu|^fu#xH6(DkOcZ+vH-^
zmXy_d4kWFJpVy}T$B=y`)B4h9nE^uUCDR{;N@_e+c$M69Z0VZ9lBKLtsb0=!8~8fZ
z--$@yNqoS#F1D%AT{kQ1wqnrc39|C<XBEY~X?0aq=TiN>YkF9zLao7zra#>O{+cPT
zP20p3^<u}%e6Fkv-fa)oHLbnzDXa6E(47gdc%B3#T<xrRJNewfj;>z{tj5m_?((1g
zkufoM9=F45r;-n;VFJ?%XJ#;|h=m2SNb05dcDifiWqpdf)RCCo8~pz63zvq5-G?HB
zZd`j-mXhapRzO?+^IguXPl5wZEDWn~-D7$x)T8iCQfsl-^CR1yl=wXl4b)Njw&b1O
zBT?3Tsn04GpDwxcbmfY`S*!lA%Je_F=iueMP*Cxn{KbDsj8Un}()7!gy#FS5RbKn}
z`M%>@|78A^Tzetzjn1!kD{svWTl$nM>2}xC_1iOVbDnzYo&2~}t0V5332&Q`CVTev
zU9)X3{_{U4*(J6)LvQQbr=32j5Br5CoiSou_~zu97biPXzikp?@;npc>B#ZUF!|Zr
zwFS(bE<E<e?_*<*`aXH@y5uU){VD4f=I&a!Nb~6PONm@hC%^1__qmew)(3$FdzFO`
zdo0}I8)#g(i05n4mCZ{Zes=hwryQmJVN-H|QJX`>$KEOT?YwmYc6FVf*(Lt))W6W!
z-4A$cP4b;5%71Jzsr7Qd-kATcAYZ5J{kOE(zgN|ZY!Vn_b^huWZNIYZcdpKHChjE-
zlWHwA%uao|@~GtDK?(KlB8~H+++{D;?eo|C{e}114gX}GMBcC62A7la&ipqiEe|e8
z?K|U`^7Sqor?6YF!M}6?!BcV*b}?{G*f34B*Z9Bx%bRhY7N3vUUND)w&}6>plqkIh
zW_9!9oYJ>g_}?$H=-2b(3Aba_@w*Zocbzj-A~JEeL&SmNLt>F(F+Muog;fD-914~n
zeYaV8()7d=_p2h3l$7pPF{q}__kO%#qf6>3_7AKsrX_-ov%Z|0UolNKcxPF_)4nCo
z4g~YQ%~`F~Sjw|rcIU*BGfJ|@8<zd3(x}v%7XN$dm1E1;KTT*=y}y2XwWX=j_t<Ot
z>*6%-cUG>g%4jdiVEkV4`^Bp`-qn2TSkLoLtKf7=edutIck&je)&E<}d(F}WFP&jI
zzSgL@baS3I=kJVj66?hD@_NmT|J514d>mF~@z8+7GsUIOH+NI%Go#i|M>~CIT#!Dd
zxZq^xXVKP$TQ<wQx-9hAC1JVop>tLV+^u5#r6pa4J$}n2PRrZ*rwi{rajtR45uq*J
zuZ#UAg`fH)pKg->{7UQkS3mAbEGqexa+C9|LTi@d&0`^2H`eVvCm7RhQ1m;8JNaYM
z?xg!>dDEvKUU$FIOK3Xx_SPin;`5@d`?heG8FgRP_d6UBmzI3}+0+iMKfGdl`U81F
ze{8l7kJSDD(<u9zZv6)%`4%1r;b7@sN1|Qy;urQ$GZ3>1n5m$*Gw*VSVW#o?n{2&_
zroYQw7IC`nTD|;wWbl>OR|+&OE}LHc5WFh*Uxnpkmg@_AMTJkz5<69VYggb6hNJf?
z#guLTJbZV_*ssKBZDPq9rB^cT@jedh3!Yd=-Lnw6|6|oX4=?9H>*b~C70(u3NUGkr
z(Z}GN$F_v53u;pv8cS;V@=pX+Zs&NK;_n^cA9A5|;_i;1>DQ~f7w&AW`1G)NZPDpf
z`&S3;yC3Su{bwFejo)OAM7Gyl3Sm8Bo>NV?PSv@bWHxiYeT|Tpjj{8zW6jt4rfqnj
zCUef<m*MPZES_^Bb}!=zH|ASkGkdFzw@kzCb1c@OXRqJc(|CP#erzw-TWt&RqXoV@
zx*zPhd12kcCB=pNG7rb?7vuM8H{R=T-=k~u?{D|5E}O4;_;1HbPj%a)Tp3k~Q{rtz
zn!QdruauhZAM&}3t%|qg7Wa#t`cpHxFO@N{^vPNlJh`E0(B3c0&Hbpr;zNRSGYj`K
zg^Y`Ce6nJ^a!*baw)IX>%srt|dCBdRv}wkXhL4JDJ~QRxF8whub~`iMviw`m&(F`!
zEU;?jdz)#z!e^0t>9I94MY6642R6_9P*A+;>Y7OV3X6?jo3Cz&KY4CO<Kv@|TlnHF
zN^Xng-WD%<er>IEd0xz(vd_CByu;r`?bnOBk$O?dHR-5kz=DK{i(I+I^!OHg9Aq+1
z6W8S^|MutS(e#Ux?X#ENsVvGmyHa!gxjR<HX~%Wa&hsTQm3Q$<`{Y>sOH?|_DY`RM
zL|^aD4o=a7z1-pJ?)=~q)n2kbL$S8%%d2DSPiH7PAM1I4B{gFEKifY%lKKa>fB&~{
zZ`C9VkG?Gvzu9?xe-OXKXXQVYuZJcxwlkg;I@#9rhda|=GJ`>%jXklzvyD@`B$HJl
zWkJAU3Aq}BeN%K+omj|n{!xcZlS|AC4tcw(jSE}Vl01$z7JN9U*pzYRqf(2WRmK9r
zz?zSXe-?b;cbuGap|M?BYs<@}%cjgKTDfdV%&Qgi7KyA<)9kOxTDg3MmX_waC5O1q
zu0OPDmCxF1e@?C5c<k4z)&qBTeO|lwoz|LlXWvA<UhnX;gt2q?r$yfScFx?nn-6Pc
z^ZYY9ZSdG<(`miSK1LTfqC<i&+I*d|HNd}G*X(+Nw&>=Y2F#4x??w4C?s~f5_t_nf
zf;#+KUq_wTdQCJ#H_!Ujtl95aUafe|xA*;&*loMN><Rw1H*Ib9``zMEGZyMi-XN;E
zmhpQu<DMzMgbVgFpPi(?ht<{U(m|fY1&OU3_Aw6~dEegM;3ReL?DklxKe_%(WSp#w
z*#GxU;dt1ibIWmIcgvcOZjCHfC)ish_RUD#Zj-b^p@Zkt$8-H!MHNb-o>~%~f~Joe
z+ocjJRxZ=+o%K`Gpmvs#rhc*7<aERGb46zimq$&`Fx#yqyn5mNH(A;iC#@LSa_%}Y
zU9e_u&eq?uq4!_UX8X@3UtaBJlICeYD6#a)r6Y35J#SBhtPaUN7onXKd{JWQ?|1%=
zvRh4W{BjfhaKJcus`-Nk<9FAd)_K?LII=wU-7e9f4SKs@*06316KxSb7oL24w%MkP
zgWWY>BoBP`v(30|Eo<9wI`x8Wk@THw`)*vd{t?scYIR{Rk8F;>p{j>#H#l>@Y`w6z
zAvkD*;xCS{84voiR4yrri|+d8)+PDvAxE3kw;v1pt(k;UI_*zoJW)7)_wR`*u6I@>
zOpDu>>AgHhY1Qf3jfW&PS5zD-N;5twAILCc%5omx%uq*#&?(y-)^)V%6y7=&sx)J@
z)m+x>(9KfOKa!?f{q59m%;Nrc_XOJv!D+q*wN1Bg=}p~s^2~w2X`9ZZ8kI`yp7<fS
z@-t6nfV0G<KLsI8!buMTCP*LFRWIzU<}2?y-1N!fV(0ytGATOktKW#cwz#3_|Kz~d
zqnVAXS*4n;Ni0mA_HoK`+cyvW>*s8pe~nQ;W;-{h^v<pOn&zB#SbO-wX{{;ir)RFP
zmHDOo@xa$j^|mkUUs*}~nlXLB(^Qv40Y{GsVnLp7E7wmF4fgnEG;QyMlN^csJ0~CV
zQWKo4c*0)7vy(3%vsvoK14oaKkpXHho9Dhfqp^c!*4dg(`<d?fXE^TWx^&3NafQu>
z41SYmAy(nyIjJ9X3miq_H-t*;{h}J!Zgs`<-}cV4LaPdbOlr;~ONAajuCUCoe`3f=
zn__d>ZNd3AB3HBixUJgHYiPDc>mXYR^J?X1ZS#-b6n&IbI`1Wqi1qB%qR%HJ>$F>K
zvANdR=yEW5p5dY8QTG^^y!a7(F+Ff~`F+RfH32K#zV>AI-4^m}KJau>wXaB=u<PR1
zIIYW^t{G0>76nw5r7NjKrX;XF_GpqZGxRn}ahbkn$<ZC<hV40*T<w3&)8PHo)X%Gu
zpj;iObd%k4-6R*4^=lk?V>StEc6K&6e3t*a=+SA0Z~f`^$=NXvtCq3cGxa?z;%#_!
z$<*b!dNyx%dYf!N>9|4GOuvnFcGAZ~z9PR`^(&NnQe^(QMxLs2W8LD&m~_n2*?p#4
z{=&Z^0>8zMRL}D&Sk>h#Sa|sSAyYlWw%wv7X|p9x2yU^E@^EBN+8S`yHYDPz<+XzQ
z&UY@lUa{8d$Pky8T6>w(qvwI(gqjZ(mvXoE+g=U5RKJIHkJBS<rw31y6@O~1pBB;)
z_dRREuC#y+LV|1dN<=={#Z_c0S@<N$=jg<veO)067de!s{+SV)Y$Etv^M(BlE>4d-
z(~WxnJfG?vbuwnPiU@<1>-0afBN@MM58LIIIxXExZPqoB<+CeXo7Ck_8|^RJwKK**
zSK-OBxpOi#4tZ_%zn;>4!|lf7@@ctxT}q1SYSuG-0^2s}ZaFi_KKtLS@~&&`fow@R
z?=rP&7M(I|(Pqrs#-kmP`7W%7`*YEWH%}kUV6eRK@HwYMxXzOdzH|HEPOa=yZPu_7
zFNxaI_w)qwvFwHKb|}ea*58;RHuYY5bSvBWC^oj;-%2>*AE?TGRQt7w=O>@d1it)=
zt)Y`Fww+f@|ELvsmuWAHWa#9G*a%h2pI6?NuAf}KDA38M&9*=0tI`S`LC?q98@`F^
zsF+$rdSx-lxrj-7xjkI^?^w$IZB-F#&-2~dvV5+C+0mC;hv!UY4>%LPzwKy*)GWt^
z=S-&;zOUF=Vt6}gwb(X=@(UZPR(T7UiOxDcD>vXh-`P8MlT&VKEHj)^%R9yT^OJv<
zLT;W~7ijSyEBJ_r$AN<NRx*xLPwWuWaJM>@7{lIYJg1L4oq5)8-|ojc>F?(}?_TtI
z&bm8m?!27h9(A%yZ)eh)jLl!3+pz{cuJURU3z?N_FW*$MG*zm3+P`=GW~OEG=2FKc
zMSeS|DxK(@x7}mP-V6oN=F$mmDu&_d>#N01%enTv68p#Xg!Qs>*2EoJr3u1Yr+Un4
z+;Px2?9tsfH^uwR?%nsA8o%h}dzE#oA55M0c5&?OTbk#(!r5lZId^YpzPv@a-}T0g
zjYpTx{Z_WUzfdCO<g4BOa~_3cMr6zs(5alu{9N&1xV?Xsmdw`hd1o2r<~7y+5;pJE
z-aPZ@9PLy86rXD!``B>8wr);5<9sXL*mE15%8Lw)>USP!-Ra}(E@x5}zT_#B%DJ1x
zlfDW{Ilf?=SUst34{xvi<>Qw#<t;^CmQ+^7vMuhfe(A6DGuig_4z-EL8dC22gq_*X
z!Q`&PnevbOx(C}kuOt;QpHv~wghO5L4t3r5(z>=m=?L3;roVi*R`mKX^)qw#YwhxF
zvTD%Y;p;n1Q{xxMizkbp*=e*a(e&T(a^^D4*0>LMU-8cNd%>oB`nZ_uy*Ent-?_~d
zT5RZ+z#?(jP>(gVtmDC=Gh5zxnlh<>3s7Y-Tfm~%Fkj`sw+lIjCv+a=rG`r!e>~-|
zrNz2}8#xh8{tG)=&mZ{bx*$UR{G9dYcW~@@v8H?7`yIQycP-Q2@F`hO=B51&4t{yw
zzJgaJdMv$m3C<=ig63--8D2UVJ<{=8;&IA-h1U@mzGsSNZYewXt{Z78ojZ4xsi($?
z&GnzQtH?1IrH?f`PEWNttK#EyBjv$VxhM6TR1W_-o?fDKM6Y0-g@8mTk5<pi44(5o
zXPz)yEjTivGgGIxKfwLqg-20Y>jL<=?>4OQyLI;17R`-ftS$doHdXQHzi_+Pz|(58
zKJSvC@q`N;{TmD~d2W62^1-u@50>$K6MJ_m<FVO~mrMyqxz74*+n034$eq=|ft9P>
z{72{GwtmaD!z_Bsi(V9**JwY-$K3l*rHC~yVaKmGPZq6T^h$@{G0XN+Gwa_8wgJm@
zkFfTAn6O8|#raaVmD;OIclaw(*c0v~3GuhRx$s=5-DPUWt5p?Cg#UY2&ti8kYGDw6
zq+y$sawjQq*7EBOpJH6jUO$s0md@Z3$EBS-aZTFFv@I&$Wr4R0Hr(t{lW^XU@ue$s
zhm&L{+wCq+y{$|~Pdu_oIl!9sKrgu`n}z$>9~QQwYDN#<N}20#(s{qpt)oS1b&JU7
zmKGgZYi3UG103E7Cnprh-sC*>V{Q8nHLjI9@~O<md=4x=3s`=goL{hh>z_;>!AqfK
zi_JqCwzr&rd{3vaYpIo5dv}Ps(VsImHT*sI4*%;6@e8-ww4=ejcZ%zVPt6Vtg4su0
z1!CEk^r%iab$Hp27tCLl_N(aHeQUnl@M-y+<JYI9yDU;y_PFS#;Z$X@OlgCA@{ji`
zg&rmE$#c<|SS7H;UEySm*awwEt$#Q!#{F5khD9SoODCP9<kp2(I>IJ1x}IhH(vsYL
zh(-R3ug?W-zXq1t$1F1X#~Spy)*Oxc6LjpAlEL}F<0c;Lzg+?kObm2l<~;E+D`bmd
z<Aj!XZbtV4jcyBanrCwwZ{~D-9a3kqbwiKIP96)PNhaLKLw|K{Z*XRgI_+7xxX@2w
z0Y^~bvo{Og@OV4AhtKHFe#7(Y)0>_xCN_M9)|u`$%O+j$`N#B}VWQn9gVH73es`VY
zZuC#k;obXT!^>OAf0R-VHk{JrKQl4pNTtWi6)wlrPp)$dFiiU5<bH}hB_zes=Vd@+
z?yiK3mp4rkGuPTv^eXm?Yg(P4R!yMe%0t@jrdmE{Zh83JRwy~bmH*M>LgqX-)<tPT
zu2-U79bx@gB;~B3cjU0NcK@emzF#<;{cTuXOFtN#pZM9WzvbFRBd-P)FJV@f2OPyB
z#_riBa|(<@l{>78J3^i^^p(taQBeH;k}2vmSFed;{bJMTrJ-4^mTr7!>y{R;yRxt(
z)qE<e&*D^b%U6p^E?aMU{cH#S#RK`}JSi#{4)tEkwtsVU0z>AXf5Mgjex$yf@LXVV
zp35FD;hS4({do5`EJ+bdv++Eua6@?I6DHf^!H#Tgc4`yt51fi|c{Wi=Fn$uB&~FYG
zJD2#Ns|^P>r8`fZ_Czbg<!Xqeh;As)dLDhhDHB<yUu2$T_A@Tec8Oc|wqsG-p3Ssy
z&f+@ly!#ky{DkHPpZ0fc_hJ+{!oHY%V9PE3z<yDz{aRpKPr*qyhObjD7>D<Bng{1!
z-qwD@v*VE=i^4h<1BORt4on6MVgx6dMz@+TnG$=m$NWeEYueGm4IMvuPA$@4H=Od?
zy6JQAF6E~ST5VT7HDCL<?128UY3f&mS}tU~v$I)cow6xW`;}_^r`<-m&OPVE)XV<G
z?{j5c?B`N&d}5!AZj<<=CC`(2nd)4YCGT0zuyNV-F0K^}g7(WN?K<<QZxQ?I16?my
zY<`z@(J|)a(qk#pYz!QEMI`?7dADVTE<JRliRre0hool6QJ(<qgak3>Z0D6L{Q{2b
z)ohhMJ~4=?*q>o>78~=)YZu#BykRv+byGb(>yV(E{AUxrWEQW_O{&EwT^`7?F3<lO
zHgCp;uk#AHmR~UQ_{_8+fJH^2)i;5O>$+#`(a<F#=1)Su-xDaFv$%Kzb3|AJtBHB>
z(JjSaud*gQXz$+Pm!J^olpcA{+2O$XtY6K#e>Nn9yQ{qy=<U<%PWLK%uj;ghKc36;
z@4SsM0{>DHLc(qCY9EveP(QDp63U`{#VJWi$)Cl|ljE4MahQ^jX8D@%D;->`4=t^@
z_tbu)QF^zpPgsJlz?576`ZBt=W!x^84E@UN!%)}$tX9>dX-!ht$Do7%u7__fvwd|$
z|Me2rt(tmH$D{ZTOV^uz;%GLEatLL4x4Cak_K7sNvxZH|uXE>qb<@8g`*5P!hr$QH
z%vu~Ra`#@%@6<4JN@!JeU@>55^=@d5PMx2$qfqdYV(#iEE4H*(R)n*4h2NWS?t^H_
z=TfD!mW$0EpP#h(Sy7&D#Pr`%-!7f_!Z-DYpSem;+Ntt=H_E%xFQt9zRyVVgT6<+h
zc{1Zf#`aegFY}fEsciKBsIR26NSEhGkM*(M*PHuG(?u5xU63i8aOL&Xlm+Q$zo#qi
z%#e?i;P=;Uz4#$!*CgpJGh7O^d^Rv^g+y-q))evJ=(=lBi;gZ&Tob^>s>|1G{NZLG
zn``dp-aMVxn-!FU4!t~4#3ReSLqAWzbP^Bif>5J;leuk{W_rnHKc40PNsB)Hi!(KU
zYlMTz+7C=_!AxckV!pqeC0=eG@*t*q@%)t2XHN8ZRn9m!CqLZid)OLgqrRmZG}Gst
zO;+*E(p!=p!(*metLJO0rMA7}^0d>7-)yN!yCiurdr!up7h1f|ZOdOCI5n|h`T>=x
z6<ftu`}vAKWcS?C<uYNFQqZD*yOYG+#B!8(^!2|LUU5dL&wtU4BNcy5T-HP}g`C{}
z{)o%cKr4w#Gu>>dx=yyq{yeugRqMUI&TMejd97GOt!Vi1-(g3YT`nK;7g#)J$Ft@q
z$ATXnTCsFi+mV&i$_r$Ix3Jsl=O=LlE!xVmq||J}1jB2;zOGrbW!al8p9JOH8P+&9
zuy{ORG;3gqt1#i+Ztk(5VA~lM7I80bchkdfIwqZ%%|3f??TihcF>D3JKPyy?YV?oZ
zynW|PuI-M%4L_2Wmc3(EST)af(#~INE-7&>I4ZGM?`-1H8(SDP_XHiYGYPz+^=Ru`
z<z(5ODGH`G$Ac&7JX3Gfi#?Y*F(NGGJiEh>e=|-y9<n|3Lh|GE{(GrwG8lHvm)^D1
zTB6tU_A?vJO>39kJ#tQW%QEc}UCj<ZCbR5|(&6sk!`|i?hb0)_sJvirVwB@OM__LD
zquW7htOjPzb5eG0%6Vb3XQIsIk2#L|UtV2|RAgn<yYa2VV8-K#GkE8;*c*ptC9id4
zU|uwnC9T%{(=2ng@3R#B+R9gNJHlgS!dF;z^m~xP(esDr@Je@l=LvUszStn^n6=gh
zyBBs**Dv!0mLAI8$?#I3evVp4%(5BUcTCU59-8s;jDC#5%B@d-?3J79VrC^I8IWl9
zsOR~6A>&Np<$C`fgv6|wUNL?7-aT4(8{bx{CB0i={4zu7(!XQ=b+1;1EW90ZJABgd
zlt&ZWB;M|kn4GDVC-wOKob_f2KmLd}uTwQ(-ezm|I8x>CxoJ<GcW>KNCTyg_Y?xH{
zOflK0BJx@G&9*JmR-S(L*=2pRRe!tQ(jbqyQNa(sNHnwPT>hHG?=f{|wD(cNkknVf
zt*jC<tW4(XHU=E(zrtcLhsA8q))%vQq}?B<t^UzwTP(vqcdc^Qq`NkJ(Hrl|dAm>V
zw9imU{FBPrYs;0Q@^HmGed(QD>yB&p?lDTKFxs7Vb^YznUtC^2eirfl%B#6b{~{Jv
zYdts_T(P*lvRBLF%F+ejCscf$oW{N{VU1S5;LonyvP*Gn+KC5liAZXt-2WHyP(~v6
zf5^<X8GQZU6RjQ_&U1QNq-B!u__<Kn-*74RxqE(JUvX2?=-Tcl*5yyNwVy4VwOLI0
z`TnrhIaQnFB0g6L?2mttqj|%mC~mV(bDrkrEB6iMCR?t3fAOkg@YWaCUhz9H$t9Qs
z?l4_nz<gqAA)^v&n}~YQ3<ZyXRwrStAdQ+8i&$MmwWC7T+)#2o)-4tpvgC%7TbHPk
z@hOhVPfLzY(2YAWL-Dce>B)M*Z8eFHS<lJn6+S586jt++R7qT8p>_C0;3S`3tyae`
zFS#TP6CzrroZEWVL~kwo%5|-+SH?K!frd5n^2p8l1v^Y%o3Z!Fl;lo1t60W%X1c|Z
zf9q_u!*gQxl$1ZY(Ric1|F8wmV%FW^>+kL}KDX#@_E*(=dy<c4&3#pJw0-r=ji(kY
z6g}2{by4{4I$rB-Z}`>IZr8;|Z)?A`GqyV7uXM%x>uL?m_x~zZv_IKdulzr@dT0CH
z%l>cP75rrhnwy!r?Z>@MtlZP|QhNTsldb9g^nCyJ?{@cCdp=9aUMg3t`&%{lPwbC+
z!?+r&ogbJQ?RGXWH?n*Re^Bpea^pe0&W;04t&ajd6uC4PG%#_?<n2&wmksksYL)o)
z{C<n-suPd8RD)hT>QXMVVB%Jou;C!9T7tqMHldt^rar4#4k{D1Vip{7<e9r*i4&jg
z%?n%to+5(o|D@Ii%y<2&$U4bQY~q)>Jc6w!n=0?GT_EhMzw$_sm*LYd!G4BkGlN~-
z8bxn~1`D#z3a*q}8WQ3uI90?mfp^u_l!~dU&Ah#S-<(ow_g<ZrT5`2DEWXUsj5#tt
zR!cl_x{}&;zFt+gRk161wPwc7nfvVqkI8{0(;`xA#X{%TeVZu~y8PsUTe*i$ncc}c
z%JyBVWXHiao!n!R*JFy$tEtNrU$y!!U3SgMJ$C!$l?`{<)HB-WMH|iaPUF&>I5WQb
zM`g(Umb6{d=U0WKO>yFST)Fan6VI>i_yfXx5ed;;Y8;6N|1Mmypvz!Z$D(eTK8KAR
zO1ml^wFo9lC?AtO9g+C2UAb)oBd5@mhDH{p4;)K4Rd?hpnWV|kDKMGG@=1!b<?BDO
z`y^7QTy%DDUm|cp`D@Na&xBd(YHrUKR$lhra%)PM&(xC*%ySbILto5|mE_V0GPuC7
zBG@H#>P_|<r=_Cd?NzRqVrN^<y6#^bs-_uJH20}k>a?e#5%)_kUKNjAFs(|9&+g5G
z!wD&-TsOVz63bTbTD?ec<_%iEReavwNoKR=ufCShoV9*t-kU7LBiC-_T#^%y-n>sV
z`|XCUtj}e(9(&p+Q+6%!_wTp+%d=&3uU94<%6lwz)v5f)LhE~;scr7hJl|j9mYXKt
z^!?rLpPMcO?Bk6+U+Zo4Gh{>8>%ZIoJ*el<=2*C&Mf=2t3NfQOiz=iRDKxbyN7yXt
zD}0kE|2l$!_l2U^l@|;u3XE)W2~E6TPNeDzb4*N2o1kLK!mM?}VUkRdahnRKw~h6!
zs*WNxE#H?cS}L=gEIut2t5Z?Z;JLi(&X=YgnW`H4jKV?Fj6@amS_87U9|f;jq`gc+
z&@{5}_U%23rk~<yYd2fa82iCUe7lF1-m|7|v4=`4_g1b7US!1+Taqy2kjb-<WmY|j
zA)-^lN}q+VZd$a~=JE7BYrMh^{JI<xH9_>sjn<sQNwJC(H?K+gdCc@^<dRJ@zUth0
zsaJNT>RibT)4AUN_^glbmi@TyGGkHZQC8yxa+m*|Su7|z$KCGvtO<276PjL6?PS&W
zX!JTJZ1*uiGhXV{beBzE_Wl>);QVKF@z*o<g)9p*92kNn{xVHdYB$tz`NOQxZlkh^
zMec*Erji2F=EwugZ3#?51vC3x1RQ59T`=cm&CD|rmsA9w@uXWYOI@f7o2dQwQ>)0#
zg%{R6IWPFlSm~F|DL1W8lCz%#XvcFY3H%h<Cd_bpp?pNwyh$8WFXpgn<rs&Abv+W5
zXmQEwzBMIo$+VRk&yIALe?A$##lvEAN1@(yC*`EPQxd_F$3nUbl~;UmlH6j!)j3o0
z3fHHOoxWES^!h$=@j5jHIw-CR3|qM(G(6er>V<P<y8=~I#Q%A&U3=|a+2lK6ALmV$
zc~I+Mbxl%y>xRpWeqrwGa=#v6vr1?Zc34`uG)J!CS?WZ?%qKQ4J^8Dcp3I9_)y^8n
z6~N^c&{X5O%}(P)zk%?!4IH99b+hlT`7=RM@lUC7(v2n0Or6CxG3QNoxvQgaLWsji
z<O&BXdqJdS{I^Xa6B?S{={TP561iEPRp9Kpc=^Q%Z1Y0=R%VFL>?odVy-wI7Q&U>9
z(^22(h?(Zah3*&qZiakltZO@~v3TPO!T%;2D|iaERXQE36*o&R^wZNwH}sZpbiJ(O
zW!U{w^-KiU=HL+Bcgs32XWqYbW4o{KyIj}SQ)@!Lu4ZdaTg<DM6|u$WpSFa;rU{3X
zUWZp6_PFtKUF6Q_)#0+1C$F1MDwo&b+omUZ$|sC{%5m$sPg{hAUp2a`@|`@PC7!Jo
z{-`~!<8FBEC)1Q;UfZU7^<CF)eaVz`h(F<U%Ka&Zr+v;I^WUOzX}XzbiElyI&*Xb8
zZ_PGK9=KY@!J@Q-Aw@reN%mnGv;N}G`Mi@3R$kkD+$EaxQpK~FIkx3WJRcjlmPp@q
z-d~`?FPUT?$Z<qWBUS63sFLfJ<WPky_RG(0-wOsin=Se$u*8RvJ2+J9=;;@(x~<AG
z;_6>7O@DRPz{IvE>CTR3WdpzEOBa={lnB1G>5qBeUM|gB279)8zFu`BhnYJ|%Y4PZ
zt2>`X#E4!~)wa}qXxVMCd-apZ`pu0Z)zZ;7j)nE?UApICt@bhXj@3KLoCPNo_*dl|
zy4insGgH6H_t>;Y;uT7-(<^+<yj}14r{6s8(^e@qGdxc|ef61CZQ+8g>y}z%$7^rA
za*1QB3e!QyQ#;Rz#3ZoDyFYi-+u$cW;g14q<MMM-MKKzZz8QYEo-cT;tNQjysprRK
z9Orx#mWr$KdS4NJKfU1H-L7>FmuH7{T?$=1Yw3yyi#(=e2^71Acz(b5DsH2Gy2j>Z
zr=K{mFMc)q=5CE0;lg?$=BiU4vCU~dx-+V<wJ=%iv(wC<RccG-YoB%1<Yo4m-1h!#
z8|UqLv9p%`TfQz*VcWN@Jzr03$=k8!`n0<p{yl5X#80wHH@(+=`>kjG+}(FCAI!E7
zPr4vmy)r%d(7l-|+{Ma|yBGYJq>~)G!TUs=fBeshornLowlsH})y@6-##oupmus#6
zmUXTP7V)#wZY&d<o$&1fv&)CHJ5nk;3>Fu2eAGEqBl^Vi=O5!K3Q8G{&MBUcf;c9x
zS<J+%(lX!OvgE?i?7MAxv3r7q&hD6YFLse&!yGpu&vKD12V)slggb1}_PC-Q6P(p{
zC`h-}TvS4QNmD}UN6qx_SwBOwmls*=*ya|w#iH3UxV$l|)!1F}sd|8WTw{1>;PcqD
z%Q@{z9%ny`^1skIamngmY^m<yg`U&ZJvG|GribUrZL>}Zm7TP`(kRSx=8=}elfw$9
zhF=N|oTQfN944e0QulQe(+|S}_D22Vss8R}kw1)>Dz15NVo}g_RFHD6c{|xIw5%Zd
zSdDs<{kP)6AH{`dpV!EgM~S7UDSozBK9uIt<Tufk>B02qpNmv>efRTKvU{m6sP)AA
zp>sgXG?hzB8QasCqy&uTtjMrXFAXk=brLCAv7=;;Slm>x3ZIP)UhNHer48#NO6Oe@
zX`B?0AZ(soDBf4Bxi!r#LPa7?U0h#4tFW=hM^s|6VvpJjG3(OCKdwDNCE5;GvjmO>
z8lLD~ENJy)X~iN(4gV*iiU<Fh$&^ZkJ`Fpfly`eu?!kpE)2~-dGikX#$$DW(-p`JH
z{b!7GLc(W@*z7x;SFzM)H)BIgg-Kjc9s5LY(ZI+p?di<Ry(c|QZhq>`{5>L5B69Lo
z+bt#rB^?FQp9_j!6x8fclAK()#?*mtv0>`7_DkwU8OI8x%$2j*jPtiKJ`kVSy+XzJ
zk&5ng#|`RJ{3m(6TJGq1NI>dC-J?l<*4G)^+cMsj*Izp7FR-v{g@xXO(o8OoOa_UH
zr>fn-fq`{Ofwu&u+(Ja0OQuaO6S{FjGU7;2wn@*rwsM<^3DG8+Co<v#MciwCHYQE!
zDR$KA7SiV0Hho_Q^Ya<%eu0_yH5vl`nM)}Kx*lOO*V!RzQXqQnQuF0UeVdG1K6K<x
z5fA%0qyNdX#4j_#<QFg+v$dLD>%YPnUcwq~?$#w*C?NSH-G#aOBx~{H8T!(m{yj^*
zZUv__PtA8&T&q+t@j;*>t5V8hRz-PFMNZ??<J%1dgngHqGN~pQDsF0*Iy`CZ(@Cn6
z(lXfmt}b^-DDzc5kfsvAB(xyfWm22o;%K%)ft^c@C%-6~d{ux))9&v}0anMUS`Cb9
z4dFV^JJlIfd=5?VS(FhHDZno{HL$Zdu&5-cGE?gTBSS<z<Bh3_nbZEI$N7bq25nRi
zZJhRMtMgHbru}6W$2?}#1dG`%O!z7q;#(T@&-#ewF^^tr)||$Pi;b%!n;8?0FSx7{
z6b(z9_VjC)SGXBRss_(A(U6DbuU_<RFqBbHlU;c-DRx(-`;V5TD?MCyBwm{6c}+3=
z7<2edrR2BQ7#*1MEz4tT%4Q#P6?9wV?@~Ft_lNEOE!AD6DUTj{`=$xpK3TmdJZ&0l
z`<5%d3`RBAZYpSbM%_?}&dl%?XEwa?(_nVhB*P+y&8|udb`=_SMkzKZ^Dn4%-BkPK
zXQ7Kw%(qI%Z!cB0OWNs)8~bSrNF13U*J8u9YJuCQDRX~Ju{mDcwoOG_!T$zp!{Qwa
z*PfU<JFWhlRfG10HFvjWCN@v=I-<VPFmacJrjyi++#~-Q?GmS-++kiB+_+<s&~!!9
zL~)UYo6MUe%R4?d&Qr|ESCZ7)QNHqG)4df-{#C7AqtW1~k{N!{wC=k049(`t$7bG4
z3cHeMvryCXo{(qaDd`-omX$kY3RRP3UvDf_4VS&*`TMw&_(3Lv0QnG4C!vRef`)Zl
zUv*4Ax@yJ>{h!B-gM{=gx$WGK*_V1LRo&3j{b{p!Y5NVysC!f9{@W<0^~he)!EhRv
zL)^A@p35uMlD4L*O>XAsSYfKfUQnwxq2uGuTFr)9rSkdjpLB?)FztUbe_L1j$L9-l
z+A}V0Eq0kS*?~!q=OUwmiQwZ&;Zjz5(gzl{IK@Uv#_=nzWvW=q@oz=RoHP-p-y*JC
zVkhmMX73_0Cus5c7eS3P%PKybJ3if6dC_vkwdt$U)-}BpD^l;-cxd{Eu63&?1=gBm
zKK(jFbZK~R^zKw=soF(>&nu)%1(+{gvr;%_eSTr?i(^aAPg?fJBag4T|LE=(sR?2C
zm*xHA2!FecacO&aRjP=?@tFIGU2e*1j>^WCD^+%@MoK5_`_q|zKyt+`=ZP(=s+q$h
zKOTyD_SnGq!9<DTxl?vUX?w0zc3={9HdJ78sGVUbb6Kg*LiwtBw9;q$DW{m&6&QI{
z9CuBfyt7omW@YrjtrMkcjQ?sL`j+YF&=g+rZHnbh$I8|F1Xc88QWmg1T=3{==Rc;@
zjL4On&Z-Lf&FbnXYq-SPuw(U(yP~Ck)fa8qE#hZY>Ti`5aB%wSXIe(0J<p2DPDp5K
zT$R*mHUIW>9oMp;d5d;NZ!v#VC9y6^a_Ye{!>yX7A)=mH-P@y&EK_dSB3Q9iu(X`#
z_zMl@S&KK^m)LX9t@2`E(vHn7d0YFN?#RUN(iONptGh;Ky=LX4_GN8hRVNR77K+BI
zY73sS61wzMKz?CNO|^jfnr%W?jP|C^UvIUICEY~urnl||Z%NN>ds2K}PZs;g=zDC7
z{$t6>o36I6n-V3h#N@wQ@xSqzKg?U>+#EP_ww@1HGG*%EeY0P#h{1MKbOQG_&E?zr
zk49&${&&jg@Z{}XQ&^(5b01V$=%Qk#tf#(U3fn1xx6=<-aZf$5*fB7&UMOmzF2fPK
zp3H!gQyDXMcb{J9y|F>yXbJlcb#EV`+>5fS#n$VUPOteaR&`Nrj&jZ%!K16%E@tcz
zYcwqXGu8D2*NhhC5WA%bAx9HjAF7LdY*LtYl4GyU){QyOJ(yFRlX|}Q^*@mj@0Lkf
zs(b$Q9`6$^J||}RY9uTCo|V4K^RI;7iOG477oC@tat<k~`>z?9(VecfXVpH}`QdM`
z3hu1lI=yZ3R{Nhu^A(g<hzof;b+?OMQdD@fe^aXA=Fkqqq-!VcINZ%VbK=e1pxY}`
zmmSbNxwTm~ZOW@c{ePQ{)Ebm0wnnQe9AJM~tJ>g~{JWO*))cuAm6uNzm=qs=S+amT
z>!$AK=*24>t6n?uTj{y|Jo%Art%c8~|KIDq#Y=Zc$Fl703SbZH=f2?VvO8DOb<MVT
z84h*r(xc9eJJU9*^=&$OTz5&vM#)xXi=v5Qi7mnDjXj@#xs{e5tKP^orCEK+!N3K9
z-A1xHn{{t5atxXIF-PQ>^k<Hi#8VYHRm%*nS*Oq1bGmxghUUCAl3og@H~z0pzWKYp
zH+s`|_W;g?3nW-ne|}nKvUs0E(RSm>9kI3P7N4$)?DS4K>n*Msd1|G;)J4Uwo3>mx
zPWdLRB)w_k)L-_Z#)kgU*JEBk`gfRTtJ0)4?Y>7%KTh9yveNqA0V7E!B?d<!mTlq=
zOjb@say3O?Ip-TOuYSd%@{Z-^-<1p8Ed|Ub`#oZM=<TVpd*aP^-?v+{Pn|6>Rq0A>
zQr+QOfos#xO_ln!W|Oa=&7JzqtCw(f#04GRsbCu{9BXQ<U{?5ey8juC8Q#0po?2Y&
zm1ugn=+av8PQH*9KZ%K#*9E8ci7k!me=QQ$>hkZ`lIA9<c6X~#Q|lYgJTDf8ZTAk>
z7i*O}Epy=TD_QMu<6|4wox5^#woRx+Y_<0CCN<T2(yCU%54+5aT@NjoARGDWwV#BG
z@g!5m9b4a&X0<W1&)L{BQGQWMPw44W;Yv-f{wZpH*wXj*k)GdUt#fnP&b(Frz`z=_
z@@UK%k;hy9AAT#}^f=UdUX*ml75C_;ERIS6Pt*!(#TU%c_^vFsX7cuvDr^sH%U-Wq
z6suAZ{nY4=(fr;IE=3FKcW>w6(!2E3@o?1bTaCA*xOOzmJ}E8#X+!P3ZPsy4E^*Vp
zb+Jg8J-s1jF)=}LZ&_`yW^JIb#=-DaWfvRHX*x=|9?GydenTR-M<V7)kILGh#PDpJ
z{c7z+>N&w1X7V*BX-=DYatRyvy^CpI*DtoY{YWR$QTkO_xa{hUGmm)w%DvLF=3Dly
z`wPF+&E%OXqUA65zSydG_KB`ek;HxMucChzZNE2XvLW|F!+)<=^}To~5;;+#bK-_O
zDN{uiL>GBEi79xpo&L9Z?xfmx)41N<k2`Sa%_CKV19R3Z`gK22RJg99V5Dw0`Qgb)
z`k84rk2vrzFuI<e-of#~ymQ<3RjX(6u6{J#apS289bwz~*RN74In+Mwqx_dCA)Y6#
z!q4ZwU+`A!`+M`h=cU$iybUN|Zl0>P$jEooWHm_x|K1;=pK}xA^;&mM6gq13>&QBx
z7d0>c9n`p#ecjDos_FmI7nWVk7d^yI{XN2<=={Jz(j-kFhSB+Gm#~4ILCeGqiAP!t
zblgfZK0fT^=eLh3sW{Z^(Wh)(CSYl_xJSakZPJ$q51rd*7}{Tvi8N02n)%P7w(5m|
zN%{poHM5?OLZz3T!lI&Dwi^$+1c}Op1o$r8a+FI{b3<8ZV$<s`5zU@i27%kwgltZ=
zo?^hbeeK0fZilz+T@{ueDHiL!;&1n&Hyt8649f*#A_^ahwMFj8c-X|+eQeU{MGlIK
zS~>((&H5!8nZ9IPS`s`(?V#mX4)!_j%6zg>UowOi8{T(2sPz5G@jaE^-+1qAe}Cs_
zWRHNOQxk{qsmEPACNRA#*;0Rbk!iQsT9z$AyVI}dePg-Bm$19af1_h-+v?1#^G|ri
zwU)2cIu*P%%5){?#PEm4v0j>gr`&2-ykt#Mmm=%ztQ9Lo<)RuFNQ5o;;K*gYtH6;}
z^WT((t&(<U6xn5*cm&yn;|&VgWa2h39_6<`^6)5s?u>(M!kKd#T_sZ2Tx63<U2xG|
z-tkCcyKIrgr6bC&CPnRny()%Yn*3HCY?AIgh9|`9a~c&S69hCAC6%@aIJL|D;aJ2U
z(y(D=yHS?bqJ9T0&t-ikJ5H)i(V6scv88hom)bnP1(_;~c#f_NnAxNxqVbPu=>*Mx
zld7^D*(JYlY5(~1_|+=0pcf_kd`|x=Y5uZncNTN-&7k*IoBt(cuiLxplh;~*-o;xt
z3pw5PUVB?0n`h%8jpCjg;tI2MA`aVl`?aLaW#whbbd)$7dDfx0Ed0qd?{|%YS*zb}
zy%EHb*i!V**?}>(Bz3ay_J=CMdiU<N-OjZTkW)x(dTOT7c%OHMZ=$8JiL#;|&#rFm
zb@h9_xox(byS#4KmIsg59|$|XI7{o_mdROrR{YtWW#=TX+kfHfv{hY-EZi=dt<!fT
z8LVUvwV1rHb>A9;bavgGtR*~(GQw>9i6(_dWdd}5Im<?GnRL9lfF<y>`0RU^+GN_c
z96Y6vdF0bc*_wb$o*O*pEIgtyJ>+96KWmVni;C-%s<(R9F^TUM9Q+f+#(utKp<<iV
zrv+#BJ-zb6v0JF9OZlk1fQj0&59=fscS$ALTyTqb>Rh?V!>M!GTnQeL#e4X_?`~z0
z44JTs<)GJuLu>8cZn66p?7Zy!iv7Ea-tYPHY*Su&=fg|yzKPg{u3<gcq5pdQ>6*|p
zhDS=Y_iaD6%-_r~ai(nI19q1i`+f^bJh*r3>?G#5TRsGDF57zPgznip#b-rxV=umv
zU1$E_$=dlAVh#$4)k42S9l7)_=%44%(Y>O{xPMNum~g>!oi$wDAz9lE`f_!2$_@R4
zmKX{3iau=$wrpfGOKUnK=%pFvxbW2@VTBbetBM$IMb17EqPX`gPk=VZoYok1%WV%2
zWGQP!^+YT&(>m*+Aoy~UVEmKAa%WFuI(>S0ZH3yBO@^9Y?muo_cS~8Udg}zcoyR2M
z?J3)Iu4=f2zPfZrsbzbkONLMUB91x#R4y$zcve$Uj#1b{@6z(w1xu8TG&$XWuvuLR
zRSA;&dHcRW(?qjKKehJmDNQZk+`4Y?lqxJf<y7=+<*t(p5~DM{!)_@la7|0KdFOe4
z)it40yY{@Y+M6A*zAb&m6VKzu(*=3b<{h8@@T?K*goSY_SBz#JNmy2MqVn3eL)*{1
zRa{=bfHVC6oU1<hZ@FrpWySB<(0R6Gskhm&mGcXlCfiqQy0b_KFqW%)uzzQ>z)E_;
zf&D%o7~V}`n0smBDOQ1R2Wr2qE)$&Xb^IB#m_SuRvd_eXRf~k2dP;K^idrky>2-)q
znJ__fs<Y%Pp^%eaahD2~-wtp&=Hk4H@uG`vMI%qpKdT91D>n8j`6}NoN^p}7oS5w-
z71X<K+GV-KPM7$WOA}{JQIg#2;FW%6;^nd{N|Gx@@<XeXy>Cw2E+%tsl|rG{d=7S@
zrYDAMnmaikABkGg8IqyQBNTf^p=F1~C(fdd?%>w4u<gQo)@g>e-h4Ibk&#nsDzjPk
z!8q|t)0mc~+QkH3)x5gcYrTn26Jzyqo8->9$Gp@Vw!V5Ar*Zkx6G1oqoo94(C!5|n
z_F>tUDUOXF9d6HLf73PdB@ZLZoUJms7un+PIQJRteY)n_nzov&k9xK`7~AKp;x>O!
zbKT;hss1C613SNj`0dkUnA>Q$eBR~Kbu3?2o@bf$AVKxQ@^TrCe^Xh0eV+Syq4!%o
ziD|)~jBS4<o_DyoXv(6T3&|fo9;h}7-z4NEvSfL*cB{!sPu@zGwBoBN?X%iUq>p+W
zEPg#nTF}VZaBV_oYWJe6UPoLdA9@^);0_G9f6Y|B<wus^XHDVaQ!etyGF-E>UxjcA
z1@A5`?ayhsBlu9m((qyf8*Apt@R>=IW`1c2NOGOiwqeymZ_OYD)4EMg*H{j_<guoS
zc6HP)STt{9#Zrx#PB&wHzHVGu6EJn77I#F@NrRAimHO9a=IDHHvWen)z4@5(y%es=
zQAty;oj+=&yP;%e)2)nU(Jw_BnYXD&-w|5Ivht(uqUo8s85561K48k@I5l<VzweU4
zCc8BK@|+ybJ?Sd0KRxj+i$a2*u+R1Ql|Qdru3Wu=O-X0o?=|X&LkbKym3r(xByv~!
ziHZuXQ)m6ocsEikYvad)pZi2j7rOdh5bXVztH~MJ(Y)@^6W)b-1u{1$ICOM8ocSzc
zsiyBs$FN=73?^!>3hSCUEvdv*NO0?6tGg@xJyot~h@L#6`)^^}W7~Z3>480bVvC#B
zh9qBKx^b24E1|yox*uh^kN96%C*ymlYqFJXUx|RAL8Gds=gf_!oy;HkUxX}I_!^R-
z$R2kp%I?9u{>Gj&;vxPg{7P3Dz20McW98kLN0(NIPr9(7$Sf{x;`Tj>THc$F7@b-B
zLuk#*e^;|3nqKl0t<pYQvdnEJuSZFyTJM=mzt7R>?$tXFg}(fr8C7@R#BasR@3RX(
zv9bR9EYGQ@VDQRrR(wX`^0zy7`wRZ?4*SKkH0gV$$d8x@O;2ZXv32y`GishNzvsQg
z^tZ(qm@0FMTXVTM5;GRCm=-x3FAi||GwqiX(^^(Lp}?C3CW~YYw{~aEj^<I)vs!!g
z%26$?#hqSD7V*F5xF730X`l0+C7P`qZeP{x`WGzQvdry<_uLX?Y3+AYI`~_@TQoa*
zOQZ|U>#2WSSrikfWppXG-{$tp_@Z+MN=)a7Zpt&dxw^qgO+li{^30>cnR_hEcF*YA
zwNm=bCD{PRsS_^#n~@yN9sY3c>lJ-<o{Y~X@I`v<inElvvPgCL<KDzf%_~~Erx{FE
zcw4Qh-jbcEoA=Nv)oA&x6$d;{>s~k5y;)m4WtZaxjz*W=j)E7qJp8mQpUL#esoo0<
zb{8@+zAIGc3E-=X<m0K>(o)H{_{H?P%mo`dxCOcRMFn~`XfX0Ht>ER*?-Jzav=P;@
zQT=jAg7?IpMH>`?gd~qycAxz@qa#c4Y@*`q#tGkN8}Uxmp69uVFL0K0<;23(dlxm%
zUL(n|!b-{9Xz}Wk1`oZZ6izY9o@kV_Fs$4>u~ynp@Fb&-*QCvob`Og8ZG9-E?xeLM
z(|k{pku0+?2lM{c2b0%%bx8cXv2mkTr;Q-zm&cqApJZljG;&s2Iq{JI`@xx#uY{xw
z56B+U{@FccQgp|GQ(YWcIt(AX3@_XFp6uSmIrD&0cNmu>;}IR>DWai5jG`V25fi(g
z{N#S(D0lvms(8XYJ8zzgN>lGFusV2SjooGAy9zz$B6|P7oR@b~j+28?Ohhl^XV2%%
zY5AJs@*%ugoV@ZfyzD<5zn^sUmu3u5Rx3Z)^LU2!@14_yCNR`ov@Xk9aMnZOl?S87
z6Y<(8&#+fqnIW6EG043=F!z+wgo&E{%_|q2w{GO_;5u0?^3TGo|D}zP(F*sMdkR9h
zW;~p7vHH}E%r1kAOST4ecpU67G1?v+BK1#R(M2TKW$j8qiRdGejeDh6Y8q>u7GV|=
zSiSvev7Jt$ou=kdEulqgE^6{=pO$Z2m2t)}LT2Tjz{d8^b`vkz^)@VaFq|?|f%A*;
zlvo-2a}OtYtx~*h=rB=g^4b>y3q3h@S2CVf5x#tLw#s22W)*|Xmi`IO6S93ae_Np=
ze4}g61xwa7qVs>d1qiv9oauXcgW-_Gu5STyk&jfLPdpyUwd|sk*h|f67rmw(Rakal
zL2stg$<L8|%{ja|C(pV67Q27SFQrKBiGaUs%L#!D-g6e>0yj)bEZ5zBaKis~?+>0n
zl_%5QXfc*^DU>&LAG&?MJgcw%=ep)hZjl+DTRT+m?EJ^Q`NV<~+|H+xXYeX5{FSt)
zS91-g@2QD~iUAk5<y6~yE<EM5N=rM~wo{_JV77GWX7jB#rCvRrxFX9tw8qHXYmrmQ
zEEg5&wTaTa+JX<Q4Yy0KQe9}fq-*<2=|wlQXUlXNO%C2+wrI(!QyXofIBmH)?N@P5
z*)Vzfiq6lUJ3BLu=s)z~c)esN=UMe?+m%g=&*f<D*k#1H+G}c)#rc*U8CSZPTO<XN
z4jjA1koji{&#lXLU%3LB=01#MjImr0mNlbIa9-G|rHP+Z%kStsIm0XP=6FIOV@hVv
zm0O!vUS4|h!MQe<`LBGoY_j%$DCGZ6vGLl8b6b@|<<A_HHJN_x$HBaRv*ho5@aVJY
zQ`~d)m!=2D0rBUH^xplLe<i{*xU;XSi@SPKUz_HIT??j~Wb5=+&UpP}MtzdPw3RbB
zw{~@X;xjj~YPRCy){^wi>iSl_XOi{Y?~l6@N{-EWD4;!&QCvYuJW_B~VYrN}W><uZ
z#MgaSqLrt;61;KwqK@QgnWftw9G+OU`t(e##rL$$x6Iim>blrVNLYWR;o*|i-9I`m
zOK!3|#i@0*bKZ|mz6EBVF7I2hDxyo2L#$%cRMA<}gf3p+x#^lGS3s4)bXmC>YiH}d
zbi1`?s;{Bwbw`KvTt-XnGY=PvW**VWbh*N8dgb2F?uTopUU_7E^n$z4ljFx1$k}S^
z{;O3HTcx|KUWGCHkl1;K>9?)sfBqup)jaKk;dJlAV%awjN~<)sUoq*NGXHT`Z-3A3
zsH^k;RyOQ^d$p;B@0o}C;)K2pQ@P(Y=x{1*S(v=^O+gsb(eA*VeC)0gzZ;Afzc6iX
zGUMJFbK&<4)1BMqemqvJI(h14vocfd^J@eyw5$?uh*is4EIDh#!6y?ot+~EtqbuLT
zaL(e{+i$M)`ZBR=vykRT??=HA9z2tTr8(C8yk6BCuJ=jEKvDSBS!sREjw{uRPtDvp
z)1lMm<>C#q%x2$ko&8{k4(k#wZk?H&7bUYbB?BT^yC=-3+MpvWFui-`{!0sXDRECP
zjqLb6<vL^c&6<C1OIL`7GC6Y`;R_LTKR0VB^BJ8-A>HRzIFxPadz>lf_SWHXqt&HJ
zJpyNLExEkeqm<`zM{j{9qsRll!k^Q;Kd;@qd0CpJe`u*#cr3$p0e|)b(=J4aD~C*f
z$mBF(%hmpr#=z6P%r8RYeEGt?`IwYqZVM`e-|}y3ymLl&YGFwCZUtkuLx<WUx1G+O
z8fR>E#+b2LX<OgJe!d7sYgS3tn;d3SC0A{bTzA4N>B$7WixZnGHcpdTG;`7HSE&{{
zzkL*DO7TmcUOnr^nnqjM4M${lFgDI@l;3>RHtEUSLxS4^wIl?E^eZR6FFqo-@_Ja!
zeb<~>^4aG0hVh?2%S?`#687(0=Nt`thfAD}r)FP1J(HpB=5DLA-wI^E1$TKS1+V`h
zVQ_fg9MfBC1!l3n;o7uA`^Srhqq~9)t*5dt)d~K2nc>~iG}Wo=UT}*Z5PjssvqE=X
z;>)E%J-e=OEqn6B{ltcl7dw0E=XhNBz{4fi>welXmr49w!u+76Teh?EhVZW2W;&hq
z!ofYI*54<F`oBIAeb+<zPOr+8wV|Iw%e3}f@wmn?sbRlB*n^4O5rGdD#I9#+x%TD*
z|H9kLc|V-|72y@ysIhqS40fj#ji*%jLg!A`zPRy)<V?*2rKK+NR)(TmCzZ^eRd!nW
z-d^R^U0VFo98v{ckxLpI@1F5&3YsuuLidFy|APKZe9Zb(el_FTS(BSy2phh9wTp4G
z?y5<3XT#sjjqBN=as20EtDg}wExJCq#vj*=Kk;Sug3cv#UiwISG@iBb-KlilG%k48
z%`V@I5i@c%ucc1T4!QQ#ia+?_j5FS<Ejv9I3X9&BQDcnRwP@;t^GR~?D>ugliRI_X
zJzvwaCY49nr01@MBUjkNm|4B=_8b(s<Ct5;E1H+MRn{XUwKw3cqi^!n8#_Eo0?+^a
zcw&dL(>;$v``_-WUHHO%HedI%J_fD@`%i3LJiB{NNSG_D)te0dTW^xsg0>lHbLqMy
zpPOy7dInbt_wgyw>vz7IvTvhG2G7N|;E5uZi*MK-kt)32p8Rih@|L(QYERZQUfQ$q
zsL9Mr41%k>l~io9I`+v3HGVMoFV-<FAeh}SHLJOC(@Msgqp{5LvO#P@`mC?JWsP)F
zpME^t*~`4TZ)x_I-JPLgOV%#wXt$2!R1UsgIN|1-LMG|!7JNnQE2rAZ8lPFMpMFo9
z)2eZH%+v=H*W8tK-;mJA{O0oFx1!}&()PaSIufw<qTSom0b(hc&!66L_l(U=R9tqM
zqgP~FU(BktVr^=NI2vp7K3kbDyOpsl;Hj>>&3Tn29!=XkdXAhBSTIdmhfhG`(O=C&
z{dYX>Gc-O`V7xi0grUhq_yy0|AHF{FyZ*22i!tW@GNJpF?UfYMHGCJk^Z%{!Wm<Wy
zGjm(EYCf-(<lpA5PaISKHg{Qsb>z-I_1E~-Pf>H}iPsfBDVEG;OvpcSW%d)PUmGXM
zeq1zd^1Ov+XCvpZiLdTEP{z~9=qk2&mE=9+Ld9c+9iGb=+bbq7XS44%NL`n-T9CEV
zGVp^7=W3<LJ2nJO`4Boqi}hyB{iA+|;&vZQ{=PK+z`oRljmMVvOo`h6=ugoz%R4*k
zqjct^bn9ndd+%X<IO|&K(U3e9(Y*)K7HM}g6vgz1TfI1PrPxmQ)z78&!n%AV=dSg=
z-GAV-@7&@Kb8gG3F&5q2awCCvlXKraEC2g>y((887H5XuwkQ!{XxzJW+MS4B->>wR
z91{QcztUv#ou1Y566b%+4S(o=XzH2|D`Gxy%-CeGf<<;}Py4l>P8$6e`_8}ao6UVZ
zI{ZTBmduI5*Dq%;ob>zBoYuQbv|N@QygSwOjYCT3f|>V}o4%deIQjUQvaqs(jZ7-c
zFFD#bG_Jem?Rw|QssCCz+vf;#7)f<BUid!w;K>dX$-mr&fA>oox$jyr^M!J6@tpY?
zh4Tyk-t5ng$m8G=H}5FEydcbCs;jw;pYp<;ANeyH+ka^1m`MJPn93^<%O7DJF?|8k
z!<}*2pLiX<t~?=f{M3&<6*IKs-Y(L;wKRLB?snB>)lt!jyQ*S(VqPW0E3KXK-u*;G
zZdFV1p&KC=Z#;J@{>Llp$JfANn557psOh#qVBv*>2LzR5IwBO3TsS&J+5NWMFktBt
zV6rZH(lJ4qOH9LSp2!KN7EduX$BqdOj~F?H)Vw@26c@E{3R}C*@F-Ml^_}O|EOyr+
z>9FrI%?i7>Cyg`Ci#V?R7BVp@J3v&+r{?X<t?I#|av>QE+1t|DH-+x4@_ks!dPi96
z#id-s>Fcfw*Zf__q4OgzK|(iWO@iX$qur85aSm;7ezf+SvPiRtYqZ$V!#_9mK!c+4
zF|Lb-E|*vMC~vthtZudA--m;TJNeaZP8^G!{VnIFTFq&`e~GPcE*x{7Zr68b+nc*v
z+Yeuml_~#xV^gPb{W%-!_c#CT*k66%uHv7!A08ck{w?m_?w{XYSZ~m;zrDHlmzhEM
zw1+=FJUpdqvVB5So$i?nhwA??ogf~s^@H^`n`X{}re<}EuTfmG2B}VM61$cy%odoZ
zFfBADS0E`SD_3=TShOw2^e`<6j>lY@TO5+PbWVgOcUj~uRrXh&^5IID#uASdF7>xN
zM7ee699cZc=U#_$pPt7}rhf0FmqA>58lB1$<E5rtn69)y;0cH6T+IpY!htSL4kAlG
zEOQdx**Vc!$nwjwS#lq5Ui6S}bP#l6HNC0gt*#g)#La$0<q)&#l_dg8tYQT&2dns0
zUG9jnEp-f*nr0vxrW{u)8WPg!B^n;T^52IA%aabC5((bElT|EkP1REI7|wMIuJ`=^
zY9*d9hciqkkwMQaGIhqo@W}NR4-%R;&-xk_wUM!nEo$3x-uBs%PZ+=7W#91i+nkas
zGpl0@jvRH9;dzxM{=V!`X?Aq(jjPl2_x^hK?O^_%iQFG@K2Lo<uln(#aOs*yeaB~4
zvtE7{o^k2k_8ZB+zN$BKn`}{7d-RWP*^St^LXYX$JVvb2If}QgUSkv7C$ngcT7^JJ
zoBrz3(C(%CB(8T`uKN+%6|{G1Qootj%tu|ClM<#nJAUkVGSS(q^6|u=uv(QVVajix
zP6`aGTs$$psZwQT&OT2kN8Xz+)n<#VJo(L8c&2Rthtj`0YbP#fG}@x>D!cK(^ZPoA
zSAx9NdlN2s_FPkG<S_or@-jgB#g;~Ax88<VtjYoNCNEd1_{Fd~bgGtk;2gHnRiTbi
zswG^CX{MXo&2OiQNBn>K=26VPXHTadJtn3-ql-uAnN#XS&ucR_%|2NWe{5-E+l-6_
zYd755y|8iv)2{P{@p{Far^PnxWA;BTQ}%@|JvMV!DgXL?SC;DE*?;T%vU}x!FSX5P
zd-nBO!M`V4)9pAuH~i1I+{pBg-}Yy*Z=#7ZGh?Jq)8C8S8`u_09-8Bzx6blruEZB9
zwxti4g_Q1{_WEKZ`r|dTszD;#-&Et-sUIApH_i=TcS!Sc?Ni59L8pBGIfXJcukdhp
z<DSI3bCIT^?AZ(xt&<bFwwS6Vz4eUinlyFIF%`{~58B<GE;&33nb2&)63pBv!g(&m
z&1~w&y!1V{A1iz^Z|P}J>=R=2Q8=`{yG0?OvPRg;Mrg(U!Xv7BfguYc8XDLwPAO^z
zcq}OinldNDgT-s*6iy9JE5RiWYLb%}R&8@?TFToSvRrxY%N2`6_r<JGpXYTmJgaTm
z^;%VfM9H|`s#1l0XI`YYbDpU;Tdd9YFqO68V*jTP%4;P}j<M~&(w{tM>ikna{A?x<
zrj=D}mS$~Iw|yWi{<G?^?+;FP>*vaR78j?>KFnBNvrTaN;cGwl{%p{;;rOG*DEyCO
z<F_0B^WIlR>`Y3Y6ZbE#={!pqd&0`yVh7fwO5bsCl=QN>!BOnE`&DPBQOah)Q~{?A
zH4D4kL=<;+oG1-DDETzS!;+&j#8WH5QOx|S$Ti8{PFJs}={^an%AviUrl)RQT^F)-
z+L<i@9a@YN8&U+Cm+<=Lc~5qJk+NOjN@iZ+k=wzK)dV}w_$nz>Fw7S-U=o<%Qpmyh
zT8>}UV{*$A6^?`yKZC84Jqm>;+7-^>OuHm3m~enaqM{*WS`d@hI)f08n80v1)l<rS
zuhJtjL)V%tnaVL!q1ogL!#bfW-glo0>HWVrx945b^khculphPvB*q+A^E)Mt)p*5?
zO|Ojq&3ba+fd18!@%jIrZm2yZT+gH;U%Dpq+<mij>$?lj<)2`cdGP63{2@txn}f#Z
ztK%*wJfF!|v4L}b+uh=XV~uJ_{~n7U;h9o3Z*6Q!>rDmzK#jd7w;!Z?f7vB=pkaF5
z%7+~)B9R+zsBSjR5#{Ta5TBrRwq&(&)JunzCd{2dom}%WyH<Gwud6-l5w>g5v{e<V
z>pFc4gMVL|c<9JB!+#%oihYEoScBXgeV-`utqgXSYk0JCrG!$&=Mx-zq{3V^`B)m6
z7!~=&n`AB@DV(UxsQxmmNum2duz*1$%al!x$Iqr{PQNn2*W{>`($c(xOlph5S}e3S
zu25KCW$GBcDk$Ke@QgDqYfp>z);v>+zFVYsyh~$a)l~V^x09k~&1BqSQ^u5L#y#sq
zqImxInX_L!3bwiT@!5eRSJ#&;)1UifjaokIjcBjy{&lzZJgZsvTJFE#8JiBa^R}-$
zeHm7z+i+W(GTS%I`4N@vAl$MwC;GsFgE<D9Sbg8Ko7`B<^X=%gYnxKfv*>tpt#i=b
zaq7i~S-J_KJM-L5`eja^-myjGt;=brCm$vRY`DDA@??fs-KA-2Jg(gQMcvUZCvREh
zOc0*GLs9XY$DYVJW{yXz6?E7-_dSkC7ES)T%JknVuYg4slfFm<)<=g-$!4;g&7iuj
zzSd}&jJxL^wV&(l3cW6`S+i>GzXKs2Zb6J(-*#&;3QIUi33<02;+Zym_fNfPN2hM8
zUnVJ<8gQefv2?4R+k*M)AF%T7>8_i@%Dl*4*pewY!Os7z{Y#_0bH6{%<vJ~Sr_y)s
z%g2!>i!*nBeOC4PWkA2W{nFpF+B>7J?40;+2b;$MW~1v@n+1Cll{EG)7CvwKp?Ced
zHqk|K<qnQzZKfQ5ofc=Y=HJ}0TD2iQeQMLCI~iS}l^Rncj<8lo-mwV%aKpf6t6CJV
z>g#DzEyg`tIjc22Qk{er9{O_FNXT`iy4vJhkFLBoSj)TWZ`xy*eH!X*2CEnqEgHHd
zzcOsNRT04E9^%c_ZZY8i%f!Cw5Z@*8!kixe8q}muaH`914;M;cV7ilDq~>0ddan7X
zTVbZ-ujaNb|5tH@P5jICCdz&4x+j+$wim^2D1NFG`6-B%m0w@hztQCa!=<Pi&4gkD
z@m(9-^Vi0%<eh$bFWX|>9<#&*RzLUsC9$P5Wvg5GtKOXdn=<((;{_Yr2Rlq2RJ`eD
z+2_ul&|q`$E<^5J#<{VKSC4(2<8arNU*Gi#Ul!YaLw|u+UhD#H<+^TnPX@6`E)34N
zw*JdGt_^*!Z8%caa`o)#NS5q<n{!ID@s0rJwWmuxCL~<ClG7_B$tjR|^ZCSiH!g5Y
zi?}^Wz;kK>?<9>r&z^Y!l@ldj-k$j9!mFPP9o{UInmOZNm*)M?i7h>y4$K-X%EvCc
z>M%rdUcI%W<x}s~@ZJMamR?*JS{4gPeoMX2Y;%B><tD4exo?T`N{J4O=Y*`3I4LE>
z*>j`Amvcs6#q8}DJzjR42wQWa*<)HHLvIgD8~23?Q92!Q7djdxP9zny&3So_Q>N|H
z7xvT~x7{bg()XOcA2};8Rn~f;6t`Z~m4|J)iar)q$v-E=mad)q_l5$8T2!@20EgNI
z=0&mW84b733g23Jm$7m|<&DLRKmB>wChR>Sb~n>I!Q;%A8*}Gs9@AswJ`r+yos7q7
zmD$-xcwQ@T2xoP;O%<5=GkpD%4&G9gfDDmSoHLSc228(tLi?RZ?~8vPJ3M)}tNK3I
zo#=D)N?YT--a8_GUn3sH@V-8)_}cfZ`xFO{4Ze;?dYv^==Y3fCNQG<eff-D91Q)xw
z^j^I2X>E)9hTHv;PZdp1`J~K$oG_n5N0Ox`DW+3N-IRgNNAl^E#1oNmGfgD)#llXh
zPQ1j@I>V7w?Ay^7J3M+1oN(UPF*ovBqsHR;h-o^!{%==s920o3Mp0!CM>yvuVOy)a
zwp9l>y6)awxxjqi;`Dj!8J8B{?v1rtcYJy0T>DAw|3w0rla{TF4L^KhS<bujIS1z2
zWj3suDRpSd@#{Y?Uo;i?QsZ+XqlYE6r(PgEsYWc(M`iUH9?!i!r=|w*-8{pYIqlcK
z!1Pxq{3e`ubfIAq??Dl7wTUv<QhcV~@u@s{!-aSI#B^UL&#MYvFBq>*w@}@EG<}i6
z5jmkF4u2-zzQe0z$soNm&`D<LU6atBl@a$Mp2}&?f2a}jsKlkE?Lbtjd}NnWWRucF
zTP}^T6`FAewA3V5c^q9fCGm2Jj8E<JrchRWE#C5?DVH)@lXcV2XN1M9Y2cPPHYwmj
z?1%P$j0z54&z*2dF25?dW^cDatwZj=^9*0l=We{q`RuZ7R+{a{$LVdcH*{axd<(l(
z_|ncvp~@!V;GAWQf&s;A)6(v>EuX5%cr&eV>D-)IQZ~<?-40w?{4)5kKuV700;jf~
z3?Bj0Z!i8C`AtYtQGE3Be%i`8?vo_FRI}DT@ClPS5%!0x`wq*Bl*kopUYuqLdv!o$
z$(Igqt-xoE(td8eyL=~J{cvK3?TpD2d?!xe-Q7A*UX5$_#sdp-T=xGw+3wrY@Tk{G
zfUDPVMfllX*^7Za2hWC@omAiz@)U`2l$oSq*AU^R&FSDU!Bv~Zq>IJpK*X~n9XF0F
zm2f>Cdvtq{t4`g#-**FkN6zceh<<vIuUAYuealT}wZ%Le9JVrWC!UB&2=Xozi{<7y
z9&==R!3$xtn`ylBX61IhoU6n$=aXBW+1$S-D-TNbSWa8aw04%|CRrxi2UEgc7U$lb
z`)pZW+A^D32KE^`Id%V{4sxg*o266M_@-Fqc)_U?MpA7H_)Zj<Jz4ljTfegP&4x4i
zCtMwu1}%Ceu<McEgckwofqfwX=Ykkq6XsqKUzd0_>*kG=c@>YYNE!uB<~h~7LQY1M
zPk{01uB+*RKjrpwc6BPU%+_e>)okh3RdwBQ<8B3u^9hN01}(iW13i{ZeYnGAfkKx@
zj;L?K>c=&YzP2j;2+e*pFXZ@IzW^TB2`0Q;H8D?FZ){$9ZsHrSsiCdGED|wG;=`{5
zoDCK0+0(GVY`L-2>2gE1WRGKMx{8Gy!nwYgS<5tM%wy+%m1k?JX~QdU<7Xbj)CJ`%
zJkyS`b9J%LTPADmm%wyWZ1$(cv;Iw5ldBe$y>HF`iZxkX?zvgda(fi)jYQ@?Q}}X(
zLFiNae4*tZzi1R{DSN#0TgTEJdL%$}6KjM`*36|oSM_-REcLj&ZbE!zmx|-jD+x;~
z+M;J138`QcU0oL4oI9`W;gi*y<kZf-+LdVF*VVG1W#T*zubDkA@=Zrv8yN0=)0*#c
z<hIqRyLO8nym`JrLp$ix#HiR6F^ZQS=VV8@Wq+HwD29<UkYidxC0DGa@3h3$S23+m
zi(Ds&6r7qk>F?Y*n!3+V@0CeSZB2W)hW}qsY)4+q4Q(US$^BuEtv)TTx}$tZYo*n^
zgbcHu@Ap>n9MYWZbhj!(&8&2m&0U3$O{cTpE&ErQkY;o4!ErTBrj@sjZ+h@0Er05-
zkGZ>!&$*;|Qb^$Jfd|U&J-G_(6@|wV@5Si9&H3%NL@fH+nZ10G0VlX^mq&kaiR_5h
z$UeGvmHf&z0!f{UF>!0fIK!SFRcSxEL_Ti@^X^qE&ndDoKfPIZvHfn=Yz~+8K`gfp
zoDJT3?^YCxbAu>5cT3OJz%bd@^J12I-gtG(O1t6Q)yE$5eN5K*DCo7M^d-DK!mJad
z_Oj(k2G<j@i(PK(tc^D|oxGnISom_1-;+p@w3Y8B{gFz0DqHyGoYAjI2|Vty%oDO!
z`OGy-m~-g(zZM<o*J_`Q&U~`_vg&GPsqOK%e&Jbu`tH{kyPp2{fTQeL&a{<>e<>?F
z8`%Yx9Q4|>viAX-g^_(<0?)ArD$lPu{a!gYwa7v8+3^*6Cs<aUc*AwZ<N2w(J(uHH
zXM4``R_*Yd6~F7yqG@-FCFNZF9;Hm`IV=C|6Z8I6H<Om$I1#ewMx5e4U#Zj<Da+8V
zoo9O#L%mKINT(Lh+h7oC#}e_i_r6@V{L_olZ*SbOxzpy=z#Jhj_}?SGaFMztuVCQ1
z?P0Eg9Gww4T2JHF2`x-H*Kl-ZYCzN!$(W9rQ3{LyX|^RTY2aDVpi_A5giNA|(&T!D
zl($JQvs?1hE-g^9zHYT|<Np%1oM-QxZ)YBU<v(rH%7b$Zl^<`*Zc0$RE}Z^vQ(CFz
z_d^qO6c5WPomZP<wPw}Z^K(9}V?3KVsmkGWA3K{#kHaH{-wcT-?g%wqxx05)gD&f;
zy<u+Z#*aU|xt?r#jnl!k`$R|DYmZ-l1<Fsc3WjEJ>hxBGtrgq*G;BidL<57ixh#R1
zrGc%__3|Y|JWsZqf7NW1y65J-5JS;DFK6G4I>J^SxVw<$-T@Y$HM%PQqB$zAGG(at
z9_&4|)aB8K8(~LTwz<9LQw~~sg@w)HlHZI2GZQ9t%IyeE;0g>`70{6}p+G3i<Y+@G
z>+@+c+c^V!tnNiDk>7B3lH<;8UP>MtI2Lzb>1&c<lQ8Bs>7AuiU;eMhq^ww9y12os
z-u>UysP_lGOl<bub-n-bbX5ZHyuy>0b}sZTcNbs7bLg3OaX#bL2lM02@9brp^LwYW
zd{OyyovQoKj)xW9Jvcq#$V{G=PkNec&bL<ANT1mI$YZNY$8S%S?y~g6mmFe!51)2v
zBuPqaKbg{Hvt#0ldoD9PBf3pzZ&`Trj{1wOSykJ#+Bf>fFrS=fbI$e4y~hbIrjLE^
zD=cd4I>I6UI=E8Q#eyM1_CWYVQB!Y?enWY#HKEJ_+FK?)l`);;C$m$m_H{tQq-7c#
zW3o;O&OH?p^2%4jaxZ(U&~uO38%4S&>FqYl3JBm>owM<O=<J#D9;-h4xm@G;WO7Vz
zC)=DXhy1i<%a8thtaMy+vGK0upLc#;rSrMS<eS{~_i-gBU;8iry)$q2p1e!SC-(2T
z+<N?N-<l<lx14&nWodB9oa>X>GSqV3e5nxst8#f|?hfu1!Y`fG5_MS@Y`Ljjzkz}0
z#f!u<+0z?Uj4rWuKN48E#^aFm4I%bcl~lf)_4h)XV=kKrdK+!j+pX0;({pRCU?3}}
zT$#n^rweyKlnaqs;iR#2-VV<0T$gSCXUi>Qi11u7{|6`c<g2rKcJFVk?w$L)f3M)e
zDJ=cETwA)7I1Q2}84CHHVUe835Ree`{Vj`N??a8hyC>ggnV1;!cCvgB%T?`HC#LPc
zv%8G--!7Rwmok!qCOCi7h|dw*^w02EvIqCOJ%(r3)KoWok-n^OX7k39{Md`$@82ca
zf9u{}#$Q!nZB=M*;ySzj=j~)y@iohmuP-{jr$~I0*ZpTF*8Q)1f8MWnzunOX$J_NC
zN<Lh8c(`4dJy9j(B9mLUsJ6_ufQd><+#Q+<+ct0nvUa!eMtkHq8nT|8sO+gXCt}l+
zBb{myt0HD5shysr<};;%Q@Hi)Bn_`0Zz79Y{Ab%XE^{y}$+)=GYrdN7#mTOL(|jVA
zoH)hgdTm|&UOiF6CLONjj?NQm9n4&!gp@CJaVUoCac(bg?<m-?jgezV?&V3T(o8H5
z_ZL0<_1D_`NRuGDOTz@88}BczPuMM2@u7j`AB*5T)eeD=3tCv_C<RS0Q&dXlx@HkP
zp=0i%mK-6=@@XsPIyGerFY}JE*xSg``9L#alZj%rDz~t@=BXu>#z)!as24;{e_3Sx
z>Fxdf$x{N27Ws7WFWp|D*!<U-|2-?$6@w48fB8PzANf8(e&2z{f8Rg*+yDLXJ3)c@
z{p<dH|GzzE*!N3ei9a**f94B^IDUEu9AJODxL<*T^-jQoKWsJp2l-8Q_`8aF+B6>I
z5TCOC@DG+l3Xc40R}_x^v^l_VyfLRGe;;2^$wyayzF!TB5(-%vth2%b9(uML6=|?a
zT6A?NbzVB{p*m$vi{9#~Vp*Lw#?f4_&O9kw)VpnA$FG(DRtP-^d8IY))fO&I5tkdE
z)t9W>q@%TFOVUEt(_CANH4n0QE3$~(n&s89{a%u`{_am*+3N%iu6moWI((R7aNv?w
zDa&yg1yTJ2EY6A{$N3}}8@FgZ?$UPLdFr(BIXQt|lXD&d3%B2s>&V?Yr{}V-`t=Eq
zb4;IjUCLw;He0ZE8*kHZUh}!rjw+ZxX`1yyMZ|B?3RU5_L!7Z$6P?YyL@(Gf-g|eC
z_57apQ<KYEB~v(FD*n^5aXiM&$QO8&-M&D;Rp{kn0ee2%FB_QIEoCMu2#WVyJi(P|
zv*WOYq)&kdbGu8?VR_ZKjZSRsS3W#u4lUc6tn~8p#Y4Q_YMY+^c=q_8q3dizn}-YA
zmb5s&c(P<k&=RAww)v;^Q=Lxw6uZCbTgtm;^GcuD6a4fv?q+zOTVWA=!T6St+l9B9
zE2b>^tZpiLwd?JQM{-kgm+nbQ)INQ}DSDfSqU)=`ZO4*wf{zIZpA8liyRiB?o70Wc
z>qEkMuQm$GeCQ52u;7>W`qSbJJS<{v*Q-}XM_%xW5NcrE*5awI>&J4p>1%cKmcYrm
zJ8#BwdzqQ%a*L_udmp%VBYV0iU*7Bm)}E>rz6bcMD@ubHn=2RZabV>S`oK`t6EZ<O
zcKV{p9JZf-EiFoxOI~;Wp+siL2A99zet$g1p1H)}5noTuj{Uy{T2%hLJ&~Y%O7h4*
zhbtSH+H{g-CkJ#nEK!mbJekZR<8l7p<judQoJrSiUeMQ|viQHlgj6Rh#(tJ(i<)gx
zSe>lrv#(&C{9#GD;&VaHA2YTI8N4)5-Lg{5=TPe8^|=kEj)snbMW0N~Z+iM>Wp(*a
zGoQL?FK3Qpq{xE0Nk_Nws_MixdWHKeUlDzCW#F=;kc1PTrumA#E2xz8UL`f%l2ai;
zzsfT--YsCpwuU_2nV)4=GbB&j|Kq4(E91e`FKt#L3Jb#dI%3yXxiWFGyk=Tz$d^@Q
zZe76Y%2erjRxo|Bi{Jt7sN<_uHs>9(y7z>I`Pe4m5|2fuq8aP0-Yz=1>shI6NoIPi
zztYm(XZ|tE)wJfb8W=Fv^q4FW*?PWSbN0l;&z^6Zu6V&&vS|imaG8DDBlkpEtA#x*
zZ3hItW;hBLUHId(#YZMHz*$5`@PLtrpZvz0X5~EzwK-u%(yAv|w77*V6*VS^e0tBq
znVHDt_rdwi0~H&Sm5Q$OoF_~BwfpEWPA=cH)n@UVC#vR^cLkf1wq?k+s`@3~e!cFI
z+7`>gPM?`xfxo7SxD>YLwlO6y%+Ok~Y0J`_#)BeKo(dkj4W1da6)#qnHfY*sabRMv
zbR(0I_|D~43MCUNc^*fwu5@2|RHsc)cBP*=)8&l`db}Eb8BT|HCG@5RY3x1wI&bpi
zdt1{iA4Hui3P||Zv`0_d>_*nv_iL7}do=ODdJktu-z=j&Wm`F?U%!3MDOG6wiMIYt
zY8B!7=hc@sKlto+i6_A1<8=p#nJelHvM>CV(AeB@Qa@$x)-<N{V|L<&50Wfiy<z(P
z(ywUWaaR-R=Lc18ES|AZzwXtV^Ao;tUikSVV<-FTn+L+4_z8XTVU{>?lWl^E$y=)<
zS$|um?OkLh{IbMlkJ3z`Sz1<R7K&#(<XNQy9ioH|@VPEd4Q>>9EE2S1;!(d0pW9w<
zr--h&^D3a~vWHS(mG<T>xuH{pcobZnLv}@Yt(y4xYK)3N)4mt127PB@o=F+34Cy^;
zxQZ+0ftmTLlRc-xW;QNSsbvlScW>>oNefq=%_?C&b#v)iGw&_Ec?O*)mH%B;JL4$k
zQ?*%m<6RcDQ;$~^Oj+ENwe{1+iF40!uH#v+aq@JWw#WRm@B{&do7>!&t!|!u(QY6d
zT5yI-=xy5<_U9Lxa#G!;J|Bq7-ca$V=iIF$_t~tsooRH<NjDPu!fY&Y_s5fBX6svT
zi%m;j%=4W!kLQj9yFirBXTi;jW|VPGU(`17#RPw=^i`feYb@t(3}jyt7P&|uP;&cr
zLqk7*o!NPpo{1b>u-0_zH7|dkUCTFe%~%$DWu?OLO<G4Ix%5gp4IXv8Iw5f5Y0;%=
z-qA0FcCt6<1uHiAbcVWKTl!+7?xdMKJLQi~75Mk%l<}dUJ4=)#Pi~2Oz1BceY*OUs
z_{T?%l^?(LWJ#5+*;7aF*ne$jH<d66zX{>5+K{N>oT+5ja;$st<XZ8nUsn$qtY6Ul
zSLKA=TF?D2yn1Sx7wR5!`FET3spZq_ImKD;Pa6JQvh&<yp9ouBi=qeTR@iTOdhwJ-
z#%=B{j;)`4CY;R>Q<)Q7)ugSIa7ll~V%gjSyL!b=EZw}@sW3NE?V98C6(`FluIl}J
zB_-;_B=cRbUh2&B^KA)RxBQ3tf(KTb0fE=9Pcl6^?+jmV&!)-uUbn4Sk@NKW^2f6m
ze=rjB(Ut2J-e>mg&JTvuYgt2-UUat}7n&LT@@eRDC7Dif<EhS0|FX0e89(WgXI**4
z@ltqt?Oo=KH}7u5CLBK_#Ow8Q-L`EXrK4;EKV>{nGrQvRiD{2#W5F#E-S+!MQ)N_t
zBx$}1_)un<`6BU>;~~up_qPS_F#lC~;qh_fh4m+DIhfw{KG1xAZQZuSR=dg{Z{4FD
z56e3-y3U*_yW%suY*dQ<to_H$I+z_eF7)W_VkvOvJL~?*^N*TZ-Hg*O>r&>4e3)mI
zz<lU<>yy?+&z3Is>RgnvV#*2kw>^vYt!Q527SI{tWEPN|`!73ck*ekaHopl?ev6zU
zPd(GUm1n-sql+b9``a_^gjZcBoJ=fK3)?Q}da>TtbJvsc)Hh%+l6p|IsK9vMzf+$V
z6)-w9usq_>lVJ{f;#3@UR42xD^{KUYKCLjgp%kK~xz;J!q^Z@yDcMrafhkTsH=)@i
zFZq7a@u(jHrXr~-pH?xqFFILwcxsh1OWtzkqiIS$&aw0Or)&8wdc%5U*PBP{-rGOZ
z{AZAnp0V1#CheI*!PdBQ=Z&82kXq*W=B3A-_P=btu6}uLzs_&}^7#Lu{O1c!KS?R{
zU<qidD4ZGO!l0_ML+0%ZhE?v<R$p{D;l^=7;&o;^%i5g|9WPB5Tx5H6Y0X8~D2~%R
z&M+-zU+Be@t#Zz4!x^g|T56a0e5V{XeV4tY#i`?)-jr1xOa7hyb}CKd*OT}E_%wgD
zX@srP_@~vnf0@&VZz%yw7KL^x1sSd9c$oC@UlJ$3`>jVBMsGYApD-2K@vulOC|nlM
zzl2v=_jpJEkKUFn!;qdkpHAGC@;p*^G~DI!x(fCaY0BTT*e&l(d>_Esy)H>D!HG3}
z@sCGc(G%LTi+Fyecv!7Uueo+^;ga<Ww>`Fr$Y6btJiktFLD%XOpLMA%dJ?BKlXz5~
z1n4>Zd%X1<f64`(|0i^2OBv`|uRiCZ{qNGJdH?#))b!1(Gkn33vFpVo3DMl<x<KZ#
zjS}+<?fOo-t?_QEx%j{3^ezDd$&)<4XSk>dt+Lv5%xV?uX&Jq?TP`sdR5}-QoQ!Ce
zb-l39EkX6qhjNCc|J1`yu>~I13Jdnz*0Dd$eZqmZ;2+)o4Ei5B4lOwlaGlSnm+!eQ
z*KtnQqaRoC7E2tTD4|fSqt7iX6gDI4u)~3gFHU^E)$}ExXZ4<}kdQYjs?HHIo=iqO
zCJAfSR;Wk(INM?18F`P%a*`_B))#rNmRQ(vsh1pjEu<&QK5?>G;K>PZUQ2M>OxvWo
zZ*h#wAy<(C{mmzz&v~bt%OWxHT-}Av=K-r-_MJb&(L2|VTiluZ)w{(Es%|2#8g-wN
z8Cp;Odp7C+KX*OGwaq#qDYLxiWxRee>7(S|_b*G>E~IR9dy>hpG*4=Nw$#ScOtCAX
zG>omUuv#zbw{j}TVR$|5U2$Z<Kjybr_)J%dbf%n&dc~I;(q-l*tkKZxy*5?;Z{a~F
z2hAVax=+?=H6(FJs`l0d2Tf4=ERt`?m43wRsG=mZ(V_qri36W3-WRE`Dmu2WG}AA3
za6KHh=F6l2p0gM9wGIcGCbJmnm`E)MzZOu|lYBqo`Qp5MHRDqAyvOeYk~9MjSzhzj
z=sn)CW7(n<rI4#nr}wzFB{ZM5n_!(&YQ5u#ChwQ#Tb?d)7wu(S#DC|v++w#|(D^5B
zUDBWC=6mUB0mshr9ea_Jt@V<9XNq2`Rp9@BkN;Xc`J2X9m-j`-z9S-4FIxSDWVj3C
z-=K8674B143fE55uRq2-q0sKtRd@ZhyZ#BOEc{_=y{FH^IH2u}s%J0L##<^H9UU7S
zF0;H&>73%Re%6WdAG|jzbe2qGI`AdWZw-@K{)DnyAqHhR9M_XfSdwkeuh4l`lG0gF
zsPmlL)V1(gl75dcqldyuu9rTHo<*|)tQ`5*FeR_faJ4o)9?F(*`+}E=+DTqZ=FIHF
zYVks*S}#j?wDNy^m6ziCw!`P-7Pst2T(KcnUyEI|Ubj5Vnk)QpwztkBR=!6s%r4fQ
z6V+~ZnYkfo>zYfO6`ss_(5WLhSvUXVEU&)is;%L^6P>1ib<JD$vL*XZjG@coKF5EY
zO*2kQgo^0x)^C3IDVlq-K4-u#femglZ<$JtysDY<FK+c}_s%2kdJMa_1;!rPD1G>v
zOk(c_HQ|_y@6ifk*Mhoo#NPO3Fq{55*Lmg1{tWlUpC0+>P793SdZ&_lU5fRi(faUb
zk92=LIav3t*d>{B{n_9TTMXA-w<zCsa}_V6TtAPqYMOk4)m$&eJ-IAw2}h3=6lgr=
z`P`v%=Iq^D8}3%AmYvvKmbUyy#`-b~&Z$|>QR}`1_`TIA6Edq=Jmp%qU1P_CY5M9h
zO^f&ST{+fmz2(U1ZRszRt`}eR+`fkUg~;^ZGAo{WMQqt%)VSg6ABplv*6XQqCA-eO
zcmIEBXVkIudD(Ld3U?hdZNHnT*XlQSN#B`C6Fr^<r7zp+T))g+_TTihx+zU<7A@)?
zhK?Pt)Hq63PmKGye7;if!vkU2mjf+@`l6;Bt+;V9+fAVBp5c;z-S3NduitsLKc%4Z
z$RhcP;bsY3y?Fv=_0!FMFXMQ~o3eg7hxn#&JN00r^_*L`-()z<xjMIaiEhxU$p$~Z
zge(fy3s|Zv<6JA5VC3{Z@J#QW6TYSIrmsC#T>31xJYdzNisPp5^fb#h$?9vB&s4Rn
z2x`1sm^FLL;vdE8VG2TfljEiYsj7G>`7x9%o)~MJ61z9Fs9eR(Fyon(VczYN{}f7G
z{=J!V?u=cCcl*))9d;r`+u!Hi_GGXw++LGi|4dA3dZe55bcw0&L@%1Yn#MWn-`<}w
zb9XpeUvbnAm#ly0X8nD>=;YXH5lLy@-C6>kIvb|Rd~Ba^_^QZ8s}%ESJK-sOVcmZU
zwC-_xPd%#ETHf%KW!a_^N&d&#CT=%76p)mdwX{IM;`*x0&*ka1OH=;dsCvm%wSFz9
z^zoHiI?Iih_AB&P@jfon_*5h5&a$TKcF6L{7k&Fx9;=*QTW7qc@0!7+1onFg?AI%l
z`Pn5xRKxiHx2Wu4l081-fyy^OuR|t#4qLy=+9+c+UFMyqRs^#wSL`Y0xqMsFDz>^W
z`1wNS%b%2Y4Qx-s@9XS{GWowNQlk6yi#Zl^Pp{c}PE%XAL#voAPttnU-OhA|wP{6x
z>+?(gxlY_+;9X)ky&`scw)p(WR}&)Kopu=9H7%)6V=_F@CAf>}dfD2Ct<v5C9c4^{
z#fyGuSoG9h*XT-8VlwpmbhhJCn|Ha-{vRK@ZyoDAawR!^dC-<EfqG^Azn_&pF`1-v
zKG^MApq6Xzz6mM!b<-j@9eOi`bK}{NW9C6(3dJ@-X`%_MoZR)~5+=|5wbEBVEP$US
zME!`Edi`hf2sKZ;=BH*Bu4V=KX0P<te{nH>y~J;uYUA`)-vvt}oI)-8TJ2V|{=D|<
zVS#k!5mzgPLrQ&~Ta_>9M<070QPY06Xp_CkOSQJ5&~rMT5_2D{PZwxOy0%GF(7N!i
zW^{8!UCkfH@_!N{(gm^V%jO;Z`DBMEbIc#RWiuC?e&betv2*&3j@aM1q1GkV4yW!;
z-6qxBl|Fmx(sgH=O&0EaQ{7?mvrGNl#-q`79yxqvm1{UUAD#1!5y<(H<-K2R$+gQC
zOqWbgvz4#u=q-HSe?G}~DpP;*;r{z;Ihs{fJ(~krPWC=?DwHw$Y>?mIb$#Nga-CDx
z_2u+AAJ1MHve!V*pHX4?zV9838w9wWZwCH-#Nf13SK)Etlro!}2Dv;tZHoK9_cUvU
zJlLDybfCqFl}~&98yStnL;RfU7UixKEPVV!hA(XOVvYPoR}M6LEtph0t@~th$jOtT
z7aBHhUA2|j$l<(Lxpt=BiGSWM&Y^B~9y?|xUzz!3Cu6C^99fT<C0FL%6O&lEN56c^
zdUf8-v;X{U+wrja3nS+XhUuQCoUPBSt-0j1+r{v}t`#?8b6IB2&fE4<RK~cVERiYu
zghgrU^s6gkeJ{*VZ42sIp1RYOvyWZk-K^d6GY{zm3FoFv=KC4$cQAzKcXwbzaq9K1
zwa-c}-~IC0tX5ax_~9GUSLUBB=vY;F;lf0@21X}_RXXdrWE);vOZLs{di{IRwfR-c
zQ=fi`$mfkdAAX19o|m$QNAvp%qbX0gmsYKpZ8hrrwbs;4_<gl=<fIipPTh)@sES>2
z^tFfP5zo%H9Y<JX&X&x*^I+;nhNp+;&8+#SaBFVkk-49<FSeLgCp4tZIh857^L%vU
z$A$;&;>m5tzPme4nJB^d&rxl|Z@(?E<$m)fy<5Nb&Q|HS465@yT&6eGq%imG*fpWh
zeddod@xLGD9$9ey&w}L><2OD&YgxlAcfjh(t#g^vv*XrwOgVaW$M3R7Gj860{caHl
z>-DxC3E5mBp|VfrH>d3`uG(C2)9ZC)5zDjx$%4!Z9xW1zN-Yk8d>mpW3{43fg8Xh4
z91}k{b~GyM@%dC3K5P=?lIbYf(6F$XS;@gJqk<uYgH0{Gibe1d1BW1&+m<Dj4;Y;U
zRb)CEET*({2r2nYF~~AW?G$nMw(0d!V(k*r@R(s>_%CVoRgr{)t2nr?v2d;o+deJ8
zYulQzrQ+MF?rtb+j@n%kJi{X~{3z?*ny<4YcAK|$?bSNAE@I&$7j_;wlZ+Pvl}7Bm
zati+M8g?E|JwH>q`klk9&Fy@WD)X0}u`+&rNzU)InrwCH+l!myix<RJZ_B;C%sT#D
zPi4`&t5ZyC?!8Sce|=*{a&m>Qq|wv66O`xQ>#eN%eEQ;Y>;5w}o1R|3XjyKqU-_xz
z<b#9h&l(n5)LeaIos;o@hiyI2m!0i5>*m<D9ju#_+i<Y)P3ktsdiJUfjj`${TBip|
zADNoSDctlmBr$R01+nm`#;@VgRi0l(B3TMWuW<y0vMvr$UeItT{GWLf>*G-GUIV6J
z{wWFv101EcCUYq+P;lb1Gm5<G%;hQI<f0<*<Z%F(Xo`TFv!crd7jDrhf-d5sAs5_b
zrdD3$;O^LPz>Qazp~*wF^8&+ctIh_Y*#?FT!c4511;Vqm8$U2GE2vmC_zQFxs02>n
zay>M`qqOtdq=>m&L%3A#cqm7!hP57wNLZNA#FEp<5z6KN)M8p#iDv2agrcPlt2oL|
zR!xslmDzSZY@gaRCvM#x49>~wSEkP?SfUyJAd^AMeNNf5*5|V;&t^TB&YdEgE|b5(
zSNzWQ4O^e(q_59BzBc1TZu#A`MY(BGB^wLHql@;hG?OYn6WP9g)3&SXxBl&)Jy-fx
z^~ciXay75MZogUm_NKN%{kgDbvr_o(i^tb~&AhPjfVjqv2PfqGcO2xDUU7kObxmRh
zQ>?hk*6YF9tyh^M{X>sl=a6=24U06Kw(4<|)~2c}k;X+@Cfw#mXH|Ma`xru}tNi%F
zz!@t2G`QE!OV)|gwCV2G8{x~AZ0!#WpDA?9&d%h5v(v<x6J|ICnjG?#db)PvG}+3?
zAP!5_BZBjaE?K6}t2AOc#H4+dCD7l6)%41Qc>c_$#SX4pQ$p;X^DMsPw)8{8i<q~n
ztJ*b_xNc0!X?2|unSOHDG>*czsn?nHqcyIdZek6~KHIwT!Xd81=4`PAuL=boq#jQ6
z`6s`7f~&Pm@m;4dxq??!*CN?ASw`O~IJmR=ec{^1-w}IOTc+p#{P4&-I{j#EzuvEV
zhWT?2ylq`p)41efdVS`nTW1T_9A5L`r@Q6roji<N#W%7Ay=i<~8L%Z}v;2o2>B&5k
z&NNvB&;Q%u!^CNH@Ki{GIN#13ZRrV7ku}$*iG`%5wK{eOEjzSIRCi^YvC4_15v+@4
zww-cQ+H^5^$2HT7j!Rg24_y*$4_diy?b>WrgA@JBEVgNRdirQ8dR^~f*{)OOqNJE{
zLj1Igu;E%yWqHqJH<Lvc+gk&bg+2yzNEs}5dFtY)_=Ces;OYd%8z<F+s-`U2GVSP!
z69vWIlNcPo{0kD@z?iDvb;m2{LeSKUGtW6|XT?T%Y+&@8cPebhCfRnc2F9%!CnoQF
z9B_Kiqt%Caju{;G>iPJAeJ$g>e&h4Mdp0jqcldGA&G`1gi0>lH^d9saw|TwU_jgM1
z`jW!c#_Kqj85B0}xh%5W=&$v8!?lt=Uml#E^>>nA<D%y>jaQdfvK|uq%&^2ZMrlK$
zfU?48Jp<Ve-81(6JD)R#GH+z7dcY+2n!&+(86#_D&wTbjHyY)(oD!~i5kA>u7FXC7
zrLePSG7@gaL|j;ONUAAU%lNm(*&}X?W$wOMGJkg9(!OWHi+;Fxv>pi(S?G3IbJp2q
zd_MyfIfVo_?Ctdy?u@=GA@omh;gwup^GuF=cPu6@Z93_jP~$O&$#v4PiysS$4xL<(
z5!5j4-pZx@S(y_fM0YJLaAmTL?v7ltZHZ80U#PT)SC@q5>Q!@&hG=eDt>Qg%_r9`E
zOyUnx)Xf`K2|d#a+x=TK!EeG0F_SU_ZI6Rn<Vp_y_PA_u^yN~$Xl1=ukv(%?7KIl@
z2;1MC(zfO9<FNk|j!QjX5mvo@V_MOy>pnHLtE*pD`yX%+Ui*Hju?f?pb7`@U4IV5L
zj=mZ>Lr>jf*1cVqZ9mQAb5Jj4Y>%8^!LiHV*0N#&tLlo~vR}@(nA|wX`Zj%`Qj4~F
zsOOeFE4mgnIC5XKDY0C!!XeA}@Rh&_H?e<{S9xfu)kdvsd!f7};cb?q(Ca50L0e}}
z^36?Nd~5282s1UU&YZMgC*10k1kLAaswQljJ$+KtvYrbp{!*43+diLAYunSQsJvh?
zlg6RRM-&?ZCo;dDaADV!B@S;jW_Wukm1ZRTc(v4fQcV|2kbroM=i64xU?~;f%xN*9
zKSNq<r*b}WY6^;~G>}>$s>7cwaa_u6n%0DX)JNABa2|56y0}{+V;|?dCt0UWt_dq-
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

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/mini/ConnectingFiguresSample.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/mini/ConnectingFiguresSample.java
deleted file mode 100644
index 620369719..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/mini/ConnectingFiguresSample.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)ConnectingFiguresSample.java   1.0  November 16, 2006
- *
- * Copyright (c) 1996-2006 by the original authors of JHotDraw
- * and all its contributors ("JHotDraw.org")
- * All rights reserved.
- *
- * This software is the confidential and proprietary information of
- * JHotDraw.org ("Confidential Information"). You shall not disclose
- * such Confidential Information and shall use it only in accordance
- * with the terms of the license agreement you entered into with
- * JHotDraw.org.
- */
-package org.jhotdraw.samples.mini;
-
-import java.awt.*;
-import javax.swing.*;
-import org.jhotdraw.application.DrawApplication;
-import org.jhotdraw.contrib.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.util.*;
-
-/**
- * Example showing how to connect two text areas with an elbow connection.
- * This example uses JHotDraw 6.
- *
- * @author Werner Randelshofer
- * @version 1.0 November 16, 2006 Created.
- */
-public class ConnectingFiguresSample {
-    public static void main(String[] args) {
-        SwingUtilities.invokeLater(new Runnable() {
-            public void run() {
-                
-                // Create the two text areas
-                TextAreaFigure ta = new TextAreaFigure();
-                ta.displayBox(new Point(10,10),new Point(100,100));
-                
-                TextAreaFigure tb = new TextAreaFigure();
-                tb.displayBox(new Point(210,110),new Point(300,200));
-                
-                // Create an elbow connection
-                ConnectionFigure cf = new ElbowConnection();
-                
-                // Connect the figures
-                Point startPoint = Geom.center(ta.displayBox());
-                cf.startPoint(startPoint.x, startPoint.y);
-                cf.connectStart(ta.connectorAt(startPoint.x, startPoint.y));
-                Point endPoint = Geom.center(tb.displayBox());
-                cf.endPoint(endPoint.x, endPoint.y);
-                cf.connectEnd(tb.connectorAt(endPoint.x, endPoint.y));
-                cf.updateConnection();
-                
-                // Add all figures to a drawing
-                Drawing drawing = new StandardDrawing();
-                drawing.add(ta);
-                drawing.add(tb);
-                drawing.add(cf);
-                
-                // Show the drawing
-                JFrame f = new JFrame("My Drawing");
-                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-                f.setSize(400,300);
-                
-                DrawApplication editor = new DrawApplication("Connecting Figures Sample");
-                editor.open();
-                DrawingView view = editor.view();
-                view.setDrawing(drawing);
-            }
-        });
-    }
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/mini/package.html b/jhotdraw6/src/main/java/org/jhotdraw/samples/mini/package.html
deleted file mode 100644
index 31f38eaaf..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/mini/package.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<html>
-<head>
-<!--
-
-  @(#)package.html	1.60 98/01/27
-
-  Copyright (c) 2002 Werner Randelshofer
-  Staldenmattweg 2, Immensee, CH-6405, Switzerland.
-  All rights reserved.
- 
-  This software is the confidential and proprietary information of 
-  Werner Randelshofer. ("Confidential Information").  You shall not
-  disclose such Confidential Information and shall use it only in
-  accordance with the terms of the license agreement you entered into
-  with Werner Randelshofer.
--->
-</head>
-<body bgcolor="white">
-
-A collection of very small sample programs, demonstrating a partical feature
-of JHotDraw. Ideally, each sample program is just a single java file.
-
-
-<h2>Package Specification</h2>
-
-##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
-<ul>
-  <li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
-</ul>
-
-<h2>Related Documentation</h2>
-
-For overviews, tutorials, examples, guides, and tool documentation, please see:
-<ul>
-  <li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
-</ul>
-
-<!-- Put @see and @since tags down here. -->
-
-</body>
-</html>
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/minimap/MiniMapApplication.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/minimap/MiniMapApplication.java
deleted file mode 100644
index e99443c23..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/minimap/MiniMapApplication.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * @(#)MiniMapApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.samples.minimap;
-
-import org.jhotdraw.contrib.Desktop;
-import org.jhotdraw.contrib.SplitPaneDrawApplication;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapApplication extends SplitPaneDrawApplication {
-
-	protected Desktop createDesktop() {
-		return new MiniMapDesktop();
-	}
-
-	public static void main(String[] args) {
-		MiniMapApplication window = new MiniMapApplication();
-		window.open();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/minimap/MiniMapDesktop.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/minimap/MiniMapDesktop.java
deleted file mode 100644
index 7ede6e7f3..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/minimap/MiniMapDesktop.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)MiniMapDesktop.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.samples.minimap;
-
-import org.jhotdraw.contrib.SplitPaneDesktop;
-import org.jhotdraw.contrib.MiniMapView;
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.util.Iconkit;
-import org.jhotdraw.figures.ImageFigure;
-
-import javax.swing.*;
-import java.awt.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MiniMapDesktop extends SplitPaneDesktop {
-
-	private String imageName = "/org/jhotdraw/samples/javadraw/sampleimages/view.gif";
-
-	protected Component createRightComponent(DrawingView view) {
-		Image image = Iconkit.instance().loadImage(imageName, true);
-		view.add(new ImageFigure(image, imageName, new Point(0,0)));
-		view.checkDamage();
-//		((org.jhotdraw.standard.StandardDrawingView)view).checkMinimumSize();
-		return super.createRightComponent(view);
-	}
-
-	protected Component createLeftComponent(DrawingView view) {
-		JPanel blankPanel = new JPanel();
-//		blankPanel.setPreferredSize(new Dimension(200, 200));
-
-		MiniMapView mmv = new MiniMapView(view, (JScrollPane)getRightComponent());
-//		mmv.setPreferredSize(new Dimension(200, 200));
-
-		JSplitPane leftSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, blankPanel, mmv);
-		leftSplitPane.setOneTouchExpandable(true);
-		leftSplitPane.setDividerLocation(200);
-//		leftSplitPane.setPreferredSize(new Dimension(200, 400));
-//		leftSplitPane.resetToPreferredSizes();
-
-		return leftSplitPane;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/net.jdo b/jhotdraw6/src/main/java/org/jhotdraw/samples/net.jdo
deleted file mode 100644
index 420ad7214..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/net.jdo
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="org.jhotdraw.samples.net">
-    <class name="NodeFigure">
-    </class>
-  </package>
-</jdo>
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/net/NetApp.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/net/NetApp.java
deleted file mode 100644
index 670641c03..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/net/NetApp.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * @(#)NetApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.net;
-
-import javax.swing.JToolBar;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.application.DrawApplication;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class NetApp extends DrawApplication {
-
-	public NetApp() {
-		super("Net");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new NodeFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new NodeFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Create Org Unit", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		DrawApplication window = new NetApp();
-		window.open();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/net/NodeFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/net/NodeFigure.java
deleted file mode 100644
index 26e080159..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/net/NodeFigure.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)NodeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.net;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.util.*;
-
-import java.util.*;
-import java.util.List;
-import java.awt.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class NodeFigure extends TextFigure {
-	private static final int BORDER = 6;
-	private List        fConnectors;
-	private boolean     fConnectorsVisible;
-
-	public NodeFigure() {
-		initialize();
-		fConnectors = null;
-	}
-
-	public Rectangle displayBox() {
-		Rectangle box = super.displayBox();
-		int d = BORDER;
-		box.grow(d, d);
-		return box;
-	}
-
-	public boolean containsPoint(int x, int y) {
-		// add slop for connectors
-		if (fConnectorsVisible) {
-			Rectangle r = displayBox();
-			int d = LocatorConnector.SIZE/2;
-			r.grow(d, d);
-			return r.contains(x, y);
-		}
-		return super.containsPoint(x, y);
-	}
-
-	private void drawBorder(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor(getFrameColor());
-		g.drawRect(r.x, r.y, r.width-1, r.height-1);
-	}
-
-	public void draw(Graphics g) {
-		super.draw(g);
-		drawBorder(g);
-		drawConnectors(g);
-	}
-
-	public HandleEnumeration handles() {
-		ConnectionFigure prototype = new LineConnection();
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new ConnectionHandle(this, RelativeLocator.east(), prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.west(), prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.south(), prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.north(), prototype));
-
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		return new HandleEnumerator(handles);
-	}
-
-	private void drawConnectors(Graphics g) {
-		if (fConnectorsVisible) {
-			Iterator iter = connectors();
-			while (iter.hasNext()) {
-				((Connector)iter.next()).draw(g);
-			}
-		}
-	}
-
-	/**
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection) {
-		fConnectorsVisible = isVisible;
-		invalidate();
-	}
-
-	/**
-	 */
-	public Connector connectorAt(int x, int y) {
-		return findConnector(x, y);
-	}
-
-	/**
-	 */
-	private Iterator connectors() {
-		if (fConnectors == null) {
-			createConnectors();
-		}
-		return fConnectors.iterator();
-	}
-
-	private void createConnectors() {
-		fConnectors = CollectionsFactory.current().createList(4);
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.north()) );
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.south()) );
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.west()) );
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.east()) );
-	}
-
-	private Connector findConnector(int x, int y) {
-		// return closest connector
-		long min = Long.MAX_VALUE;
-		Connector closest = null;
-		Iterator iter = connectors();
-		while (iter.hasNext()) {
-			Connector c = (Connector)iter.next();
-			Point p2 = Geom.center(c.displayBox());
-			long d = Geom.length2(x, y, p2.x, p2.y);
-			if (d < min) {
-				min = d;
-				closest = c;
-			}
-		}
-		return closest;
-	}
-
-	private void initialize() {
-		setText("node");
-		Font fb = new Font("Helvetica", Font.BOLD, 12);
-		setFont(fb);
-		createConnectors();
-	}
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure() {
-		return this;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/nothing/NothingApp.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/nothing/NothingApp.java
deleted file mode 100644
index 3d37e549a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/nothing/NothingApp.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * @(#)NothingApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.nothing;
-
-import javax.swing.JToolBar;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.contrib.*;
-import org.jhotdraw.application.*;
-
-/**
- * A very basic example for demonstraing JHotDraw's capabilities. It contains only
- * a few additional tools apart from the selection tool already provided by its superclass.
- * It uses only a single document interface (SDI) and not a multiple document interface (MDI)
- * because the applicateion frame is derived DrawApplication rather than MDI_DrawApplication.
- * To enable MDI for this application, NothingApp must inherit from MDI_DrawApplication
- * and be recompiled.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class NothingApp extends DrawApplication {
-
-	public NothingApp() {
-		super("Nothing");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES+"TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES+"RECT", "Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new RoundRectangleFigure());
-		palette.add(createToolButton(IMAGES+"RRECT", "Round Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new EllipseFigure());
-		palette.add(createToolButton(IMAGES+"ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES+"LINE", "Line Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES+"POLYGON", "Polygon Tool", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES+"CONN", "Connection Tool", tool));
-
-		tool = new ConnectionTool(this, new ElbowConnection());
-		palette.add(createToolButton(IMAGES+"OCONN", "Elbow Connection Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		DrawApplication window = new NothingApp();
-		window.open();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/nothing/NothingApplet.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/nothing/NothingApplet.java
deleted file mode 100644
index f7db8af1f..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/nothing/NothingApplet.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * @(#)NothingApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.nothing;
-
-import javax.swing.JPanel;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.applet.*;
-import org.jhotdraw.contrib.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class NothingApplet extends DrawApplet {
-
-	//-- DrawApplet overrides -----------------------------------------
-
-	protected void createTools(JPanel palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new RectangleFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new RoundRectangleFigure());
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool", tool));
-
-		tool = new CreationTool(this, new EllipseFigure());
-		palette.add(createToolButton(IMAGES + "ELLIPSE", "Ellipse Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-
-		tool = new PolygonTool(this);
-		palette.add(createToolButton(IMAGES + "POLYGON", "Polygon Tool", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new ConnectionTool(this, new ElbowConnection());
-		palette.add(createToolButton(IMAGES + "OCONN", "Elbow Connection Tool", tool));
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/ConnectorApp.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/ConnectorApp.java
deleted file mode 100644
index 817a10144..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/ConnectorApp.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * @(#)NetApp.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.offsetConnectors;
-
-import javax.swing.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.application.*;
-
-public class ConnectorApp extends DrawApplication {
-
-	ConnectorApp() {
-		super("ConnectorApp");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new NodeFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		tool = new CreationTool(this, new NodeFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Create Org Unit", tool));
-
-		tool = new ConnectionTool(this, new LineConnection());
-		palette.add(createToolButton(IMAGES + "CONN", "Connection Tool", tool));
-
-		tool = new CreationTool(this, new MyEllipseFigure());
-		palette.add(createToolButton(IMAGES + "RRECT", "Round Rectangle Tool",
-				tool));
-
-		tool = new CreationTool(this, new MyFigure());
-		palette.add(createToolButton(IMAGES + "RECT", "Rectangle Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		DrawApplication window = new ConnectorApp();
-		window.open();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/MyEllipseFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/MyEllipseFigure.java
deleted file mode 100644
index 37f76c531..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/MyEllipseFigure.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * @(#)NodeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.samples.offsetConnectors;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-
-public class MyEllipseFigure extends EllipseFigure {
-
-	private static final int BORDER = 6;
-
-	public MyEllipseFigure() {
-	}
-
-	private void drawBorder(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor(getFrameColor());
-		g.drawRect(r.x, r.y, r.width - 1, r.height - 1);
-	}
-
-	public void draw(Graphics g) {
-		super.draw(g);
-		drawBorder(g);
-		//drawConnectors(g);
-	}
-
-	/**
-	 */
-	public Connector connectorAt(int x, int y) {
-		return OffsetConnector.trackConnector(this, x, y);
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/MyFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/MyFigure.java
deleted file mode 100644
index 00f3afe38..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/MyFigure.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * @(#)MyFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-
-package org.jhotdraw.samples.offsetConnectors;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-
-public class MyFigure extends RectangleFigure {
-
-	private static final int BORDER = 6;
-
-	public MyFigure() {
-	}
-
-	private void drawBorder(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor(getFrameColor());
-		g.drawRect(r.x, r.y, r.width - 1, r.height - 1);
-	}
-
-	public void draw(Graphics g) {
-		super.draw(g);
-		drawBorder(g);
-	}
-
-	/**
-	 */
-	public Connector connectorAt(int x, int y) {
-		return OffsetConnector.trackConnector(this, x, y);
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/NodeFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/NodeFigure.java
deleted file mode 100644
index d2814d733..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/NodeFigure.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)NodeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.offsetConnectors;
-
-import java.awt.Font;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.util.Iterator;
-import java.util.List;
-
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.figures.TextFigure;
-import org.jhotdraw.framework.ConnectionFigure;
-import org.jhotdraw.framework.Connector;
-import org.jhotdraw.framework.HandleEnumeration;
-import org.jhotdraw.standard.ConnectionHandle;
-import org.jhotdraw.standard.HandleEnumerator;
-import org.jhotdraw.standard.LocatorConnector;
-import org.jhotdraw.standard.NullHandle;
-import org.jhotdraw.standard.RelativeLocator;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.Geom;
-
-public class NodeFigure extends TextFigure {
-
-	private static final int BORDER = 6;
-	private List fConnectors;
-	private boolean fConnectorsVisible;
-
-	public NodeFigure() {
-		initialize();
-		fConnectors = null;
-	}
-
-	public Rectangle displayBox() {
-		Rectangle box = super.displayBox();
-		int d = BORDER;
-		box.grow(d, d);
-		return box;
-	}
-
-	public boolean containsPoint(int x, int y) {
-		// add slop for connectors
-		if (fConnectorsVisible) {
-			Rectangle r = displayBox();
-			int d = LocatorConnector.SIZE / 2;
-			r.grow(d, d);
-			return r.contains(x, y);
-		}
-		return super.containsPoint(x, y);
-	}
-
-	private void drawBorder(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor(getFrameColor());
-		g.drawRect(r.x, r.y, r.width - 1, r.height - 1);
-	}
-
-	public void draw(Graphics g) {
-		super.draw(g);
-		drawBorder(g);
-		drawConnectors(g);
-	}
-
-	public HandleEnumeration handles() {
-		ConnectionFigure prototype = new LineConnection();
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new ConnectionHandle(this, RelativeLocator.east(),
-				prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.west(),
-				prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.south(),
-				prototype));
-		handles.add(new ConnectionHandle(this, RelativeLocator.north(),
-				prototype));
-
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		return new HandleEnumerator(handles);
-	}
-
-	private void drawConnectors(Graphics g) {
-		if (fConnectorsVisible) {
-			Iterator connectorsIterator = getConnectors().iterator();
-			while (connectorsIterator.hasNext())
-				((Connector) connectorsIterator.next()).draw(g);
-		}
-	}
-
-	/**
-	 */
-	public void connectorVisibility(boolean isVisible) {
-		fConnectorsVisible = isVisible;
-		invalidate();
-	}
-
-	/**
-	 */
-	public Connector connectorAt(int x, int y) {
-		return findConnector(x, y);
-	}
-
-	/**
-	 */
-	private List getConnectors() {
-		if (fConnectors == null) {
-			createConnectors();
-		}
-		return fConnectors;
-	}
-
-	private void createConnectors() {
-		fConnectors = CollectionsFactory.current().createList(4);
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.north()));
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.south()));
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.west()));
-		fConnectors.add(new LocatorConnector(this, RelativeLocator.east()));
-	}
-
-	private Connector findConnector(int x, int y) {
-		// return closest connector
-		long min = Long.MAX_VALUE;
-		Connector closest = null;
-		Iterator connectorsIterator = getConnectors().iterator();
-		while (connectorsIterator.hasNext()) {
-			Connector c = (Connector) connectorsIterator.next();
-			Point p2 = Geom.center(c.displayBox());
-			long d = Geom.length2(x, y, p2.x, p2.y);
-			if (d < min) {
-				min = d;
-				closest = c;
-			}
-		}
-		return closest;
-	}
-
-	private void initialize() {
-		setText("node");
-		Font fb = new Font("Helvetica", Font.BOLD, 12);
-		setFont(fb);
-		createConnectors();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/offsetConnectors.draw b/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/offsetConnectors.draw
deleted file mode 100644
index 4e1033a6a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/offsetConnectors/offsetConnectors.draw
+++ /dev/null
@@ -1,70 +0,0 @@
-
-    org.jhotdraw.standard.StandardDrawing 13 
-        org.jhotdraw.samples.offsetConnectors.MyFigure "attributes" "attributes" 1 "FillColor" "Color" 255 0 0 413 50 72 125  
-        org.jhotdraw.samples.offsetConnectors.MyFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 0 84 182 165 158  
-        org.jhotdraw.samples.offsetConnectors.MyFigure "attributes" "attributes" 1 "FillColor" "Color" 0 0 255 610 165 187 175  
-        org.jhotdraw.samples.offsetConnectors.MyEllipseFigure "no_attributes" 362 445 218 186  
-        org.jhotdraw.figures.LineConnection 2 413 77 171 182 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 1 
-                org.jhotdraw.standard.OffsetLocator 0 27 
-                    org.jhotdraw.standard.RelativeLocator 0.0 0.0    
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 87 0 REF 10    
-        org.jhotdraw.figures.LineConnection 2 485 74 755 165 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 1 
-                org.jhotdraw.standard.OffsetLocator 72 24 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 145 0 REF 10    
-        org.jhotdraw.figures.LineConnection 2 249 212 610 212 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  255 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 165 30 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 0 47 REF 10    
-        org.jhotdraw.figures.LineConnection 2 249 246 610 246 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 255 
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 165 64 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 0 81 REF 10    
-        org.jhotdraw.figures.LineConnection 2 249 308 610 308 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 165 126 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 0 143 REF 10    
-        org.jhotdraw.figures.LineConnection 6 443 50 443 19 28 19 28 409 384 409 384 484 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 1 
-                org.jhotdraw.standard.OffsetLocator 30 0 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 4 
-                org.jhotdraw.standard.OffsetLocator 22 39 REF 10    
-        org.jhotdraw.figures.LineConnection 6 463 50 463 18 925 18 925 409 553 409 553 478 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 1 
-                org.jhotdraw.standard.OffsetLocator 50 0 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 4 
-                org.jhotdraw.standard.OffsetLocator 191 33 REF 10    
-        org.jhotdraw.figures.LineConnection 5 717 340 717 374 834 374 834 240 797 240 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 107 175 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 3 
-                org.jhotdraw.standard.OffsetLocator 187 75 REF 10    
-        org.jhotdraw.figures.LineConnection 5 152 340 152 373 46 373 46 247 84 247 
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  
-            org.jhotdraw.figures.ArrowTip 0.4 8.0 8.0 "noFillColor" "noFrameColor"  0 0 0 
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 68 158 REF 10   
-            org.jhotdraw.standard.OffsetConnector REF 2 
-                org.jhotdraw.standard.OffsetLocator 0 65 REF 10     
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertApplet.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertApplet.java
deleted file mode 100644
index 678267911..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertApplet.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * @(#)PertApplet.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.pert;
-
-import javax.swing.JPanel;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.applet.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class PertApplet extends DrawApplet {
-
-	private final static String PERTIMAGES = "/org/jhotdraw/samples/pert/images/";
-
-	protected void createTools(JPanel palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES+"TEXT", "Text Tool", tool));
-
-		tool = new PertFigureCreationTool(this);
-		palette.add(createToolButton(PERTIMAGES+"PERT", "Task Tool", tool));
-
-		tool = new ConnectionTool(this, new PertDependency());
-		palette.add(createToolButton(IMAGES+"CONN", "Dependency Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES+"LINE", "Line Tool", tool));
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertAppletHelp.html b/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertAppletHelp.html
deleted file mode 100644
index 3288502a5..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertAppletHelp.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<html>
-
-<head>
-  <title>Pert Help</title>
-</head>
-
-<body>
-<H1>PERT Help</H1>
-<HR>
-PERT provides tools, handles, and commands to manipulate a PERT diagram.
-<P>
-A task is shown as a box with a line for the task's name, a line for
-the task's duration, and a line for the task's earliest end time.
-Only the task's name and its duration are editable. The end time
-is calculated automatically by PERT.
-<P>
-Circular dependencies are shown in red.
-<P>
-<H3>Tools</H3>
-The tool palette on the left offers several tools that either create
-new figures or manipulate existing ones.
-<Table Border=0>
-<TR><TD><img src="../../images/SEL1.gif"><TD>selects, moves or resizes a figure; the shift-key
-toggles the selection. Dragging the selection tool in the background
-selects the figures within the dragged rectangle.
-<TR><TD><img src="../../images/PERT1.gif"><TD>creates a new task</TR>
-<TR><TD><img src="../../images/TEXT1.gif"><TD>creates a new or edits an existing text figure</TR>
-<TR><TD><img src="../../images/CONN1.gif"><TD>creates or adjusts connections
-between figures. A connection
-is split into segments by dragging a point on the connection. To join two
-segments click the
-end point of a segment</TR>
-<TR><TD><img src="../../images/LINE1.gif"><TD>creates a line figure</TR>
-</Table>
-
-
-<H3>Handles</H3>
-When selected figures offer different handles to manipulate them.
-<ul>
-<li>
-the blue circle handle is a connection handle. It allows to create connections
-between figures.
-<li>
-the framed red handles are null handles. They only show the selection status
-of a figure but don't support any manipulation.
-<li>
-the green handles are shown on connections. They enable to
-reconnect them with another figure.
-<li>
-the yellow handle enables to change the font size of a text figure or the
-size of the radius of a rounded rectangle.
-</ul>
-
-<H3>Commands</H3>
-Commands are invoked from the button bar at the bottom (applet) or
-from the menu bar at the top (application).
-<P>
-The standard commands that are provided include, cut, copy, paste,
-duplicate, delete, group, ungroup, bring to front, and send to back.
-<P>
-<H3>Attributes</H3>
-Attributes, such as fill color, text color or arrow tip, can be changed
-through the attributes menu (stand-alone) or the pop up menues (applet).
-
-<p>
-
-</html>
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertApplication.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertApplication.java
deleted file mode 100644
index d96e54e6e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertApplication.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)PertApplication.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.pert;
-
-import javax.swing.JToolBar;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.application.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public  class PertApplication extends DrawApplication {
-
-	static private final String PERTIMAGES = "/org/jhotdraw/samples/pert/images/";
-
-	public PertApplication() {
-		super("PERT Editor");
-	}
-
-	protected void createTools(JToolBar palette) {
-		super.createTools(palette);
-
-		Tool tool = new TextTool(this, new TextFigure());
-		palette.add(createToolButton(IMAGES + "TEXT", "Text Tool", tool));
-
-		// the generic but slower version
-		//tool = new CreationTool(new PertFigure());
-		//palette.add(createToolButton(PERTIMAGES + "PERT", "Task Tool", tool));
-
-		tool = new PertFigureCreationTool(this);
-		palette.add(createToolButton(PERTIMAGES + "PERT", "Task Tool", tool));
-
-		tool = new ConnectionTool(this, new PertDependency());
-		palette.add(createToolButton(IMAGES + "CONN", "Dependency Tool", tool));
-
-		tool = new CreationTool(this, new LineFigure());
-		palette.add(createToolButton(IMAGES + "LINE", "Line Tool", tool));
-	}
-
-	//-- main -----------------------------------------------------------
-
-	public static void main(String[] args) {
-		PertApplication pert = new PertApplication();
-		pert.open();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertDependency.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertDependency.java
deleted file mode 100644
index a0b2df73e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertDependency.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * @(#)PertDependency.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.pert;
-
-import java.awt.*;
-import java.util.List;
-
-// JUnitDoclet begin import
-import org.jhotdraw.framework.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.standard.*;
-// JUnitDoclet end import
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class PertDependency extends LineConnection {
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7959500008698525009L;
-	private int pertDependencySerializedDataVersion = 1;
-
-	public PertDependency() {
-		setEndDecoration(new ArrowTip());
-		setStartDecoration(null);
-	}
-
-	public void handleConnect(Figure start, Figure end) {
-		PertFigure source = (PertFigure)start;
-		PertFigure target = (PertFigure)end;
-		if (source.hasCycle(target)) {
-			setAttribute(FigureAttributeConstant.FRAME_COLOR, Color.red);
-		}
-		else {
-			target.addPreTask(source);
-			source.addPostTask(target);
-			source.notifyPostTasks();
-		}
-	}
-
-	public void handleDisconnect(Figure start, Figure end) {
-		PertFigure source = (PertFigure)start;
-		PertFigure target = (PertFigure)end;
-		if (target != null) {
-			target.removePreTask(source);
-			target.updateDurations();
-		}
-		if (source != null) {
-			source.removePostTask(target);
-		}
-   }
-
-	public boolean canConnect(Figure start, Figure end) {
-		return ((start instanceof PertFigure) && (end instanceof PertFigure));
-	}
-
-	public HandleEnumeration handles() {
-		List handles = super.handles().toList();
-		// don't allow to reconnect the starting figure
-		handles.set(0, new NullHandle(this, PolyLineFigure.locator(0)));
-		return new HandleEnumerator(handles);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertFigure.java
deleted file mode 100644
index 3993d0f1b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertFigure.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * @(#)PertFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.pert;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.util.*;
-
-import java.awt.*;
-import java.io.*;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class PertFigure extends CompositeFigure {
-	private static final int BORDER = 3;
-	private Rectangle fDisplayBox;
-	private List fPreTasks;
-	private List fPostTasks;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7877776240236946511L;
-	private int pertFigureSerializedDataVersion = 1;
-
-	public PertFigure() {
-		initialize();
-	}
-
-	public int start() {
-		int start = 0;
-		Iterator iter = fPreTasks.iterator();
-		while (iter.hasNext()) {
-			PertFigure f = (PertFigure)iter.next();
-			start = Math.max(start, f.end());
-		}
-		return start;
-	}
-
-	public int end() {
-		return asInt(2);
-	}
-
-	public int duration() {
-		return asInt(1);
-	}
-
-	public void setEnd(int value) {
-		setInt(2, value);
-	}
-
-	public void addPreTask(PertFigure figure) {
-		if (!fPreTasks.contains(figure)) {
-			fPreTasks.add(figure);
-		}
-	}
-
-	public void addPostTask(PertFigure figure) {
-		if (!fPostTasks.contains(figure)) {
-			fPostTasks.add(figure);
-		}
-	}
-
-	public void removePreTask(PertFigure figure) {
-		fPreTasks.remove(figure);
-	}
-
-	public void removePostTask(PertFigure figure) {
-		fPostTasks.remove(figure);
-	}
-
-	private int asInt(int figureIndex) {
-		NumberTextFigure t = (NumberTextFigure)figureAt(figureIndex);
-		return t.getValue();
-	}
-
-	private String taskName() {
-		TextFigure t = (TextFigure)figureAt(0);
-		return t.getText();
-	}
-
-	private void setInt(int figureIndex, int value) {
-		NumberTextFigure t = (NumberTextFigure)figureAt(figureIndex);
-		t.setValue(value);
-	}
-
-	protected void basicMoveBy(int x, int y) {
-		fDisplayBox.translate(x, y);
-		super.basicMoveBy(x, y);
-	}
-
-	public Rectangle displayBox() {
-		return new Rectangle(
-			fDisplayBox.x,
-			fDisplayBox.y,
-			fDisplayBox.width,
-			fDisplayBox.height);
-	}
-
-	public void basicDisplayBox(Point origin, Point corner) {
-		fDisplayBox = new Rectangle(origin);
-		fDisplayBox.add(corner);
-		layout();
-	}
-
-	private void drawBorder(Graphics g) {
-		super.draw(g);
-
-		Rectangle r = displayBox();
-
-		Figure f = figureAt(0);
-		Rectangle rf = f.displayBox();
-		g.setColor(Color.gray);
-		g.drawLine(r.x, r.y+rf.height+2, r.x+r.width, r.y + rf.height+2);
-		g.setColor(Color.white);
-		g.drawLine(r.x, r.y+rf.height+3, r.x+r.width, r.y + rf.height+3);
-
-		g.setColor(Color.white);
-		g.drawLine(r.x, r.y, r.x, r.y + r.height);
-		g.drawLine(r.x, r.y, r.x + r.width, r.y);
-		g.setColor(Color.gray);
-		g.drawLine(r.x + r.width, r.y, r.x + r.width, r.y + r.height);
-		g.drawLine(r.x , r.y + r.height, r.x + r.width, r.y + r.height);
-	}
-
-	public void draw(Graphics g) {
-		drawBorder(g);
-		super.draw(g);
-	}
-
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		handles.add(new ConnectionHandle(this, RelativeLocator.east(),
-								new PertDependency())
-						   );
-		return new HandleEnumerator(handles);
-	}
-
-	private void initialize() {
-		fPostTasks = CollectionsFactory.current().createList();
-		fPreTasks = CollectionsFactory.current().createList();
-		fDisplayBox = new Rectangle(0, 0, 0, 0);
-
-		Font f = new Font("Helvetica", Font.PLAIN, 12);
-		Font fb = new Font("Helvetica", Font.BOLD, 12);
-
-		TextFigure name = new TextFigure();
-		name.setFont(fb);
-		name.setText("Task");
-		//name.setAttribute(FigureAttributeConstant.TEXT_COLOR.getName(), Color.white);
-		add(name);
-
-		NumberTextFigure duration = new NumberTextFigure();
-		duration.setValue(0);
-		duration.setFont(fb);
-		add(duration);
-
-		NumberTextFigure end = new NumberTextFigure();
-		end.setValue(0);
-		end.setFont(f);
-		end.setReadOnly(true);
-		add(end);
-	}
-
-	private void layout() {
-		Point partOrigin = new Point(fDisplayBox.x, fDisplayBox.y);
-		partOrigin.translate(BORDER, BORDER);
-		Dimension extent = new Dimension(0, 0);
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-
-			Dimension partExtent = f.size();
-			Point corner = new Point(
-								partOrigin.x+partExtent.width,
-								partOrigin.y+partExtent.height);
-			f.basicDisplayBox(partOrigin, corner);
-
-			extent.width = Math.max(extent.width, partExtent.width);
-			extent.height += partExtent.height;
-			partOrigin.y += partExtent.height;
-		}
-		fDisplayBox.width = extent.width + 2*BORDER;
-		fDisplayBox.height = extent.height + 2*BORDER;
-	}
-
-	private boolean needsLayout() {
-		Dimension extent = new Dimension(0, 0);
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			extent.width = Math.max(extent.width, f.size().width);
-		}
-		int newExtent = extent.width + 2*BORDER;
-		return newExtent != fDisplayBox.width;
-	}
-
-	public void update(FigureChangeEvent e) {
-		if (e.getFigure() == figureAt(1)) {
-			// duration has changed
-			updateDurations();
-		}
-		if (needsLayout()) {
-			layout();
-			changed();
-		}
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		update(e);
-	}
-
-
-	public void figureRemoved(FigureChangeEvent e) {
-		update(e);
-	}
-
-	public void notifyPostTasks() {
-		Iterator iter = fPostTasks.iterator();
-		while (iter.hasNext()) {
-			((PertFigure)iter.next()).updateDurations();
-		}
-	}
-
-	public void updateDurations() {
-		int newEnd = start()+duration();
-		if (newEnd != end()) {
-			setEnd(newEnd);
-			notifyPostTasks();
-		}
-	}
-
-	public boolean hasCycle(Figure start) {
-		if (start == this) {
-			return true;
-		}
-		Iterator iter = fPreTasks.iterator();
-		while (iter.hasNext()) {
-			if (((PertFigure)iter.next()).hasCycle(start)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	//-- store / load ----------------------------------------------
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fDisplayBox.x);
-		dw.writeInt(fDisplayBox.y);
-		dw.writeInt(fDisplayBox.width);
-		dw.writeInt(fDisplayBox.height);
-
-		writeTasks(dw, fPreTasks);
-		writeTasks(dw, fPostTasks);
-	}
-
-	public void writeTasks(StorableOutput dw, List l) {
-		dw.writeInt(l.size());
-		Iterator iter = l.iterator();
-		while (iter.hasNext()) {
-			dw.writeStorable((Storable)iter.next());
-		}
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fDisplayBox = new Rectangle(
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt(),
-			dr.readInt());
-		layout();
-		fPreTasks = readTasks(dr);
-		fPostTasks = readTasks(dr);
-	}
-
-	public Insets connectionInsets() {
-		Rectangle r = fDisplayBox;
-		int cx = r.width/2;
-		int cy = r.height/2;
-		return new Insets(cy, cx, cy, cx);
-	}
-
-	public List readTasks(StorableInput dr) throws IOException {
-		int size = dr.readInt();
-		List l = CollectionsFactory.current().createList(size);
-		for (int i=0; i<size; i++) {
-			l.add(dr.readStorable());
-		}
-		return l;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertFigureCreationTool.java b/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertFigureCreationTool.java
deleted file mode 100644
index a51e15662..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/PertFigureCreationTool.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * @(#)PertFigureCreationTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.samples.pert;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-
-/**
- * A more efficient version of the generic Pert creation
- * tool that is not based on cloning.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PertFigureCreationTool extends CreationTool {
-
-	public PertFigureCreationTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Creates a new PertFigure.
-	 */
-	protected Figure createFigure() {
-		return new PertFigure();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/images/PERT1.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/images/PERT1.gif
deleted file mode 100644
index f69744556b8a98b0f903febf45498dd09fcde923..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK-K>bM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF1(sB5u8|!Jh*P2E`k`vPmdj
z>=3r9_m<Nuzj;!{KmE(A(`?(#buKO1(zZKp#m^aG;!Be>mi~FR?XC~!)lJLJeyY=G
ZXw<aPYVYXm((dl<maLvADagQJ4FJ?UQ3?P6

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/images/PERT2.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/images/PERT2.gif
deleted file mode 100644
index eb9f10ef03f573d2d7c08a805dee7264cabd6ef1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK!E=bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW_0GOA^<6__frm_*&x-pD
z!8T0Y0SiB~{Qg>VVwDQlT(#{ni^8R2qGnyox76{SeADf_ua9H;^AAh!RIPneY#h>H
Qq}1GEQyb1M$iQF?0Mukk*8l(j

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/images/PERT3.gif b/jhotdraw6/src/main/java/org/jhotdraw/samples/pert/images/PERT3.gif
deleted file mode 100644
index aac7c5e3ad403e29fb246df6eb318f71ef45be0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 188
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQuv|4bM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6aqI*=!x51P2|dZUzy5
zqXRO=duM<0P*rO+U+{j>QO?y@vUP4V+wZ=-?CDAs<Fg)L#Pf3dPkEfOeARpLbws&Y
av}lo)rFXlrW0ygv$pp!k$&!K$4AubpX-<Lw

diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/AWTCursor.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/AWTCursor.java
deleted file mode 100644
index eba43f23a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/AWTCursor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * @(#)AWTCursor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.standard;
-
-import java.awt.Cursor;
-
-/**
- * Default implementation of the {@link org.jhotdraw.framework.Cursor} interface
- * for AWT/Swing.
- * 
- * <p>Created on: 08/05/2003.</p>
- * 
- * @version $Revision$
- * @author <a href="mailto:ricardo_padilha@users.sourceforge.net">Ricardo 
- * Sangoi Padilha</a>
- * @see org.jhotdraw.framework.Cursor
- */
-public class AWTCursor extends Cursor implements org.jhotdraw.framework.Cursor {
-
-	/**
-	 * Constructor for <code>AWTCursor</code>.
-	 * @param type
-	 * @see Cursor#Cursor(int)
-	 */
-	public AWTCursor(int type) {
-		super(type);
-	}
-
-	/**
-	 * Constructor for <code>AWTCursor</code>.
-	 * @param name
-	 * @see Cursor#Cursor(java.lang.String)
-	 */
-	public AWTCursor(String newName) {
-		super(newName);
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractCommand.java
deleted file mode 100644
index 6e84c67c4..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractCommand.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * @(#)AbstractCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Command;
-import org.jhotdraw.util.CommandListener;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.util.*;
-
-/**
- * @author Helge Horch
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractCommand implements Command, FigureSelectionListener {
-
-	private String  myName;
-	private Undoable myUndoableActivity;
-	private boolean myIsViewRequired;
-	private AbstractCommand.EventDispatcher myEventDispatcher;
-
-	/**
-	 * the DrawingEditor this command applies to
-	 */
-	private DrawingEditor myDrawingEditor;
-
-	/**
-	 * Constructs a command with the given name that applies to the given view.
-	 * @param newName java.lang.String
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public AbstractCommand(String newName, DrawingEditor newDrawingEditor) {
-		this(newName, newDrawingEditor, true);
-	}
-
-	public AbstractCommand(String newName, DrawingEditor newDrawingEditor, boolean newIsViewRequired) {
-		setName(newName);
-		setDrawingEditor(newDrawingEditor);
-		getDrawingEditor().addViewChangeListener(createViewChangeListener());
-		myIsViewRequired = newIsViewRequired;
-		setEventDispatcher(createEventDispatcher());
-	}
-
-	protected void viewSelectionChanged(DrawingView oldView, DrawingView newView) {
-		if (oldView != null) {
-			oldView.removeFigureSelectionListener(this);
-		}
-		if (newView != null) {
-			newView.addFigureSelectionListener(this);
-		}
-		if (isViewRequired()) {
-			boolean isOldViewInteractive = (oldView != null) && oldView.isInteractive();
-			boolean isNewViewInteractive = (newView != null) && newView.isInteractive();
-			// old view was not interactive aware while new view is now interactive aware
-			if (!isOldViewInteractive && isNewViewInteractive) {
-				getEventDispatcher().fireCommandExecutableEvent();
-			}
-			// old view was interactive aware while new view is not
-			else if (isOldViewInteractive && !isNewViewInteractive) {
-				getEventDispatcher().fireCommandNotExecutableEvent();
-			}
-		}
-	}
-
-	/**
-	 * Sent when a new view is created
-	 */
-	protected void viewCreated(DrawingView view) {
-	}
-
-	/**
-	 * Send when an existing view is about to be destroyed.
-	 */
-	protected void viewDestroying(DrawingView view) {
-	}
-
-	/**
-	 * @param view a DrawingView
-	 */
-	public void figureSelectionChanged(DrawingView view) {
-	}
-
-	/**
-	 * @return DrawingEditor associated with this command
-	 */
-	public DrawingEditor getDrawingEditor() {
-		return myDrawingEditor;
-	}
-
-	private void setDrawingEditor(DrawingEditor newDrawingEditor) {
-		myDrawingEditor = newDrawingEditor;
-	}
-
-	/**
-	 * Convenience method
-	 *
-	 * @return DrawingView currently active in the editor
-	 */
-	public DrawingView view() {
-		return getDrawingEditor().view();
-	}
-
-	/**
-	 * Gets the command name.
-	 */
-	public String name() {
-		return myName;
-	}
-
-	public void setName(String newName) {
-		myName = newName;
-	}
-
-	/**
-	 * Releases resources associated with this command
-	 */
-	public void dispose() {
-		if (view() != null) {
-			view().removeFigureSelectionListener(this);
-		}
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void execute() {
-		if (view() == null) {
-			throw new JHotDrawRuntimeException("execute should NOT be getting called when view() == null");
-		}
-	}
-
-	/**
-	 * Tests if the command can be executed. The view must be valid when this is
-	 * called. Per default, a command is executable if at
-	 * least one figure is selected in the current activated
-	 * view.
-	 */
-	public boolean isExecutable() {
-		// test whether there is a view required and whether an existing view
-		// accepts user input
-		if (isViewRequired()) {
-			if ((view() == null) || !view().isInteractive()) {
-				return false;
-			}
-		}
-		return isExecutableWithView();
-	}
-
-	protected boolean isViewRequired() {
-		return myIsViewRequired;
-	}
-
-	protected boolean isExecutableWithView() {
-		return true;
-	}
-
-	public Undoable getUndoActivity() {
-		return myUndoableActivity;
-	}
-
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		myUndoableActivity = newUndoableActivity;
-	}
-
-	public void addCommandListener(CommandListener newCommandListener) {
-		getEventDispatcher().addCommandListener(newCommandListener);
-	}
-
-	public void removeCommandListener(CommandListener oldCommandListener) {
-		getEventDispatcher().removeCommandListener(oldCommandListener);
-	}
-
-	private void setEventDispatcher(AbstractCommand.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractCommand.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	protected AbstractCommand.EventDispatcher createEventDispatcher() {
-		return new AbstractCommand.EventDispatcher(this);
-	}
-
-    protected ViewChangeListener createViewChangeListener() {
-        return new ViewChangeListener() {
-            public void viewSelectionChanged(DrawingView oldView, DrawingView newView){
-                AbstractCommand.this.viewSelectionChanged(oldView, newView);
-            }
-            public void viewCreated(DrawingView view){
-                AbstractCommand.this.viewCreated(view);
-            }
-            public void viewDestroying(DrawingView view){
-                AbstractCommand.this.viewDestroying(view);
-            }
-        };
-    }
-
-	public static class EventDispatcher {
-		private List myRegisteredListeners;
-		private Command myObservedCommand;
-
-		public EventDispatcher(Command newObservedCommand) {
-			myRegisteredListeners = CollectionsFactory.current().createList();
-			myObservedCommand = newObservedCommand;
-		}
-
-		public void fireCommandExecutedEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((CommandListener)iter.next()).commandExecuted(new EventObject(myObservedCommand));
-			}
-		}
-
-		public void fireCommandExecutableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((CommandListener)iter.next()).commandExecutable(new EventObject(myObservedCommand));
-			}
-		}
-
-		public void fireCommandNotExecutableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((CommandListener)iter.next()).commandNotExecutable(new EventObject(myObservedCommand));
-			}
-		}
-
-		public void addCommandListener(CommandListener newCommandListener) {
-			if (!myRegisteredListeners.contains(newCommandListener)) {
-				myRegisteredListeners.add(newCommandListener);
-			}
-		}
-
-		public void removeCommandListener(CommandListener oldCommandListener) {
-			if (myRegisteredListeners.contains(oldCommandListener)) {
-				myRegisteredListeners.remove(oldCommandListener);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractConnector.java
deleted file mode 100644
index 72b065c30..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractConnector.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)AbstractConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-
-/**
- * AbstractConnector provides default implementation for
- * the Connector interface.
- *
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractConnector implements Connector {
-	/**
-	 * the owner of the connector
-	 */
-	protected Figure      fOwner;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -5170007865562687545L;
-	private int abstractConnectorSerializedDataVersion = 1;
-
-	/**
-	 * Constructs a connector that has no owner. It is only
-	 * used internally to resurrect a connectors from a
-	 * StorableOutput. It should never be called directly.
-	 */
-	public AbstractConnector() {
-		fOwner = null;
-	}
-
-	/**
-	 * Constructs a connector with the given owner figure.
-	 */
-	public AbstractConnector(Figure owner) {
-		fOwner = owner;
-	}
-
-	/**
-	 * Gets the connector's owner.
-	 * Which is the figure this is attached too and NOT the connection it may be
-	 * attached too.
-	 *
-	 */
-	public Figure owner() {
-		return fOwner;
-	}
-
-	public Point findStart(ConnectionFigure connection) {
-		return findPoint(connection);
-	}
-
-	public Point findEnd(ConnectionFigure connection) {
-		return findPoint(connection);
-	}
-
-	/**
-	 * Gets the connection point. Override when the connector
-	 * does not need to distinguish between the start and end
-	 * point of a connection.
-	 */
-	protected Point findPoint(ConnectionFigure connection) {
-		return Geom.center(displayBox());
-	}
-
-	/**
-	 * Gets the display box of the connector.
-	 */
-	public Rectangle displayBox() {
-		return owner().displayBox();
-	}
-
-	/**
-	 * Tests if a point is contained in the connector.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return owner().containsPoint(x, y);
-	}
-
-	/**
-	 * Draws this connector. By default connectors are invisible.
-	 */
-	public void draw(Graphics g) {
-		// invisible by default
-	}
-
-	/**
-	 * Stores the connector and its owner to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		dw.writeStorable(owner());
-	}
-
-	/**
-	 * Reads the connector and its owner from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		try {fOwner = (Figure)dr.readStorable();}
-        catch (ClassCastException ex) {
-            Object o = dr.readStorable();
-            System.out.println("Class Cast Exception " + o.toString());
-        }
-	}
-
-	/**
-	 * Requests that the connector should show itself or hide itself.  The
-	 * ConnectionFigure which desires to connect to this Connector is passed in.
-	 * It a connector should show itself it should do so when draw is called, if
-	 * so desired.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection) {
-		//invisible by default
-	}
-
-	/**
-	 * SupportsConnector dragging.
-	 * 
-	 */
-	public Point connectorMovedTo(int x, int y){
-		return new Point(x,y);
-	}
-
-	/**
-	 * Returns a 'finalized' connector. Can be used to change Connector.
-	 * 
-	 * @param start - true if a startConnector
-	 * @return - final Connector
-	 */    
-	public Connector finalizeConnector(boolean start){
-		return this;
-	}    
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractFigure.java
deleted file mode 100644
index 1bc446b3c..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractFigure.java
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * @(#)AbstractFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.*;
-
-import java.awt.*;
-import java.util.List;
-import java.io.*;
-
-/**
- * AbstractFigure provides default implementations for
- * the Figure interface.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld036.htm>Template Method</a></b><br>
- * Template Methods implement default and invariant behavior for
- * figure subclasses.
- * <hr>
- *
- * @see Figure
- * @see Handle
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractFigure implements Figure {
-
-	/**
-	 * The listeners for a figure's changes.
-	 * It is only one listener but this one can be a (chained) MultiCastFigureChangeListener
-	 * @see #invalidate
-	 * @see #changed
-	 * @see #willChange
-	 */
-	private transient FigureChangeListener fListener;
-
-	/**
-	 * The dependend figures which have been added to this container.
-	 */
-	private List myDependendFigures;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -10857585979273442L;
-	private int abstractFigureSerializedDataVersion = 1;
-	private int _nZ;
-
-	protected AbstractFigure() {
-		 myDependendFigures = CollectionsFactory.current().createList();
-	}
-
-	/**
-	 * Moves the figure by the given offset.
-	 */
-	public void moveBy(int dx, int dy) {
-		willChange();
-		basicMoveBy(dx, dy);
-		changed();
-	}
-
-	/**
-	 * Moves the figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #moveBy
-	 */
-	protected abstract void basicMoveBy(int dx, int dy);
-
-	/**
-	 * Changes the display box of a figure. Clients usually
-	 * call this method. It changes the display box
-	 * and announces the corresponding change.
-	 * @param origin the new origin
-	 * @param corner the new corner
-	 * @see #displayBox
-	 */
-	public void displayBox(Point origin, Point corner) {
-		willChange();
-		basicDisplayBox(origin, corner);
-		changed();
-	}
-
-	/**
-	 * Sets the display box of a figure. This is the
-	 * method that subclassers override. Clients usually
-	 * call displayBox.
-	 * @see #displayBox
-	 */
-	public abstract void basicDisplayBox(Point origin, Point corner);
-
-	/**
-	 * Gets the display box of a figure.
-	 */
-	public abstract Rectangle displayBox();
-
-	/**
-	 * Returns the handles of a Figure that can be used
-	 * to manipulate some of its attributes.
-	 * @return a type-safe iterator of handles
-	 * @see Handle
-	 */
-	public abstract HandleEnumeration handles();
-
-	/**
-	 * Returns an Enumeration of the figures contained in this figure.
-	 * @see CompositeFigure
-	 */
-	public FigureEnumeration figures() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Gets the size of the figure. A convenience method.
-	 */
-	public Dimension size() {
-		return new Dimension(displayBox().width, displayBox().height);
-	}
-
-	/**
-	 * Checks if the figure is empty. The default implementation returns
-	 * true if the width or height of its display box is < 3
-	 * @see Figure#isEmpty
-	 */
-	public boolean isEmpty() {
-		return (size().width < 3) || (size().height < 3);
-	}
-
-	/**
-	 * Returns the figure that contains the given point.
-	 * In contrast to containsPoint it returns its
-	 * innermost figure that contains the point.
-	 *
-	 * @see #containsPoint
-	 */
-	public Figure findFigureInside(int x, int y) {
-		if (containsPoint(x, y)) {
-			return this;
-		}
-		return null;
-	}
-
-	/**
-	 * Checks if a point is inside the figure.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return displayBox().contains(x, y);
-	}
-
-	/**
-	 * Changes the display box of a figure. This is a
-	 * convenience method. Implementors should only
-	 * have to override basicDisplayBox
-	 * @see #displayBox
-	 */
-	public void displayBox(Rectangle r) {
-		displayBox(new Point(r.x, r.y), new Point(r.x+r.width, r.y+r.height));
-	}
-
-	/**
-	 * Checks whether the given figure is contained in this figure.
-	 */
-	public boolean includes(Figure figure) {
-		return figure == this;
-	}
-
-	/**
-	 * Decomposes a figure into its parts. It returns a FigureEnumeration
-	 * that contains itself.
-	 * @return an Enumeration with itself as the only element.
-	 */
-	public FigureEnumeration decompose() {
-		List figures = CollectionsFactory.current().createList(1);
-		figures.add(this);
-		return new FigureEnumerator(figures);
-	}
-
-	/**
-	 * Sets the Figure's container and registers the container
-	 * as a figure change listener. A figure's container can be
-	 * any kind of FigureChangeListener. A figure is not restricted
-	 * to have a single container.
-	 */
-	public void addToContainer(FigureChangeListener c) {
-		addFigureChangeListener(c);
-		invalidate();
-	}
-
-	/**
-	 * Removes a figure from the given container and unregisters
-	 * it as a change listener.
-	 */
-	public void removeFromContainer(FigureChangeListener c) {
-		invalidate();
-		removeFigureChangeListener(c);
-	}
-
-	/**
-	 * Adds a listener for this figure.
-	 */
-	public synchronized void addFigureChangeListener(FigureChangeListener l) {
-		fListener = FigureChangeEventMulticaster.add(listener(), l);
-	}
-
-	/**
-	 * Removes a listener for this figure.
-	 */
-	public synchronized void removeFigureChangeListener(FigureChangeListener l) {
-		fListener = FigureChangeEventMulticaster.remove(listener(), l);
-	}
-
-	/**
-	 * Gets the figure's listners.
-	 */
-	public synchronized FigureChangeListener listener() {
-		return fListener;
-	}
-
-	/**
-	 * A figure is released from the drawing. You never call this
-	 * method directly. Release notifies its listeners.
-	 * @see Figure#release
-	 */
-	public void release() {
-		if (listener() != null) {
-			listener().figureRemoved(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Invalidates the figure. This method informs the listeners
-	 * that the figure's current display box is invalid and should be
-	 * refreshed.
-	 */
-	public void invalidate() {
-		if (listener() != null) {
-			Rectangle r = invalidateRectangle(displayBox());
-			listener().figureInvalidated(new FigureChangeEvent(this, r));
-		}
-	}
-
-	/**
-	 * Hook method to change the rectangle that will be invalidated
-	 */
-	protected Rectangle invalidateRectangle(Rectangle r) {
-		r.grow(Handle.HANDLESIZE, Handle.HANDLESIZE);
-		return r;
-	}
-
-	/**
-	 * Informes that a figure is about to change something that
-	 * affects the contents of its display box.
-	 *
-	 * @see Figure#willChange
-	 */
-	public void willChange() {
-		// call invalidate before the change occurs to invalidate the old display area
-		invalidate();
-	}
-
-	/**
-	 * Informs that a figure changed the area of its display box.
-	 *
-	 * @see FigureChangeEvent
-	 * @see Figure#changed
-	 */
-	public void changed() {
-		invalidate();
-		if (listener() != null) {
-			listener().figureChanged(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Gets the center of a figure. A convenice
-	 * method that is rarely overridden.
-	 */
-	public Point center() {
-		return Geom.center(displayBox());
-	}
-
-	/**
-	 * Checks if this figure can be connected. By default
-	 * AbstractFigures can be connected.
-	 */
-	public boolean canConnect() {
-		return true;
-	}
-
-	/**
-	 * Returns the connection inset. The connection inset
-	 * defines the area where the display box of a
-	 * figure can't be connected. By default the entire
-	 * display box can be connected.
-	 *
-	 */
-	public Insets connectionInsets() {
-		return new Insets(0, 0, 0, 0);
-	}
-
-	/**
-	 * Returns the Figures connector for the specified location.
-	 * By default a ChopBoxConnector is returned.
-	 * @see ChopBoxConnector
-	 */
-	public Connector connectorAt(int x, int y) {
-		return new ChopBoxConnector(this);
-	}
-
-	/**
-	 * Sets whether the connectors should be visible.
-	 * By default they are not visible
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure connector) {
-	}
-
-	/**
-	 * Returns the locator used to located connected text.
-	 */
-	public Locator connectedTextLocator(Figure text) {
-		return RelativeLocator.center();
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * By default figures don't have any attributes so getAttribute
-	 * returns null.
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return null;
-	}
-
-	/**
-	 * Returns the named attribute or null if a
-	 * a figure doesn't have an attribute.
-	 * By default figures don't have any attributes getAttribute
-	 * returns null.
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		return null;
-	}
-
-	/**
-	 * Sets the named attribute to the new value. By default
-	 * figures don't have any attributes and the request is ignored.
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-	}
-
-	/**
-	 * Sets the named attribute to the new value. By default
-	 * figures don't have any attributes and the request is ignored.
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-	}
-
-	/**
-	 * Clones a figure. Creates a clone by using the storable
-	 * mechanism to flatten the Figure to stream followed by
-	 * resurrecting it from the same stream.
-	 *
-	 * @see Figure#clone
-	 */
-	public Object clone() {
-		Object clone = null;
-		ByteArrayOutputStream output = new ByteArrayOutputStream(200);
-		try {
-			ObjectOutput writer = new ObjectOutputStream(output);
-			writer.writeObject(this);
-			writer.close();
-		}
-		catch (IOException e) {
-			System.err.println("Class not found: " + e);
-		}
-
-		InputStream input = new ByteArrayInputStream(output.toByteArray());
-		try {
-			ObjectInput reader = new ObjectInputStream(input);
-			clone = reader.readObject();
-		}
-		catch (IOException e) {
-			System.err.println(e.toString());
-		}
-		catch (ClassNotFoundException e) {
-			System.err.println("Class not found: " + e);
-		}
-		return clone;
-	}
-
-	/**
-	 * Stores the Figure to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-	}
-
-	/**
-	 * Reads the Figure from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-	}
-
-	/**
-	 * Gets the z value (back-to-front ordering) of this figure.
-	 */
-	public int getZValue() {
-	  return _nZ;
-	}
-
-	/**
-	 * Sets the z value (back-to-front ordering) of this figure.
-	 */
-	public void setZValue(int z) {
-	  _nZ = z;
-	}
-
-	public void visit(FigureVisitor visitor) {
-		// remember original listener as listeners might be changed by a visitor
-		// (e.g. by calling addToContainer() or removeFromContainer())
-		//FigureChangeListener originalListener = listener();
-		FigureEnumeration fe = getDependendFigures();
-
-		visitor.visitFigure(this);
-
-		FigureEnumeration visitFigures = figures();
-		while (visitFigures.hasNextFigure()) {
-			visitFigures.nextFigure().visit(visitor);
-		}
-
-		HandleEnumeration visitHandles = handles();
-		while (visitHandles.hasNextHandle()) {
-			visitor.visitHandle(visitHandles.nextHandle());
-		}
-/*
-		originalListener = listener();
-		if (originalListener != null) {
-			visitor.visitFigureChangeListener(originalListener);
-		}
-*/
-
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().visit(visitor);
-			// or visitor.visitDependendFigure(fe.nextFigure());
-		}
-	}
-
-	public synchronized FigureEnumeration getDependendFigures() {
-		return new FigureEnumerator(myDependendFigures);
-	}
-
-	public synchronized void addDependendFigure(Figure newDependendFigure) {
-		myDependendFigures.add(newDependendFigure);
-	}
-
-	public synchronized void removeDependendFigure(Figure oldDependendFigure) {
-		myDependendFigures.remove(oldDependendFigure);
-	}
-
-	public TextHolder getTextHolder() {
-		return null;
-	}
-
-	public Figure getDecoratedFigure() {
-		return this;
-	}	
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractHandle.java
deleted file mode 100644
index 355d9c8cd..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractHandle.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * @(#)AbstractHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Undoable;
-
-/**
- * AbstractHandle provides defaulf implementation for the Handle interface.
- *
- * @see org.jhotdraw.framework.Figure
- * @see org.jhotdraw.framework.Handle
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractHandle implements Handle {
-
-	/**
-	 * The standard size of a handle.
-	 */
-	public static final int HANDLESIZE = 8;
-
-	private Figure fOwner;
-	private Undoable myUndoableActivity;
-	
-	/**
-	 * Constructor for <code>AbstractHandle</code>.
-	 * Initializes the owner of the figure.
-	 * @param owner
-	 */
-	public AbstractHandle(Figure owner) {
-		fOwner = owner;
-	}
-
-	/**
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 * @see org.jhotdraw.framework.Handle#invokeStart(int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	public void invokeStart(int x, int  y, DrawingView view) {
-		invokeStart(x, y, view.drawing());
-	}
-
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @see org.jhotdraw.framework.Handle#invokeStart(int, int, org.jhotdraw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStart(x, y, drawingView)
-	 */
-	public void invokeStart(int  x, int  y, Drawing drawing) { }
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see org.jhotdraw.framework.Handle#invokeStep(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		invokeStep(x-anchorX, y-anchorY, view.drawing());
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param dx x delta of this step
-	 * @param dy y delta of this step
-	 * @see org.jhotdraw.framework.Handle#invokeStep(int, int, org.jhotdraw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStep(x, y, anchorX, anchorY, drawingView)
-	 */
-	public void invokeStep(int dx, int dy, Drawing drawing) { }
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see org.jhotdraw.framework.Handle#invokeEnd(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		invokeEnd(x-anchorX, y-anchorY, view.drawing());
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @see org.jhotdraw.framework.Handle#invokeEnd(int, int, org.jhotdraw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeEnd(x, y, anchorX, anchorY, drawingView).
-	 */
-	public void invokeEnd(int dx, int dy, Drawing drawing) { }
-
-	/**
-	 * Gets the handle's owner.
-	 * @see org.jhotdraw.framework.Handle#owner()
-	 */
-	public Figure owner() {
-		return fOwner;
-	}
-
-	/**
-	 * Gets the display box of the handle.
-	 * @see org.jhotdraw.framework.Handle#displayBox()
-	 */
-	public Rectangle displayBox() {
-		Point p = locate();
-		return new Rectangle(
-				p.x - HANDLESIZE / 2,
-				p.y - HANDLESIZE / 2,
-				HANDLESIZE,
-				HANDLESIZE);
-	}
-
-	/**
-	 * Tests if a point is contained in the handle.
-	 * @see org.jhotdraw.framework.Handle#containsPoint(int, int)
-	 */
-	public boolean containsPoint(int x, int y) {
-		return displayBox().contains(x, y);
-	}
-
-	/**
-	 * Draws this handle.
-	 * @see org.jhotdraw.framework.Handle#draw(java.awt.Graphics)
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.white);
-		g.fillRect(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Handle#getUndoActivity()
-	 */
-	public Undoable getUndoActivity() {
-		return myUndoableActivity;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Handle#setUndoActivity(org.jhotdraw.util.Undoable)
-	 */
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		myUndoableActivity = newUndoableActivity;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		return new AWTCursor(AWTCursor.DEFAULT_CURSOR);
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractLocator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractLocator.java
deleted file mode 100644
index 70173bfd5..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractLocator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)AbstractLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.*;
-
-import java.io.IOException;
-
-
-/**
- * AbstractLocator provides default implementations for
- * the Locator interface.
- *
- * @see Locator
- * @see Handle
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class AbstractLocator implements Locator, Storable, Cloneable {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -7742023180844048409L;
-
-	protected AbstractLocator() {
-	}
-
-	public Object clone() {
-		try {
-			return super.clone();
-		}
-		catch (CloneNotSupportedException e) {
-			throw new InternalError();
-		}
-	}
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-	}
-}
-
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractTool.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractTool.java
deleted file mode 100644
index cb3f7dda3..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/AbstractTool.java
+++ /dev/null
@@ -1,395 +0,0 @@
-/*
- * @(#)AbstractTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseEvent;
-import java.util.EventObject;
-import java.util.Iterator;
-import java.util.List;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.Undoable;
-
-/**
- * Default implementation support for Tools.
- *
- * @see DrawingView
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public abstract class AbstractTool implements Tool {
-
-	private DrawingEditor     myDrawingEditor;
-
-	/**
-	 * The position of the initial mouse down.
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 */
-    private int myAnchorX;
-    private int myAnchorY;
-
-	/**
-	 * A tool can have a drawing view on which it operates
-	 * independingly of the currently active drawing view.
-	 * For example, if a tool can be used
-	 */
-	private DrawingView     myDrawingView;
-
-	private Undoable myUndoActivity;
-	private AbstractTool.EventDispatcher myEventDispatcher;
-
-	private boolean myIsUsable;
-
-	/**
-	 * Flag to indicate whether to perform usable checks or not
-	 */
-	private boolean myIsEnabled;
-
-	/**
-	 * Constructs a tool for the given view.
-	 */
-	public AbstractTool(DrawingEditor newDrawingEditor) {
-		setEditor(newDrawingEditor);
-		setEventDispatcher(createEventDispatcher());
-		setEnabled(true);
-		checkUsable();
-		editor().addViewChangeListener(createViewChangeListener());
-	}
-
-	/**
-	 * Activates the tool for use on the given view. This method is called
-	 * whenever the user switches to this tool. Use this method to
-	 * reinitialize a tool.
-	 * Since tools will be disabled unless it is useable, there will always
-	 * be an active view when this is called. based on isUsable()
-	 * Tool should never be activated if the view is null.
-	 * Ideally, the dditor should take care of that.
-	 */
-	public void activate() {
-		if (getActiveView() != null) {
-			getActiveView().clearSelection();
-			getActiveView().checkDamage();
-			getEventDispatcher().fireToolActivatedEvent();
-		}
-	}
-
-	/**
-	 * Deactivates the tool. This method is called whenever the user
-	 * switches to another tool. Use this method to do some clean-up
-	 * when the tool is switched. Subclassers should always call
-	 * super.deactivate.
-	 * An inactive tool should never be deactivated
-	 */
-	public void deactivate() {
-		if (isActive()) {
-			if (getActiveView() != null) {
-				getActiveView().setCursor(new AWTCursor(java.awt.Cursor.DEFAULT_CURSOR));
-			}
-			getEventDispatcher().fireToolDeactivatedEvent();
-		}
-	}
-
-	/**
-	 * Fired when the selected view changes.
-	 * Subclasses should always call super.  ViewSelectionChanged() this allows
-	 * the tools state to be updated and referenced to the new view.
-	 */
-	protected void viewSelectionChanged(DrawingView oldView, DrawingView newView) {
-		if (isActive()) {
-			deactivate();
-			activate();
-		}
-
-		checkUsable();
-	}
-
-	/**
-	 * Sent when a new view is created
-	 */
-	protected void viewCreated(DrawingView view) {
-	}
-
-	/**
-	 * Send when an existing view is about to be destroyed.
-	 */
-	protected void viewDestroying(DrawingView view) {
-	}
-
-	/**
-	 * Handles mouse down events in the drawing view.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-        setAnchorX(x);
-        setAnchorY(y);
-		setView((DrawingView)e.getSource());
-	}
-
-	/**
-	 * Handles mouse drag events in the drawing view.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-	}
-
-	/**
-	 * Handles mouse up in the drawing view.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-//		setView(null);//This must be fixed!!! the view should not be held onto after mouse up??
-//unlike super.mousedown which is usually called immediately after a sub classes mouse down
-//method starts, super.mouseup should probably be called last before the method ends?
-//it must if its going to set the view to null.  getting messy.
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-	}
-
-	/**
-	 * Handles key down events in the drawing view.
-	 */
-	public void keyDown(KeyEvent evt, int key) {
-	}
-
-	/**
-	 * Gets the tool's drawing.
-	 */
-	public Drawing drawing() {
-		return view().drawing();
-	}
-
-	public Drawing getActiveDrawing() {
-	    return getActiveView().drawing();
-	}
-
-	/**
-	 * Gets the tool's editor.
-	 */
-	public DrawingEditor editor() {
-		return myDrawingEditor;
-	}
-
-	protected void setEditor(DrawingEditor newDrawingEditor) {
-		myDrawingEditor = newDrawingEditor;
-	}
-
-	/**
-	 * Gets the tool's view (convienence method).
-	 */
-	public DrawingView view() {
-		return myDrawingView;
-	}
-
-	protected void setView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-
-	public DrawingView getActiveView() {
-		return editor().view();
-	}
-
-	/**
-	 * Tests if the tool can be used or "executed."
-	 */
-	public boolean isUsable() {
-		return isEnabled() && myIsUsable;
-	}
-
-	public void setUsable(boolean newIsUsable) {
-		// perform notification only if the usable state of the tool has changed
-		if (isUsable() != newIsUsable) {
-			myIsUsable = newIsUsable;
-			if (isUsable()) {
-				getEventDispatcher().fireToolUsableEvent();
-			}
-			else {
-				getEventDispatcher().fireToolUnusableEvent();
-			}
-		}
-	}
-
-	public void setEnabled(boolean newIsEnabled) {
-		// perform notification only if the usable state of the tool has changed
-		if (isEnabled() != newIsEnabled) {
-			myIsEnabled = newIsEnabled;
-			if (isEnabled()) {
-				getEventDispatcher().fireToolEnabledEvent();
-			}
-			else {
-				getEventDispatcher().fireToolDisabledEvent();
-				setUsable(false);
-				deactivate();
-			}
-		}
-	}
-
-	public boolean isEnabled() {
-		return myIsEnabled;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 * @see #mouseDown
-	 */
-	protected void setAnchorX(int newAnchorX) {
-		myAnchorX = newAnchorX;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 *
-	 * @return the anchor X coordinate for the interaction
-	 * @see #mouseDown
-	 */
-	protected int getAnchorX() {
-		return myAnchorX;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 * @see #mouseDown
-	 */
-	protected void setAnchorY(int newAnchorY) {
-		myAnchorY = newAnchorY;
-	}
-
-	/**
-	 * The anchor point is usually the first mouse click performed with this tool.
-	 *
-	 * @return the anchor Y coordinate for the interaction
-	 * @see #mouseDown
-	 */
-	protected int getAnchorY() {
-		return myAnchorY;
-	}
-
-	public Undoable getUndoActivity() {
-		return myUndoActivity;
-	}
-
-	public void setUndoActivity(Undoable newUndoActivity) {
-		myUndoActivity = newUndoActivity;
-	}
-
-	public boolean isActive() {
-		return (editor().tool() == this) && isUsable();
-	}
-
-	public void addToolListener(ToolListener newToolListener) {
-		getEventDispatcher().addToolListener(newToolListener);
-	}
-
-	public void removeToolListener(ToolListener oldToolListener) {
-		getEventDispatcher().removeToolListener(oldToolListener);
-	}
-
-	private void setEventDispatcher(AbstractTool.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractTool.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	protected AbstractTool.EventDispatcher createEventDispatcher() {
-		return new AbstractTool.EventDispatcher(this);
-	}
-
-    protected ViewChangeListener createViewChangeListener() {
-        return new ViewChangeListener() {
-            public void viewSelectionChanged(DrawingView oldView, DrawingView newView){
-	    		AbstractTool.this.viewSelectionChanged(oldView, newView);
-		    }
-    		public void viewCreated(DrawingView view){
-	    		AbstractTool.this.viewCreated(view);
-		    }
-    		public void viewDestroying(DrawingView view){
-	    		AbstractTool.this.viewDestroying(view);
-		    }
-        };
-    }
-
-	protected void checkUsable() {
-		if (isEnabled()) {
-			setUsable((getActiveView() != null) && getActiveView().isInteractive());
-		}
-	}
-
-	public static class EventDispatcher {
-		private List myRegisteredListeners;
-		private Tool myObservedTool;
-
-		public EventDispatcher(Tool newObservedTool) {
-			myRegisteredListeners = CollectionsFactory.current().createList();
-			myObservedTool = newObservedTool;
-		}
-
-		public void fireToolUsableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolUsable(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolUnusableEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolUnusable(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolActivatedEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolActivated(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolDeactivatedEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolDeactivated(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolEnabledEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolEnabled(new EventObject(myObservedTool));
-			}
-		}
-
-		public void fireToolDisabledEvent() {
-			Iterator iter = myRegisteredListeners.iterator();
-			while (iter.hasNext()) {
-				((ToolListener)iter.next()).toolDisabled(new EventObject(myObservedTool));
-			}
-		}
-
-		public void addToolListener(ToolListener newToolListener) {
-			if (!myRegisteredListeners.contains(newToolListener)) {
-				myRegisteredListeners.add(newToolListener);
-			}
-		}
-
-		public void removeToolListener(ToolListener oldToolListener) {
-			if (myRegisteredListeners.contains(oldToolListener)) {
-				myRegisteredListeners.remove(oldToolListener);
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ActionTool.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ActionTool.java
deleted file mode 100644
index ed5b5f2af..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ActionTool.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * @(#)ActionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-
-import java.awt.event.MouseEvent;
-
-/**
- * A tool that performs an action when it is active and
- * the mouse is clicked.
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class ActionTool extends AbstractTool {
-
-	public ActionTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Add the touched figure to the selection an invoke action
-	 * @see #action
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		Figure target = drawing().findFigure(x, y);
-		if (target != null) {
-			view().addToSelection(target);
-			action(target);
-		}
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		editor().toolDone();
-	}
-
-	/**
-	 * Performs an action with the touched figure.
-	 */
-	public abstract void action(Figure figure);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/AlignCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/AlignCommand.java
deleted file mode 100644
index 548106b80..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/AlignCommand.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * @(#)AlignCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.UndoableAdapter;
-import org.jhotdraw.util.Undoable;
-import java.util.*;
-import java.awt.*;
-
-/**
- * Align a selection of figures relative to each other.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class AlignCommand extends AbstractCommand {
-
-	public static abstract class Alignment {
-		/**
-		 * align left sides
-		 */
-		public final static Alignment LEFTS = new Alignment("Lefts") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(anchor.x-rr.x, 0);
-			}
-		};
-
-		/**
-		 * align centers (horizontally)
-		 */
-		public final static Alignment CENTERS = new Alignment("Centers") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy((anchor.x+anchor.width/2) - (rr.x+rr.width/2), 0);
-			}
-		};
-
-		/**
-		 * align right sides
-		 */
-		public final static Alignment RIGHTS = new Alignment("Rights") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy((anchor.x+anchor.width) - (rr.x+rr.width), 0);
-			}
-		};
-
-		/**
-		 * align tops
-		 */
-		public final static Alignment TOPS = new Alignment("Tops") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(0, anchor.y-rr.y);
-			}
-		};
-
-		/**
-		 * align middles (vertically)
-		 */
-		public final static Alignment MIDDLES = new Alignment("Middles") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(0, (anchor.y+anchor.height/2) - (rr.y+rr.height/2));
-			}
-		};
-
-		/**
-		 * align bottoms
-		 */
-		public final static Alignment BOTTOMS = new Alignment("Bottoms") {
-			public void moveBy(Figure f, Rectangle anchor) {
-				Rectangle rr = f.displayBox();
-				f.moveBy(0, (anchor.y+anchor.height) - (rr.y+rr.height));
-			}
-		};
-
-		private String myDescription;
-
-		private Alignment(String newDescription) {
-			setDescription(newDescription);
-		}
-
-		public String toString() {
-			return getDescription();
-		}
-
-		public String getDescription() {
-			return myDescription;
-		}
-
-		private void setDescription(String newDescription) {
-			myDescription = newDescription;
-		}
-
-		public abstract void moveBy(Figure f, Rectangle anchor);
-	}
-
-	private Alignment myAlignment;
-
-	/**
-	 * Constructs an alignment command.
-	 * @param newAlignment the alignment operation (LEFTS, CENTERS, RIGHTS, etc.)
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public AlignCommand(Alignment newAlignment, DrawingEditor newDrawingEditor) {
-		super(newAlignment.getDescription(), newDrawingEditor);
-		setAlignment(newAlignment);
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 1;
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		// get selected figures in the order the figures have been selected
-		getUndoActivity().setAffectedFigures(view().selection());
-		((AlignCommand.UndoActivity)getUndoActivity()).alignAffectedFigures(getAlignment());
-		view().checkDamage();
-	}
-
-	protected void setAlignment(Alignment newAlignment) {
-		myAlignment = newAlignment;
-	}
-
-	public Alignment getAlignment() {
-		return myAlignment;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new AlignCommand.UndoActivity(view(), getAlignment());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Hashtable myOriginalPoints;
-		private Alignment myAppliedAlignment;
-
-		public UndoActivity(DrawingView newView, Alignment newAlignment) {
-			super(newView);
-			myOriginalPoints = new Hashtable();
-			setAppliedAlignment(newAlignment);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				Point originalPoint = getOriginalPoint(f);
-				Point currentPoint = f.displayBox().getLocation();
-				// substract current lcoation to get to 0,0 and then move to original location
-				f.moveBy(-currentPoint.x + originalPoint.x,
-						 -currentPoint.y + originalPoint.y);
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			if (!isRedoable()) {
-				return false;
-			}
-			alignAffectedFigures(getAppliedAlignment());
-			return true;
-		}
-
-		protected void setAppliedAlignment(Alignment newAlignment) {
-			myAppliedAlignment = newAlignment;
-		}
-
-		public Alignment getAppliedAlignment() {
-			return myAppliedAlignment;
-		}
-
-		protected void addOriginalPoint(Figure f) {
-			myOriginalPoints.put(f, f.displayBox().getLocation());
-		}
-
-		public Point getOriginalPoint(Figure f) {
-			return (Point)myOriginalPoints.get(f);
-		}
-
-		public void alignAffectedFigures(Alignment applyAlignment) {
-			FigureEnumeration fe = getAffectedFigures();
-			Figure anchorFigure = fe.nextFigure();
-			Rectangle r = anchorFigure.displayBox();
-
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				applyAlignment.moveBy(f, r);
-			}
-		}
-
-		public void setAffectedFigures(FigureEnumeration fe) {
-			// first make copy of FigureEnumeration in superclass
-			super.setAffectedFigures(fe);
-			// then get new FigureEnumeration of copy to save aligment
-			FigureEnumeration copyFe = getAffectedFigures();
-			while (copyFe.hasNextFigure()) {
-				addOriginalPoint(copyFe.nextFigure());
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/BoxHandleKit.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/BoxHandleKit.java
deleted file mode 100644
index a49e964ee..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/BoxHandleKit.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * @(#)BoxHandleKit.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.UndoableAdapter;
-import java.awt.*;
-import java.util.List;
-
-/**
- * A set of utility methods to create Handles for the common
- * locations on a figure's display box.
- *
- * @see Handle
- *
- * @version <$CURRENT_VERSION$>
- */
-
- // TBD: use anonymous inner classes (had some problems with JDK 1.1)
-
-public class BoxHandleKit {
-
-	/**
-	 * Fills the given collection with handles at each corner of a
-	 * figure.
-	 */
-	static public void addCornerHandles(Figure f, List handles) {
-		handles.add(southEast(f));
-		handles.add(southWest(f));
-		handles.add(northEast(f));
-		handles.add(northWest(f));
-	}
-
-	/**
-	 * Fills the given collection with handles at each corner
-	 * and the north, south, east, and west of the figure.
-	 */
-	static public void addHandles(Figure f, List handles) {
-		addCornerHandles(f, handles);
-		handles.add(south(f));
-		handles.add(north(f));
-		handles.add(east(f));
-		handles.add(west(f));
-	}
-
-	static public Handle south(Figure owner) {
-		return new SouthHandle(owner);
-	}
-
-	static public Handle southEast(Figure owner) {
-		return new SouthEastHandle(owner);
-	}
-
-	static public Handle southWest(Figure owner) {
-		return new SouthWestHandle(owner);
-	}
-
-	static public Handle north(Figure owner) {
-		return new NorthHandle(owner);
-	}
-
-	static public Handle northEast(Figure owner) {
-		return new NorthEastHandle(owner);
-	}
-
-	static public Handle northWest(Figure owner) {
-		return new NorthWestHandle(owner);
-	}
-
-	static public Handle east(Figure owner) {
-		return new EastHandle(owner);
-	}
-
-	static public Handle west(Figure owner) {
-		return new WestHandle(owner);
-	}
-}
-
-class ResizeHandle extends LocatorHandle {
-	ResizeHandle(Figure owner, Locator loc) {
-		super(owner, loc);
-	}
-
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setUndoActivity(createUndoActivity(view));
-		getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(owner()));
-		((ResizeHandle.UndoActivity)getUndoActivity()).setOldDisplayBox(owner().displayBox());
-	}
-
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle oldDisplayBox = ((ResizeHandle.UndoActivity)getUndoActivity()).getOldDisplayBox();
-		if (owner().displayBox().equals(oldDisplayBox)) {
-			// display box hasn't change so there is nothing to undo
-			setUndoActivity(null);
-		}
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected Undoable createUndoActivity(DrawingView view) {
-		return new ResizeHandle.UndoActivity(view);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Rectangle myOldDisplayBox;
-
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			return resetDisplayBox();
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			return resetDisplayBox();
-		}
-
-		private boolean resetDisplayBox() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (!fe.hasNextFigure()) {
-				return false;
-			}
-			Figure currentFigure = fe.nextFigure();
-
-			Rectangle figureDisplayBox = currentFigure.displayBox();
-			currentFigure.displayBox(getOldDisplayBox());
-			setOldDisplayBox(figureDisplayBox);
-			return true;
-		}
-
-		protected void setOldDisplayBox(Rectangle newOldDisplayBox) {
-			myOldDisplayBox = newOldDisplayBox;
-		}
-
-		public Rectangle getOldDisplayBox() {
-			return myOldDisplayBox;
-		}
-	}
-}
-
-class NorthEastHandle extends ResizeHandle {
-	NorthEastHandle(Figure owner) {
-		super(owner, RelativeLocator.northEast());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, Math.min(r.y + r.height, y)),
-			new Point(Math.max(r.x, x), r.y + r.height)
-		);
-	}
-}
-
-class EastHandle extends ResizeHandle {
-	EastHandle(Figure owner) {
-		super(owner, RelativeLocator.east());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, r.y), new Point(Math.max(r.x, x), r.y + r.height)
-		);
-	}
-}
-
-class NorthHandle extends ResizeHandle {
-	NorthHandle(Figure owner) {
-		super(owner, RelativeLocator.north());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, Math.min(r.y + r.height, y)),
-			new Point(r.x + r.width, r.y + r.height)
-		);
-	}
-}
-
-class NorthWestHandle extends ResizeHandle {
-	NorthWestHandle(Figure owner) {
-		super(owner, RelativeLocator.northWest());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(Math.min(r.x + r.width, x), Math.min(r.y + r.height, y)),
-			new Point(r.x + r.width, r.y + r.height)
-		);
-	}
-}
-
-class SouthEastHandle extends ResizeHandle {
-	SouthEastHandle(Figure owner) {
-		super(owner, RelativeLocator.southEast());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, r.y),
-			new Point(Math.max(r.x, x), Math.max(r.y, y))
-		);
-	}
-}
-
-class SouthHandle extends ResizeHandle {
-	SouthHandle(Figure owner) {
-		super(owner, RelativeLocator.south());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(r.x, r.y),
-			new Point(r.x + r.width, Math.max(r.y, y))
-		);
-	}
-}
-
-class SouthWestHandle extends ResizeHandle {
-	SouthWestHandle(Figure owner) {
-		super(owner, RelativeLocator.southWest());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(Math.min(r.x + r.width, x), r.y),
-			new Point(r.x + r.width, Math.max(r.y, y))
-		);
-	}
-}
-
-class WestHandle extends ResizeHandle {
-	WestHandle(Figure owner) {
-		super(owner, RelativeLocator.west());
-	}
-
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Rectangle r = owner().displayBox();
-		owner().displayBox(
-			new Point(Math.min(r.x + r.width, x), r.y),
-			new Point(r.x + r.width, r.y + r.height)
-		);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/BringToFrontCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/BringToFrontCommand.java
deleted file mode 100644
index 6ceeeff58..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/BringToFrontCommand.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * @(#)BringToFrontCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Undoable;
-
-/**
- * BringToFrontCommand brings the selected figures in the front of
- * the other figures.
- *
- * @see SendToBackCommand
- * @version <$CURRENT_VERSION$>
- */
-public class BringToFrontCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a bring to front command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public BringToFrontCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selection());
-		FigureEnumeration fe = getUndoActivity().getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			view().drawing().bringToFront(fe.nextFigure());
-		}
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	protected Undoable createUndoActivity() {
-		return new BringToFrontCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends SendToBackCommand.UndoActivity {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-		}
-
-		protected void sendToCommand(Figure f) {
-			getDrawingView().drawing().bringToFront(f);
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/BufferedUpdateStrategy.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/BufferedUpdateStrategy.java
deleted file mode 100644
index 7c8676c08..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/BufferedUpdateStrategy.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * @(#)BufferedUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-
-/**
- * The BufferedUpdateStrategy implements an update
- * strategy that first draws a view into a buffer
- * followed by copying the buffer to the DrawingView.
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public class BufferedUpdateStrategy implements Painter {
-
-	/**
-	* The offscreen image
-	*/
-	transient private Image   fOffscreen;
-	private int     fImagewidth = -1;
-	private int     fImageheight = -1;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 6489532222954612824L;
-	private int bufferedUpdateSerializedDataVersion = 1;
-
-	/**
-	* Draws the view contents.
-	*/
-	public void draw(Graphics g, DrawingView view) {
-		// create the buffer if necessary
-		Dimension d = view.getSize();
-		if ((fOffscreen == null) || (d.width != fImagewidth)
-			|| (d.height != fImageheight)) {
-			fOffscreen = view.createImage(d.width, d.height);
-			fImagewidth = d.width;
-			fImageheight = d.height;
-		}
-
-		// let the view draw on offscreen buffer
-		Graphics g2 = fOffscreen.getGraphics();
-		view.drawAll(g2);
-
-		g.drawImage(fOffscreen, 0, 0, view);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeAttributeCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeAttributeCommand.java
deleted file mode 100644
index 77b449712..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeAttributeCommand.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)ChangeAttributeCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.UndoableAdapter;
-import org.jhotdraw.util.Undoable;
-import java.util.Hashtable;
-
-/**
- * Command to change a named figure attribute.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ChangeAttributeCommand extends AbstractCommand {
-
-	private FigureAttributeConstant fAttribute;
-	private Object      fValue;
-
-	/**
-	 * Constructs a change attribute command.
-	 * @param name the command name
-	 * @param attribute the attribute to be changed
-	 * @param value the new attribute value
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public ChangeAttributeCommand(String name, FigureAttributeConstant attribute,
-						   Object value, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-		fAttribute = attribute;
-		fValue = value;
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selection());
-		FigureEnumeration fe = getUndoActivity().getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().setAttribute(fAttribute, fValue);
-		}
-		view().checkDamage();
-	}
-
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new ChangeAttributeCommand.UndoActivity(view(), fAttribute, fValue);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private FigureAttributeConstant myUndoAttribute;
-		private Hashtable	            myOriginalValues;
-		private Object                  myUndoValue;
-
-		public UndoActivity(DrawingView newDrawingView, FigureAttributeConstant newUndoAttribute, Object newUndoValue) {
-			super(newDrawingView);
-			myOriginalValues = new Hashtable();
-			setAttribute(newUndoAttribute);
-			setBackupValue(newUndoValue);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				if (getOriginalValue(f) != null) {
-					f.setAttribute(getAttribute(), getOriginalValue(f));
-				}
-			}
-
-			return true;
-		}
-
-		public boolean redo() {
-			if (!isRedoable()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				if (getBackupValue() != null) {
-					f.setAttribute(getAttribute(), getBackupValue());
-				}
-			}
-
-			return true;
-		}
-
-		protected void addOriginalValue(Figure affectedFigure, Object newOriginalValue) {
-			myOriginalValues.put(affectedFigure, newOriginalValue);
-		}
-
-		protected Object getOriginalValue(Figure lookupAffectedFigure) {
-			return myOriginalValues.get(lookupAffectedFigure);
-		}
-
-		protected void setAttribute(FigureAttributeConstant newUndoAttribute) {
-			myUndoAttribute = newUndoAttribute;
-		}
-
-		public FigureAttributeConstant getAttribute() {
-			return myUndoAttribute;
-		}
-
-		protected void setBackupValue(Object newUndoValue) {
-			myUndoValue = newUndoValue;
-		}
-
-		public Object getBackupValue() {
-			return myUndoValue;
-		}
-
-		public void release() {
-			super.release();
-			myOriginalValues = null;
-		}
-
-		public void setAffectedFigures(FigureEnumeration fe) {
-			// first make copy of FigureEnumeration in superclass
-			super.setAffectedFigures(fe);
-			// then get new FigureEnumeration of copy to save attributes
-			FigureEnumeration copyFe = getAffectedFigures();
-			while (copyFe.hasNextFigure()) {
-				Figure f = copyFe.nextFigure();
-				Object attributeValue = f.getAttribute(getAttribute());
-				if (attributeValue != null) {
-					addOriginalValue(f, attributeValue);
-				}
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionEndHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionEndHandle.java
deleted file mode 100644
index 281f5cffb..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionEndHandle.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * @(#)ChangeConnectionEndHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Undoable;
-import java.awt.Point;
-
-/**
- * A handle to reconnect the end point of
- * a connection to another figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChangeConnectionEndHandle extends ChangeConnectionHandle {
-
-	/**
-	 * Constructs the connection handle.
-	 */
-	public ChangeConnectionEndHandle(ConnectionFigure owner) {
-		super(owner);
-	}
-
-	/**
-	 * Gets the end figure of a connection.
-	 */
-	protected Connector target() {
-		return getConnection().getEndConnector();
-	}
-
-	/**
-	 * Disconnects the end figure.
-	 */
-	protected void disconnect() {
-		getConnection().disconnectEnd();
-	}
-
-	/**
-	 * Sets the end of the connection.
-	 */
-	protected void connect(Connector c) {
-		getConnection().connectEnd(c);
-	}
-
-	/**
-	 * Sets the end point of the connection.
-	 */
-	protected void setPoint(int x, int y) {
-		getConnection().endPoint(x, y);
-	}
-
-	/**
-	 * Returns the end point of the connection.
-	 */
-	public Point locate() {
-		return getConnection().endPoint();
-	}
-
-	/**
-	 * Draws this handle.
-	 */
-	public void draw(java.awt.Graphics g) {
-		if (getConnection().getEndConnector() instanceof OffsetConnector && 
-			getConnection().getStartConnector() != null &&
-			getConnection().getStartConnector().owner() != null &&
-			getConnection().getStartConnector().owner() == getConnection().getEndConnector().owner()) { 
-			return;
-		}
-
-		super.draw(g);   
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new ChangeConnectionEndHandle.UndoActivity(newView);
-	}
-
-	public static class UndoActivity extends ChangeConnectionHandle.UndoActivity {
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-		}
-
-		protected Connector replaceConnector(ConnectionFigure connection) {
-			Connector tempEndConnector = connection.getEndConnector();
-			connection.connectEnd(getOldConnector());
-			return tempEndConnector;
-		}
-	}
-
-    protected boolean canConnectTo(Figure figure) {
-        return getConnection().canConnect(source().owner(), figure);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionHandle.java
deleted file mode 100644
index 45a19edc0..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionHandle.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * @(#)ChangeConnectionHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Geom;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.UndoableAdapter;
-import java.awt.*;
-
-/**
- * ChangeConnectionHandle factors the common code for handles
- * that can be used to reconnect connections.
- *
- * @see ChangeConnectionEndHandle
- * @see ChangeConnectionStartHandle
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class ChangeConnectionHandle extends AbstractHandle {
-
-	private Connector         fOriginalTarget;
-	private Figure            myTarget;
-	private ConnectionFigure  myConnection;
-	private Point             fStart;
-
-	/**
-	 * Initializes the change connection handle.
-	 */
-	protected ChangeConnectionHandle(ConnectionFigure owner) {
-		super(owner);
-		setConnection(owner);
-		setTargetFigure(null);
-	}
-
-	/**
-	 * Returns the target connector of the change.
-	 */
-	protected abstract Connector target();
-
-	/**
-	 * Disconnects the connection.
-	 */
-	protected abstract void disconnect();
-
-	/**
-	 * Connect the connection with the given figure.
-	 */
-	protected abstract void connect(Connector c);
-
-	/**
-	 * Sets the location of the target point.
-	 */
-	protected abstract void setPoint(int x, int y);
-
-	/**
-	 * Gets the side of the connection that is unaffected by
-	 * the change.
-	 */
-	protected Connector source() {
-		if (target() == getConnection().getStartConnector()) {
-			return getConnection().getEndConnector();
-		}
-		return getConnection().getStartConnector();
-	}
-
-	/**
-	 * Disconnects the connection.
-	 */
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		fOriginalTarget = target();
-		fStart = new Point(x, y);
-
-		setUndoActivity(createUndoActivity(view));
-		((ChangeConnectionHandle.UndoActivity)getUndoActivity()).setOldConnector(target());
-
-		disconnect();
-	}
-
-	/**
-	 * Finds a new target of the connection.
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point p = new Point(x, y);
-		Figure f = findConnectableFigure(x, y, view.drawing());
-		// track the figure containing the mouse
-		if (f != getTargetFigure()) {
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(false, null);
-			}
-			setTargetFigure(f);
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(true, getConnection());
-			}
-		}
-
-		Connector target = findConnectionTarget(p.x, p.y, view.drawing());
-		if (target != null) {
-			p = Geom.center(target.displayBox());
-		}
-		setPoint(p.x, p.y);
-
-		if (target == fOriginalTarget) {
-			p = target.connectorMovedTo(x, y);
-			setPoint(p.x, p.y);
-		}
-	}
-
-	/**
-	 * Connects the figure to the new target. If there is no
-	 * new target the connection reverts to its original one.
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Connector target = findConnectionTarget(x, y, view.drawing());
-		if (target == null) {
-			target = fOriginalTarget;
-		}
-        
-		if (target == fOriginalTarget) {
-			Point p = target.connectorMovedTo(x, y);
-			x=p.x;
-			y=p.y;
-		}
-
-		setPoint(x, y);
-		connect(target);
-		getConnection().updateConnection();
-
-		Connector oldConnector = ((ChangeConnectionHandle.UndoActivity)
-			getUndoActivity()).getOldConnector();
-		// there has been no change so there is nothing to undo
-		if ((oldConnector == null)
-				|| (target() == null)
-				|| (oldConnector.owner() == target().owner())) {
-			setUndoActivity(null);
-		}
-		else {
-			getUndoActivity().setAffectedFigures(new SingleFigureEnumerator(getConnection()));
-		}
-
-		if (getTargetFigure() != null) {
-			getTargetFigure().connectorVisibility(false, null);
-			setTargetFigure(null);
-		}
-	}
-
-	private Connector findConnectionTarget(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-
-		if (target == fOriginalTarget.owner() && fOriginalTarget instanceof OffsetConnector) {
-			return fOriginalTarget;
-		}
-
-		if ((target != null)
-			&& target.canConnect()
-			 && target != fOriginalTarget
-			 && !target.includes(owner())
-            /*
-    		 * JP, 25-May-03: Fix for ignored direction when checking
-    		 * connectability. Old version didn't take direction of
-             * connection into account, which could result in incorrect
-             * drawing if syntax rules were a concern.
-             * 
-             * See also new canConnectTo() method below.
-             * 
-             * Was:
-             * 
-    		 * && getConnection().canConnect(source().owner(), target)) {
-    		 */
-			&& canConnectTo(target)) {
-				return findConnector(x, y, target);
-		}
-		return null;
-	}
-
-    /**
-     * Called to check whether this end of the connection can connect to the
-     * given target figure. Needs to be overriden by the start and end changers
-     * to take the connection's direction into account during the check. JHD 5.4
-     * beta and before did not do this.
-     */
-    protected abstract boolean canConnectTo(Figure figure);
-    
-	protected Connector findConnector(int x, int y, Figure f) {
-		return f.connectorAt(x, y);
-	}
-
-	/**
-	 * Draws this handle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.green);
-		g.fillRect(r.x, r.y, r.width, r.height);
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-
-	private Figure findConnectableFigure(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (!figure.includes(getConnection()) && figure.canConnect()) {
-				if (figure.containsPoint(x, y)) {
-					return figure;
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected void setConnection(ConnectionFigure newConnection) {
-		myConnection = newConnection;
-	}
-	
-	protected ConnectionFigure getConnection() {
-		return myConnection;
-	}
-	
-	protected void setTargetFigure(Figure newTarget) {
-		myTarget = newTarget;
-	}
-	
-	protected Figure getTargetFigure() {
-		return myTarget;
-	}
-
-	/**
-	 * Factory method for undo activity. To be overriden by subclasses.
-	 */
-	protected abstract Undoable createUndoActivity(DrawingView newView);
-	
-	public static abstract class UndoActivity extends UndoableAdapter {
-		private Connector myOldConnector;
-		
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			swapConnectors();
-			return true;
-		}
-	
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			swapConnectors();
-			return true;
-		}
-
-		private void swapConnectors() {
-			FigureEnumeration fe = getAffectedFigures();
-			if (fe.hasNextFigure()) {
-				ConnectionFigure connection = (ConnectionFigure)fe.nextFigure();
-				setOldConnector(replaceConnector(connection));
-				connection.updateConnection();
-			}
-		}
-
-		protected abstract Connector replaceConnector(ConnectionFigure connection);
-				
-		public void setOldConnector(Connector newOldConnector) {
-			myOldConnector = newOldConnector;
-		}
-		
-		public Connector getOldConnector() {
-			return myOldConnector;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionStartHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionStartHandle.java
deleted file mode 100644
index fc3edb566..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChangeConnectionStartHandle.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * @(#)ChangeConnectionStartHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Undoable;
-import java.awt.Point;
-
-/**
- * Handle to reconnect the
- * start of a connection to another figure.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChangeConnectionStartHandle extends ChangeConnectionHandle {
-
-	/**
-	 * Constructs the connection handle for the given start figure.
-	 */
-	public ChangeConnectionStartHandle(ConnectionFigure owner) {
-		super(owner);
-	}
-
-	/**
-	 * Gets the start figure of a connection.
-	 */
-	protected Connector target() {
-		return getConnection().getStartConnector();
-	}
-
-	/**
-	 * Disconnects the start figure.
-	 */
-	protected void disconnect() {
-		getConnection().disconnectStart();
-	}
-
-	/**
-	 * Sets the start of the connection.
-	 */
-	protected void connect(Connector c) {
-		getConnection().connectStart(c);
-	}
-
-	/**
-	 * Sets the start point of the connection.
-	 */
-	protected void setPoint(int x, int y) {
-		getConnection().startPoint(x, y);
-	}
-
-	/**
-	 * Returns the start point of the connection.
-	 */
-	public Point locate() {
-		return getConnection().startPoint();
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity(DrawingView newView) {
-		return new ChangeConnectionStartHandle.UndoActivity(newView);
-	}
-
-	public static class UndoActivity extends ChangeConnectionHandle.UndoActivity {
-		public UndoActivity(DrawingView newView) {
-			super(newView);
-		}
-		
-		protected Connector replaceConnector(ConnectionFigure connection) {
-			Connector tempStartConnector = connection.getStartConnector();
-			connection.connectStart(getOldConnector());
-			return tempStartConnector;
-		}
-	}
-    
-    protected boolean canConnectTo(Figure figure) {
-        return getConnection().canConnect(figure, source().owner());
-}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChopBoxConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ChopBoxConnector.java
deleted file mode 100644
index 7e3d75eb3..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ChopBoxConnector.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)ChopBoxConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Geom;
-
-/**
- * A ChopBoxConnector locates connection points by
- * choping the connection between the centers of the
- * two figures at the display box.
- *
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ChopBoxConnector extends AbstractConnector {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = -1461450322712345462L;
-
-	public ChopBoxConnector() { // only used for Storable implementation
-	}
-
-	public ChopBoxConnector(Figure owner) {
-		super(owner);
-	}
-
-	public Point findStart(ConnectionFigure connection) {
-		Figure startFigure = connection.getStartConnector().owner();
-		Rectangle r2 = connection.getEndConnector().displayBox();
-		Point r2c = null;
-
-		if (connection.pointCount() == 2) {
-			r2c = new Point(r2.x + r2.width/2, r2.y + r2.height/2);
-		 }
-		 else {
-			r2c = connection.pointAt(1);
-		}
-
-		return chop(startFigure, r2c);
-	}
-
-	public Point findEnd(ConnectionFigure connection) {
-		Figure endFigure = connection.getEndConnector().owner();
-		Rectangle r1 = connection.getStartConnector().displayBox();
-		Point r1c = null;
-
-		if (connection.pointCount() == 2) {
-			r1c = new Point(r1.x + r1.width/2, r1.y + r1.height/2);
-		}
-		else {
-			r1c = connection.pointAt(connection.pointCount()-2);
-		}
-
-		return chop(endFigure, r1c);
-	}
-
-	protected Point chop(Figure target, Point from) {
-		Rectangle r = target.displayBox();
-		return Geom.angleToPoint(r, (Geom.pointToAngle(r, from)));
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/CompositeFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/CompositeFigure.java
deleted file mode 100644
index fe4047be8..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/CompositeFigure.java
+++ /dev/null
@@ -1,734 +0,0 @@
-/*
- * @(#)CompositeFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.*;
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.*;
-
-/**
- * A Figure that is composed of several figures. A CompositeFigure
- * doesn't define any layout behavior. It is up to subclassers to
- * arrange the contained figures.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld012.htm>Composite</a></b><br>
- * CompositeFigure enables to treat a composition of figures like
- * a single figure.<br>
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public abstract class CompositeFigure
-				extends AbstractFigure
-				implements FigureChangeListener {
-
-	/**
-	 * The figures that this figure is composed of
-	 * @see #add
-	 * @see #remove
-	 */
-	protected List fFigures;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 7408153435700021866L;
-	private int compositeFigureSerializedDataVersion = 1;
-	private transient QuadTree  _theQuadTree;
-	protected int _nLowestZ;
-	protected int _nHighestZ;
-
-	protected CompositeFigure() {
-		fFigures = CollectionsFactory.current().createList();
-		_nLowestZ = 0;
-		_nHighestZ = 0;
-	}
-
-	/**
-	 * Adds a figure to the list of figures. Initializes the
-	 * the figure's container.
-	 *
-	 * @param figure to be added to the drawing
-	 * @return the figure that was inserted (might be different from the figure specified).
-	 */
-	public Figure add(Figure figure) {
-		if (!containsFigure(figure)) {
-			figure.setZValue(++_nHighestZ);
-			fFigures.add(figure);
-			figure.addToContainer(this);
-			_addToQuadTree(figure);
-		}
-		return figure;
-	}
-
-	/**
-	 * Adds a list of figures.
-	 *
-	 * @see #add
-	 * @deprecated use addAll(FigureEnumeration) instead
-	 */
-	public void addAll(List newFigures) {
-		addAll(new FigureEnumerator(newFigures));
-	}
-
-	/**
-	 * Adds a FigureEnumeration of figures.
-	 *
-	 * @see #add
-	 * @param fe (unused) enumeration containing all figures to be added
-	 */
-	public void addAll(FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			add(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Removes a figure from the composite.
-	 *
-	 * @param figure that is part of the drawing and should be removed
-	 * @return the figure that has been removed (might be different from the figure specified)
-	 * @see #removeAll
-	 */
-	public Figure remove(Figure figure) {
-		Figure orphanedFigure = orphan(figure);
-		if (orphanedFigure != null) {
-			orphanedFigure.release();
-		}
-		return orphanedFigure;
-	}
-
-	/**
-	 * Removes a list of figures.
-	 *
-	 * @see #remove
-	 * @deprecated use removeAll(FigureEnumeration) instead
-	 */
-	public void removeAll(List figures) {
-		removeAll(new FigureEnumerator(figures));
-	}
-
-	/**
-	 * Removes a FigureEnumeration of figures.
-	 * @see #remove
-	 */
-	public void removeAll(FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			remove(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Removes all children.
-	 * @see #remove
-	 */
-	public void removeAll() {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure.removeFromContainer(this);
-		}
-		fFigures.clear();
-
-		_clearQuadTree();
-		_nLowestZ = 0;
-		_nHighestZ = 0;
-	}
-
-	/**
-	 * Removes a figure from the figure list, but
-	 * doesn't release it. Use this method to temporarily
-	 * manipulate a figure outside of the drawing.
-	 *
-	 * @param figure that is part of the drawing and should be added
-	 */
-	public synchronized Figure orphan(Figure figure) {
-		figure.removeFromContainer(this);
-		fFigures.remove(figure);
-		_removeFromQuadTree(figure);
-		return figure;
-	}
-
-	/**
-	 * Removes a list of figures from the figure's list
-	 * without releasing the figures.
-	 *
-	 * @see #orphan
-	 * @deprecated use orphanAll(FigureEnumeration) instead
-	 */
-	public void orphanAll(List newFigures) {
-		orphanAll(new FigureEnumerator(newFigures));
-	}
-
-	public void orphanAll(FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			orphan(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Replaces a figure in the drawing without
-	 * removing it from the drawing.
-	 *
-	 * @param figure figure to be replaced
-	 * @param replacement figure that should replace the specified figure
-	 * @return the figure that has been inserted (might be different from the figure specified)
-	 */
-	public synchronized Figure replace(Figure figure, Figure replacement) {
-		int index = fFigures.indexOf(figure);
-		if (index != -1) {
-			replacement.setZValue(figure.getZValue());
-			replacement.addToContainer(this);   // will invalidate figure
-			figure.removeFromContainer(this);
-			fFigures.set(index, replacement);
-			figure.changed();
-			replacement.changed();
-		}
-		return replacement;
-	}
-
-	/**
-	 * Sends a figure to the back of the drawing.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public synchronized void sendToBack(Figure figure) {
-		if (containsFigure(figure)) {
-			fFigures.remove(figure);
-			fFigures.add(0, figure);
-			_nLowestZ--;
-			figure.setZValue(_nLowestZ);
-			figure.changed();
-		}
-	}
-
-	/**
-	 * Brings a figure to the front.
-	 *
-	 * @param figure that is part of the drawing
-	 */
-	public synchronized void bringToFront(Figure figure) {
-		if (containsFigure(figure)) {
-			fFigures.remove(figure);
-			fFigures.add(figure);
-			_nHighestZ++;
-			figure.setZValue(_nHighestZ);
-			figure.changed();
-		}
-	}
-
-	/**
-	 * Sends a figure to a certain layer within a drawing. Each figure
-	 * lays in a unique layer and the layering order decides which
-	 * figure is drawn on top of another figure. Figures with a higher
-	 * layer number have usually been added later and may overlay
-	 * figures in lower layers. Layers are counted from to (the number
-	 * of figures - 1).
-	 * The figure is removed from its current layer (if it has been already
-	 * part of this drawing) and is transferred to the specified layers after
-	 * all figures between the original layer and the new layer are shifted to
-	 * one layer below to fill the layer sequence. It is not possible to skip a
-	 * layer number and if the figure is sent to a layer beyond the latest layer
-	 * it will be added as the last figure to the drawing and its layer number
-	 * will be set to the be the one beyond the latest layer so far.
-	 *
-	 * @param figure figure to be sent to a certain layer
-	 * @param layerNr target layer of the figure
-	 */
-	public void sendToLayer(Figure figure, int layerNr) {
-		if (containsFigure(figure)) {
-			if (layerNr >= fFigures.size()) {
-				layerNr = fFigures.size() - 1;
-			}
-			Figure layerFigure = getFigureFromLayer(layerNr);
-			int layerFigureZValue = layerFigure.getZValue();
-			int figureLayer = getLayer(figure);
-			// move figure forward
-			if (figureLayer < layerNr) {
-				assignFiguresToPredecessorZValue(figureLayer + 1, layerNr);
-			}
-			else if (figureLayer > layerNr) {
-				assignFiguresToSuccessorZValue(layerNr, figureLayer - 1);
-			}
-
-			fFigures.remove(figure);
-			fFigures.add(layerNr, figure);
-			figure.setZValue(layerFigureZValue);
-			figure.changed();
-		}
-	}
-
-	private void assignFiguresToPredecessorZValue(int lowerBound, int upperBound) {
-		// cannot shift figures to a lower layer if the lower bound is
-		// already the first layer.
-		if (upperBound >= fFigures.size()) {
-			upperBound = fFigures.size() - 1;
-		}
-
-		for (int i = upperBound; i >= lowerBound; i--) {
-			Figure currentFigure = (Figure)fFigures.get(i);
-			Figure predecessorFigure = (Figure)fFigures.get(i - 1);
-			currentFigure.setZValue(predecessorFigure.getZValue());
-		}
-	}
-
-	private void assignFiguresToSuccessorZValue(int lowerBound, int upperBound) {
-		if (upperBound >= fFigures.size()) {
-			upperBound = fFigures.size() - 1;
-		}
-
-		for (int i = upperBound; i >= lowerBound; i--) {
-			Figure currentFigure = (Figure)fFigures.get(i);
-			Figure successorFigure = (Figure)fFigures.get(i + 1);
-			currentFigure.setZValue(successorFigure.getZValue());
-		}
-	}
-
-	/**
-	 * Gets the layer for a certain figure (first occurrence). The number
-	 * returned is the number of the layer in which the figure is placed.
-	 *
-	 * @param figure figure to be queried for its layering place
-	 * @return number of the layer in which the figure is placed and -1 if the
-	 *			figure could not be found.
-	 * @see #sendToLayer
-	 */
-	public int getLayer(Figure figure) {
-		if (!containsFigure(figure)) {
-			return -1;
-		}
-		else {
-			return fFigures.indexOf(figure);
-		}
-	}
-
-	/**
-	 * Gets the figure from a certain layer.
-	 *
-	 * @param layerNr number of the layer which figure should be returned
-	 * @return figure from the layer specified, null, if the layer nr was outside
-	 *			the number of possible layer (0...(number of figures - 1))
-	 * @see #sendToLayer
-	 */
-	public Figure getFigureFromLayer(int layerNr) {
-		if ((layerNr >= 0) && (layerNr < fFigures.size())) {
-			return (Figure)fFigures.get(layerNr);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Draws all the contained figures
-	 * @see Figure#draw
-	 */
-	public void draw(Graphics g) {
-		draw(g, figures());
-	}
-
-	/**
-	 * Draws only the given figures
-	 * @see Figure#draw
-	 */
-	public void draw(Graphics g, FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().draw(g);
-		}
-	}
-
-	/**
-	 * Gets a figure at the given index.
-	 */
-	public Figure figureAt(int i) {
-		return (Figure)fFigures.get(i);
-	}
-
-	/**
-	 * Returns an Enumeration for accessing the contained figures.
-     * The enumeration is a snapshot of the current contained figures
-     * and is not a "live" enumeration and does not take subsequent
-     * changes of the CompositeFigure into account.
-	 * The figures are returned in the drawing order.
-	 */
-	public FigureEnumeration figures() {
-		return new FigureEnumerator(CollectionsFactory.current().createList(fFigures));
-	}
-
-	/**
-	 * Returns an enumeration to iterate in
-	 * Z-order back to front over the figures
-	 * that lie within the given bounds.
-	 */
-	public FigureEnumeration figures(Rectangle viewRectangle) {
-		if (_theQuadTree != null) {
-
-			FigureEnumeration fe =
-				_theQuadTree.getAllWithin(new Bounds(viewRectangle).asRectangle2D());
-
-			List l2 = CollectionsFactory.current().createList();
-
-			while (fe.hasNextFigure()) {
-				Figure f = fe.nextFigure();
-				//int z = fFigures.indexOf(f);
-				l2.add(new OrderedFigureElement(f, f.getZValue()));
-			}
-
-			Collections.sort(l2);
-
-			List l3 = CollectionsFactory.current().createList();
-
-			for (Iterator iter = l2.iterator(); iter.hasNext(); ) {
-				OrderedFigureElement ofe = (OrderedFigureElement)iter.next();
-				l3.add(ofe.getFigure());
-			}
-
-			return new FigureEnumerator(l3);
-		}
-
-		return figures();
-	}
-
-	/**
-	 * Gets number of child figures.
-	 */
-	public int figureCount() {
-		return fFigures.size();
-	}
-
-	/**
-	 * Check whether a given figure is a child figure of this CompositeFigure.
-	 */
-	public boolean containsFigure(Figure checkFigure) {
-		return fFigures.contains(checkFigure);
-	}
-
-    /**
-	 * Returns an Enumeration for accessing the contained figures
-	 * in the reverse drawing order.
-	 */
-	public final FigureEnumeration figuresReverse() {
-		return new ReverseFigureEnumerator(CollectionsFactory.current().createList(fFigures));
-	}
-
-	/**
-	 * Finds a top level Figure. Use this call for hit detection that
-	 * should not descend into the figure's children.
-	 */
-	public Figure findFigure(int x, int y) {
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure.containsPoint(x, y)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 */
-	public Figure findFigure(Rectangle r) {
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			Rectangle fr = figure.displayBox();
-			if (r.intersects(fr)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a top level Figure, but supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 * @param x the x coordinate
-	 * @param y the y coordinate
-	 * @param without the figure to be ignored during
-	 * the find.
-	 */
-	public Figure findFigureWithout(int x, int y, Figure without) {
-		if (without == null) {
-			return findFigure(x, y);
-		}
-
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure.containsPoint(x, y) && !figure.includes(without)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a top level Figure that intersects the given rectangle.
-	 * It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 */
-	public Figure findFigure(Rectangle r, Figure without) {
-		if (without == null) {
-			return findFigure(r);
-		}
-
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			Rectangle fr = figure.displayBox();
-			if (r.intersects(fr) && !figure.includes(without)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. Use this method to implement <i>click-through</i>
-	 * hit detection, that is, you want to detect the inner most
-	 * figure containing the given point.
-	 */
-	public Figure findFigureInside(int x, int y) {
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure().findFigureInside(x, y);
-			if (figure != null) {
-				return figure;
-			}
-		}
-
-		// bug-fix: 661878
-		if (containsPoint(x, y)) {
-			return this;
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Finds a figure but descends into a figure's
-	 * children. It supresses the passed
-	 * in figure. Use this method to ignore a figure
-	 * that is temporarily inserted into the drawing.
-	 */
-	public Figure findFigureInsideWithout(int x, int y, Figure without) {
-		if (without == null) {
-			return findFigureInside(x, y);
-		}
-
-		FigureEnumeration fe = figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure != without) {
-				Figure found = figure.findFigureInside(x, y);
-				if ((found != null) &&  !figure.includes(without)) {
-					return found;
-				}
-			}
-		}
-
-		if (containsPoint(x, y)) {
-			return this;
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Checks if the composite figure has the argument as one of
-	 * its children.
-	 * @return true if the figure is part of this CompositeFigure, else otherwise
-	 */
-	public boolean includes(Figure figure) {
-		if (super.includes(figure)) {
-			return true;
-		}
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure f = fe.nextFigure();
-			if (f.includes(figure)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Moves all the given figures by x and y. Doesn't announce
-	 * any changes. Subclassers override
-	 * basicMoveBy. Clients usually call moveBy.
-	 * @see #moveBy
-	 */
-	protected void basicMoveBy(int x, int y) {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().moveBy(x,y);
-		}
-	}
-
-	/**
-	 * Releases the figure and all its children.
-	 */
-	public void release() {
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure.release();
-		}
-		// bug-fix: 661879 (CompositeFigure.release releasing itself before containees)
-		super.release();
-	}
-
-	/**
-	 * Propagates the figureInvalidated event to my listener.
-	 * @see FigureChangeListener
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureInvalidated(e);
-		}
-	}
-
-	/**
-	 * Propagates the removeFromDrawing request up to the container.
-	 * @see FigureChangeListener
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestRemove(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Propagates the requestUpdate request up to the container.
-	 * @see FigureChangeListener
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestUpdate(e);
-		}
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		_removeFromQuadTree(e.getFigure());
-		_addToQuadTree(e.getFigure());
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRemoved(e);
-		}
-	}
-
-	/**
-	 * Writes the contained figures to the StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(figureCount());
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			dw.writeStorable(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Reads the contained figures from StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		int size = dr.readInt();
-		fFigures = CollectionsFactory.current().createList(size);
-		for (int i=0; i<size; i++) {
-			add((Figure)dr.readStorable());
-		}
-		init(displayBox());
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure.addToContainer(this);
-		}
-
-		init(new Rectangle(0, 0));
-	}
-
-	/**
-	 * Used to optimize rendering.  Rendering of many objects may
-	 * be slow until this method is called.  The view rectangle
-	 * should at least approximately enclose the CompositeFigure.
-	 * If the view rectangle is too small or too large, performance
-	 * may suffer.
-	 *
-	 * Don't forget to call this after loading or creating a
-	 * new CompositeFigure.  If you forget, drawing performance may
-	 * suffer.
-	 */
-	public void init(Rectangle viewRectangle) {
-		_theQuadTree = new QuadTree(new Bounds(viewRectangle).asRectangle2D());
-
-		FigureEnumeration fe = figures();
-		while (fe.hasNextFigure()) {
-			_addToQuadTree(fe.nextFigure());
-		}
-	}
-
-	private void _addToQuadTree(Figure f) {
-		if (_theQuadTree != null) {
-			// Bugfix: Make sure the rectangle is not zero width or height.
-			// Otherwise, the quadTree search in this.figures(Rectangle)
-			// will be incorrect. [John Yu, 2002/05/23]
-			Rectangle r = f.displayBox();
-			if (r.height == 0) {
-				r.grow(0, 1);
-			}
-			if (r.width == 0) {
-				r.grow(1, 0);
-			}
-
-			_theQuadTree.add(f, new Bounds(r).asRectangle2D());
-		}
-	}
-
-	private void _removeFromQuadTree(Figure f) {
-		if (_theQuadTree != null) {
-			_theQuadTree.remove(f);
-		}
-	}
-
-	private void _clearQuadTree() {
-		if (_theQuadTree != null) {
-			_theQuadTree.clear();
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ConnectionHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ConnectionHandle.java
deleted file mode 100644
index df409e6f3..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ConnectionHandle.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * @(#)ConnectionHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.util.List;
-
-import org.jhotdraw.framework.ConnectionFigure;
-import org.jhotdraw.framework.Connector;
-import org.jhotdraw.framework.Cursor;
-import org.jhotdraw.framework.Drawing;
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.framework.Locator;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.Geom;
-import org.jhotdraw.util.Undoable;
-
-/**
- * A handle to connect figures.
- * The connection object to be created is specified by a prototype.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld029.htm>Prototype</a></b><br>
- * ConnectionHandle creates the connection by cloning a prototype.
- * <hr>
- *
- * @see ConnectionFigure
- * @see Object#clone
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ConnectionHandle extends LocatorHandle {
-
-	/**
-	 * the currently created connection
-	 */
-	private ConnectionFigure myConnection;
-
-	/**
-	 * the prototype of the connection to be created
-	 */
-	private ConnectionFigure fPrototype;
-
-	/**
-	 * the current target
-	 */
-	private Figure myTargetFigure;
-
-	/**
-	 * Constructs a handle with the given owner, locator, and connection prototype
-	 */
-	public ConnectionHandle(Figure owner, Locator l, ConnectionFigure prototype) {
-		super(owner, l);
-		fPrototype = prototype;
-	}
-
-	/**
-	 * Creates the connection
-	 */
-	public void invokeStart(int  x, int  y, DrawingView view) {
-		setConnection(createConnection());
-
-		setUndoActivity(createUndoActivity(view));
-		List connectionsList = CollectionsFactory.current().createList();
-		connectionsList.add(getConnection());
-		getUndoActivity().setAffectedFigures(new FigureEnumerator(connectionsList));
-
-		Point p = locate();
-		getConnection().startPoint(p.x, p.y);
-		getConnection().endPoint(p.x, p.y);
-		view.drawing().add(getConnection());
-	}
-
-	/**
-	 * Tracks the connection.
-	 */
-	public void invokeStep (int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Point p = new Point(x,y);
-		Figure f = findConnectableFigure(x, y, view.drawing());
-		// track the figure containing the mouse
-		if (f != getTargetFigure()) {
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(false, null);
-			}
-			setTargetFigure(f);
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(true, getConnection());
-			}
-		}
-
-		Connector target = findConnectionTarget(p.x, p.y, view.drawing());
-		if (target != null) {
-			p = Geom.center(target.displayBox());
-		}
-		getConnection().endPoint(p.x, p.y);
-	}
-
-	/**
-	 * Connects the figures if the mouse is released over another
-	 * figure.
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		Connector target = findConnectionTarget(x, y, view.drawing());
-		if (target != null) {
-			getConnection().connectStart(startConnector());
-			getConnection().connectEnd(target);
-			getConnection().updateConnection();
-		}
-		else {
-			view.drawing().remove(getConnection());
-			setUndoActivity(null);
-		}
-		setConnection(null);
-		if (getTargetFigure() != null) {
-			getTargetFigure().connectorVisibility(false, null);
-			setTargetFigure(null);
-		}
-	}
-
-	private Connector startConnector() {
-		Point p = locate();
-		return owner().connectorAt(p.x, p.y);
-	}
-
-	/**
-	 * Creates the ConnectionFigure. By default the figure prototype is
-	 * cloned.
-	 */
-	protected ConnectionFigure createConnection() {
-		return (ConnectionFigure)fPrototype.clone();
-	}
-
-	/**
-	 * Factory method for undo activity.
-	 */
-	protected Undoable createUndoActivity(DrawingView view) {
-		return new PasteCommand.UndoActivity(view);
-	}
-
-	/**
-	 * Finds a connection end figure.
-	 */
-	protected Connector findConnectionTarget(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-		if ((target != null) && target.canConnect()
-			 && !target.includes(owner())
-			 && getConnection().canConnect(owner(), target)) {
-				return findConnector(x, y, target);
-		}
-		return null;
-	}
-
-	private Figure findConnectableFigure(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (!figure.includes(getConnection()) && figure.canConnect() 
-				&& figure.containsPoint(x, y)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	protected Connector findConnector(int x, int y, Figure f) {
-		return f.connectorAt(x, y);
-	}
-
-
-	/**
-	 * Draws the connection handle, by default the outline of a
-	 * blue circle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-		g.setColor(Color.blue);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	protected void setConnection(ConnectionFigure newConnection) {
-		myConnection = newConnection;
-	}
-	
-	protected ConnectionFigure getConnection() {
-		return myConnection;
-	}
-
-	protected Figure getTargetFigure() {
-		return myTargetFigure;
-	}
-
-	protected void setTargetFigure(Figure newTargetFigure) {
-		myTargetFigure = newTargetFigure;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		return new AWTCursor(java.awt.Cursor.HAND_CURSOR);
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ConnectionTool.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ConnectionTool.java
deleted file mode 100644
index dddc78e7b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ConnectionTool.java
+++ /dev/null
@@ -1,455 +0,0 @@
-/*
- * @(#)ConnectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.Geom;
-import org.jhotdraw.util.UndoableAdapter;
-import org.jhotdraw.util.Undoable;
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * A tool that can be used to connect figures, to split
- * connections, and to join two segments of a connection.
- * ConnectionTools turns the visibility of the Connectors
- * on when it enters a figure.
- * The connection object to be created is specified by a prototype.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld029.htm>Prototype</a></b><br>
- * ConnectionTools creates the connection by cloning a prototype.
- * <hr>
- *
- * @see ConnectionFigure
- * @see Object#clone
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class ConnectionTool extends AbstractTool {
-
-	/**
-	 * the anchor point of the interaction
-	 */
-	private Connector   myStartConnector;
-	private Connector   myEndConnector;
-	private Connector   myTargetConnector;
-
-	private Figure myTarget;
-
-	/**
-	 * the currently created figure
-	 */
-	private ConnectionFigure  myConnection;
-
-	/**
-	 * the currently manipulated connection point
-	 */
-	private int  fSplitPoint;
-
-	/**
-	 * the currently edited connection
-	 */
-	private ConnectionFigure  fEditedConnection;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	/**
-	 * the prototypical figure that is used to create new
-	 * connections.
-	 */
-	private ConnectionFigure  fPrototype;
-
-
-	public ConnectionTool(DrawingEditor newDrawingEditor, ConnectionFigure newPrototype) {
-		super(newDrawingEditor);
-		fPrototype = newPrototype;
-	}
-
-	/**
-	 * Handles mouse move events in the drawing view.
-	 */
-	public void mouseMove(MouseEvent e, int x, int y) {
-		trackConnectors(e, x, y);
-	}
-
-	/**
-	 * Manipulates connections in a context dependent way. If the
-	 * mouse down hits a figure start a new connection. If the mousedown
-	 * hits a connection split a segment or join two segments.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e,x,y);
-		int ex = e.getX();
-		int ey = e.getY();
-
-		OffsetConnector.trackingConnector1.reset(getActiveView());
-
-        /*
-         * JP, 25-May-03: Swapped checking for underlying figure and
-         * existing connection. If figure is checked first (old version),
-         * it is not possible to insert new points into a connection that
-         * crosses or otherwise goes through an existing figure. New
-         * version checks for connection first.
-         */
-		ConnectionFigure connection = findConnection(ex, ey, drawing());
-		if (connection != null) {
-			if (!connection.joinSegments(ex, ey)) {
-				fSplitPoint = connection.splitSegment(ex, ey);
-				fEditedConnection = connection;
-			}
-			else {
-				fEditedConnection = null;
-			}
-		}
-		else {
-			setTargetFigure(findConnectionStart(ex, ey, drawing()));
-			if (getTargetFigure() != null) {
-				setStartConnector(findConnector(ex, ey, getTargetFigure()));
-				if (getStartConnector() != null) {
-					setConnection(createConnection());
-					getConnection().startPoint(ex, ey);
-					getConnection().endPoint(ex, ey);
-					setAddedFigure(view().add(getConnection()));
-				}
-			}
-		}
-	}
-
-	/**
-	 * Adjust the created connection or split segment.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		Point p = new Point(e.getX(), e.getY());
-		if (getConnection() != null) {
-			trackConnectors(e, x, y);
-			if (getTargetConnector() != null) {
-				p = Geom.center(getTargetConnector().displayBox());
-			}
-			getConnection().endPoint(p.x, p.y);
-		}
-		else if (fEditedConnection != null) {
-			Point pp = new Point(x, y);
-			fEditedConnection.setPointAt(pp, fSplitPoint);
-		}
-	}
-
-	/**
-	 * Connects the figures if the mouse is released over another
-	 * figure.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		Figure c = null;
-		if (getStartConnector() != null) {
-			c = findTarget(e.getX(), e.getY(), drawing());
-		}
-
-		if (c != null) {
-			setEndConnector(findConnector(e.getX(), e.getY(), c));
-			if (getEndConnector() != null) {
-				getConnection().connectStart(getStartConnector());
-				getConnection().connectEnd(getEndConnector());
-				getConnection().updateConnection();
-
-				setUndoActivity(createUndoActivity());
-				getUndoActivity().setAffectedFigures(
-					new SingleFigureEnumerator(getAddedFigure()));
-			}
-		}
-		else if (getConnection() != null) {
-			view().remove(getConnection());
-		}
-
-		setConnection(null);
-		setStartConnector(null);
-		setEndConnector(null);
-		setAddedFigure(null);
-		editor().toolDone();
-	}
-
-	public void deactivate() {
-		super.deactivate();
-		if (getTargetFigure() != null) {
-			getTargetFigure().connectorVisibility(false, null);
-		}
-	}
-
-	/**
-	 * Creates the ConnectionFigure. By default the figure prototype is
-	 * cloned.
-	 */
-	protected ConnectionFigure createConnection() {
-		return (ConnectionFigure)fPrototype.clone();
-	}
-
-	/**
-	 * Finds a connectable figure target.
-	 */
-	protected Figure findSource(int x, int y, Drawing drawing) {
-		return findConnectableFigure(x, y, drawing);
-	}
-
-	/**
-	 * Finds a connectable figure target at the current mouse location that can
-	 * 1.  Connect to things
-	 * 2.  Is not already connected to the current Connection (no self connection)
-	 * 3.  The current Connection can make a connection between it and the start
-	 *     figure.
-	 */
-	protected Figure findTarget(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-		Figure start = getStartConnector().owner();
-		boolean includesStart = (target != null && target.includes(start));
-		if ((myStartConnector == OffsetConnector.trackingConnector1)
-			 || (myStartConnector == OffsetConnector.trackingConnector2)) {
-			includesStart = false;
-		}
-
-		if (target != null
-			 && getConnection() != null
-			 && target.canConnect()
-			 && !includesStart
-			 && getConnection().canConnect(start, target)) {
-			return target;
-		}
-		return null;
-	}
-
-	/**
-	 * Finds an existing connection figure.
-	 */
-	protected ConnectionFigure findConnection(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			figure = figure.findFigureInside(x, y);
-			if (figure != null && (figure instanceof ConnectionFigure)) {
-				return (ConnectionFigure)figure;
-			}
-		}
-		return null;
-	}
-
-	protected void setConnection(ConnectionFigure newConnection) {
-		myConnection = newConnection;
-	}
-
-	/**
-	 * Gets the connection which is created by this tool
-	 */
-	protected ConnectionFigure getConnection() {
-		return myConnection;
-	}
-
-	/**
-	 * Attempts to set the Connector to be connected to based on the current
-	 * location of the mouse.
-	 */
-	protected void trackConnectors(MouseEvent e, int x, int y) {
-		Figure c = null;
-
-		// If tool is not actively looking for a target for our current
-		// Connection, see if there are any connectable figures at at the
-		// current location(findSource).
-		if (getStartConnector() == null) {
-			c = findSource(x, y, getActiveDrawing());
-		}
-		else {
-			c = findTarget(x, y, getActiveDrawing());
-		}
-
-		// track the figure containing the mouse
-		/**
-		 * If the current target is not the stored target then turn off the
-		 * stored targets connectors visibility and turn on the current targets
-		 * connectors visibility. Then set the stored target to the current target.
-		 * If the targets match then don't do anything.
-		 * Note:  the target may have more than one connector.
-		 */
-		if (c != getTargetFigure()) {
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(false, null);
-			}
-			setTargetFigure(c);
-			if (getTargetFigure() != null) {
-				getTargetFigure().connectorVisibility(true, getConnection());
-			}
-		}
-
-		// Since you have a legitimate target, grab its connector and set it as
-		// the new target connector.
-		Connector cc = null;
-		if (c != null) {
-			cc = findConnector(e.getX(), e.getY(), c);
-		}
-		if (cc != getTargetConnector()) {
-			setTargetConnector(cc);
-		}
-
-		// Clean up the view.
-		getActiveView().checkDamage();
-	}
-
-	protected Connector findConnector(int x, int y, Figure f) {
-		return f.connectorAt(x, y);
-	}
-
-	/**
-	 * Finds a connection start figure.
-	 */
-	protected Figure findConnectionStart(int x, int y, Drawing drawing) {
-		Figure target = findConnectableFigure(x, y, drawing);
-		if ((target != null) && target.canConnect()) {
-			return target;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the topmost? figure that can connect and is at the current mouse
-	 * location.
-	 */
-	protected Figure findConnectableFigure(int x, int y, Drawing drawing) {
-		FigureEnumeration fe = drawing.figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (!figure.includes(getConnection()) && figure.canConnect()
-				&& figure.containsPoint(x, y)) {
-				return figure;
-			}
-		}
-		return null;
-	}
-
-	protected void setStartConnector(Connector newStartConnector) {
-		myStartConnector = newStartConnector;
-	}
-
-	protected Connector getStartConnector() {
-		return myStartConnector;
-	}
-
-	protected void setEndConnector(Connector newEndConnector) {
-		myEndConnector = newEndConnector;
-	}
-
-	protected Connector getEndConnector() {
-		return myEndConnector;
-	}
-
-	protected void setTargetConnector(Connector newTargetConnector) {
-		myTargetConnector = newTargetConnector;
-	}
-
-	protected Connector getTargetConnector() {
-		return myTargetConnector;
-	}
-
-	protected void setTargetFigure(Figure newTarget) {
-		myTarget = newTarget;
-	}
-
-	protected Figure getTargetFigure() {
-		return myTarget;
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	protected void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new ConnectionTool.UndoActivity(view(), getConnection());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		private ConnectionFigure  myConnection;
-		private Connector   myStartConnector;
-		private Connector   myEndConnector;
-
-		public UndoActivity(DrawingView newDrawingView, ConnectionFigure newConnection) {
-			super(newDrawingView);
-			setConnection(newConnection);
-			myStartConnector = getConnection().getStartConnector();
-			myEndConnector = getConnection().getEndConnector();
-	        setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			getConnection().disconnectStart();
-			getConnection().disconnectEnd();
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				getDrawingView().drawing().orphan(fe.nextFigure());
-			}
-
-			getDrawingView().clearSelection();
-
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-
-			getConnection().connectStart(myStartConnector);
-			getConnection().connectEnd(myEndConnector);
-			getConnection().updateConnection();
-
-			getDrawingView().insertFigures(getAffectedFigures(), 0, 0, false);
-
-			return true;
-		}
-
-		protected void setConnection(ConnectionFigure newConnection) {
-			myConnection = newConnection;
-		}
-
-		/**
-		 * Gets the currently created figure
-		 */
-		protected ConnectionFigure getConnection() {
-			return myConnection;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/CopyCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/CopyCommand.java
deleted file mode 100644
index 1bb74820b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/CopyCommand.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * @(#)CopyCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.DrawingEditor;
-
-/**
- * Copy the selection to the clipboard.
- *
- * @see Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-public class CopyCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a copy command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public CopyCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		copyFigures(view().selection(), view().selectionCount());
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/CreationTool.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/CreationTool.java
deleted file mode 100644
index b436511bd..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/CreationTool.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * @(#)CreationTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.Point;
-import java.awt.event.MouseEvent;
-import java.util.List;
-
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.JHotDrawRuntimeException;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.Undoable;
-
-/**
- * A tool to create new figures. The figure to be
- * created is specified by a prototype.
- *
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld029.htm>Prototype</a></b><br>
- * CreationTool creates new figures by cloning a prototype.
- * <hr>
- *
- * @see Figure
- * @see Object#clone
- *
- * @version <$CURRENT_VERSION$>
- */
-public class CreationTool extends AbstractTool {
-
-	/**
-	 * the list of currently added figures
-	 * by: ricardo_padilha.
-	 * description: This has been added to provide support for creation tools that
-	 *              insert more than one figure to the drawing, for example, by
-	 *              maintaining SHIFT down and clicking. However, this class still
-	 *              maintains its normal behavior of creating only one figure. 
-	 */
-	private List    fAddedFigures;
-
-	/**
-	 * the currently created figure
-	 */
-	private Figure  fCreatedFigure;
-
-	/**
-	 * the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	private Figure myAddedFigure;
-
-	/**
-	 * the prototypical figure that is used to create new figuresthe prototypical figure that is used to create new figures.
-	 */
-	private Figure  myPrototypeFigure;
-
-
-	/**
-	 * Initializes a CreationTool with the given prototype.
-	 */
-	public CreationTool(DrawingEditor newDrawingEditor, Figure prototype) {
-		super(newDrawingEditor);
-		setPrototypeFigure(prototype);
-	}
-
-	/**
-	 * Constructs a CreationTool without a prototype.
-	 * This is for subclassers overriding createFigure.
-	 */
-	protected CreationTool(DrawingEditor newDrawingEditor) {
-		this(newDrawingEditor, null);
-	}
-
-	/**
-	 * Sets the cross hair cursor.
-	 */
-	public void activate() {
-		super.activate();
-		if (isUsable()) {
-			getActiveView().setCursor(new AWTCursor(java.awt.Cursor.CROSSHAIR_CURSOR));
-		}
-		setAddedFigures(CollectionsFactory.current().createList());
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Tool#deactivate()
-	 */
-	public void deactivate() {
-		setCreatedFigure(null);
-		setAddedFigure(null);
-		setAddedFigures(null);
-		super.deactivate();
-	}
-
-	/**
-	 * Creates a new figure by cloning the prototype.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		setCreatedFigure(createFigure());
-		setAddedFigure(getActiveView().add(getCreatedFigure()));
-		getAddedFigure().displayBox(new Point(getAnchorX(), getAnchorY()), new Point(getAnchorX(), getAnchorY()));
-	}
-
-	/**
-	 * Creates a new figure by cloning the prototype.
-	 */
-	protected Figure createFigure() {
-		if (getPrototypeFigure() == null) {
-			throw new JHotDrawRuntimeException("No protoype defined");
-		}
-		return (Figure)getPrototypeFigure().clone();
-	}
-
-	/**
-	 * Adjusts the extent of the created figure
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (getAddedFigure() != null) {
-			getAddedFigure().displayBox(new Point(getAnchorX(), getAnchorY()), new Point(x, y));
-		}
-	}
-
-	/**
-	 * Checks if the created figure is empty. If it is, the figure
-	 * is removed from the drawing.
-	 * @see Figure#isEmpty
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (getAddedFigure() != null && !getCreatedFigure().isEmpty()) {
-			getAddedFigures().add(getAddedFigure());
-		}
-		else {
-			getActiveView().remove(getAddedFigure());
-		}
-
-		if (getAddedFigures().isEmpty()) {
-			setUndoActivity(null);
-		}
-		else {
-			// use undo activity from paste command...
-			setUndoActivity(createUndoActivity());
-			// put created figure into a figure enumeration
-			getUndoActivity().setAffectedFigures(new FigureEnumerator(getAddedFigures()));
-		}
-		editor().toolDone();
-	}
-
-	/**
-	 * As the name suggests this CreationTool uses the Prototype design pattern.
-	 * Thus, the prototype figure which is used to create new figures of the same
-	 * type by cloning the original prototype figure.
-	 * @param newPrototypeFigure figure to be cloned to create new figures
-	 */
-	protected void setPrototypeFigure(Figure newPrototypeFigure) {
-		myPrototypeFigure = newPrototypeFigure;
-	}
-
-	/**
-	 * As the name suggests this CreationTool uses the Prototype design pattern.
-	 * Thus, the prototype figure which is used to create new figures of the same
-	 * type by cloning the original prototype figure.
-	 * @return figure to be cloned to create new figures
-	 */
-	protected Figure getPrototypeFigure() {
-		return myPrototypeFigure;
-	}
-
-	/**
-	 * Gets the list of currently added figure
-	 */
-	protected List getAddedFigures() {
-		return fAddedFigures;
-	}
-
-	/**
-	 * Sets the addedFigures attribute of the CreationTool object
-	 */
-	protected void setAddedFigures(List newAddedFigures) {
-		fAddedFigures = newAddedFigures;
-	}
-
-	/**
-	 * Gets the currently created figure
-	 */
-	protected Figure getCreatedFigure() {
-		return fCreatedFigure;
-	}
-
-	/**
-	 * Sets the createdFigure attribute of the CreationTool object
-	 */
-	protected void setCreatedFigure(Figure newCreatedFigure) {
-		fCreatedFigure = newCreatedFigure;
-	}
-
-	/**
-	 * Gets the figure that was actually added
-	 * Note, this can be a different figure from the one which has been created.
-	 */
-	protected Figure getAddedFigure() {
-		return myAddedFigure;
-	}
-
-	/**
-	 * Sets the addedFigure attribute of the CreationTool object
-	 */
-	protected void setAddedFigure(Figure newAddedFigure) {
-		myAddedFigure = newAddedFigure;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(getActiveView());
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/CutCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/CutCommand.java
deleted file mode 100644
index ac8cade79..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/CutCommand.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)CutCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.util.List;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.UndoableAdapter;
-
-/**
- * Delete the selection and move the selected figures to
- * the clipboard.
- *
- * @see org.jhotdraw.util.Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-public class CutCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a cut command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public CutCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	/**
-	 * @see org.jhotdraw.util.Command#execute()
-	 */
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		/* ricardo_padilha: bugfix for correct delete/undelete behavior
-		 * When enumerating the affected figures we must not forget the dependent
-		 * figures, since they are deleted as well! 
-		 */
-		FigureEnumeration fe = view().selection();
-		List affected = CollectionsFactory.current().createList();
-		Figure f;
-		FigureEnumeration dfe;
-		while (fe.hasNextFigure()) {
-			f = fe.nextFigure();
-			affected.add(0, f);
-			dfe = f.getDependendFigures();
-			if (dfe != null) {
-				while (dfe.hasNextFigure()) {
-					affected.add(0, dfe.nextFigure());
-				}
-			}
-		}
-		fe = new FigureEnumerator(affected);
-		getUndoActivity().setAffectedFigures(fe);
-		UndoActivity ua = (UndoActivity) getUndoActivity();
-		ua.setSelectedFigures(view().selection());
-		copyFigures(ua.getSelectedFigures(), ua.getSelectedFiguresCount());
-		/* ricardo_padilha: end of bugfix */
-		deleteFigures(getUndoActivity().getAffectedFigures());
-		view().checkDamage();
-	}
-
-	/**
-	 * @see org.jhotdraw.standard.AbstractCommand#isExecutableWithView()
-	 */
-	public boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 * @return Undoable
-	 */
-	protected Undoable createUndoActivity() {
-		return new CutCommand.UndoActivity(this);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		private FigureTransferCommand myCommand;
-		private List mySelectedFigures;
-
-		/**
-		 * Constructor for <code>UndoActivity</code>.
-		 * @param newCommand
-		 */
-		public UndoActivity(FigureTransferCommand newCommand) {
-			super(newCommand.view());
-			myCommand = newCommand;
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/**
-		 * @see org.jhotdraw.util.Undoable#undo()
-		 */
-		public boolean undo() {
-			if (super.undo() && getAffectedFigures().hasNextFigure()) {
-				getDrawingView().clearSelection();
-				myCommand.insertFigures(getAffectedFiguresReversed(), 0, 0);
-				return true;
-			}
-			return false;
-		}
-
-		/**
-		 * @see org.jhotdraw.util.Undoable#redo()
-		 */
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				myCommand.copyFigures(getSelectedFigures(), getSelectedFiguresCount());
-				myCommand.deleteFigures(getAffectedFigures());
-				return true;
-			}
-
-			return false;
-		}
-
-		/**
-		 * Preserve the selection of figures the moment the command was executed.
-		 * @param newSelectedFigures
-		 */
-		public void setSelectedFigures(FigureEnumeration newSelectedFigures) {
-			// the enumeration is not reusable therefore a copy is made
-			// to be able to undo-redo the command several time
-			rememberSelectedFigures(newSelectedFigures);
-		}
-
-		/**
-		 * Preserve a copy of the enumeration in a private list.
-		 * @param toBeRemembered
-		 */
-		protected void rememberSelectedFigures(FigureEnumeration toBeRemembered) {
-			mySelectedFigures = CollectionsFactory.current().createList();
-			while (toBeRemembered.hasNextFigure()) {
-				mySelectedFigures.add(toBeRemembered.nextFigure());
-			}
-		}
-	
-		/**
-		 * Returns the selection of figures to perform the command on.
-		 * @return
-		 */
-		public FigureEnumeration getSelectedFigures() {
-			return new FigureEnumerator(
-				CollectionsFactory.current().createList(mySelectedFigures));
-		}
-
-		/**
-		 * Returns the size of the selection.
-		 * @return
-		 */
-		public int getSelectedFiguresCount() {
-			return mySelectedFigures.size();
-		}
-
-		/**
-		 * @see org.jhotdraw.util.UndoableAdapter#release()
-		 */
-		public void release() {
-			super.release();
-			FigureEnumeration fe = getSelectedFigures();
-			while (fe.hasNextFigure()) {
-				fe.nextFigure().release();
-			}
-			setSelectedFigures(FigureEnumerator.getEmptyEnumeration());
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/DecoratorFigure.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/DecoratorFigure.java
deleted file mode 100644
index 0b9d97f14..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/DecoratorFigure.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * @(#)DecoratorFigure.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.*;
-
-import java.awt.*;
-import java.io.*;
-
-/**
- * DecoratorFigure can be used to decorate other figures with
- * decorations like borders. Decorator forwards all the
- * methods to their contained figure. Subclasses can selectively
- * override these methods to extend and filter their behavior.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld014.htm>Decorator</a></b><br>
- * DecoratorFigure is a decorator.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public abstract class DecoratorFigure
-				extends AbstractFigure
-				implements FigureChangeListener {
-
-	/**
-	 * The decorated figure.
-	 */
-	private Figure myDecoratedFigure;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 8993011151564573288L;
-	private int decoratorFigureSerializedDataVersion = 1;
-
-	public DecoratorFigure() {
-		initialize();
-	}
-
-	/**
-	 * Constructs a DecoratorFigure and decorates the passed in figure.
-	 */
-	public DecoratorFigure(Figure figure) {
-		initialize();
-		decorate(figure);
-	}
-
-	/**
-	 * Performs additional initialization code before the figure is decorated.
-	 * Subclasses may override this method.
-	 */
-	protected void initialize() {
-	}
-
-	/**
-	 * Forwards the connection insets to its contained figure..
-	 */
-	public Insets connectionInsets() {
-		return getDecoratedFigure().connectionInsets();
-	}
-
-	/**
-	 * Forwards the canConnect to its contained figure..
-	 */
-	public boolean canConnect() {
-		return getDecoratedFigure().canConnect();
-	}
-
-	/**
-	 * Forwards containsPoint to its contained figure.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return getDecoratedFigure().containsPoint(x, y);
-	}
-
-	/**
-	 * Decorates the given figure.
-	 */
-	public void decorate(Figure figure) {
-		setDecoratedFigure(figure);
-		getDecoratedFigure().addToContainer(this);
-		//addDependendFigure(getDecoratedFigure());
-	}
-
-	/**
-	 * Removes the decoration from the contained figure.
-	 */
-	public Figure peelDecoration() {
-		getDecoratedFigure().removeFromContainer(this); //??? set the container to the listener()?
-		removeDependendFigure(getDecoratedFigure());
-		return getDecoratedFigure();
-	}
-
-	public void setDecoratedFigure(Figure newDecoratedFigure) {
-		myDecoratedFigure = newDecoratedFigure;
-	}
-
-	public Figure getDecoratedFigure() {
-		return myDecoratedFigure;
-	}
-
-	/**
-	 * Forwards displayBox to its contained figure.
-	 */
-	public Rectangle displayBox() {
-		return getDecoratedFigure().displayBox();
-	}
-
-	/**
-	 * Forwards basicDisplayBox to its contained figure.
-	 */
-	public void basicDisplayBox(Point origin, Point corner) {
-		getDecoratedFigure().basicDisplayBox(origin, corner);
-	}
-
-	/**
-	 * Forwards draw to its contained figure.
-	 */
-	public void draw(Graphics g) {
-		getDecoratedFigure().draw(g);
-	}
-
-	/**
-	 * Forwards findFigureInside to its contained figure.
-	 */
-	public Figure findFigureInside(int x, int 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;
-		}
-	}
-
-	/**
-	 * Forwards handles to its contained figure.
-	 */
-	public HandleEnumeration handles() {
-		return getDecoratedFigure().handles();
-	}
-
-	/**
-	 * Forwards includes to its contained figure.
-	 */
-	public boolean includes(Figure figure) {
-		return (super.includes(figure) || getDecoratedFigure().includes(figure));
-	}
-
-	/**
-	 * Forwards moveBy to its contained figure.
-	 */
-	public void moveBy(int x, int y) {
-		getDecoratedFigure().moveBy(x, y);
-	}
-
-	/**
-	 * Forwards basicMoveBy to its contained figure.
-	 */
-	protected void basicMoveBy(int x, int y) {
-		// this will never be called
-	}
-
-	/**
-	 * Releases itself and the contained figure.
-	 */
-	public void release() {
-		super.release();
-		getDecoratedFigure().removeFromContainer(this);
-		getDecoratedFigure().release();
-	}
-
-	/**
-	 * Propagates invalidate up the container chain.
-	 * @see FigureChangeListener
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureInvalidated(e);
-		}
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-	}
-
-	/**
-	 * Propagates figureRequestUpdate up the container chain.
-	 * @see FigureChangeListener
-	 */
-	public  void figureRequestUpdate(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestUpdate(e);
-		}
-	}
-
-	/**
-	 * Propagates the removeFromDrawing request up to the container.
-	 * @see FigureChangeListener
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {
-		if (listener() != null) {
-			listener().figureRequestRemove(new FigureChangeEvent(this));
-		}
-	}
-
-	/**
-	 * Forwards figures to its contained figure.
-	 */
-	public FigureEnumeration figures() {
-		return getDecoratedFigure().figures();
-	}
-
-	/**
-	 * Forwards decompose to its contained figure.
-	 */
-	public FigureEnumeration decompose() {
-		return getDecoratedFigure().decompose();
-	}
-
-	/**
-	 * Forwards setAttribute to its contained figure.
-	 *
-	 * @deprecated use setAttribute(FigureAttributeConstant, Object) instead
-	 */
-	public void setAttribute(String name, Object value) {
-		getDecoratedFigure().setAttribute(name, value);
-	}
-
-	/**
-	 * Forwards setAttribute to its contained figure.
-	 */
-	public void setAttribute(FigureAttributeConstant attributeConstant, Object value) {
-		getDecoratedFigure().setAttribute(attributeConstant, value);
-	}
-
-	/**
-	 * Forwards getAttribute to its contained figure.
-	 *
-	 * @deprecated use getAttribute(FigureAttributeConstant) instead
-	 */
-	public Object getAttribute(String name) {
-		return getDecoratedFigure().getAttribute(name);
-	}
-
-	/**
-	 * Forwards getAttribute to its contained figure.
-	 */
-	public Object getAttribute(FigureAttributeConstant attributeConstant) {
-		return getDecoratedFigure().getAttribute(attributeConstant);
-	}
-
-	/**
-	 * Returns the locator used to located connected text.
-	 */
-	public Locator connectedTextLocator(Figure text) {
-		return getDecoratedFigure().connectedTextLocator(text);
-	}
-
-	/**
-	 * Returns the Connector for the given location.
-	 */
-	public Connector connectorAt(int x, int y) {
-		return getDecoratedFigure().connectorAt(x, y);
-	}
-
-	/**
-	 * Forwards the connector visibility request to its component.
-	 */
-	public void connectorVisibility(boolean isVisible, ConnectionFigure courtingConnection) {
-		getDecoratedFigure().connectorVisibility(isVisible, null);
-	}
-
-	/**
-	 * Writes itself and the contained figure to the StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getDecoratedFigure());
-	}
-
-	/**
-	 * Reads itself and the contained figure from the StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		decorate((Figure)dr.readStorable());
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		getDecoratedFigure().addToContainer(this);
-	}
-/*
-	public void visit(FigureVisitor visitor) {
-		super.visit(visitor);
-//		getDecoratedFigure().visit(visitor);
-	}
-*/
-	public TextHolder getTextHolder() {
-		return getDecoratedFigure().getTextHolder();
-	}
-
-	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);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/DeleteCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/DeleteCommand.java
deleted file mode 100644
index ba3e1bd5e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/DeleteCommand.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)DeleteCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.util.List;
-
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.Undoable;
-import org.jhotdraw.util.UndoableAdapter;
-
-/**
- * Command to delete the selection.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DeleteCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a delete command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public DeleteCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	/**
-	 * @see org.jhotdraw.util.Command#execute()
-	 */
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		/* ricardo_padilha: bugfix for correct delete/undelete behavior
-		 * When enumerating the affected figures we must not forget the dependent
-		 * figures, since they are deleted as well! 
-		 */
-		FigureEnumeration fe = view().selection();
-		List affected = CollectionsFactory.current().createList();
-		Figure f;
-		FigureEnumeration dfe;
-		while (fe.hasNextFigure()) {
-			f = fe.nextFigure();
-			affected.add(0, f);
-			dfe = f.getDependendFigures();
-			if (dfe != null) {
-				while (dfe.hasNextFigure()) {
-					affected.add(0, dfe.nextFigure());
-				}
-			}
-		}
-		fe = new FigureEnumerator(affected);
-		getUndoActivity().setAffectedFigures(fe);
-		/* ricardo_padilha: end of bugfix */
-		deleteFigures(getUndoActivity().getAffectedFigures());
-		view().checkDamage();
-	}
-
-	/**
-	 * @see org.jhotdraw.standard.AbstractCommand#isExecutableWithView()
-	 */
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 * @return Undoable
-	 */
-	protected Undoable createUndoActivity() {
-		return new DeleteCommand.UndoActivity(this);
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		private FigureTransferCommand myCommand;
-
-		/**
-		 * Constructor for <code>UndoActivity</code>.
-		 * @param newCommand parent command
-		 */
-		public UndoActivity(FigureTransferCommand newCommand) {
-			super(newCommand.view());
-			myCommand = newCommand;
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/**
-		 * @see org.jhotdraw.util.Undoable#undo()
-		 */
-		public boolean undo() {
-			if (super.undo() && getAffectedFigures().hasNextFigure()) {
-				getDrawingView().clearSelection();
-				setAffectedFigures(
-					myCommand.insertFigures(getAffectedFiguresReversed(), 0, 0));
-				return true;
-			}
-			return false;
-		}
-
-		/**
-		 * @see org.jhotdraw.util.Undoable#redo()
-		 */
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				myCommand.deleteFigures(getAffectedFigures());
-				getDrawingView().clearSelection();
-				return true;
-			}
-			return false;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/DeleteFromDrawingVisitor.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/DeleteFromDrawingVisitor.java
deleted file mode 100644
index 07ce5acf4..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/DeleteFromDrawingVisitor.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * @(#)DeleteFromDrawingVisitor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.util.Set;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class DeleteFromDrawingVisitor implements FigureVisitor {
-	private Set myDeletedFigures;
-	private Drawing myDrawing;
-
-	public DeleteFromDrawingVisitor(Drawing newDrawing) {
-		myDeletedFigures = CollectionsFactory.current().createSet();
-		setDrawing(newDrawing);
-	}
-
-	private void setDrawing(Drawing newDrawing) {
-		myDrawing = newDrawing;
-	}
-
-	protected Drawing getDrawing() {
-		return myDrawing;
-	}
-
-	public void visitFigure(Figure hostFigure) {
-		if (!myDeletedFigures.contains(hostFigure) && getDrawing().containsFigure(hostFigure)) {
-			Figure orphanedFigure = getDrawing().orphan(hostFigure);
-			myDeletedFigures.add(orphanedFigure);
-		}
-	}
-
-	public void visitHandle(Handle hostHandle) {
-	}
-
-	public void visitFigureChangeListener(FigureChangeListener hostFigureChangeListener) {
-//		System.out.println("visitFigureChangeListener: " + hostFigureChangeListener);
-//		hostFigureChangeListener.visit(this);
-	}
-
-	public FigureEnumeration getDeletedFigures() {
-		return new FigureEnumerator(myDeletedFigures);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/DragTracker.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/DragTracker.java
deleted file mode 100644
index 4240c7faa..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/DragTracker.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * @(#)DragTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.UndoableAdapter;
-import org.jhotdraw.util.Undoable;
-import java.awt.*;
-import java.awt.event.MouseEvent;
-
-/**
- * DragTracker implements the dragging of the clicked
- * figure.
- *
- * @see SelectionTool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DragTracker extends AbstractTool {
-
-	private Figure  fAnchorFigure;
-	private int     fLastX, fLastY;      // previous mouse position
-	private boolean fMoved = false;
-
-	public DragTracker(DrawingEditor newDrawingEditor, Figure anchor) {
-		super(newDrawingEditor);
-		setAnchorFigure(anchor);
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		setLastMouseX(x);
-		setLastMouseY(y);
-
-		if (e.isShiftDown()) {
-		   getActiveView().toggleSelection(getAnchorFigure());
-		   setAnchorFigure(null);
-		}
-		else if (!getActiveView().isFigureSelected(getAnchorFigure())) {
-			getActiveView().clearSelection();
-			getActiveView().addToSelection(getAnchorFigure());
-		}
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(getActiveView().selection());
-//		getUndoActivity().setAffectedFigures(view().selectionElements());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		setHasMoved((Math.abs(x - getAnchorX()) > 4) || (Math.abs(y - getAnchorY()) > 4));
-
-		if (hasMoved()) {
-			FigureEnumeration figures = getUndoActivity().getAffectedFigures();
-			while (figures.hasNextFigure()) {
-				figures.nextFigure().moveBy(x - getLastMouseX(), y - getLastMouseY());
-			}
-		}
-		setLastMouseX(x);
-		setLastMouseY(y);
-	}
-
-	protected void setAnchorFigure(Figure newAnchorFigure) {
-		fAnchorFigure = newAnchorFigure;
-	}
-	
-	public Figure getAnchorFigure() {
-		return fAnchorFigure;
-	}
-
-	protected void setLastMouseX(int newLastMouseX) {
-		fLastX = newLastMouseX;
-	}
-	
-	protected int getLastMouseX() {
-		return fLastX;
-	}
-
-	protected void setLastMouseY(int newLastMouseY) {
-		fLastY = newLastMouseY;
-	}
-	
-	protected int getLastMouseY() {
-		return fLastY;
-	}
-
-	/**
-	 * Check whether the selected figure has been moved since
-	 * the tool has been activated.
-	 *
-	 * @return true if the selected figure has been moved
-	 */
-	public boolean hasMoved() {
-		return fMoved;
-	}
-	
-	protected void setHasMoved(boolean newMoved) {
-		fMoved = newMoved;
-	}
-	
-	public void activate() {
-		// suppress clearSelection() and tool-activation-notification
-		// in superclass
-	}
-
-	public void deactivate() {
-		if (hasMoved()) {
-			((DragTracker.UndoActivity)getUndoActivity()).setBackupPoint(new Point(getLastMouseX(), getLastMouseY()));
-		}
-		else {
-			setUndoActivity(null);
-		}
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new DragTracker.UndoActivity(getActiveView(), new Point(getLastMouseX(), getLastMouseY()));
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Point myOriginalPoint;
-		private Point myBackupPoint;
-
-		public UndoActivity(DrawingView newDrawingView, Point newOriginalPoint) {
-			super(newDrawingView);
-			setOriginalPoint(newOriginalPoint);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		/*
-		 * Undo the activity
-		 * @return true if the activity could be undone, false otherwise
-		 */
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-			moveAffectedFigures(getBackupPoint(), getOriginalPoint());
-			return true;
-		}
-
-		/*
-		 * Redo the activity
-		 * @return true if the activity could be redone, false otherwise
-		 */
-		public boolean redo() {
-			if (!super.redo()) {
-				return false;
-			}
-			moveAffectedFigures(getOriginalPoint(), getBackupPoint());
-			return true;
-		}
-
-		public void setBackupPoint(Point newBackupPoint) {
-			myBackupPoint = newBackupPoint;
-		}
-
-		public Point getBackupPoint() {
-			return myBackupPoint;
-		}
-
-		public void setOriginalPoint(Point newOriginalPoint) {
-			myOriginalPoint = newOriginalPoint;
-		}
-
-		public Point getOriginalPoint() {
-			return myOriginalPoint;
-		}
-
-		public void moveAffectedFigures(Point startPoint, Point endPoint) {
-			FigureEnumeration figures = getAffectedFigures();
-			while (figures.hasNextFigure()) {
-				figures.nextFigure().moveBy(endPoint.x - startPoint.x,
-					endPoint.y - startPoint.y);
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/DuplicateCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/DuplicateCommand.java
deleted file mode 100644
index 4e3e08b4e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/DuplicateCommand.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * @(#)DuplicateCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-
-/**
- * Duplicate the selection and select the duplicates.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class DuplicateCommand extends FigureTransferCommand {
-
-   /**
-	* Constructs a duplicate command.
-	* @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	*/
-	public DuplicateCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		FigureSelection selection = view().getFigureSelection();
-
-		// create duplicate figure(s)
-		FigureEnumeration figures = (FigureEnumeration)selection.getData(StandardFigureSelection.TYPE);
-		getUndoActivity().setAffectedFigures(figures);
-
-		view().clearSelection();
-		getUndoActivity().setAffectedFigures(
-			insertFigures(getUndoActivity().getAffectedFigures(), 10, 10));
-		view().checkDamage();
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/FastBufferedUpdateStrategy.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/FastBufferedUpdateStrategy.java
deleted file mode 100644
index 2235e426a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/FastBufferedUpdateStrategy.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * @(#)FastBufferedUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Rectangle;
-import java.awt.image.BufferedImage;
-import org.jhotdraw.framework.Drawing;
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.framework.Painter;
-
-/**
- * @author WMG (INIT Copyright (C) 2000 All rights reserved)
- * @version <$CURRENT_VERSION$>
- */
-public class FastBufferedUpdateStrategy implements Painter {
-
-	//_________________________________________________________VARIABLES
-
-	private BufferedImage  _doubleBufferedImage;
-	private BufferedImage  _scratchPadBufferedImage;
-	private int            _nImageWidth = 0;
-	private int            _nImageHeight = 0;
-	private boolean        _bRedrawAll = true;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public FastBufferedUpdateStrategy() {
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public void draw(Graphics g, DrawingView view) {
-		_checkCaches(view);
-		if (_bRedrawAll == true) {
-			Graphics imageGraphics = _doubleBufferedImage.getGraphics();
-			view.drawAll(imageGraphics);
-		}
-		else {
-			Rectangle viewClipRectangle = g.getClipBounds();
-			int nX1 = viewClipRectangle.x;
-			int nY1 = viewClipRectangle.y;
-			int nX2 = viewClipRectangle.x + viewClipRectangle.width;
-			int nY2 = viewClipRectangle.y + viewClipRectangle.height;
-
-			if (nX1 < 0) {
-				nX1 = 0;
-			}
-			if (nY1 < 0) {
-				nY1 = 0;
-			}
-			if (nX2 < 0) {
-				nX2 = 0;
-			}
-			if (nY2 < 0) {
-				nY2 = 0;
-			}
-
-			Rectangle viewClipRectangle2 = new Rectangle(nX1, nY1, nX2-nX1, nY2-nY1);
-
-			Drawing theDrawing = view.drawing();
-			FigureEnumeration fe = theDrawing.figures(viewClipRectangle2);
-
-			Graphics imageGraphics = _scratchPadBufferedImage.getGraphics();
-			imageGraphics.setColor(view.getBackground());
-			imageGraphics.fillRect(nX1, nY1, nX2-nX1, nY2-nY1);
-			view.draw(imageGraphics, fe);
-
-			Graphics dbGraphics = _doubleBufferedImage.getGraphics();
-			dbGraphics.drawImage(_scratchPadBufferedImage, nX1, nY1,
-				nX2, nY2, nX1, nY1, nX2, nY2, view);
-
-		}
-
-		g.drawImage(_doubleBufferedImage, 0, 0, view);
-		_bRedrawAll = false;
-	}
-
-
-	//___________________________________________________PRIVATE METHODS
-
-
-	private void _checkCaches(DrawingView view) {
-		Dimension d = view.getSize();
-
-		if ((_doubleBufferedImage == null)
-				|| (_nImageWidth != d.width)
-				|| (_nImageHeight != d.height)) {
-			_doubleBufferedImage = new BufferedImage(d.width,
-			d.height, BufferedImage.TYPE_INT_RGB);
-			_bRedrawAll = true;
-		}
-
-		if ((_scratchPadBufferedImage == null)
-				|| (_nImageWidth != d.width)
-				|| (_nImageHeight != d.height)) {
-			_scratchPadBufferedImage = new BufferedImage(d.width,
-				d.height, BufferedImage.TYPE_INT_RGB);
-			Graphics imageGraphics = _scratchPadBufferedImage.getGraphics();
-			view.drawBackground(imageGraphics);
-			_bRedrawAll = true;
-		}
-
-		_nImageWidth = d.width;
-		_nImageHeight = d.height;
-	}
-
-	//_______________________________________________________________END
-
-} //end of class FastBufferedUpdateStrategy
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureAndEnumerator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureAndEnumerator.java
deleted file mode 100644
index b7fb1c4ee..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureAndEnumerator.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)FigureAndEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.framework.Figure;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class FigureAndEnumerator implements FigureEnumeration {
-	private FigureEnumeration myFE1;
-	private FigureEnumeration myFE2;
-
-	public FigureAndEnumerator(FigureEnumeration newFE1, FigureEnumeration newFE2) {
-		myFE1 = newFE1;
-		myFE2 = newFE2;
-	}
-
-	public Figure nextFigure() {
-		if (myFE1.hasNextFigure()) {
-			return myFE1.nextFigure();
-		}
-		else if (myFE2.hasNextFigure()) {
-			return myFE2.nextFigure();
-		}
-		else {
-			// todo: throw exception
-			return null;
-		}
-	}
-
-	public boolean hasNextFigure() {
-		return myFE1.hasNextFigure() || myFE2.hasNextFigure();
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myFE1.reset();
-		myFE2.reset();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureChangeAdapter.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureChangeAdapter.java
deleted file mode 100644
index 9f94ed938..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureChangeAdapter.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * @(#)FigureChangeAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-
-/**
- * Empty implementation of FigureChangeListener.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FigureChangeAdapter implements FigureChangeListener {
-
-	/**
-	 *  Sent when an area is invalid
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when a figure changed
-	 */
-	public void figureChanged(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when a figure was removed
-	 */
-	public void figureRemoved(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when requesting to remove a figure.
-	 */
-	public void figureRequestRemove(FigureChangeEvent e) {}
-
-	/**
-	 * Sent when an update should happen.
-	 *
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureChangeEventMulticaster.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureChangeEventMulticaster.java
deleted file mode 100644
index 3b424fb9a..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureChangeEventMulticaster.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * @(#)FigureChangeEventMulticaster.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import java.awt.*;
-import java.util.*;
-
-/**
- * Manages a list of FigureChangeListeners to be notified of
- * specific FigureChangeEvents.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class FigureChangeEventMulticaster extends
-	AWTEventMulticaster implements FigureChangeListener {
-
-	public FigureChangeEventMulticaster(EventListener newListenerA, EventListener newListenerB) {
-		super(newListenerA, newListenerB);
-	}
-
-	public void figureInvalidated(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureInvalidated(e);
-		((FigureChangeListener)b).figureInvalidated(e);
-	}
-
-	public void figureRequestRemove(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureRequestRemove(e);
-		((FigureChangeListener)b).figureRequestRemove(e);
-	}
-
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureRequestUpdate(e);
-		((FigureChangeListener)b).figureRequestUpdate(e);
-	}
-
-	public void figureChanged(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureChanged(e);
-		((FigureChangeListener)b).figureChanged(e);
-	}
-
-	public void figureRemoved(FigureChangeEvent e) {
-		((FigureChangeListener)a).figureRemoved(e);
-		((FigureChangeListener)b).figureRemoved(e);
-	}
-
-	public static FigureChangeListener add(FigureChangeListener a, FigureChangeListener b) {
-		return (FigureChangeListener)addInternal(a, b);
-	}
-
-
-	public static FigureChangeListener remove(FigureChangeListener l, FigureChangeListener oldl) {
-		return (FigureChangeListener) removeInternal(l, oldl);
-	}
-
-	protected EventListener remove(EventListener oldl)
-	{
-		if (oldl == a) {
-			return b;
-		}
-		if (oldl == b) {
-			return a;
-		}
-		EventListener a2 = removeInternal(a, oldl);
-		EventListener b2 = removeInternal(b, oldl);
-		if (a2 == a && b2 == b) {
-			return this;
-		}
-		else {
-			return addInternal((FigureChangeListener)a2, (FigureChangeListener)b2);
-		}
-	}
-
-	protected static EventListener addInternal(FigureChangeListener a, FigureChangeListener b) {
-		if (a == null) {
-			return b;
-		}
-		if (b == null) {
-			return a;
-		}
-		return new FigureChangeEventMulticaster(a, b);
-	}
-
-	protected static EventListener removeInternal(EventListener l, EventListener oldl) {
-		if (l == oldl || l == null) {
-			return null;
-		}
-		else if (l instanceof FigureChangeEventMulticaster) {
-			return ((FigureChangeEventMulticaster)l).remove(oldl);
-		}
-		else {
-			return l;		// it's not here
-		}
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureEnumerator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureEnumerator.java
deleted file mode 100644
index 82179d083..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureEnumerator.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * @(#)FigureEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.util.Iterator;
-import java.util.Collection;
-
-
-/**
- * An Enumeration for a Collection of Figures.
- *
- * @version <$CURRENT_VERSION$>
- */
-public final class FigureEnumerator implements FigureEnumeration {
-	private Iterator myIterator;
-	private Collection myInitialCollection;
-
-	private static FigureEnumerator singletonEmptyEnumerator =
-		new FigureEnumerator(CollectionsFactory.current().createList());
-
-	public FigureEnumerator(Collection c) {
-		myInitialCollection = c;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextFigure() {
-		return myIterator.hasNext();
-	}
-
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure() {
-		return (Figure)myIterator.next();
-	}
-
-	public static FigureEnumeration getEmptyEnumeration() {
-		return singletonEmptyEnumerator;
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myIterator = myInitialCollection.iterator();
-	}
-
-/*	public static FigureEnumeration getClonedFigures(FigureEnumeration toDuplicate) {
-		List v = CollectionsFactory.current().createList();
-		while (toDuplicate.hasMoreElements()) {
-			try {
-				v.addElement(toDuplicate.nextFigure().clone());
-			}
-			catch (CloneNotSupportedException e) {
-				e.printStackTrace();
-			}
-		}
-		return new FigureEnumerator(v);
-	}
-*/
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureTransferCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureTransferCommand.java
deleted file mode 100644
index 55bbc340b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/FigureTransferCommand.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * @(#)FigureTransferCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.*;
-
-/**
- * Common base clase for commands that transfer figures
- * between a drawing and the clipboard.
- *
- * @version <$CURRENT_VERSION$>
- */
-public abstract class FigureTransferCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a drawing command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	protected FigureTransferCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-   /**
-	* Deletes the selection from the drawing.
-	*/
-	protected void deleteFigures(FigureEnumeration fe) {
-	   DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(view().drawing());
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().visit(deleteVisitor);
-		}
-
-		view().clearSelection();
-	}
-
-   /**
-	* Copies the FigureEnumeration to the clipboard.
-	*/
-	protected void copyFigures(FigureEnumeration fe, int figureCount) {
-		Clipboard.getClipboard().setContents(new StandardFigureSelection(fe, figureCount));
-	}
-
-   /**
-	* Inserts an enumeration of figures and translates them by the
-	* given offset.
-	* @todo mrfloppy to investigate making this protected.  Looks like it would
-	*       be no problem to me.  It was package scope.  I thought it safer to
-	*       make it less restrictive just incase their was a reason for the
-	*       package scope I didn't know about. dnoyeb.
-	*       Bug - [ 673096 ] FigureTransferCommand has a wrong method
-	*/
-	public FigureEnumeration insertFigures(FigureEnumeration fe, int dx, int dy) {
-		return view().insertFigures(fe, dx, dy, false);
-	}
-}
-
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/GridConstrainer.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/GridConstrainer.java
deleted file mode 100644
index 5db9d65a9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/GridConstrainer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * @(#)GridConstrainer.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.PointConstrainer;
-import java.awt.*;
-import java.io.Serializable;
-
-/**
- * Constrains a point such that it falls on a grid.
- *
- * @see org.jhotdraw.framework.DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public class GridConstrainer implements PointConstrainer, Serializable {
-
-	private int fGridX;
-	private int fGridY;
-
-	public GridConstrainer(int x, int y) {
-		fGridX = Math.max(1, x);
-		fGridY = Math.max(1, y);
-	}
-
-	/**
-	 * Constrains the given point.
-	 * @return constrained point.
-	 */
-	public Point constrainPoint(Point p) {
-		p.x = ((p.x+fGridX/2) / fGridX) * fGridX;
-		p.y = ((p.y+fGridY/2) / fGridY) * fGridY;
-		return p;
-	}
-
-	/**
-	 * Gets the x offset to move an object.
-	 */
-	public int getStepX() {
-		return fGridX;
-	}
-
-	/**
-	 * Gets the y offset to move an object.
-	 */
-	public int getStepY() {
-		return fGridY;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/HandleAndEnumerator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/HandleAndEnumerator.java
deleted file mode 100644
index 724bf9949..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/HandleAndEnumerator.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * @(#)HandleAndEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.HandleEnumeration;
-import org.jhotdraw.framework.Handle;
-
-import java.util.List;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class HandleAndEnumerator implements HandleEnumeration {
-	private HandleEnumeration myHE1;
-	private HandleEnumeration myHE2;
-
-	public HandleAndEnumerator(HandleEnumeration newHE1, HandleEnumeration newHE2) {
-		myHE1 = newHE1;
-		myHE2 = newHE2;
-	}
-
-	public Handle nextHandle() {
-		if (myHE1.hasNextHandle()) {
-			return myHE1.nextHandle();
-		}
-		else if (myHE2.hasNextHandle()) {
-			return myHE2.nextHandle();
-		}
-		else {
-			// todo: throw exception
-			return null;
-		}
-	}
-
-	public boolean hasNextHandle() {
-		return myHE1.hasNextHandle() || myHE2.hasNextHandle();
-	}
-
-	public List toList() {
-		List joinedList = myHE1.toList();
-		joinedList.addAll(myHE2.toList());
-		return joinedList;
-	}
-
-	public void reset() {
-		myHE1.reset();
-		myHE2.reset();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/HandleEnumerator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/HandleEnumerator.java
deleted file mode 100644
index 212b217f5..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/HandleEnumerator.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * @(#)HandleEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.framework.HandleEnumeration;
-import org.jhotdraw.framework.Handle;
-
-import java.util.Iterator;
-import java.util.Collection;
-import java.util.List;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class HandleEnumerator implements HandleEnumeration {
-	private Iterator myIterator;
-	private Collection myInitialCollection;
-
-	private static HandleEnumerator singletonEmptyEnumerator =
-		new HandleEnumerator(CollectionsFactory.current().createList());
-
-	public HandleEnumerator(Collection c) {
-		myInitialCollection = c;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextHandle() {
-		return myIterator.hasNext();
-	}
-
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Handle nextHandle() {
-		return (Handle)myIterator.next();
-	}
-
-	/**
-	 * Returns a list with all elements currently available in the enumeration.
-	 * That means, elements retrieved already by calling nextHandle() are not
-	 * contained. This method does not change the position of the enumeration.
-	 * Warning: this method is not necessarily synchronized so this enumeration should not
-	 * be modified at the same time!
-	 *
-	 * @return list with all elements currently available in the enumeration.
-	 */
-	public List toList() {
-		List handles = CollectionsFactory.current().createList();
-		while (hasNextHandle()) {
-			handles.add(nextHandle());
-		}
-		// copy/reset iterator to original content
-		myIterator = handles.iterator();
-		return handles;
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myIterator = myInitialCollection.iterator();
-	}
-
-	public static HandleEnumeration getEmptyEnumeration() {
-		return singletonEmptyEnumerator;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/HandleTracker.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/HandleTracker.java
deleted file mode 100644
index 1ef42b648..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/HandleTracker.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * @(#)HandleTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.event.MouseEvent;
-import org.jhotdraw.framework.*;
-
-/**
- * HandleTracker implements interactions with the handles of a Figure.
- *
- * @see SelectionTool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class HandleTracker extends AbstractTool {
-
-	private Handle  fAnchorHandle;
-
-	public HandleTracker(DrawingEditor newDrawingEditor, Handle anchorHandle) {
-		super(newDrawingEditor);
-		fAnchorHandle = anchorHandle;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		fAnchorHandle.invokeStart(x, y, view());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		fAnchorHandle.invokeStep(x, y, getAnchorX(), getAnchorY(), view());
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		super.mouseUp(e, x, y);
-		fAnchorHandle.invokeEnd(x, y, getAnchorX(), getAnchorY(), view());
-	}
-
-	public void activate() {
-		// suppress clearSelection() and tool-activation-notification
-		// in superclass by providing an empty implementation
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/InsertIntoDrawingVisitor.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/InsertIntoDrawingVisitor.java
deleted file mode 100644
index 38e232b6b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/InsertIntoDrawingVisitor.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * @(#)InsertIntoDrawingVisitor.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.util.Set;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class InsertIntoDrawingVisitor implements FigureVisitor {
-	private Set myInsertedFigures;
-	private Drawing myDrawing;
-
-	public InsertIntoDrawingVisitor(Drawing newDrawing) {
-		myInsertedFigures = CollectionsFactory.current().createSet();
-		setDrawing(newDrawing);
-	}
-
-	private void setDrawing(Drawing newDrawing) {
-		myDrawing = newDrawing;
-	}
-
-	protected Drawing getDrawing() {
-		return myDrawing;
-	}
-
-	public void visitFigure(Figure hostFigure) {
-		if (!myInsertedFigures.contains(hostFigure) && !getDrawing().includes(hostFigure)) {
-			Figure addedFigure = getDrawing().add(hostFigure);
-			myInsertedFigures.add(addedFigure);
-		}
-	}
-
-	public void visitHandle(Handle hostHandle) {
-	}
-
-	public void visitFigureChangeListener(FigureChangeListener hostFigureChangeListener) {
-//		hostFigureChangeListener.visit(this);
-	}
-
-	public FigureEnumeration getInsertedFigures() {
-		return new FigureEnumerator(myInsertedFigures);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/LocatorConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/LocatorConnector.java
deleted file mode 100644
index 89820eb4c..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/LocatorConnector.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * @(#)LocatorConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-
-/**
- * A LocatorConnector locates connection points with
- * the help of a Locator. It supports the definition
- * of connection points to semantic locations.
- *
- * @see Locator
- * @see Connector
- *
- * @version <$CURRENT_VERSION$>
- */
-public class LocatorConnector extends AbstractConnector {
-
-	/**
-	 * The standard size of the connector. The display box
-	 * is centered around the located point.
-	 */
-	public static final int SIZE = 8;
-
-	protected Locator  myLocator;
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 5062833203337604181L;
-	private int locatorConnectorSerializedDataVersion = 1;
-
-	public LocatorConnector() { // only used for Storable
-		setLocator(null);
-	}
-
-	public LocatorConnector(Figure owner, Locator l) {
-		super(owner);
-		setLocator(l);
-	}
-
-	/**
-	 * Tests if a point is contained in the connector.
-	 */
-	public boolean containsPoint(int x, int y) {
-		return displayBox().contains(x, y);
-	}
-
-	/**
-	 * Gets the display box of the connector.
-	 */
-	public Rectangle displayBox() {
-		Point p = getLocator().locate(owner());
-		return new Rectangle(
-				p.x - SIZE / 2,
-				p.y - SIZE / 2,
-				SIZE,
-				SIZE);
-	}
-
-	/**
-	 * Draws this connector.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.blue);
-		g.fillOval(r.x, r.y, r.width, r.height);
-		g.setColor(Color.black);
-		g.drawOval(r.x, r.y, r.width, r.height);
-	}
-
-	/**
-	 * Stores the arrow tip to a StorableOutput.
-	 */
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeStorable(getLocator());
-	}
-
-	/**
-	 * Reads the arrow tip from a StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		setLocator((Locator)dr.readStorable());
-	}
-
-	protected void setLocator(Locator newLocator) {
-		myLocator = newLocator;
-	}
-
-	public Locator getLocator() {
-		return myLocator;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/LocatorHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/LocatorHandle.java
deleted file mode 100644
index ca9276d53..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/LocatorHandle.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * @(#)LocatorHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.Point;
-
-import org.jhotdraw.framework.Cursor;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.Locator;
-
-/**
- * A LocatorHandle implements a Handle by delegating the location requests to
- * a Locator object.
- *
- * @see LocatorHandle
- *
- * @version <$CURRENT_VERSION$>
- */
-public class LocatorHandle extends AbstractHandle {
-
-	private Locator       fLocator;
-
-	/**
-	 * Initializes the LocatorHandle with the given Locator.
-	 */
-	public LocatorHandle(Figure owner, Locator l) {
-		super(owner);
-		fLocator = l;
-	}
-	/**
-	 * This should be cloned or it gives the receiver the opportunity to alter
-	 * our internal behavior.
-	 */
-	public Locator getLocator() {
-		return fLocator;
-	}
-
-	/**
-	 * Locates the handle on the figure by forwarding the request
-	 * to its figure.
-	 */
-	public Point locate() {
-		return fLocator.locate(owner());
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		Cursor c = super.getCursor();
-		if (getLocator() instanceof RelativeLocator) {
-			RelativeLocator rl = (RelativeLocator) getLocator();
-			if (rl.equals( RelativeLocator.north())) {
-				c = new AWTCursor(java.awt.Cursor.N_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.northEast())) {
-				c = new AWTCursor(java.awt.Cursor.NE_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.east())) {
-				c = new AWTCursor(java.awt.Cursor.E_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.southEast())) {
-				c = new AWTCursor(java.awt.Cursor.SE_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.south())) {
-				c = new AWTCursor(java.awt.Cursor.S_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.southWest())) {
-				c = new AWTCursor(java.awt.Cursor.SW_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.west())) {
-				c = new AWTCursor(java.awt.Cursor.W_RESIZE_CURSOR);
-			}
-			else if (rl.equals(RelativeLocator.northWest())) {
-				c = new AWTCursor(java.awt.Cursor.NW_RESIZE_CURSOR);
-			}
-		}
-		return c;
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/NullDrawingView.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/NullDrawingView.java
deleted file mode 100644
index 9a38423fa..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/NullDrawingView.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * @(#)NullDrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import java.util.Collection;
-import java.util.Hashtable;
-
-import javax.swing.JPanel;
-
-import org.jhotdraw.framework.*;
-
-/**
- * This DrawingView provides a very basic implementation. It does not perform any
- * functionality apart from keeping track of its state represented by some important
- * fields. It is a Null-value object and is used instead of a null reference to
- * avoid null pointer exception. This concept is known as the Null-value object
- * bug pattern.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class NullDrawingView extends JPanel implements DrawingView {
-
-	private DrawingEditor myDrawingEditor;
-	private Drawing myDrawing;
-	private Painter myUpdateStrategy;
-	private Color myBackgroundColor;
-
-	private static Hashtable drawingViewManager = new Hashtable();
-
-	protected NullDrawingView(DrawingEditor editor) {
-		setEditor(editor);
-		setDrawing(new StandardDrawing());
-	}
-
-	/**
-	 * Sets the view's editor.
-	 */
-	public void setEditor(DrawingEditor editor) {
-		myDrawingEditor = editor;
-	}
-
-	/**
-	 * Gets the current tool.
-	 */
-	public Tool tool() {
-		return editor().tool();
-	}
-
-	/**
-	 * Gets the drawing.
-	 */
-	public Drawing drawing() {
-		return myDrawing;
-	}
-
-	/**
-	 * Sets and installs another drawing in the view.
-	 */
-	public void setDrawing(Drawing d) {
-		myDrawing = d;
-	}
-
-	/**
-	 * Gets the editor.
-	 */
-	public DrawingEditor editor() {
-		return myDrawingEditor;
-	}
-
-	/**
-	 * Adds a figure to the drawing.
-	 * @return the added figure.
-	 */
-	public Figure add(Figure figure) {
-		return figure;
-	}
-
-	/**
-	 * Removes a figure from the drawing.
-	 * @return the removed figure
-	 */
-	public Figure remove(Figure figure) {
-		return figure;
-	}
-
-	/**
-	 * Adds a collection of figures to the drawing.
-	 */
-	public void addAll(Collection figures) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Gets the size of the drawing.
-	 */
-	public Dimension getSize() {
-		return new Dimension();
-	}
-
-	/**
-	 * Gets the minimum dimension of the drawing.
-	 */
-	public Dimension getMinimumSize() {
-		return new Dimension();
-	}
-
-	/**
-	 * Gets the preferred dimension of the drawing..
-	 */
-	public Dimension getPreferredSize() {
-		return new Dimension();
-	}
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public void setDisplayUpdate(Painter newUpdateStrategy) {
-		myUpdateStrategy = newUpdateStrategy;
-	}
-
-	/**
-	 * Gets the current display update strategy.
-	 * @see Painter
-	 */
-	public Painter getDisplayUpdate() {
-		return myUpdateStrategy;
-	}
-
-	/**
-	 * Gets an enumeration over the currently selected figures.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selection() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Gets the currently seleced figures in Z order.
-	 * @see #selection
-	 * @return a FigureEnumeration with the selected figures. This enumeration
-	 * represents a snapshot of the current selection.
-	 */
-	public FigureEnumeration selectionZOrdered() {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Gets the number of selected figures.
-	 */
-	public int selectionCount() {
-		return 0;
-	}
-
-	/**
-	 * Test whether a given figure is selected.
-	 */
-	public boolean isFigureSelected(Figure checkFigure) {
-		return false;
-	}
-
-	/**
-	 * Adds a figure to the current selection.
-	 */
-	public void addToSelection(Figure figure) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Adds a Collection of figures to the current selection.
-	 */
-	public void addToSelectionAll(Collection figures) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Adds a FigureEnumeration to the current selection.
-	 */
-	public void addToSelectionAll(FigureEnumeration fe) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Removes a figure from the selection.
-	 */
-	public void removeFromSelection(Figure figure) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * If a figure isn't selected it is added to the selection.
-	 * Otherwise it is removed from the selection.
-	 */
-	public void toggleSelection(Figure figure) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Clears the current selection.
-	 */
-	public void clearSelection() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Gets the current selection as a FigureSelection. A FigureSelection
-	 * can be cut, copied, pasted.
-	 */
-	public FigureSelection getFigureSelection() {
-		return new StandardFigureSelection(selection(), 0);
-	}
-
-	/**
-	 * Finds a handle at the given coordinates.
-	 * @return the hit handle, null if no handle is found.
-	 */
-	public Handle findHandle(int x, int y) {
-		return null;
-	}
-
-	/**
-	 * Gets the position of the last click inside the view.
-	 */
-	public Point lastClick() {
-		return new Point();
-	}
-
-	/**
-	 * Sets the current point constrainer.
-	 */
-	public void setConstrainer(PointConstrainer p) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Gets the current grid setting.
-	 */
-	public PointConstrainer getConstrainer() {
-		return null;
-	}
-
-	/**
-	 * Checks whether the drawing has some accumulated damage
-	 */
-	public void checkDamage() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Repair the damaged area
-	 */
-	public void repairDamage() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Paints the drawing view. The actual drawing is delegated to
-	 * the current update strategy.
-	 * @see Painter
-	 */
-	public void paint(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Creates an image with the given dimensions
-	 */
-	public Image createImage(int width, int height) {
-		return null;
-	}
-
-	/**
-	 * Gets a graphic to draw into
-	 */
-	public Graphics getGraphics() {
-		return null;
-	}
-
-	/**
-	 * Gets the background color of the DrawingView
-	 */
-	public Color getBackground() {
-		return myBackgroundColor;
-	}
-
-	/**
-	 * Sets the background color of the DrawingView
-	 */
-	public void setBackground(Color c) {
-		myBackgroundColor = c;
-	}
-
-	/**
-	 * Draws the contents of the drawing view.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void drawAll(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the given figures.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the currently active handles.
-	 */
-	public void drawHandles(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the drawing.
-	 */
-	public void drawDrawing(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Draws the background. If a background pattern is set it
-	 * is used to fill the background. Otherwise the background
-	 * is filled in the background color.
-	 */
-	public void drawBackground(Graphics g) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Sets the cursor of the DrawingView
-	 */
-	public void setCursor(org.jhotdraw.framework.Cursor c) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Freezes the view by acquiring the drawing lock.
-	 * @see Drawing#lock
-	 */
-	public void freezeView() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Unfreezes the view by releasing the drawing lock.
-	 * @see Drawing#unlock
-	 */
-	public void unfreezeView() {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Add a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void addFigureSelectionListener(FigureSelectionListener fsl) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Remove a listener for selection changes in this DrawingView.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void removeFigureSelectionListener(FigureSelectionListener fsl) {
-		// ignore: do nothing
-	}
-
-	/**
-	 * Returns a FigureEnumeration of connection figures
-	 */
-	public FigureEnumeration getConnectionFigures(Figure inFigure) {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	/**
-	 * Inserts figures in a drawing at given offset. Optional check for connection figures
-	 *
-	 *  @return enumeration which has been added to the drawing. The figures in the enumeration
-	 *          can have changed during adding them (e.g. they could have been decorated).
-	 */
-	public FigureEnumeration insertFigures(FigureEnumeration inFigures, int dx, int dy, boolean bCheck) {
-		return FigureEnumerator.getEmptyEnumeration();
-	}
-
-	public void drawingInvalidated(DrawingChangeEvent e) {
-		// ignore: do nothing
-	}
-
-	public void drawingRequestUpdate(DrawingChangeEvent e) {
-		// ignore: do nothing
-	}
-
-	public void drawingTitleChanged(DrawingChangeEvent e) {
-		// ignore: do nothing        
-	}
-
-	public boolean isInteractive() {
-		return false;
-	}
-
-	public synchronized static DrawingView getManagedDrawingView(DrawingEditor editor) {
-		if (drawingViewManager.containsKey(editor)) {
-			return (DrawingView)drawingViewManager.get(editor);
-		}
-		else {
-			DrawingView newDrawingView = new NullDrawingView(editor);
-			drawingViewManager.put(editor, newDrawingView);
-			return newDrawingView;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/NullHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/NullHandle.java
deleted file mode 100644
index ade30edf7..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/NullHandle.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * @(#)NullHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-
-/**
- * A handle that doesn't change the owned figure. Its only purpose is
- * to show feedback that a figure is selected.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b>NullObject</b><br>
- * NullObject enables to treat handles that don't do
- * anything in the same way as other handles.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class NullHandle extends LocatorHandle {
-
-	/**
-	 * The handle's locator.
-	 */
-	protected Locator fLocator;
-
-	public NullHandle(Figure owner, Locator locator) {
-		super(owner, locator);
-	}
-
-	/**
-	 * Draws the NullHandle. NullHandles are drawn as a
-	 * red framed rectangle.
-	 */
-	public void draw(Graphics g) {
-		Rectangle r = displayBox();
-
-		g.setColor(Color.black);
-		g.drawRect(r.x, r.y, r.width, r.height);
-	}
-	
-	public org.jhotdraw.framework.Cursor getCursor() {
-		return new AWTCursor(java.awt.Cursor.DEFAULT_CURSOR);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/NullPainter.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/NullPainter.java
deleted file mode 100644
index bb4cdaea8..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/NullPainter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)NullPainter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	\x{FFFD} by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.standard;
-
-import java.awt.Graphics;
-
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.framework.Painter;
-
-/**
- * Default implementation support for a Painter.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b>NullObject</b><br>
- * NullObject enables to treat handles that don't do
- * anything in the same way as other handles.
- *
- * @see Painter
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class NullPainter implements Painter {
-	/* (non-Javadoc)
-	 * @see org.jhotdraw.framework.Painter#draw(java.awt.Graphics, org.jhotdraw.framework.DrawingView)
-	 */
-	public void draw(Graphics g, DrawingView view) {
-		// Do nothing in a reasonable way.
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/NullTool.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/NullTool.java
deleted file mode 100644
index 30820ee0f..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/NullTool.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)NullTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-
-/**
- * Default implementation support for Tools.
- *
- * @see DrawingView
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class NullTool extends AbstractTool {
-	public NullTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	public void activate() {
-		// suppress clearSelection() and tool-activation notification in superclass
-	}
-
-	public void deactivate() {
-		// suppress clearSelection() and tool-activation notification in superclass
-	}
-
-    protected void checkUsable() {
-    	//suppress setUsable(false);
-	}    
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/OffsetConnector.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/OffsetConnector.java
deleted file mode 100644
index 917ebca52..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/OffsetConnector.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * @(#)OffsetConnector.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.figures.*;
-import org.jhotdraw.util.*;
-
-/**
- * An OffsetConnector locates connection points with the help of an
- * OffsetLocator.
- * <p>
- * It allows the dynamic creation of connection points for new LineConnections.
- * <p>
- * It dynamically adjusts connection points when connection handles are
- * dragged.
- * <p>
- * This class is not thread safe
- * 
- * <hr>
- * <b>Design Patterns </b>
- * <P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o "><b><a
- * href=../pattlets/sld036.htm>Proxy </a> </b> <br>
- * <b><a href=../pattlets/sld036.htm>Prototype </a> </b> <br>
- * Tracking connectors are Proxy Objects that are provided by the
- * trackConnector method when new connectors need to be created. The tracking
- * connectors permit deferral of OffsetConnector creation until the
- * finalizeConnector() method is called. New connectors are then created by
- * copying the tracking connectors (as in the Prototype pattern).
- * <hr>
- * 
- * @see OffsetLocator
- * @see Connector
- */
-public class OffsetConnector extends LocatorConnector {
-
-	// Static trackingConnectors are used to minimize object creation.
-	// A static trackingPoint minimizes Point creation.
-	static public OffsetConnector trackingConnector1 = new OffsetConnector();
-	static public OffsetConnector trackingConnector2 = new OffsetConnector();
-	static private Point trackingPoint = new Point();
-
-	// variables used in trackConnector() to control what trackingConnector to
-	// use
-	static private OffsetConnector firstConnector;
-	static private OffsetConnector lastConnector;
-
-	// need GridConstraint of view
-	static private DrawingView view;
-
-	// The variable fOwnerBox preserves the owner's previous display box;
-	// it is used to maintain line orientations during resizing and to
-	// minimize Rectangle creation.
-	private transient Rectangle fOwnerBox;
-
-	/**
-	 * Called when a ConnectionTool starts a new connection. (ConnectionTool
-	 * MouseDown event).
-	 * 
-	 * @param drawingView -
-	 *            the current DrawingView; needed for it's GridConstrainer
-	 */
-	public void reset(DrawingView drawingView) {
-		if (this == trackingConnector1) {
-			view = drawingView;
-			firstConnector = null;
-			lastConnector = null;
-			trackingConnector1.fOwner = null;
-			trackingConnector2.fOwner = null;
-		}
-	}
-
-	/**
-	 * Use this method to create new OffsetConnectors.
-	 * 
-	 * <p>
-	 * Returns a tracking Connector initialized to the required owner and
-	 * location. The trackingConnector will create a new connector when it's
-	 * method finalizeConnector() is called.
-	 * 
-	 * <p>
-	 * This method depends on trackingConnector1.reset() resetting the
-	 * trackingConnectors
-	 * 
-	 * @see finalizeConnector(boolean start)
-	 * 
-	 * @param owner - the owning figure
-	 * @param x - x co-ordinate
-	 * @param y - y co-ordinate
-	 * @return - either trackingConnector1 or trackingConnector2 (if 1 is in use)
-	 */
-	static public OffsetConnector trackConnector(Figure owner, int x, int y) {
-		OffsetConnector trackingConnector = trackingConnector1;
-		//This method depends on reset() nullifying firstConnector and
-		//lastConnector. It also depends on the tracking connector's owner
-		//being set to null in reset(). Otherwise fOwner and fOwnerBox would
-		// have
-		// to be set unconditionally and would then create a Rectangle on every
-		// call.
-		if (firstConnector != null && owner != trackingConnector1.owner()) {
-			trackingConnector = trackingConnector2;
-		}
-
-		if (trackingConnector.fOwner != owner) {
-			trackingConnector.fOwner = owner;
-			trackingConnector.fOwnerBox = owner.displayBox();
-		}
-		if (firstConnector == null) {
-			firstConnector = trackingConnector;
-		}
-		lastConnector = trackingConnector;
-		return trackingConnector.calculateFigureConstrainedOffsets(x, y);
-	}
-
-	/**
-	 * Constructs a connector that has no owner. It is used internally to
-	 * resurrect a connector from a StorableOutput and to create the static
-	 * tracking connectors.
-	 */
-	public OffsetConnector() {
-		OffsetLocator loc = new OffsetLocator(RelativeLocator.northWest());
-		myLocator = loc;
-		fOwner = null;
-		fOwnerBox = new Rectangle();
-		//System.out.println("OffsetConnector()-Tracking Only");
-	}
-
-	/**
-	 * Constructs an OffsetConnector with the given owner and given location.
-	 * It is called only by the finalizeConnector method;
-	 * 
-	 * @param owner
-	 * @param offsetX
-	 * @param offsetY
-	 */
-	private OffsetConnector(Figure owner, int offsetX, int offsetY) {
-		super(owner, null);
-		OffsetLocator loc = new OffsetLocator(RelativeLocator.northWest(), offsetX, offsetY);
-		myLocator = loc;
-		fOwnerBox = owner.displayBox();
-		//System.out.println("OffsetConnector(" + owner.toString()+","+offsetX
-		// +","+offsetY+")");
-	}
-
-	/**
-	 * Returns a newly created OffsetConnector for tracking connectors. The
-	 * tracking connector's owner and offsets are copied to the new connector.
-	 * <p>
-	 * Existing non-tracking connectors are returned unchanged without side
-	 * effects.
-	 * <p>
-	 * This method is called by the connectStart(Connector) and the
-	 * connectEnd(Connector) methods of the LineConnection object
-	 * 
-	 * @see LineConnection
-	 * 
-	 * @param start -
-	 *            a boolean indicating whether the receiver is a start or end
-	 *            Connector
-	 * @return - the receiver unchanged if it is not a tracking connector; a
-	 *         new Offset connector if this is a tracking connector.
-	 */
-	public Connector finalizeConnector(boolean start) {
-		if ((this != OffsetConnector.trackingConnector1)
-				&& (this != OffsetConnector.trackingConnector2)) {
-			return this;
-		}
-		OffsetLocator l = (OffsetLocator) myLocator;
-		OffsetConnector o = new OffsetConnector(owner(), l.fOffsetX, l.fOffsetY);
-
-		// an adjustment to the end connector that helps draw vertical or
-		// horizontal lines.
-		// This adjustment applies only to the initial rendering of the line
-		// and has no
-		// subsequent effect
-		// N.B. trackingConnector2 is used iff 2 connectors needed ... new line
-		// connection
-		if (this == OffsetConnector.trackingConnector2) {
-			int p1X = trackingConnector1.locateX();
-			int p1Y = trackingConnector1.locateY();
-			int p2X = locateX();
-			int p2Y = locateY();
-			if (Math.abs(p1X - p2X) <= 8) p2X = p1X;
-			if (Math.abs(p1Y - p2Y) <= 8) p2Y = p1Y;
-			l = (OffsetLocator) o.myLocator;
-			l.fOffsetX = Geom.range(0, fOwnerBox.width, p2X - fOwnerBox.x);
-			l.fOffsetY = Geom.range(0, fOwnerBox.height, p2Y - fOwnerBox.y);
-		}
-		return o;
-	}
-
-	/**
-	 * Resets offsets for an existing OffsetConnector. Called when dragging a
-	 * ChangeConnectionHandle.
-	 * 
-	 * @see org.jhotdraw.standard.ChangeConnectionHandle
-	 * 
-	 * @param x -
-	 *            x coordinate of point moved to
-	 * @param y -
-	 *            y coordinate of point moved to
-	 * @see org.jhotdraw.framework.Connector#connectorMovedTo(int, int)
-	 */
-	public Point connectorMovedTo(int x, int y) {
-		calculateFigureConstrainedOffsets(x, y);
-
-		// adjustment to make it easier for user to position point
-		// will use x or y parameters under certain conditions overriding
-		// calculated point
-		// only applies to sides of figure & the adjusted point will still lie
-		// on appropriate side
-		int px = locateX();
-		int py = locateY();
-		OffsetLocator l = (OffsetLocator) myLocator;
-		if (owner() instanceof RectangleFigure) {
-			if (Math.abs(py - y) <= 3) {
-				if (l.fOffsetX == 0 || l.fOffsetX == fOwnerBox.width) {
-					// can use y
-					l.fOffsetY = Geom.range(0, fOwnerBox.height, y - fOwnerBox.y);
-				}
-			}
-			if (Math.abs(px - x) <= 3) {
-				if (l.fOffsetY == 0 || l.fOffsetY == fOwnerBox.height) {
-					// can use x
-					l.fOffsetX = Geom.range(0, fOwnerBox.width, x - fOwnerBox.x);
-				}
-			}
-		}
-		return new Point(locateX(), locateY());
-	}
-
-	/**
-	 * Gets the connection point. If the owner is resized the connection points
-	 * are (visually) preserved provided they lie on the box of the resized
-	 * figure.
-	 * 
-	 * @see org.jhotdraw.standard.AbstractConnector#findPoint(org.jhotdraw.framework.ConnectionFigure)
-	 */
-	protected Point findPoint(ConnectionFigure connection) {
-		Rectangle r = owner().displayBox();
-		if (fOwnerBox.width == 0 && fOwnerBox.height == 0) {
-			// for deSerialization
-			fOwnerBox = r;
-		}
-		OffsetLocator l = (OffsetLocator) myLocator;
-		Point p1 = locate(connection);
-
-		// if not resized then no adjustments needed
-		if (fOwnerBox.width == r.width && fOwnerBox.height == r.height) {
-			fOwnerBox = r;
-			//System.out.println("findPoint - " +this.toString() +":"+
-			// p1.toString());
-			return p1;
-		}
-
-		// ????
-		if (owner() instanceof EllipseFigure) {
-			calculateFigureConstrainedOffsets(p1.x, p1.y);
-			fOwnerBox = r;
-			return p1;
-		}
-		//get the point (use previous box with offsets)
-		p1.x = fOwnerBox.x + l.fOffsetX;
-		p1.y = fOwnerBox.y + l.fOffsetY;
-
-		if (l.fOffsetX == 0) {
-			p1.x = r.x;
-		}
-		else if (l.fOffsetX == fOwnerBox.width) {
-			p1.x = r.x + r.width;
-		}
-
-		if (l.fOffsetY == 0) {
-			p1.y = r.y;
-		}
-		else if (l.fOffsetY == fOwnerBox.height) {
-			p1.y = r.y + r.height;
-		}
-
-		if (view != null && view.getConstrainer() != null) {
-			p1 = view.getConstrainer().constrainPoint(p1);
-		}
-		l.fOffsetX = Geom.range(0, r.width, p1.x - r.x);
-		l.fOffsetY = Geom.range(0, r.height, p1.y - r.y);
-		fOwnerBox = r;
-		//System.out.println("findPoint(x) - " +this.toString() +":"+
-		// p1.toString());
-		return p1;
-	}
-
-	/**
-	 * @return the connector Point
-	 */
-	protected Point locate(ConnectionFigure connection) {
-		return myLocator.locate(owner());
-	}
-
-	/**
-	 * @return the x-coordinate of this connector
-	 */
-	public int locateX() {
-		OffsetLocator l = (OffsetLocator) myLocator;
-		return fOwnerBox.x + l.fOffsetX;
-	}
-
-	/**
-	 * @return the y-coordinate of this connector
-	 */
-	public int locateY() {
-		OffsetLocator l = (OffsetLocator) myLocator;
-		return fOwnerBox.y + l.fOffsetY;
-	}
-
-	/**
-	 * Constrains the point (x,y) to the figure and calculates the offsets for
-	 * the resulting constrained point.
-	 * 
-	 * @param x - x coordinate
-	 * @param y - y coordinate
-	 */
-	public OffsetConnector calculateFigureConstrainedOffsets(int x, int y) {
-		// minimize Point, Rectangle & other object creation
-		// as this method is called by the trackConnector() method.
-		trackingPoint = calculateFigureConstrainedTrackingPoint(x, y);
-		OffsetLocator l = (OffsetLocator) myLocator;
-		l.fOffsetX = trackingPoint.x - fOwnerBox.x;
-		l.fOffsetY = trackingPoint.y - fOwnerBox.y;
-		return this;
-	}
-
-	/**
-	 * Constrains the point (x,y) to the figure and returns a constrained
-	 * point. This method can be overridden for different figure types or
-	 * different constraining policies.
-	 * <p>
-	 * For efficiency reasons the <em>same</em> point object is returned from
-	 * every call. Be careful not to publicly expose this internal tracking
-	 * point when overriding.
-	 * <p>
-	 * This method is NOT thread safe.
-	 * 
-	 * @param x - x coordinate
-	 * @param y - y coordinate
-	 * @return internal tracking point containing the constrained coordinates
-	 */
-	protected Point calculateFigureConstrainedTrackingPoint(int x, int y) {
-		// minimize Point, Rectangle & other object creation
-		trackingPoint.x = x;
-		trackingPoint.y = y;
-		if (view != null && view.getConstrainer() != null) {
-			trackingPoint = view.getConstrainer().constrainPoint(trackingPoint);
-		}
-
-		if (!(owner() instanceof EllipseFigure)) {
-			trackingPoint = Geom.angleToPoint(fOwnerBox, Geom
-					.pointToAngle(fOwnerBox, trackingPoint));
-		}
-		else {
-			trackingPoint = Geom.ovalAngleToPoint(fOwnerBox, Geom.pointToAngle(fOwnerBox,
-					trackingPoint));
-		}
-		return trackingPoint;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/OffsetLocator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/OffsetLocator.java
deleted file mode 100644
index 34a05bcab..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/OffsetLocator.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * @(#)OffsetLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-
-/**
- * A locator to offset another Locator.
- * @see Locator
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class OffsetLocator extends AbstractLocator {
-
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 2679950024611847621L;
-	private int offsetLocatorSerializedDataVersion = 1;
-
-	private Locator fBase;
-
-	protected int     fOffsetX;
-	protected int     fOffsetY;
-
-	public OffsetLocator() {
-		fBase = null;
-		fOffsetX = 0;
-		fOffsetY = 0;
-	}
-
-	public OffsetLocator(Locator base) {
-		this();
-		fBase = base;
-	}
-
-	public OffsetLocator(Locator base, int offsetX, int offsetY) {
-		this(base);
-		fOffsetX = offsetX;
-		fOffsetY = offsetY;
-	}
-
-	public Point locate(Figure owner) {
-		Point p = fBase.locate(owner);
-		p.x += fOffsetX;
-		p.y += fOffsetY;
-		return p;
-	}
-
-	public void moveBy(int dx, int dy) {
-		fOffsetX += dx;
-		fOffsetY += dy;
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeInt(fOffsetX);
-		dw.writeInt(fOffsetY);
-		dw.writeStorable(fBase);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fOffsetX = dr.readInt();
-		fOffsetY = dr.readInt();
-		fBase = (Locator)dr.readStorable();
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/OrderedFigureElement.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/OrderedFigureElement.java
deleted file mode 100644
index 9456fdc63..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/OrderedFigureElement.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * @(#)OrderFigureElement.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.Figure;
-
-/**
- * @author WMG (INIT Copyright (C) 2000 All rights reserved)
- * @version <$CURRENT_VERSION$>
- */
-class OrderedFigureElement implements Comparable {
-
-	//_________________________________________________________VARIABLES
-
-	private Figure  _theFigure;
-	private int     _nZ;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public OrderedFigureElement(Figure aFigure, int nZ) {
-		_theFigure = aFigure;
-		_nZ = nZ;
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public Figure getFigure() {
-		return _theFigure;
-	}
-
-	public int getZValue() {
-		return _nZ;
-	}
-
-	public int compareTo(Object o) {
-		OrderedFigureElement ofe = (OrderedFigureElement) o;
-		if (_nZ == ofe.getZValue()) {
-			return 0;
-		}
-
-		if (_nZ > ofe.getZValue()) {
-			return 1;
-		}
-
-		return -1;
-	}
-
-	//_______________________________________________________________END
-
-} //end of class OrderedFigureElement
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/PasteCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/PasteCommand.java
deleted file mode 100644
index 27c1b6273..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/PasteCommand.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)PasteCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-import java.awt.*;
-
-/**
- * Command to insert the clipboard into the drawing.
- *
- * @see Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PasteCommand extends FigureTransferCommand {
-
-	/**
-	 * Constructs a paste command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public PasteCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		Point lastClick = view().lastClick();
-		FigureSelection selection = (FigureSelection)Clipboard.getClipboard().getContents();
-		if (selection != null) {
-			setUndoActivity(createUndoActivity());
-			getUndoActivity().setAffectedFigures(
-				(FigureEnumerator)selection.getData(StandardFigureSelection.TYPE));
-
-			if (!getUndoActivity().getAffectedFigures().hasNextFigure()) {
-				setUndoActivity(null);
-				return;
-			}
-
-			Rectangle r = getBounds(getUndoActivity().getAffectedFigures());
-			view().clearSelection();
-
-			// get an enumeration of inserted figures
-			FigureEnumeration fe = insertFigures(getUndoActivity().getAffectedFigures(), lastClick.x-r.x, lastClick.y-r.y);
-			getUndoActivity().setAffectedFigures(fe);
-
-			view().checkDamage();
-		}
-	}
-
-	public boolean isExecutableWithView() {
-		return Clipboard.getClipboard().getContents() != null;
-	}
-
-	private Rectangle getBounds(FigureEnumeration fe) {
-		Rectangle r = fe.nextFigure().displayBox();
-		while (fe.hasNextFigure()) {
-			r.add(fe.nextFigure().displayBox());
-		}
-		return r;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new PasteCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			DeleteFromDrawingVisitor deleteVisitor = new DeleteFromDrawingVisitor(getDrawingView().drawing());
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-	    		fe.nextFigure().visit(deleteVisitor);
-			}
-
-			getDrawingView().clearSelection();
-
-			return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-
-			getDrawingView().clearSelection();
-			setAffectedFigures(getDrawingView().insertFigures(
-				getAffectedFigures(), 0, 0, false));
-
-			return true;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/PeripheralLocator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/PeripheralLocator.java
deleted file mode 100644
index 7f12908e6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/PeripheralLocator.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * @(#)PeripheralLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.Point;
-import org.jhotdraw.framework.Figure;
-import java.awt.*;
-import java.lang.Math;
-
-/**
- * @author  C.L.Gilbert <dnoyeb@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class PeripheralLocator extends AbstractLocator {
-	private static int CORNERSPACE = 1;
-	private Figure fOwner;
-	private int fPPS;
-	private int fIndex;
-
-	private PeripheralLocator() {
-		// do nothing: for JDO-compliance only
-	}
-
-	public PeripheralLocator(int pointsPerSide, int index) {
-		fPPS = pointsPerSide;
-		fIndex = index;
-		if (index >= pointsPerSide *4) {
-			throw new IllegalArgumentException("Index must be within the range of points starting with index = 0.");
-		}
-	}
-
-    public Point locate(Figure parm1) {
-		Rectangle r = parm1.displayBox();
-		/* calculate total length for spacing */
-		//int circumference = r.width*2 + r.height*2;
-		/* subtrace corners spacing */
-		//int insets = 2 * 4 * CORNERSPACE;
-
-		//int spacing = circumference/(fPPS*4 +4);
-		float hSpacing = (float)r.width / (fPPS +1);
-		float vSpacing = (float)r.height / (fPPS +1);
-
-		int x = 0;
-		int y = 0;
-		if (fIndex < fPPS) {
-			//north
-			x = Math.round((fIndex + 1.0f ) * hSpacing);
-			y = 0;
-		}
-		else if (fIndex < (fPPS*2)) {
-			//east
-			x = Math.round((fPPS + 1 ) * hSpacing) ;//r.width;
-			y = Math.round((fIndex +1 - fPPS) * vSpacing);  //should be negative?
-		}
-		else if (fIndex < (fPPS*3)) {
-			//south
-			x = Math.round(((fPPS + 1 ) - (fIndex +1 - fPPS*2))* hSpacing);
-			y = Math.round((fPPS + 1 )* vSpacing) /*r.height*/;
-		}
-		else {
-			//west
-			x = 0;
-			y = Math.round(((fPPS +1) - (fIndex +1 - fPPS*3))*vSpacing);
-		}
-		x = x+r.x;
-		y = y+r.y;
-		return new Point((int)x, (int)y);
-    }
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/QuadTree.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/QuadTree.java
deleted file mode 100644
index c9e537533..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/QuadTree.java
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * @(#)QuadTree.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.awt.geom.Rectangle2D;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.io.Serializable;
-
-/**
- * @author WMG (INIT Copyright (C) 2000 All rights reserved)
- * @version <$CURRENT_VERSION$>
- */
-class QuadTree implements Serializable {
-
-	//_________________________________________________________VARIABLES
-
-	private Rectangle2D  _absoluteBoundingRectangle2D = new Rectangle2D.Double();
-	private int          _nMaxTreeDepth;
-	private Hashtable    _theHashtable = new Hashtable();
-	private Hashtable    _outsideHashtable = new Hashtable();
-	private QuadTree     _nwQuadTree;
-	private QuadTree     _neQuadTree;
-	private QuadTree     _swQuadTree;
-	private QuadTree     _seQuadTree;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public QuadTree(Rectangle2D absoluteBoundingRectangle2D) {
-		this(2, absoluteBoundingRectangle2D);
-	}
-
-	public QuadTree(int nMaxTreeDepth, Rectangle2D
-		absoluteBoundingRectangle2D) {
-		_init(nMaxTreeDepth, absoluteBoundingRectangle2D);
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public void add(Object anObject, Rectangle2D absoluteBoundingRectangle2D) {
-		if (_nMaxTreeDepth == 1) {
-			if (absoluteBoundingRectangle2D.intersects(_absoluteBoundingRectangle2D)) {
-				_theHashtable.put(anObject, absoluteBoundingRectangle2D);
-			}
-			else {
-				_outsideHashtable.put(anObject, absoluteBoundingRectangle2D);
-			}
-			return;
-		}
-
-		boolean bNW = absoluteBoundingRectangle2D.intersects(
-			_nwQuadTree.getAbsoluteBoundingRectangle2D());
-
-		boolean bNE = absoluteBoundingRectangle2D.intersects(
-			_neQuadTree.getAbsoluteBoundingRectangle2D());
-
-		boolean bSW = absoluteBoundingRectangle2D.intersects(
-			_swQuadTree.getAbsoluteBoundingRectangle2D());
-
-		boolean bSE = absoluteBoundingRectangle2D.intersects(
-			_seQuadTree.getAbsoluteBoundingRectangle2D());
-
-		int nCount = 0;
-
-		if (bNW == true) {
-			nCount++;
-		}
-		if (bNE == true) {
-			nCount++;
-		}
-		if (bSW == true) {
-			nCount++;
-		}
-		if (bSE == true) {
-			nCount++;
-		}
-
-		if (nCount > 1) {
-			_theHashtable.put(anObject, absoluteBoundingRectangle2D);
-			return;
-		}
-		if (nCount == 0) {
-			_outsideHashtable.put(anObject, absoluteBoundingRectangle2D);
-			return;
-		}
-
-		if (bNW == true) {
-			_nwQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-		if (bNE == true) {
-			_neQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-		if (bSW == true) {
-			_swQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-		if (bSE == true) {
-			_seQuadTree.add(anObject, absoluteBoundingRectangle2D);
-		}
-	}
-
-	public Object remove(Object anObject) {
-		Object returnObject = _theHashtable.remove(anObject);
-		if (returnObject != null) {
-			return returnObject;
-		}
-
-		if (_nMaxTreeDepth > 1) {
-			returnObject = _nwQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-
-			returnObject = _neQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-
-			returnObject = _swQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-
-			returnObject = _seQuadTree.remove(anObject);
-			if (returnObject != null) {
-				return returnObject;
-			}
-		}
-
-		returnObject = _outsideHashtable.remove(anObject);
-		if (returnObject != null) {
-			return returnObject;
-		}
-
-		return null;
-	}
-
-
-	public void clear() {
-		_theHashtable.clear();
-		_outsideHashtable.clear();
-		if (_nMaxTreeDepth > 1) {
-			_nwQuadTree.clear();
-			_neQuadTree.clear();
-			_swQuadTree.clear();
-			_seQuadTree.clear();
-		}
-	}
-
-	public int getMaxTreeDepth() {
-		return _nMaxTreeDepth;
-	}
-/*
-	public FigureEnumeration getAll() {
-		List l = CollectionsFactory.current().createList();
-		l.add(_theHashtable.keySet());
-		l.add(_outsideHashtable.keySet());
-
-		if (_nMaxTreeDepth > 1) {
-			l.add(_nwQuadTree.getAll().toList());
-			l.add(_neQuadTree.getAll().toList());
-			l.add(_swQuadTree.getAll().toList());
-			l.add(_seQuadTree.getAll().toList());
-		}
-
-		return new FigureEnumerator(l);
-	}
-*/
-	public FigureEnumeration getAllWithin(Rectangle2D r) {
-		List l = CollectionsFactory.current().createList();
-		for (Iterator ii = _outsideHashtable.keySet().iterator(); ii.hasNext(); ) {
-			Object anObject = ii.next();
-			Rectangle2D itsAbsoluteBoundingRectangle2D = (Rectangle2D)
-			_outsideHashtable.get(anObject);
-
-			if (itsAbsoluteBoundingRectangle2D.intersects(r)) {
-				l.add(anObject);
-			}
-		}
-
-		if (_absoluteBoundingRectangle2D.intersects(r)) {
-			for(Iterator i = _theHashtable.keySet().iterator(); i.hasNext(); ) {
-				Object anObject = i.next();
-				Rectangle2D itsAbsoluteBoundingRectangle2D = (Rectangle2D)
-				_theHashtable.get(anObject);
-
-				if (itsAbsoluteBoundingRectangle2D.intersects(r)) {
-					l.add(anObject);
-				}
-			}
-
-			if (_nMaxTreeDepth > 1) {
-				// bug-fix: 698988 - figures(Rectangle viewRectangle) bug
-				addFigureEnumerationToList(l, _nwQuadTree.getAllWithin(r));
-				addFigureEnumerationToList(l, _neQuadTree.getAllWithin(r));
-				addFigureEnumerationToList(l, _swQuadTree.getAllWithin(r));
-				addFigureEnumerationToList(l, _seQuadTree.getAllWithin(r));
-			}
-		}
-
-		return new FigureEnumerator(l);
-	}
-
-	public Rectangle2D getAbsoluteBoundingRectangle2D() {
-		return _absoluteBoundingRectangle2D;
-	}
-
-	//___________________________________________________PRIVATE METHODS
-
-	private void _init(int nMaxTreeDepth, Rectangle2D absoluteBoundingRectangle2D) {
-		_absoluteBoundingRectangle2D.setRect(absoluteBoundingRectangle2D);
-		_nMaxTreeDepth = nMaxTreeDepth;
-
-		if (_nMaxTreeDepth > 1) {
-			_nwQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeNorthwest(absoluteBoundingRectangle2D));
-			_neQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeNortheast(absoluteBoundingRectangle2D));
-			_swQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeSouthwest(absoluteBoundingRectangle2D));
-			_seQuadTree = new QuadTree(_nMaxTreeDepth-1,
-			_makeSoutheast(absoluteBoundingRectangle2D));
-		}
-	}
-
-	private Rectangle2D _makeNorthwest(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX(), r.getY(), r.getWidth() / 2.0, r.getHeight() / 2.0);
-	}
-
-	private Rectangle2D _makeNortheast(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX() + r.getWidth() / 2.0,
-			r.getY(), r.getWidth() / 2.0, r.getHeight() / 2.0);
-	}
-
-	private Rectangle2D _makeSouthwest(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX(), r.getY() + r.getHeight() / 2.0,
-			r.getWidth() / 2.0, r.getHeight() / 2.0);
-	}
-
-	private Rectangle2D _makeSoutheast(Rectangle2D r) {
-		return new Rectangle2D.Double(r.getX() + r.getWidth() / 2.0,
-			r.getY() + r.getHeight() / 2.0, r.getWidth() / 2.0,
-			r.getHeight() / 2.0);
-	}
-
-	private void addFigureEnumerationToList(List l, FigureEnumeration fe) {
-        while (fe.hasNextFigure()) {
-            l.add(fe.nextFigure());
-        }
-    }
-
-//_______________________________________________________________END
-
-} //end of class QuadTree
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/RelativeLocator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/RelativeLocator.java
deleted file mode 100644
index 5cf778114..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/RelativeLocator.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * @(#)RelativeLocator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import java.io.IOException;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-
-/**
- * A locator that specfies a point that is relative to the bounds
- * of a figure.
- *
- * @see Locator
- *
- * @version <$CURRENT_VERSION$>
- */
-public class RelativeLocator extends AbstractLocator {
-	/*
-	 * Serialization support.
-	 */
-	private static final long serialVersionUID = 2619148876087898602L;
-	private int relativeLocatorSerializedDataVersion = 1;
-
-	double  fRelativeX;
-	double  fRelativeY;
-
-	public RelativeLocator() {
-		fRelativeX = 0.0;
-		fRelativeY = 0.0;
-	}
-
-	public boolean equals(Object o) {
-		if (RelativeLocator.class.isInstance(o)) {
-			RelativeLocator rl = (RelativeLocator) o;
-			if ((rl.fRelativeX) == fRelativeX && (rl.fRelativeY == fRelativeY)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public RelativeLocator(double relativeX, double relativeY) {
-		fRelativeX = relativeX;
-		fRelativeY = relativeY;
-	}
-
-	public Point locate(Figure owner) {
-		Rectangle r = owner.displayBox();
-		return new Point(
-			r.x + (int)(r.width * fRelativeX),
-			r.y + (int)(r.height * fRelativeY)
-		);
-	}
-
-	public void write(StorableOutput dw) {
-		super.write(dw);
-		dw.writeDouble(fRelativeX);
-		dw.writeDouble(fRelativeY);
-	}
-
-	public void read(StorableInput dr) throws IOException {
-		super.read(dr);
-		fRelativeX = dr.readDouble();
-		fRelativeY = dr.readDouble();
-	}
-
-	static public Locator east() {
-		return new RelativeLocator(1.0, 0.5);
-	}
-
-	/**
-	 * North.
-	 */
-	static public Locator north() {
-		return new RelativeLocator(0.5, 0.0);
-	}
-
-	/**
-	 * West.
-	 */
-	static public Locator west() {
-		return new RelativeLocator(0.0, 0.5);
-	}
-
-	/**
-	 * North east.
-	 */
-	static public Locator northEast() {
-		return new RelativeLocator(1.0, 0.0);
-	}
-
-	/**
-	 * North west.
-	 */
-	static public Locator northWest() {
-		return new RelativeLocator(0.0, 0.0);
-	}
-
-	/**
-	 * South.
-	 */
-	static public Locator south() {
-		return new RelativeLocator(0.5, 1.0);
-	}
-
-	/**
-	 * South east.
-	 */
-	static public Locator southEast() {
-		return new RelativeLocator(1.0, 1.0);
-	}
-
-	/**
-	 * South west.
-	 */
-	static public Locator southWest() {
-		return new RelativeLocator(0.0, 1.0);
-	}
-
-	/**
-	 * Center.
-	 */
-	static public Locator center() {
-		return new RelativeLocator(0.5, 0.5);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ReverseFigureEnumerator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ReverseFigureEnumerator.java
deleted file mode 100644
index 020fec542..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ReverseFigureEnumerator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * @(#)ReverseFigureEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.util.ReverseListEnumerator;
-import org.jhotdraw.framework.*;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * An Enumeration that enumerates a Collection of figures back (size-1) to front (0).
- *
- * @version <$CURRENT_VERSION$>
- */
-public final class ReverseFigureEnumerator implements FigureEnumeration {
-	private Iterator myIterator;
-	private List myInitialList;
-
-	public ReverseFigureEnumerator(List l) {
-		myInitialList = l;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextFigure() {
-		return myIterator.hasNext();
-	}
-
-	/**
-	 * Returns the next element casted as a figure of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure() {
-		return (Figure)myIterator.next();
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		myIterator = new ReverseListEnumerator(myInitialList);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/SelectAllCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/SelectAllCommand.java
deleted file mode 100644
index c8fb51682..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/SelectAllCommand.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * @(#)SelectAllCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.UndoableAdapter;
-import org.jhotdraw.util.Undoable;
-
-/**
- * Command to select all figures in a view.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class SelectAllCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a select all command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public SelectAllCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-    	getUndoActivity().setAffectedFigures(view().selection());
-		view().addToSelectionAll(view().drawing().figures());
-		view().checkDamage();
-	}
-
-	/**
-	 * Used in enabling the properties menu item.
-	 * SelectAll menu item will be enabled only when there ia atleast one figure
-	 * in the selected drawing view.
-	 */
-	public boolean isExecutableWithView() {
-		FigureEnumeration fe = view().drawing().figures();
-		if (fe.hasNextFigure() && (fe.nextFigure() != null)) {
-			return true;
-		}
-
-		return false;
-	}
-
-	/**
-	 * Factory method for undo activity
-	 */
-	protected Undoable createUndoActivity() {
-		return new SelectAllCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			setUndoable(true);
-			setRedoable(true);
-		}
-
-		public boolean undo() {
-			if (!super.undo()) {
-	        	return false;
-			}
-
-			getDrawingView().clearSelection();
-			getDrawingView().addToSelectionAll(getAffectedFigures());
-
-		    return true;
-		}
-
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (isRedoable()) {
-				getDrawingView().addToSelectionAll(getDrawingView().drawing().figures());
-				return true;
-			}
-
-			return false;
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/SelectAreaTracker.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/SelectAreaTracker.java
deleted file mode 100644
index b9e90d43c..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/SelectAreaTracker.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * @(#)SelectAreaTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import java.awt.event.MouseEvent;
-import org.jhotdraw.framework.*;
-
-/**
- * SelectAreaTracker implements a rubberband selection of an area.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class SelectAreaTracker extends AbstractTool {
-    /** Selected rectangle in physical coordinates space */
-	private Rectangle fSelectGroup;
-    private Color fRubberBandColor;
-
-	public SelectAreaTracker(DrawingEditor newDrawingEditor) {
-        this(newDrawingEditor, Color.black);
-    }
-
-    public SelectAreaTracker(DrawingEditor newDrawingEditor, Color rubberBandColor) {
-		super(newDrawingEditor);
-        fRubberBandColor = rubberBandColor;
-	}
-
-	public void mouseDown(MouseEvent e, int x, int y) {
-		// use event coordinates to supress any kind of
-		// transformations like constraining points to a grid
-		super.mouseDown(e, e.getX(), e.getY());
-		rubberBand(getAnchorX(), getAnchorY(), getAnchorX(), getAnchorY());
-	}
-
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		super.mouseDrag(e, x, y);
-		eraseRubberBand();
-		rubberBand(getAnchorX(), getAnchorY(), x, y);
-	}
-
-	public void mouseUp(MouseEvent e, int x, int y) {
-		eraseRubberBand();
-		selectGroup(e.isShiftDown());
-		super.mouseUp(e, x, y);
-	}
-
-	private void rubberBand(int x1, int y1, int x2, int y2) {
-		fSelectGroup = new Rectangle(new Point(x1, y1));
-		fSelectGroup.add(new Point(x2, y2));
-		drawXORRect(fSelectGroup);
-	}
-
-	private void eraseRubberBand() {
-		drawXORRect(fSelectGroup);
-	}
-
-	private void drawXORRect(Rectangle r) {
-		Graphics g = view().getGraphics();
-		if ( g != null ) {
-			try {
-                if (g instanceof Graphics2D) {
-                    // Do dotted-line in Java2
-                    Stroke dashedStroke = new BasicStroke(1.0f,
-                        BasicStroke.CAP_SQUARE, BasicStroke.JOIN_MITER,
-                        10.0f, new float[] {5f, 5f, 5f, 5f}, 5.0f);
-                    ((Graphics2D) g).setStroke(dashedStroke);
-                }
-
-				g.setXORMode(view().getBackground());
-                g.setColor(fRubberBandColor);
-				g.drawRect(r.x, r.y, r.width, r.height);
-			}
-			finally {
-				g.dispose(); // SF bugtracker id: #490663
-			}
-		}
-	}
-
-	private void selectGroup(boolean toggle) {
-		FigureEnumeration fe = drawing().figuresReverse();
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			Rectangle r2 = figure.displayBox();
-			if (fSelectGroup.contains(r2.x, r2.y) && fSelectGroup.contains(r2.x+r2.width, r2.y+r2.height)) {
-				if (toggle) {
-					view().toggleSelection(figure);
-				}
-				else {
-					view().addToSelection(figure);
-				}
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/SelectionTool.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/SelectionTool.java
deleted file mode 100644
index 1866eae90..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/SelectionTool.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)SelectionTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.UndoableTool;
-import org.jhotdraw.util.UndoableHandle;
-import org.jhotdraw.contrib.dnd.DragNDropTool;
-import java.awt.event.MouseEvent;
-
-/**
- * Tool to select and manipulate figures.
- * A selection tool is in one of three states, e.g., background
- * selection, figure selection, handle manipulation. The different
- * states are handled by different child tools.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld032.htm>State</a></b><br>
- * SelectionTool is the StateContext and child is the State.
- * The SelectionTool delegates state specific
- * behavior to its current child tool.
- * <hr>
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class SelectionTool extends AbstractTool {
-
-	private Tool myDelegationTool = null;
-
-	public SelectionTool(DrawingEditor newDrawingEditor) {
-		super(newDrawingEditor);
-	}
-
-	/**
-	 * Handles mouse down events and starts the corresponding tracker.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		super.mouseDown(e, x, y);
-		// on MS-Windows NT: AWT generates additional mouse down events
-		// when the left button is down && right button is clicked.
-		// To avoid dead locks we ignore such events
-		if (getDelegateTool() != null) {
-			return;
-		}
-
-		view().freezeView();
-
-		Handle handle = view().findHandle(e.getX(), e.getY());
-		if (handle != null) {
-			setDelegateTool(createHandleTracker(view(), handle));
-		}
-		else {
-			Figure figure = drawing().findFigure(e.getX(), e.getY());
-			if (figure != null) {
-				setDelegateTool(createDragTracker(figure));
-			}
-			else {
-				if (!e.isShiftDown()) {
-					view().clearSelection();
-				}
-				setDelegateTool(createAreaTracker());
-			}
-		}
-		getDelegateTool().activate();
-		getDelegateTool().mouseDown(e, x, y);
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 * Switches the cursors depending on whats under them.
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-		if (evt.getSource() == getActiveView() ) {
-			DragNDropTool.setCursor(evt.getX(), evt.getY(), getActiveView());
-		}
-	}
-
-	/**
-	 * Handles mouse drag events. The events are forwarded to the
-	 * current tracker.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		if (getDelegateTool() != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			getDelegateTool().mouseDrag(e, x, y);
-		}
-	}
-
-	/**
-	 * Handles mouse up events. The events are forwarded to the
-	 * current tracker.
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		if (getDelegateTool() != null) { // JDK1.1 doesn't guarantee mouseDown, mouseDrag, mouseUp
-			getDelegateTool().mouseUp(e, x, y);
-			getDelegateTool().deactivate();
-			setDelegateTool(null);
-		}
-		if (view() != null) {
-			view().unfreezeView();
-			editor().figureSelectionChanged(view());
-		}
-	}
-
-	/**
-	 * Factory method to create a Handle tracker. It is used to track a handle.
-	 */
-	protected Tool createHandleTracker(DrawingView view, Handle handle) {
-		return new HandleTracker(editor(), new UndoableHandle(handle));
-	}
-
-	/**
-	 * Factory method to create a Drag tracker. It is used to drag a figure.
-	 */
-	protected Tool createDragTracker(Figure f) {
-		return new UndoableTool(new DragTracker(editor(), f));
-	}
-
-	/**
-	 * Factory method to create an area tracker. It is used to select an
-	 * area.
-	 */
-	protected Tool createAreaTracker() {
-		return new SelectAreaTracker(editor());
-	}
-
-	protected Tool getDelegateTool() {
-		return myDelegationTool;
-	}
-
-	protected final void setDelegateTool(Tool newDelegateTool) {
-		myDelegationTool = newDelegateTool;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/SendToBackCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/SendToBackCommand.java
deleted file mode 100644
index d1c555fb1..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/SendToBackCommand.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * @(#)SendToBackCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.UndoableAdapter;
-import org.jhotdraw.util.Undoable;
-import java.util.*;
-
-/**
- * A command to send the selection to the back of the drawing.
- *
- * @version <$CURRENT_VERSION$>
- */ 
-public class SendToBackCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a send to back command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public SendToBackCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		setUndoActivity(createUndoActivity());
-		getUndoActivity().setAffectedFigures(view().selectionZOrdered());
-		FigureEnumeration fe = getUndoActivity().getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			view().drawing().sendToBack(fe.nextFigure());
-		}
-		view().checkDamage();
-	}
-
-	protected boolean isExecutableWithView() {
-		return view().selectionCount() > 0;
-	}
-
-	protected Undoable createUndoActivity() {
-		return new SendToBackCommand.UndoActivity(view());
-	}
-
-	public static class UndoActivity extends UndoableAdapter {
-		private Hashtable myOriginalLayers;
-		
-		public UndoActivity(DrawingView newDrawingView) {
-			super(newDrawingView);
-			myOriginalLayers = new Hashtable();
-			setUndoable(true);
-			setRedoable(true);
-		}
-		
-		public boolean undo() {
-			if (!super.undo()) {
-				return false;
-			}
-
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				Figure currentFigure = fe.nextFigure();
-				int currentFigureLayer = getOriginalLayer(currentFigure);
-				getDrawingView().drawing().sendToLayer(currentFigure, currentFigureLayer);
-			}
-			
-			return true;
-		}
-		
-		public boolean redo() {
-			// do not call execute directly as the selection might has changed
-			if (!isRedoable()) {
-				return false;
-			}
-			
-			FigureEnumeration fe = getAffectedFigures();
-			while (fe.hasNextFigure()) {
-				sendToCommand(fe.nextFigure());
-			}
-			
-			return true;			
-		}
-
-		protected void sendToCommand(Figure f) {
-			getDrawingView().drawing().sendToBack(f);
-		}
-		
-		protected void addOriginalLayer(Figure affectedFigure, int newOriginalLayer) {
-			myOriginalLayers.put(affectedFigure, new Integer(newOriginalLayer));
-		}
-		
-		protected int getOriginalLayer(Figure lookupAffectedFigure) {
-			return ((Integer)myOriginalLayers.get(lookupAffectedFigure)).intValue();
-		}
-
-		public void setAffectedFigures(FigureEnumeration fe) {
-			// first make copy of FigureEnumeration in superclass
-			super.setAffectedFigures(fe);
-			// then get new FigureEnumeration of copy to save attributes
-			FigureEnumeration copyFe = getAffectedFigures();
-			while (copyFe.hasNextFigure()) {
-				Figure f = copyFe.nextFigure();
-				int originalLayer = getDrawingView().drawing().getLayer(f);
-				addOriginalLayer(f, originalLayer);
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/SimpleUpdateStrategy.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/SimpleUpdateStrategy.java
deleted file mode 100644
index e9c669766..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/SimpleUpdateStrategy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * @(#)SimpleUpdateStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-
-/**
- * The SimpleUpdateStrategy implements an update
- * strategy that directly redraws a DrawingView.
- *
- * @see DrawingView
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class SimpleUpdateStrategy implements Painter {
-
-	/*
-	 * Serialization support. In JavaDraw only the Drawing is serialized.
-	 * However, for beans support SimpleUpdateStrategy supports
-	 * serialization
-	 */
-	private static final long serialVersionUID = -7539925820692134566L;
-
-	/**
-	* Draws the view contents.
-	*/
-	public void draw(Graphics g, DrawingView view) {
-		view.drawAll(g);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/SingleFigureEnumerator.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/SingleFigureEnumerator.java
deleted file mode 100644
index cd5207a1e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/SingleFigureEnumerator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)SingleFigureEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-
-/**
- * An Enumeration that contains only a single Figures. An instance of this
- * enumeration can be used only once to retrieve the figure as the figure
- * is forgotten after the first retrieval.
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public final class SingleFigureEnumerator implements FigureEnumeration {
-	private Figure mySingleFigure;
-	private Figure myInitialFigure;
-
-	public SingleFigureEnumerator(Figure newSingleFigure) {
-		myInitialFigure = newSingleFigure;
-		reset();
-	}
-
-	/**
-	 * Returns true if the enumeration contains more elements; false
-	 * if its empty.
-	 */
-	public boolean hasNextFigure() {
-		return mySingleFigure != null;
-	}
-
-	/**
-	 * Returns the next element of the enumeration. Calls to this
-	 * method will enumerate successive elements.
-	 * @exception java.util.NoSuchElementException If no more elements exist.
-	 */
-	public Figure nextFigure() {
-		Figure returnFigure = mySingleFigure;
-		mySingleFigure = null;
-		return returnFigure;
-	}
-
-	/**
-	 * Reset the enumeration so it can be reused again. However, the
-	 * underlying collection might have changed since the last usage
-	 * so the elements and the order may vary when using an enumeration
-	 * which has been reset.
-	 */
-	public void reset() {
-		mySingleFigure = myInitialFigure;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/StandardDrawing.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/StandardDrawing.java
deleted file mode 100644
index 53a1b17a8..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/StandardDrawing.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * @(#)StandardDrawing.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-import java.io.*;
-
-/**
- * The standard implementation of the Drawing interface.
- *
- * @see Drawing
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class StandardDrawing extends CompositeFigure implements Drawing {
-
-
-	/**
-	 * the registered listeners
-	 */
-	private transient List              fListeners;
-
-	/**
-	 * boolean that serves as a condition variable
-	 * to lock the access to the drawing.
-	 * The lock is recursive and we keep track of the current
-	 * lock holder.
-	 */
-	private transient Thread    fDrawingLockHolder = null;
-	private String				myTitle;
-
-	/*
-	 * Serialization support
-	 */
-	private static final long serialVersionUID = -2602151437447962046L;
-	private int drawingSerializedDataVersion = 1;
-
-	/**
-	 * Constructs the Drawing.
-	 */
-	public StandardDrawing() {
-		super();
-		fListeners = CollectionsFactory.current().createList(2);
-		init(new Rectangle(-500, -500, 2000, 2000));
-	}
-
-	/**
-	 * Adds a listener for this drawing.
-	 */
-	public void addDrawingChangeListener(DrawingChangeListener listener) {
-		if (fListeners == null) {
-			fListeners = CollectionsFactory.current().createList(2);
-		}
-		fListeners.add(listener);
-	}
-
-	/**
-	 * Removes a listener from this drawing.
-	 */
-	public void removeDrawingChangeListener(DrawingChangeListener listener) {
-		fListeners.remove(listener);
-	}
-
-	/**
-	 * Gets an enumeration with all listener for this drawing.
-	 */
-	public Iterator drawingChangeListeners() {
-		return fListeners.iterator();
-	}
-
-	/**
-	 * Removes a figure from the figure list, but
-	 * doesn't release it. Use this method to temporarily
-	 * manipulate a figure outside of the drawing.
-	 *
-	 * @param figure that is part of the drawing and should be added
-	 */
-	public synchronized Figure orphan(Figure figure) {
-		Figure orphanedFigure = super.orphan(figure);
-		// ensure that we remove the top level figure in a drawing
-		if (orphanedFigure.listener() != null) {
-			Rectangle rect = invalidateRectangle(displayBox());
-			orphanedFigure.listener().figureRequestRemove(new FigureChangeEvent(orphanedFigure, rect));
-		}
-		return orphanedFigure;
-	}
-
-	public synchronized Figure add(Figure figure) {
-		Figure addedFigure = super.add(figure);
-		if (addedFigure.listener() != null) {
-			Rectangle rect = invalidateRectangle(displayBox());
-			addedFigure.listener().figureRequestUpdate(new FigureChangeEvent(figure, rect));
-			return addedFigure;
-		}
-		return addedFigure;
-	}
-
-	/**
-	 * Invalidates a rectangle and merges it with the
-	 * existing damaged area.
-	 * @see FigureChangeListener
-	 */
-	public void figureInvalidated(FigureChangeEvent e) {
-		if (fListeners != null) {
-			for (int i = 0; i < fListeners.size(); i++) {
-				DrawingChangeListener l = (DrawingChangeListener)fListeners.get(i);
-				l.drawingInvalidated(new DrawingChangeEvent(this, e.getInvalidatedRectangle()));
-			}
-		}
-	}
-
-	/**
-	 * Forces an update of the drawing change listeners.
-	 */
-	public void fireDrawingTitleChanged() {
-		if (fListeners != null) {
-			for (int i = 0; i < fListeners.size(); i++) {
-				DrawingChangeListener l = (DrawingChangeListener)fListeners.get(i);
-				l.drawingTitleChanged(new DrawingChangeEvent(this, null));
-			}
-		}
-	}
-
-	/**
-	 * Forces an update of the drawing change listeners.
-	 */
-	public void figureRequestUpdate(FigureChangeEvent e) {
-		if (fListeners != null) {
-			for (int i = 0; i < fListeners.size(); i++) {
-				DrawingChangeListener l = (DrawingChangeListener)fListeners.get(i);
-				l.drawingRequestUpdate(new DrawingChangeEvent(this, null));
-			}
-		}
-	}
-
-	/**
-	 * Return's the figure's handles. This is only used when a drawing
-	 * is nested inside another drawing.
-	 */
-	public HandleEnumeration handles() {
-		List handles = CollectionsFactory.current().createList();
-		handles.add(new NullHandle(this, RelativeLocator.northWest()));
-		handles.add(new NullHandle(this, RelativeLocator.northEast()));
-		handles.add(new NullHandle(this, RelativeLocator.southWest()));
-		handles.add(new NullHandle(this, RelativeLocator.southEast()));
-		return new HandleEnumerator(handles);
-	}
-
-	/**
-	 * Gets the display box. This is the union of all figures.
-	 */
-	public Rectangle displayBox() {
-		if (fFigures.size() > 0) {
-			FigureEnumeration fe = figures();
-
-			Rectangle r = fe.nextFigure().displayBox();
-
-			while (fe.hasNextFigure()) {
-				r.add(fe.nextFigure().displayBox());
-			}
-			return r;
-		}
-		return new Rectangle(0, 0, 0, 0);
-	}
-
-	public void basicDisplayBox(Point p1, Point p2) {
-	}
-
-	/**
-	 * Acquires the drawing lock.
-	 */
-	public synchronized void lock() {
-		// recursive lock
-		Thread current = Thread.currentThread();
-		if (fDrawingLockHolder == current) {
-			return;
-		}
-		while (fDrawingLockHolder != null) {
-			try {
-				wait();
-			}
-			catch (InterruptedException ex) { }
-		}
-		fDrawingLockHolder = current;
-	}
-
-	/**
-	 * Releases the drawing lock.
-	 */
-	public synchronized void unlock() {
-		if (fDrawingLockHolder != null) {
-			fDrawingLockHolder = null;
-			notify();
-		}
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		fListeners = CollectionsFactory.current().createList(2);
-	}
-
-	public String getTitle() {
-		return myTitle;
-	}
-
-	public void setTitle(String newTitle) {
-		myTitle = newTitle;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/StandardDrawingView.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/StandardDrawingView.java
deleted file mode 100644
index f26e88361..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/StandardDrawingView.java
+++ /dev/null
@@ -1,1235 +0,0 @@
-/*
- * @(#)StandardDrawingView.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import java.awt.dnd.DragGestureListener;
-import java.awt.dnd.DragSourceListener;
-import java.awt.event.*;
-import java.awt.print.PrinterGraphics;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-
-import org.jhotdraw.contrib.AutoscrollHelper;
-import org.jhotdraw.contrib.dnd.DNDHelper;
-import org.jhotdraw.contrib.dnd.DNDInterface;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.framework.Cursor;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.Command;
-import org.jhotdraw.util.Geom;
-import org.jhotdraw.util.UndoableCommand;
-
-/**
- * The standard implementation of DrawingView.
- *
- * @see DrawingView
- * @see Painter
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class StandardDrawingView
-		extends JPanel
-		implements DrawingView, DNDInterface, java.awt.dnd.Autoscroll {
-
-	/**
-	 * The DrawingEditor of the view.
-	 * @see #tool
-	 */
-	transient private DrawingEditor   fEditor;
-
-	/**
-	 * the registered listeners for selection changes
-	 */
-	private transient List fSelectionListeners;
-	
-	/**
-	 * The shown drawing.
-	 */
-	private Drawing         fDrawing;
-
-	/**
-	 * the accumulated damaged area
-	 */
-	private transient Rectangle fDamage;
-
-	/**
-	 * The list of currently selected figures.
-	 */
-	transient private List fSelection;
-
-	/**
-	 * The shown selection handles.
-	 */
-	transient private List fSelectionHandles;
-
-	/**
-	 * The preferred size of the view
-	 */
-
-	/**
-	 * The position of the last mouse click
-	 * inside the view.
-	 */
-	private Point fLastClick;
-
-	/**
-	 * A List of optional backgrounds. The list contains
-	 * view painters that are drawn before the contents,
-	 * that is in the background.
-	 */
-	private List fBackgrounds;
-
-	/**
-	 * A List of optional foregrounds. The list contains
-	 * view painters that are drawn after the contents,
-	 * that is in the foreground.
-	 */
-	private List fForegrounds;
-
-	/**
-	 * The update strategy used to repair the view.
-	 */
-	private Painter fUpdateStrategy;
-
-	/**
-	 * The grid used to constrain points for snap to
-	 * grid functionality.
-	 */
-	private PointConstrainer fConstrainer;
-
-	/**
-	 * Scrolling increment
-	 */
-	public static final int MINIMUM_WIDTH = 400;
-	public static final int MINIMUM_HEIGHT = 300;
-	public static final int SCROLL_INCR = 100;
-	public static final int SCROLL_OFFSET = 10;
-
-	private static int counter;
-	private int myCounter = counter;
-
-	private DNDHelper dndh;
-
-	/**
-	 * Listener for mouse clicks.
-	 */
-	private MouseListener mouseListener;
-	
-	/**
-	 * Listener for mouse movements.
-	 */
-	private MouseMotionListener motionListener;
-	
-	/**
-	 * Listener for the keyboard.
-	 */
-	private KeyListener keyListener;
-	
-	/**
-	 * Reflects whether the drawing view is in read-only mode (from a user's
-	 * perspective).
-	 */
-	private boolean myIsReadOnly;
-
-	/*
-	 * Serialization support. In JavaDraw only the Drawing is serialized.
-	 * However, for beans support StandardDrawingView supports
-	 * serialization
-	 */
-	private static final long serialVersionUID = -3878153366174603336L;
-	private int drawingViewSerializedDataVersion = 1;
-
-	/**
-	 * Remembers the current tool tip location in order to support
-	 * tool tips for a figure.
-	 */
-	private Point toolTipLocation;
-
-	/**
-	 * Constructs the view.
-	 */
-	public StandardDrawingView(DrawingEditor editor) {
-		this(editor, MINIMUM_WIDTH, MINIMUM_HEIGHT);
-	}
-
-	public StandardDrawingView(DrawingEditor editor, int width, int height) {
-		setAutoscrolls(true);
-		counter++;
-		fEditor = editor;
-		// ricardo_padilha: changed from setSize(int, int) because it is not
-		// JScrollPane-friendly. 
-		setPreferredSize(new Dimension(width, height));
-		fSelectionListeners = CollectionsFactory.current().createList();
-		addFigureSelectionListener(editor());
-		setLastClick(new Point(0, 0));
-		fConstrainer = null;
-		fSelection = CollectionsFactory.current().createList();
-		// JFC/Swing uses double buffering automatically as default
-		setDisplayUpdate(createDisplayUpdate());
-		// TODO: Test FastBufferedUpdateStrategy with JFC/Swing double buffering
-		//setDisplayUpdate(new FastBufferedUpdateStrategy());
-		setBackground(Color.lightGray);
-
-		addMouseListener(createMouseListener());
-		addMouseMotionListener(createMouseMotionListener());
-		addKeyListener(createKeyListener());
-	}
-
-	protected MouseListener createMouseListener() {
-        mouseListener = new DrawingViewMouseListener();
-		return mouseListener;
-	}
-
-	protected MouseMotionListener createMouseMotionListener() {
-        motionListener = new DrawingViewMouseMotionListener();
-		return  motionListener;
-	}
-
-	protected KeyListener createKeyListener() {
-        keyListener = new DrawingViewKeyListener();
-		return keyListener;
-	}
-
-	/**
-	 * Factory method which can be overriden by subclasses
-	 */
-	protected Painter createDisplayUpdate() {
-		return new SimpleUpdateStrategy();
-		//return new ClippingUpdateStrategy();
-	}
-
-	/**
-	 * Sets the view's editor.
-	 */
-	public void setEditor(DrawingEditor editor) {
-		fEditor = editor;
-	}
-
-	/**
-	 * Gets the current tool.
-	 */
-	public Tool tool() {
-		return editor().tool();
-	}
-
-	/**
-	 * Gets the drawing.
-	 */
-	public Drawing drawing() {
-		return fDrawing;
-	}
-
-	/**
-	 * Sets and installs another drawing in the view.
-	 */
-	public void setDrawing(Drawing d) {
-		if (drawing() != null) {
-			clearSelection();
-			drawing().removeDrawingChangeListener(this);
-		}
-
-		fDrawing = d;
-		if (drawing() != null) {
-			drawing().addDrawingChangeListener(this);
-		}
-
-		checkMinimumSize();
-		repaint();
-	}
-
-	/**
-	 * Gets the editor.
-	 */
-	public DrawingEditor editor() {
-		return fEditor;
-	}
-
-	/**
-	 * Adds a figure to the drawing.
-	 * @return the added figure.
-	 */
-	public Figure add(Figure figure) {
-		return drawing().add(figure);
-	}
-
-	/**
-	 * Removes a figure from the drawing.
-	 * @return the removed figure
-	 */
-	public Figure remove(Figure figure) {
-		return drawing().remove(figure);
-	}
-
-	/**
-	 * Adds a Collection of figures to the drawing.
-	 */
-	public void addAll(Collection figures) {
-		FigureEnumeration fe = new FigureEnumerator(figures);
-		while (fe.hasNextFigure()) {
-			add(fe.nextFigure());
-		}
-	}
-
-	/**
-	 * Check existance of figure in the drawing
-	 */
-	public boolean figureExists(Figure inf, FigureEnumeration fe) {
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-
-			if (figure.includes(inf)) {
-				return true;
-			}
-		}
-
-	  return false;
-	}
-
-	/**
-	 * Inserts a FigureEnumeration of figures and translates them by the
-	 * given offset. This function is used to insert figures from clipboards (cut/copy)
-	 *
-	 * @return enumeration which has been added to the drawing. The figures in the enumeration
-	 *         can have changed during adding them (e.g. they could have been decorated).
-	 */
-	public FigureEnumeration insertFigures(FigureEnumeration fe, int dx, int dy, boolean bCheck) {
-		if (fe == null) {
-			return FigureEnumerator.getEmptyEnumeration();
-		}
-
-		List vCF = CollectionsFactory.current().createList(10);
-		InsertIntoDrawingVisitor visitor = new InsertIntoDrawingVisitor(drawing());
-
-		while (fe.hasNextFigure()) {
-			Figure figure = fe.nextFigure();
-			if (figure instanceof ConnectionFigure) {
-				vCF.add(figure);
-			}
-			else if (figure != null) {
-				figure.moveBy(dx, dy);
-				figure.visit(visitor);
-			}
-		}
-
-		FigureEnumeration ecf = new FigureEnumerator(vCF);
-
-		while (ecf.hasNextFigure()) {
-			ConnectionFigure cf = (ConnectionFigure) ecf.nextFigure();
-			Figure sf = cf.startFigure();
-			Figure ef = cf.endFigure();
-
-			if (figureExists(sf, drawing().figures())
-				&& figureExists(ef, drawing().figures())
-				&& (!bCheck || cf.canConnect(sf, ef))) {
-
-				if (bCheck) {
-					Point sp = sf.center();
-					Point ep = ef.center();
-					Connector fStartConnector = cf.startFigure().connectorAt(ep.x, ep.y);
-					Connector fEndConnector = cf.endFigure().connectorAt(sp.x, sp.y);
-
-					if (fEndConnector != null && fStartConnector != null) {
-						cf.connectStart(fStartConnector);
-						cf.connectEnd(fEndConnector);
-						cf.updateConnection();
-					}
-				}
-
-				cf.visit(visitor);
-			}
-		}
-
-		addToSelectionAll(visitor.getInsertedFigures());
-		return visitor.getInsertedFigures();
-	}
-
-	/**
-	 * Returns a FigureEnumeration of connectionfigures attached to this figure
-	 */
-	public FigureEnumeration getConnectionFigures(Figure inFigure) {
-		// If no figure or figure is non connectable, just return null
-		if (inFigure == null || !inFigure.canConnect()) {
-			return null;
-		}
-
-		// if (inFigure instanceof ConnectionFigure)
-		//  return null;
-
-		List result = CollectionsFactory.current().createList(5);
-		FigureEnumeration figures = drawing().figures();
-
-		// Find all connection figures
-		while (figures.hasNextFigure()) {
-			Figure f= figures.nextFigure();
-
-			if ((f instanceof ConnectionFigure) && !(isFigureSelected(f))) {
-				ConnectionFigure cf = (ConnectionFigure) f;
-
-				if (cf.startFigure().includes(inFigure) || cf.endFigure().includes(inFigure)) {
-					result.add(f);
-				}
-			}
-		}
-
-		return new FigureEnumerator(result);
-	}
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public void setDisplayUpdate(Painter updateStrategy) {
-		fUpdateStrategy = updateStrategy;
-	}
-
-	/**
-	 * Sets the current display update strategy.
-	 * @see Painter
-	 */
-	public Painter getDisplayUpdate() {
-		return fUpdateStrategy;
-	}
-
-	/**
-	 * Gets an enumeration over the currently selected figures.
-	 * The selection is a snapshot of the current selection
-	 * which does not get changed anymore
-	 *
-	 * @return an enumeration with the currently selected figures.
-	 */
-	public FigureEnumeration selection() {
-		return selectionZOrdered();
-	}
-
-	/**
-	 * Gets the currently selected figures in Z order.
-	 * @see #selection
-	 * @return a FigureEnumeration with the selected figures. The enumeration
-	 * represents a snapshot of the current selection.
-	 */
-	public FigureEnumeration selectionZOrdered() {
-		List result = CollectionsFactory.current().createList(selectionCount());
-
-		result.addAll(fSelection);
-		return new ReverseFigureEnumerator(result);
-	}
-
-	/**
-	 * Gets the number of selected figures.
-	 */
-	public int selectionCount() {
-		return fSelection.size();
-	}
-
-	/**
-	 * Test whether a given figure is selected.
-	 */
-	public boolean isFigureSelected(Figure checkFigure) {
-		return fSelection.contains(checkFigure);
-	}
-
-	/**
-	 * Adds a figure to the current selection. The figure is only selected if
-	 * it is also contained in the Drawing associated with this DrawingView.
-	 */
-	public void addToSelection(Figure figure) {
-		if(addToSelectionImpl(figure) == true){
-			fireSelectionChanged();			
-		}
-	}
-	protected boolean addToSelectionImpl(Figure figure){
-		boolean changed = false;
-		if (!isFigureSelected(figure) && drawing().includes(figure)) {
-			fSelection.add(figure);
-			fSelectionHandles = null;
-			figure.invalidate();
-			changed = true;
-		}
-		return changed;
-	}
-	/**
-	 * Adds a Collection of figures to the current selection.
-	 */
-	public void addToSelectionAll(Collection figures) {
-		addToSelectionAll(new FigureEnumerator(figures));
-	}
-
-	/**
-	 * Adds a FigureEnumeration to the current selection.
-	 */
-	public void addToSelectionAll(FigureEnumeration fe) {
-		boolean changed = false;
-		while (fe.hasNextFigure()) {
-			changed |= addToSelectionImpl(fe.nextFigure());
-		}
-		if(changed == true){
-			fireSelectionChanged();
-		}
-	}
-
-	/**
-	 * Removes a figure from the selection.
-	 */
-	public void removeFromSelection(Figure figure) {
-		if (isFigureSelected(figure)) {
-			fSelection.remove(figure);
-			fSelectionHandles = null;
-			figure.invalidate();
-			fireSelectionChanged();
-		}
-	}
-
-	/**
-	 * If a figure isn't selected it is added to the selection.
-	 * Otherwise it is removed from the selection.
-	 */
-	public void toggleSelection(Figure figure) {
-		if (isFigureSelected(figure)) {
-			removeFromSelection(figure);
-		}
-		else {
-			addToSelection(figure);
-		}
-		fireSelectionChanged();
-	}
-
-	/**
-	 * Clears the current selection.
-	 */
-	public void clearSelection() {
-		// there is nothing selected - bug fix ID 628818
-		if (selectionCount() == 0) {
-			// avoid unnecessary selection changed event when nothing has to be cleared
-			return;
-		}
-
-		FigureEnumeration fe = selection();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().invalidate();
-		}
-		fSelection = CollectionsFactory.current().createList();
-		fSelectionHandles = null;
-		fireSelectionChanged();
-	}
-
-	/**
-	 * Gets an enumeration of the currently active handles.
-	 */
-	protected HandleEnumeration selectionHandles() {
-		if (fSelectionHandles == null) {
-			fSelectionHandles = CollectionsFactory.current().createList();
-			FigureEnumeration fe = selection();
-			while (fe.hasNextFigure()) {
-				Figure figure = fe.nextFigure();
-				HandleEnumeration kk = figure.handles();
-				while (kk.hasNextHandle()) {
-					fSelectionHandles.add(kk.nextHandle());
-				}
-			}
-		}
-		return new HandleEnumerator(fSelectionHandles);
-	}
-
-	/**
-	 * Gets the current selection as a FigureSelection. A FigureSelection
-	 * can be cut, copied, pasted.
-	 */
-	public FigureSelection getFigureSelection() {
-		return new StandardFigureSelection(selectionZOrdered(), selectionCount());
-	}
-
-	/**
-	 * Finds a handle at the given coordinates.
-	 * @return the hit handle, null if no handle is found.
-	 */
-	public Handle findHandle(int x, int y) {
-		Handle handle;
-
-		HandleEnumeration he = selectionHandles();
-		while (he.hasNextHandle()) {
-			handle = he.nextHandle();
-			if (handle.containsPoint(x, y)) {
-				return handle;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Informs that the current selection changed.
-	 * By default this event is forwarded to the
-	 * drawing editor.
-	 */
-	protected void fireSelectionChanged() {
-		if (fSelectionListeners != null) {
-			for (int i = 0; i < fSelectionListeners.size(); i++) {
-				FigureSelectionListener l = (FigureSelectionListener)fSelectionListeners.get(i);
-				l.figureSelectionChanged(this);
-			}
-		}
-	}
-
-	protected Rectangle getDamage() {
-		return fDamage; // clone?
-	}
-
-	protected void setDamage(Rectangle r) {
-		fDamage = r;
-	}
-
-	/**
-	 * Gets the position of the last click inside the view.
-	 */
-	public Point lastClick() {
-		return fLastClick;
-	}
-
-	protected void setLastClick(Point newLastClick) {
-		fLastClick = newLastClick;
-	}
-
-	/**
-	 * Sets the grid spacing that is used to constrain points.
-	 */
-	public void setConstrainer(PointConstrainer c) {
-		fConstrainer = c;
-	}
-
-	/**
-	 * Gets the current constrainer.
-	 */
-	public PointConstrainer getConstrainer() {
-		return fConstrainer;
-	}
-
-	/**
-	 * Constrains a point to the current grid.
-	 */
-	protected Point constrainPoint(Point p) {
-		// constrain to view size
-		Dimension size = getSize();
-		//p.x = Math.min(size.width, Math.max(1, p.x));
-		//p.y = Math.min(size.height, Math.max(1, p.y));
-		p.x = Geom.range(1, size.width, p.x);
-		p.y = Geom.range(1, size.height, p.y);
-
-		if (fConstrainer != null ) {
-			return fConstrainer.constrainPoint(p);
-		}
-		return p;
-	}
-
-	private void moveSelection(int dx, int dy) {
-		FigureEnumeration figures = selection();
-		while (figures.hasNextFigure()) {
-			figures.nextFigure().moveBy(dx, dy);
-		}
-		checkDamage();
-	}
-
-	/**
-	 * Refreshes the drawing if there is some accumulated damage
-	 */
-	public synchronized void checkDamage() {
-		Iterator each = drawing().drawingChangeListeners();
-		while (each.hasNext()) {
-			Object l = each.next();
-			if (l instanceof DrawingView) {
-				((DrawingView)l).repairDamage();
-			}
-		}
-	}
-
-	public void repairDamage() {
-		if (getDamage() != null) {
-			repaint(getDamage().x, getDamage().y, getDamage().width, getDamage().height);
-			setDamage(null);
-		}
-	}
-
-	public void drawingInvalidated(DrawingChangeEvent e) {
-		Rectangle r = e.getInvalidatedRectangle();
-		if (getDamage() == null) {
-			setDamage(r);
-		}
-		else {
-			// don't manipulate rectangle returned by getDamage() directly
-			// because it could be a cloned rectangle.
-			Rectangle damagedR = getDamage();
-			damagedR.add(r);
-			setDamage(damagedR);
-		}
-	}
-
-	public void drawingRequestUpdate(DrawingChangeEvent e) {
-		repairDamage();
-	}
-
-	public void drawingTitleChanged(DrawingChangeEvent e){
-	}
-
-	/**
-	 * Paints the drawing view. The actual drawing is delegated to
-	 * the current update strategy.
-	 * @see Painter
-	 */
-	protected void paintComponent(Graphics g) {
-		if(getDisplayUpdate() != null) {
-			getDisplayUpdate().draw(g, this);
-		}
-	}
-
-	/**
-	 * Draws the contents of the drawing view.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 */
-	public void drawAll(Graphics g) {
-		boolean isPrinting = isPrinting(g);
-		drawBackground(g);
-		if ((fBackgrounds != null) && !isPrinting) {
-			drawPainters(g, fBackgrounds);
-		}
-		drawDrawing(g);
-		if ((fForegrounds != null) && !isPrinting) {
-			drawPainters(g, fForegrounds);
-		}
-		if (!isPrinting) {
-			drawHandles(g);
-		}
-	}
-
-	/**
-	 * Draws the given figures.
-	 * The view has three layers: background, drawing, handles.
-	 * The layers are drawn in back to front order.
-	 * No background is drawn.
-	 */
-	public void draw(Graphics g, FigureEnumeration fe) {
-		boolean isPrinting = isPrinting(g);
-		//drawBackground(g);
-		if ((fBackgrounds != null) && !isPrinting) {
-			drawPainters(g, fBackgrounds);
-		}
-		drawing().draw(g, fe);
-		if ((fForegrounds != null) && !isPrinting) {
-			drawPainters(g, fForegrounds);
-		}
-		if (!isPrinting) {
-			drawHandles(g);
-		}
-	}
-
-	/**
-	 * Draws the currently active handles.
-	 */
-	public void drawHandles(Graphics g) {
-		HandleEnumeration he = selectionHandles();
-		while (he.hasNextHandle()) {
-			(he.nextHandle()).draw(g);
-		}
-	}
-
-	/**
-	 * Draws the drawing.
-	 */
-	public void drawDrawing(Graphics g) {
-		drawing().draw(g);
-	}
-
-	/**
-	 * Draws the background. If a background pattern is set it
-	 * is used to fill the background. Otherwise the background
-	 * is filled in the background color.
-	 */
-	public void drawBackground(Graphics g) {
-		g.setColor(getBackground());
-		g.fillRect(0, 0, getBounds().width, getBounds().height);
-	}
-
-	protected void drawPainters(Graphics g, List v) {
-		for (int i = 0; i < v.size(); i++) {
-			((Painter)v.get(i)).draw(g, this);
-		}
-	}
-
-	/**
-	 * Adds a background.
-	 */
-	public void addBackground(Painter painter)  {
-		if (fBackgrounds == null) {
-			fBackgrounds = CollectionsFactory.current().createList(3);
-		}
-		fBackgrounds.add(painter);
-		repaint();
-	}
-
-	/**
-	 * Removes a background.
-	 */
-	public void removeBackground(Painter painter)  {
-		if (fBackgrounds != null) {
-			fBackgrounds.remove(painter);
-		}
-		repaint();
-	}
-
-	protected List getBackgrounds() {
-		return fBackgrounds;
-	}
-
-	/**
-	 * Removes a foreground.
-	 */
-	public void removeForeground(Painter painter)  {
-		if (fForegrounds != null) {
-			fForegrounds.remove(painter);
-		}
-		repaint();
-	}
-
-	/**
-	 * Adds a foreground.
-	 */
-	public void addForeground(Painter painter)  {
-		if (fForegrounds == null) {
-			fForegrounds = CollectionsFactory.current().createList(3);
-		}
-		fForegrounds.add(painter);
-		repaint();
-	}
-
-	protected List getForegrounds() {
-		return fForegrounds;
-	}
-
-	/**
-	 * Freezes the view by acquiring the drawing lock.
-	 * @see Drawing#lock
-	 */
-	public void freezeView() {
-		drawing().lock();
-	}
-
-	/**
-	 * Unfreezes the view by releasing the drawing lock.
-	 * @see Drawing#unlock
-	 */
-	public void unfreezeView() {
-		drawing().unlock();
-	}
-
-	private void readObject(ObjectInputStream s)
-		throws ClassNotFoundException, IOException {
-
-		s.defaultReadObject();
-
-		fSelection = CollectionsFactory.current().createList(); // could use lazy initialization instead
-		// could use lazy initialization instead
-		if (drawing() != null) {
-			drawing().addDrawingChangeListener(this);
-		}
-		fSelectionListeners= CollectionsFactory.current().createList();
-	}
-
-	protected void checkMinimumSize() {
-		Dimension d = getDrawingSize();
-		Dimension v = getPreferredSize();
-
-		if (v.height < d.height || v.width < d.width) {
-			v.height = d.height + SCROLL_OFFSET;
-			v.width = d.width + SCROLL_OFFSET;
-			setPreferredSize(v);
-		}
-	}
-
-	/**
-	 * Return the size of the area occupied by the contained figures inside
-	 * the drawing. This method is called by checkMinimumSize().
-	 */
-	protected Dimension getDrawingSize() {
-		Dimension d = new Dimension(0, 0);
-		// ricardo_padilha: this test had to be introduced because a drawing view
-		// can be assigned a null drawing (see setDrawing() ).
-		if (drawing() != null) {
-			FigureEnumeration fe = drawing().figures();
-			while (fe.hasNextFigure()) {
-				Rectangle r = fe.nextFigure().displayBox();
-				d.width = Math.max(d.width, r.x+r.width);
-				d.height = Math.max(d.height, r.y+r.height);
-			}
-		}
-		return d;
-	}
-
-	/**
-	 * @see java.awt.Component#isFocusTraversable()
-	 * @deprecated see super class
-	 */
-	public boolean isFocusTraversable() {
-		return true;
-	}
-
-	public boolean isInteractive() {
-		return true;
-	}
-
-	public void keyTyped(KeyEvent e) {}
-	public void keyReleased(KeyEvent e) {}
-
-	/**
-	 * Add a listener for selection changes.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void addFigureSelectionListener(FigureSelectionListener fsl) {
-		fSelectionListeners.add(fsl);
-	}
-
-	/**
-	 * Remove a listener for selection changes.
-	 * @param fsl jhotdraw.framework.FigureSelectionListener
-	 */
-	public void removeFigureSelectionListener(FigureSelectionListener fsl) {
-		fSelectionListeners.remove(fsl);
-	}
-
-	public int getDefaultDNDActions() {
-		return java.awt.dnd.DnDConstants.ACTION_COPY_OR_MOVE;
-	}
-
-	/***** Autoscroll support *****/
-	private ASH ash = new ASH(10);
-
-	public void autoscroll(java.awt.Point p) {
-		ash.autoscroll(p);
-	}
-	public Insets getAutoscrollInsets() {
-		return ash.getAutoscrollInsets();
-	}
-	class ASH extends AutoscrollHelper {
-		public ASH(int margin) {
-			super(margin);
-		}
-		public Dimension getSize() {
-			return StandardDrawingView.this.getSize();
-		}
-		public Rectangle getVisibleRect() {
-			return StandardDrawingView.this.getVisibleRect();
-		}
-		public void scrollRectToVisible(Rectangle aRect) {
-			StandardDrawingView.this.scrollRectToVisible(aRect);
-		}
-	}
-
-	public String toString() {
-		return "DrawingView Nr: " + myCounter;
-	}
-
-	/**
-	 * Default action when any uncaught exception bubbled from
-	 * the mouse event handlers of the tools. Subclass may override it
-	 * to provide other action.
-	 */
-	protected void handleMouseEventException(Throwable t) {
-		JOptionPane.showMessageDialog(
-			this,
-			t.getClass().getName() + " - " + t.getMessage(),
-			"Error",
-			JOptionPane.ERROR_MESSAGE);
-		t.printStackTrace();
-	}
-	
-	public class DrawingViewMouseListener extends MouseAdapter {
-		/**
-		 * Handles mouse down events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mousePressed(MouseEvent e) {
-			try {
-				requestFocus(); // JDK1.1
-				Point p = constrainPoint(new Point(e.getX(), e.getY()));
-				setLastClick(new Point(e.getX(), e.getY()));
-				tool().mouseDown(e, p.x, p.y);
-				checkDamage();
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-
-		/**
-		 * Handles mouse up events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mouseReleased(MouseEvent e) {
-			try {
-				Point p = constrainPoint(new Point(e.getX(), e.getY()));
-				tool().mouseUp(e, p.x, p.y);
-				checkDamage();
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-	}
-
-	public class DrawingViewMouseMotionListener implements MouseMotionListener {
-		/**
-		 * Handles mouse drag events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mouseDragged(MouseEvent e) {
-			try {
-				Point p = constrainPoint(new Point(e.getX(), e.getY()));
-				tool().mouseDrag(e, p.x, p.y);
-				checkDamage();
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-
-		/**
-		 * Handles mouse move events. The event is delegated to the
-		 * currently active tool.
-		 */
-		public void mouseMoved(MouseEvent e) {
-			try {
-				tool().mouseMove(e, e.getX(), e.getY());
-			}
-			catch (Throwable t) {
-				handleMouseEventException(t);
-			}
-		}
-	}
-
-	public class DrawingViewKeyListener implements KeyListener {
-		private Command deleteCmd;
-
-		public DrawingViewKeyListener() {
-			deleteCmd = createDeleteCommand();
-		}
-
-		/**
-		 * Handles key down events. Cursor keys are handled
-		 * by the view the other key events are delegated to the
-		 * currently active tool.
-		 */
-		public void keyPressed(KeyEvent e) {
-			int code = e.getKeyCode();
-			// Only act on nonModified keys...
-			int modifiers = e.getModifiers();
-			if (modifiers == 0 &&
-			    ((code == KeyEvent.VK_BACK_SPACE) ||
-			     (code == KeyEvent.VK_DELETE))) {
-				if (deleteCmd.isExecutable()) {
-					deleteCmd.execute();
-					//deleteCmd.viewSelectionChanged(this);
-				}
-			}
-			else if (modifiers == 0 && 
-				 ((code == KeyEvent.VK_DOWN)
-				  || (code == KeyEvent.VK_UP)
-				  || (code == KeyEvent.VK_RIGHT)
-				  || (code == KeyEvent.VK_LEFT))) {
-				handleCursorKey(code);
-			}
-			else {
-				tool().keyDown(e, code);
-			}
-			checkDamage();
-		}
-
-		/**
-		 * Handles cursor keys by moving all the selected figures
-		 * one grid point in the cursor direction.
-		 */
-		protected void handleCursorKey(int key) {
-			int dx = 0, dy = 0;
-			int stepX = 1, stepY = 1;
-			// should consider Null Object.
-			if (fConstrainer != null) {
-				stepX = fConstrainer.getStepX();
-				stepY = fConstrainer.getStepY();
-			}
-
-			switch (key) {
-			case KeyEvent.VK_DOWN:
-				dy = stepY;
-				break;
-			case KeyEvent.VK_UP:
-				dy = -stepY;
-				break;
-			case KeyEvent.VK_RIGHT:
-				dx = stepX;
-				break;
-			case KeyEvent.VK_LEFT:
-				dx = -stepX;
-				break;
-			}
-			moveSelection(dx, dy);
-		}
-
-        public void keyTyped(KeyEvent event) {
-            // do nothing
-        }
-
-        public void keyReleased(KeyEvent event) {
-            // do nothing
-        }
-
-		protected Command createDeleteCommand() {
-			return new UndoableCommand(new DeleteCommand("Delete", editor()));
-		}
-    }
-
-	protected DNDHelper createDNDHelper() {
-		return new DNDHelper(true, true) {
-			protected DrawingView view() {
-				return StandardDrawingView.this;
-			}
-			protected DrawingEditor editor() {
-				return StandardDrawingView.this.editor();
-			}
-		};
-	}
-
-	protected DNDHelper getDNDHelper() {
-		if (dndh == null) {
-			dndh = createDNDHelper();
-		}
-		return dndh;
-	}
-
-	public DragSourceListener getDragSourceListener(){
-		return getDNDHelper().getDragSourceListener();
-	}
-
-	public void DNDInitialize(DragGestureListener dgl){
-		getDNDHelper().initialize(dgl);
-	}
-
-	public void DNDDeinitialize() {
-		getDNDHelper().deinitialize();
-	}
-
-	/**
-	 * Asks whether the drawing view is in read-only mode. If so,
-	 * the user can't modify it using mouse or keyboard
-	 * actions. Yet, it can still be modified from inside the
-	 * program.
-	 */
-	public boolean isReadOnly() {
-		return myIsReadOnly;
-	}
-	
-	/**
-	 * Determines whether the drawing view is in read-only
-	 * mode. If so, the user can't modify it using mouse or
-	 * keyboard actions. Yet, it can still be modified from inside
-	 * the program.
-	 */
-	public void setReadOnly(boolean newIsReadOnly) {
-		if (newIsReadOnly != isReadOnly()) {
-			if (newIsReadOnly) {
-				removeMouseListener(mouseListener);
-				removeMouseMotionListener(motionListener);
-				removeKeyListener(keyListener);
-			}
-			else {
-				addMouseListener(mouseListener);
-				addMouseMotionListener(motionListener);
-				addKeyListener(keyListener);
-			}
-			
-			myIsReadOnly = newIsReadOnly;
-		}
-	}
-
-	/**
-	 * @see DrawingView#setCursor(Cursor)
-	 * @see java.awt.Component#setCursor(java.awt.Cursor)
-	 */
-	public void setCursor(Cursor cursor) {
-		if (cursor instanceof java.awt.Cursor) {
-			super.setCursor((java.awt.Cursor) cursor);
-		}
-	}
-
-	/**
-	 * Gets the minimum dimension of the drawing.<br />
-	 * Fixed version (JHotDraw version has a bug).
-	 * @see StandardDrawingView#getMinimumSize()
-	 * @see java.awt.Component#getMinimumSize()
-	 */
-	public Dimension getMinimumSize() {
-		Rectangle r = new Rectangle();
-		FigureEnumeration k = drawing().figures();
-		while (k.hasNextFigure()) {
-			r.add(k.nextFigure().displayBox());
-		}
-		return new Dimension(r.width, r.height);
-	}
-
-	/**
-	 * Return the location of the tool tip to Swing
-	 */
-	public Point getToolTipLocation(MouseEvent event) {
-		return toolTipLocation;
-	}
-	
-	/**
-	 * Works along with setToolTipText() and when both are called, a
-	 * tool tip is shown at the Point p until clearToolTip() is called
-	 */
-	public void setToolTipLocation(Point p) {
-		toolTipLocation = p;
-	}
-
-	/**
-	 * Calls setToolTipLocation(Point p) with a standard position
-	 * relative to the given figure.
-	 */
-	public void setToolTipFigure(Figure f) {
-		Rectangle r = f.displayBox();
-		/* Show tool tip 10 below the figure's bottom left
-		 * corner... */
-		Point p = new Point (r.x, r.y + r.height + 10);
-		setToolTipLocation(p);
-	}
-
-	/**
-	 * Call this to ensure that the tool tip is no longer shown.
-	 */
-	public void clearToolTip() {
-		if (getToolTipText() != null) {
-			setToolTipText(null);
- 			/* According to javadoc for JComponent calling
-			 * setToolTipText(null) should be enough to
-			 * clear the tool tip, but at least for
-			 * 1.4.2-b28 that is not sufficient... */
-			setToolTipLocation(null);
-		}
-	}
-	
-	private boolean isPrinting(Graphics g) {
-		return (g instanceof PrintGraphics) || (g instanceof PrinterGraphics);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/StandardFigureSelection.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/StandardFigureSelection.java
deleted file mode 100644
index e5a81593c..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/StandardFigureSelection.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * @(#)FigureSelection.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.util.*;
-
-import java.util.*;
-import java.io.*;
-
-/**
- * FigureSelection enables to transfer the selected figures
- * to a clipboard.<p>
- * Will soon be converted to the JDK 1.1 Transferable interface.
- *
- * @see Clipboard
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public class StandardFigureSelection implements FigureSelection, Serializable {
-
-	private byte[] fData; // flattend figures, ready to be resurrected
-
-	/**
-	 * The type identifier of the selection.
-	 */
-	public final static String TYPE = "org.jhotdraw.Figures";
-
-	/**
-	 * Constructes the Figure selection for the FigureEnumeration.
-	 */
-	public StandardFigureSelection(FigureEnumeration fe, int figureCount) {
-		// a FigureSelection is represented as a flattened ByteStream
-		// of figures.
-		ByteArrayOutputStream output = new ByteArrayOutputStream(200);
-		StorableOutput writer = new StorableOutput(output);
-		writer.writeInt(figureCount);
-		while (fe.hasNextFigure()) {
-			writer.writeStorable(fe.nextFigure());
-		}
-		writer.close();
-		fData = output.toByteArray();
-	}
-
-	/**
-	 * Gets the type of the selection.
-	 */
-	public String getType() {
-		return TYPE;
-	}
-
-	/**
-	 * Gets the data of the selection. The result is returned
-	 * as a FigureEnumeration of Figures.
-	 *
-	 * @return a copy of the figure selection.
-	 */
-	public Object getData(String type) {
-		if (type.equals(TYPE)) {
-			InputStream input = new ByteArrayInputStream(fData);
-			List result = CollectionsFactory.current().createList(10);
-			StorableInput reader = new StorableInput(input);
-			int numRead = 0;
-			try {
-				int count = reader.readInt();
-				while (numRead < count) {
-					Figure newFigure = (Figure) reader.readStorable();
-					result.add(newFigure);
-					numRead++;
-				}
-			}
-			catch (IOException e) {
-				System.err.println(e.toString());
-			}
-			return new FigureEnumerator(result);
-		}
-		return null;
-	}
-
-	public static FigureEnumeration duplicateFigures(FigureEnumeration toBeCloned, int figureCount) {
-		StandardFigureSelection duplicater = new StandardFigureSelection(toBeCloned, figureCount);
-		return (FigureEnumeration)duplicater.getData(duplicater.getType());
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/TextHolder.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/TextHolder.java
deleted file mode 100644
index 0f5d60a16..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/TextHolder.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * @(#)TextHolder.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.*;
-import org.jhotdraw.framework.*;
-
-/**
- * The interface of a figure that has some editable text contents.
- *
- * @see Figure
- *
- * @version <$CURRENT_VERSION$>
- */
-
-public interface TextHolder {
-
-	public Rectangle textDisplayBox();
-
-	/**
-	 * Gets the text shown by the text figure.
-	 */
-	public String getText();
-
-	/**
-	 * Sets the text shown by the text figure.
-	 */
-	public void setText(String newText);
-
-	/**
-	 * Tests whether the figure accepts typing.
-	 */
-	public boolean acceptsTyping();
-
-	/**
-	 * Gets the number of columns to be overlaid when the figure is edited.
-	 */
-	public int overlayColumns();
-
-	/**
-	 * Connects a text holder to another figure.
-	 */
-	public void connect(Figure connectedFigure);
-
-	/**
-	 * Disconnects a text holder from a connect figure.
-	 */
-	public void disconnect(Figure disconnectFigure);
-	
-	/**
-	 * Gets the font.
-	 */
-	public Font getFont();
-
-	/**
-	 * Usually, a TextHolders is implemented by a Figure subclass. To avoid casting
-	 * a TextHolder to a Figure this method can be used for polymorphism (in this
-	 * case, let the (same) object appear to be of another type).
-	 * Note, that the figure returned is not the figure to which the TextHolder is
-	 * (and its representing figure) connected.
-	 * @return figure responsible for representing the content of this TextHolder
-	 */
-	public Figure getRepresentingFigure();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ToggleGridCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ToggleGridCommand.java
deleted file mode 100644
index 0c13c4128..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ToggleGridCommand.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * @(#)ToggleGridCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import java.awt.Point;
-import org.jhotdraw.framework.*;
-
-/**
- * A command to toggle the snap to grid behavior.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ToggleGridCommand extends AbstractCommand {
-
-	private Point fGrid;
-
-   /**
-	* Constructs a toggle grid command.
-	* @param name the command name
-	* @param newDrawingEditor editor
-	* @param grid the grid size. A grid size of 1,1 turns grid snapping off.
-	*/
-	public ToggleGridCommand(String name, DrawingEditor newDrawingEditor, Point grid) {
-		super(name, newDrawingEditor);
-		fGrid = new Point(grid.x, grid.y);
-	}
-
-	public void execute() {
-		super.execute();
-		PointConstrainer grid = view().getConstrainer();
-		if (grid != null) {
-			view().setConstrainer(null);
-		}
-		else {
-			view().setConstrainer(new GridConstrainer(fGrid.x, fGrid.y));
-		}
-	}
-}
-
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/standard/ToolButton.java b/jhotdraw6/src/main/java/org/jhotdraw/standard/ToolButton.java
deleted file mode 100644
index c4c85213f..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/standard/ToolButton.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)ToolButton.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.standard;
-
-import org.jhotdraw.util.*;
-import org.jhotdraw.framework.*;
-import javax.swing.*;
-import java.awt.*;
-import java.util.EventObject;
-
-/**
- * A PaletteButton that is associated with a tool.
- *
- * @see Tool
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ToolButton extends PaletteButton implements ToolListener {
-
-	private Tool            myTool;
-	private PaletteIcon     myIcon;
-
-	public ToolButton(PaletteListener listener, String iconName, String name, Tool tool) {
-		super(listener);
-		tool.addToolListener(this);
-		setEnabled(tool.isUsable());
-
-		// use a Mediatracker to ensure that all the images are initially loaded
-		Iconkit kit = Iconkit.instance();
-		if (kit == null) {
-			throw new JHotDrawRuntimeException("Iconkit instance isn't set");
-		}
-
-		Image im[] = new Image[3];
-		im[0] = kit.loadImage(iconName+"1.gif");
-		im[1] = kit.loadImage(iconName+"2.gif");
-		im[2] = kit.loadImage(iconName+"3.gif");
-
-		MediaTracker tracker = new MediaTracker(this);
-		for (int i = 0; i < 3; i++) {
-			tracker.addImage(im[i], i);
-		}
-		try {
-			tracker.waitForAll();
-		}
-		catch (Exception e) {
-			// ignore exception
-		}
-
-		setPaletteIcon(new PaletteIcon(new Dimension(24,24), im[0], im[1], im[2]));
-		setTool(tool);
-		setName(name);
-
-		// avoid null pointer exception if image could not be loaded
-		if (im[0] != null) {
-			setIcon(new ImageIcon(im[0]));
-		}
-		if (im[1] != null) {
-			setPressedIcon(new ImageIcon(im[1]));
-		}
-		if (im[2] != null) {
-			setSelectedIcon(new ImageIcon(im[2]));
-		}
-		setToolTipText(name);
-	}
-
-	public Tool tool() {
-		return myTool;
-	}
-
-	public String name() {
-		return getName();
-	}
-
-	public Object attributeValue() {
-		return tool();
-	}
-
-	public Dimension getMinimumSize() {
-		return new Dimension(getPaletteIcon().getWidth(), getPaletteIcon().getHeight());
-	}
-
-	public Dimension getPreferredSize() {
-		return new Dimension(getPaletteIcon().getWidth(), getPaletteIcon().getHeight());
-	}
-
-	public Dimension getMaximumSize() {
-		return new Dimension(getPaletteIcon().getWidth(), getPaletteIcon().getHeight());
-	}
-
-//  Not necessary anymore in JFC due to the support of Icons in JButton
-/*
-	public void paintBackground(Graphics g) { }
-
-	public void paintNormal(Graphics g) {
-		if (fIcon.normal() != null)
-			g.drawImage(fIcon.normal(), 0, 0, this);
-	}
-
-	public void paintPressed(Graphics g) {
-		if (fIcon.pressed() != null)
-			g.drawImage(fIcon.pressed(), 0, 0, this);
-	}
-*/
-	public void paintSelected(Graphics g) {
-		if (getPaletteIcon().selected() != null) {
-			g.drawImage(getPaletteIcon().selected(), 0, 0, this);
-		}
-	}
-
-	public void paint(Graphics g) {
-		// selecting does not work as expected with JFC1.1
-		// see JavaBug: 4228035, 4233965
-		if (isSelected()) {
-			paintSelected(g);
-		}
-		else {
-			super.paint(g);
-		}
-	}
-
-	public void toolUsable(EventObject toolEvent) {
-		setEnabled(true);
-	}
-
-	public void toolUnusable(EventObject toolEvent) {
-		setEnabled(false);
-		setSelected(false);
-	}
-
-	public void toolActivated(EventObject toolEvent) {
-	}
-
-	public void toolDeactivated(EventObject toolEvent) {
-	}
-
-	public void toolEnabled(EventObject toolEvent) {
-		setEnabled(true);
-	}
-
-	public void toolDisabled(EventObject toolEvent) {
-		setEnabled(false);
-	}
-
-	protected PaletteIcon getPaletteIcon() {
-		return myIcon;
-	}
-
-	private void setPaletteIcon(PaletteIcon newIcon) {
-		myIcon = newIcon;
-	}
-
-	private void setTool(Tool newTool) {
-		myTool = newTool;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/Animatable.java b/jhotdraw6/src/main/java/org/jhotdraw/util/Animatable.java
deleted file mode 100644
index 24c215d0d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/Animatable.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)Animatable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-/**
- * Animatable defines a simple animation interface
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Animatable {
-	/**
-	 * Perform a step of the animation.
-	 */
-	void animationStep();
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/Bounds.java b/jhotdraw6/src/main/java/org/jhotdraw/util/Bounds.java
deleted file mode 100644
index c32058b79..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/Bounds.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*
- * @(#)Bounds.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.awt.Dimension;
-import java.awt.geom.Point2D;
-import java.awt.geom.Rectangle2D;
-import java.io.Serializable;
-
-/** 
- * This class is a rectangle with floating point
- * dimensions and location.  This class provides
- * many convenient geometrical methods related to
- * rectangles.  Basically, this class is like
- * java.awt.geom.Rectangle2D with some extra
- * functionality.
- *
- * @author WMG (28.02.1999)
- * @version <$CURRENT_VERSION$>
- */
-public class Bounds implements Serializable {
-
-	//_________________________________________________________VARIABLES
-
-	protected double   _dX1 = 0;
-	protected double   _dY1 = 0;
-	protected double   _dX2 = 0;
-	protected double   _dY2 = 0;
-
-	//______________________________________________________CONSTRUCTORS
-
-	public Bounds(double x, double y) {
-		_dX1 = x;
-		_dX2 = x;
-		_dY1 = y;
-		_dY2 = y;
-	}
-
-	public Bounds(double x1, double y1, double x2, double y2) {
-		_dX1 = Math.min(x1, x2);
-		_dX2 = Math.max(x1, x2);
-		_dY1 = Math.min(y1, y2);
-		_dY2 = Math.max(y1, y2);
-	}
-
-	public Bounds(Point2D aPoint2D) {
-		this(aPoint2D.getX(), aPoint2D.getY());
-	}
-
-	public Bounds(Point2D firstPoint2D, Point2D secondPoint2D) {
-		this(firstPoint2D.getX(), firstPoint2D.getY(),
-		secondPoint2D.getX(), secondPoint2D.getY());
-	}
-
-	public Bounds(Bounds aBounds) {
-		this(aBounds.getLesserX(), aBounds.getLesserY(),
-		aBounds.getGreaterX(), aBounds.getGreaterY());
-	}
-
-	public Bounds(Rectangle2D aRectangle2D) {
-		_dX1 = aRectangle2D.getMinX();
-		_dX2 = aRectangle2D.getMaxX();
-		_dY1 = aRectangle2D.getMinY();
-		_dY2 = aRectangle2D.getMaxY();
-	}
-
-	public Bounds(Point2D centerPoint2D, double dWidth, double dHeight) {
-		_dX1 = centerPoint2D.getX() - (dWidth / 2.0);
-		_dX2 = centerPoint2D.getX() + (dWidth / 2.0);
-		_dY1 = centerPoint2D.getY() - (dHeight / 2.0);
-		_dY2 = centerPoint2D.getY() + (dHeight / 2.0);
-	}
-
-	public Bounds(Dimension aDimension) {
-		this(0, 0, aDimension.width, aDimension.height);
-	}
-
-	protected Bounds() {
-		// empty constructor
-	}
-
-	//____________________________________________________PUBLIC METHODS
-
-	public double getLesserX() {
-		return _dX1;
-	}
-
-	public double getGreaterX() {
-		return _dX2;
-	}
-
-	public double getLesserY() {
-		return _dY1;
-	}
-
-	public double getGreaterY() {
-		return _dY2;
-	}
-
-	public double getWest() {
-		return _dX1;
-	}
-
-	public double getEast() {
-		return _dX2;
-	}
-
-	public double getSouth() {
-		return _dY1;
-	}
-
-	public double getNorth() {
-		return _dY2;
-	}
-
-	public double getWidth() {
-		return _dX2 - _dX1;
-	}
-
-	public double getHeight() {
-		return _dY2 - _dY1;
-	}
-
-	public Rectangle2D asRectangle2D() {
-		return new Rectangle2D.Double(getLesserX(), getLesserY(),
-		getWidth(), getHeight());
-	}
-
-	public void setCenter(Point2D centerPoint2D) {
-		if(centerPoint2D == null) {
-			throw new IllegalArgumentException();
-		}
-		Point2D currentCenterPoint2D = getCenter();
-		double dDeltaX = centerPoint2D.getX() - currentCenterPoint2D.getX();
-		double dDeltaY = centerPoint2D.getY() - currentCenterPoint2D.getY();
-		offset(dDeltaX, dDeltaY);
-	}
-
-	public Point2D getCenter() {
-		return new Point2D.Double((_dX1 + _dX2) / 2.0, (_dY1 + _dY2) / 2.0);
-	}
-
-	public void zoomBy(double dRatio) {
-		double dWidth = _dX2 - _dX1;
-		double dHeight = _dY2 - _dY1;
-		double dNewWidth = (dWidth * dRatio);
-		double dNewHeight = (dHeight * dRatio);
-		Point2D centerPoint2D = getCenter();
-		_dX1 = centerPoint2D.getX() - (dNewWidth / 2.0);
-		_dY1 = centerPoint2D.getY() - (dNewHeight / 2.0);
-		_dX2 = centerPoint2D.getX() + (dNewWidth / 2.0);
-		_dY2 = centerPoint2D.getY() + (dNewHeight / 2.0);
-	}
-
-	public void shiftBy(int nXPercentage, int nYPercentage) {
-		double dWidth = _dX2 - _dX1;
-		double dHeight = _dY2 - _dY1;
-		double dDeltaX = (dWidth * nXPercentage) / 100.0;
-		double dDeltaY = (dHeight * nYPercentage) / 100.0;
-		offset(dDeltaX, dDeltaY);
-	}
-
-	public void offset(double dDeltaX, double dDeltaY) {
-		_dX1 += dDeltaX;
-		_dX2 += dDeltaX;
-		_dY1 += dDeltaY;
-		_dY2 += dDeltaY;
-	}
-
-	/**
-	 * This will cause the bounds to grow until the given ratio
-	 * is satisfied. The Ration is calculated by
-	 * <code> getWidth() / getHeight() </code>
-	 **/
-	public void expandToRatio(double dRatio) {
-		double dCurrentRatio = getWidth() / getHeight();
-		if (dCurrentRatio < dRatio) {
-			double dNewWidth = dRatio * getHeight();
-			double dCenterX = (_dX1 + _dX2) / 2.0;
-			double dDelta = dNewWidth / 2.0;
-			_dX1 = dCenterX - dDelta;
-			_dX2 = dCenterX + dDelta;
-		}
-		if (dCurrentRatio > dRatio) {
-			double dNewHeight = getWidth() / dRatio;
-			double dCenterY = (_dY1 + _dY2) / 2.0;
-			double dDelta = dNewHeight / 2.0;
-			_dY1 = dCenterY - dDelta;
-			_dY2 = dCenterY + dDelta;
-		}
-	}
-
-	public void includeXCoordinate(double x) {
-		_dX1 = min(_dX1, _dX2, x);
-		_dX2 = max(_dX1, _dX2, x);
-	}
-
-	public void includeYCoordinate(double y) {
-		_dY1 = min(_dY1, _dY2, y);
-		_dY2 = max(_dY1, _dY2, y);
-	}
-
-	public void includePoint(double x, double y) {
-		includeXCoordinate(x);
-		includeYCoordinate(y);
-	}
-
-	public void includePoint(Point2D aPoint2D) {
-		includePoint(aPoint2D.getX(), aPoint2D.getY());
-	}
-
-	public void includeLine(double x1, double y1, double x2, double y2) {
-		includePoint(x1, y1);
-		includePoint(x2, y2);
-	}
-
-	public void includeLine(Point2D onePoint2D, Point2D twoPoint2D) {
-		includeLine(onePoint2D.getX(), onePoint2D.getY(),
-		twoPoint2D.getX(), twoPoint2D.getY());
-	}
-
-	public void includeBounds(Bounds aBounds) {
-		includeXCoordinate(aBounds.getLesserX());
-		includeXCoordinate(aBounds.getGreaterX());
-		includeYCoordinate(aBounds.getLesserY());
-		includeYCoordinate(aBounds.getGreaterY());
-	}
-
-	public void includeRectangle2D(Rectangle2D aRectangle2D) {
-		includeXCoordinate(aRectangle2D.getMinX());
-		includeXCoordinate(aRectangle2D.getMaxX());
-		includeYCoordinate(aRectangle2D.getMinY());
-		includeYCoordinate(aRectangle2D.getMaxY());
-	}
-
-	public void intersect(Bounds aBounds) {
-		_dX1 = Math.max(_dX1, aBounds.getLesserX());
-		_dY1 = Math.max(_dY1, aBounds.getLesserY());
-		_dX2 = Math.min(_dX2, aBounds.getGreaterX());
-		_dY2 = Math.min(_dY2, aBounds.getGreaterY());
-
-		if (_dX1 > _dX2) {
-			_dX1 = _dX2;
-		}
-		if (_dY1 > _dY2) {
-			_dY1 = _dY2;
-		}
-	}
-
-	public boolean intersectsPoint(double x, double y) {
-		return ((_dX1 <= x) && (x <= _dX2) && (_dY1 <= y) && (y <= _dY2));
-	}
-
-	public boolean intersectsPoint(Point2D aPoint2D) {
-		return intersectsPoint(aPoint2D.getX(), aPoint2D.getY());
-	}
-
-
-	public boolean intersectsLine(double x1, double y1, double x2, double y2) {
-		if (intersectsPoint(x1, y1)) {
-			return true;
-		}
-		if (intersectsPoint(x2, y2)) {
-			return true;
-		}
-		if ((x1 < _dX1) && (x2 < _dX1)) {
-			return false;
-		}
-		if ((x1 > _dX2) && (x2 > _dX2)) {
-			return false;
-		}
-		if ((y1 < _dY1) && (y2 < _dY1)) {
-			return false;
-		}
-		if ((y1 > _dY2) && (y2 > _dY2)) {
-			return false;
-		}
-		if (((_dX1 <= x1) && (x1 <= _dX2)) && ((_dX1 <= x2) && (x2 <= _dX2))) {
-			return true;
-		}
-		if (((_dY1 <= y1) && (y1 <= _dY2)) && ((_dY1 <= y2) && (y2 <= _dY2))) {
-			return true;
-		}
-	
-		double dSlope = (y2-y1) / (x2-x1);
-		double _dYIntersectionAtX1 = dSlope * (_dX1 - x1) + y1;
-		double _dYIntersectionAtX2 = dSlope * (_dX2 - x1) + y1;
-		double _dXIntersectionAtY1 = (_dY1 - y1) / dSlope +  x1;
-		double _dXIntersectionAtY2 = (_dY2 - y1) / dSlope +  x1;
-
-		return (intersectsPoint(_dX1, _dYIntersectionAtX1)) ||
-			(intersectsPoint(_dX2, _dYIntersectionAtX2)) ||
-			(intersectsPoint(_dXIntersectionAtY1, _dY1)) ||
-			(intersectsPoint(_dXIntersectionAtY2, _dY2));
-	}
-
-	public boolean intersectsLine(Point2D onePoint2D, Point2D twoPoint2D) {
-		return intersectsLine(onePoint2D.getX(), onePoint2D.getY(),
-			twoPoint2D.getX(), twoPoint2D.getY());
-	}
-
-	//use K-map to simplify
-	public boolean intersectsBounds(Bounds aBounds) {
-		double dLesserX = aBounds.getLesserX();
-		double dGreaterX = aBounds.getGreaterX();
-		double dLesserY = aBounds.getLesserY();
-		double dGreaterY = aBounds.getGreaterY();
-
-		if (dLesserX < _dX1) {
-			if (dLesserY < _dY1) {
-				return ((dGreaterX >= _dX1) && (dGreaterY >= _dY1));
-			}
-			else {
-				return ((dGreaterX >= _dX1) && (dLesserY <= _dY2));
-			}
-		}
-		else {
-			if (dLesserY < _dY1) {
-				return ((dLesserX <= _dX2) && (dGreaterY >= _dY1));
-			}
-			else {
-				return ((dLesserX <= _dX2) && (dLesserY <= _dY2));
-			}
-		}
-	}
-
-	public boolean completelyContainsLine(double x1, double y1, double x2, double y2) {
-		return (_dX1 > Math.min(x1, x2)) &&
-			(_dX2 < Math.max(x1, x2)) &&
-			(_dY1 > Math.min(y1, y2)) &&
-			(_dY2 < Math.max(y1, y2));
-	}
-
-	public boolean isCompletelyInside(Bounds aBounds) {
-		return (_dX1 > aBounds.getLesserX()) &&
-			(_dX2 < aBounds.getGreaterX()) &&
-			(_dY1 > aBounds.getLesserY()) &&
-			(_dY2 < aBounds.getGreaterY());
-	}
-
-	public Point2D[] cropLine(double x1, double y1, double x2, double y2) {
-		if (!intersectsLine(x1, y1, x2, y2)) {
-			return null;
-		}
-
-		Point2D[] resultLine = new Point2D[2];
-		Point2D beginPoint2D = new Point2D.Double(x1, y1);
-		Point2D endPoint2D = new Point2D.Double(x2, y2);
-
-		if (beginPoint2D.getX() == endPoint2D.getX()) {
-			if (beginPoint2D.getY() > _dY2) {
-				beginPoint2D.setLocation(beginPoint2D.getX(), _dY2);
-			}
-			if (endPoint2D.getY() > _dY2) {
-				endPoint2D.setLocation(endPoint2D.getX(), _dY2);
-			}
-			if (beginPoint2D.getY() < _dY1) {
-				beginPoint2D.setLocation(beginPoint2D.getX(), _dY1);
-			}
-			if (endPoint2D.getY() < _dY1) {
-				endPoint2D.setLocation(endPoint2D.getX(), _dY1);
-			}
-		}
-		else if (beginPoint2D.getY() == endPoint2D.getY()) {
-			if (beginPoint2D.getX() > _dX2) {
-				beginPoint2D.setLocation(_dX2, beginPoint2D.getY());
-			}
-			if (endPoint2D.getX() > _dX2) {
-				endPoint2D.setLocation(_dX2, endPoint2D.getY());
-			}
-			if (beginPoint2D.getX() < _dX1) {
-				beginPoint2D.setLocation(_dX1, beginPoint2D.getY());
-			}
-			if (endPoint2D.getX() < _dX1) {
-				endPoint2D.setLocation(_dX1, endPoint2D.getY());
-			}
-		}
-		else {
-			double dSlope = (beginPoint2D.getY() - endPoint2D.getY()) 
-				/ (beginPoint2D.getX() - endPoint2D.getX());
-
-			if (!intersectsPoint(beginPoint2D)) {
-				if (beginPoint2D.getY() > _dY2) {
-					double x = ((_dY2 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						beginPoint2D.setLocation(x, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), _dY2);
-					}
-				}
-				if (beginPoint2D.getY() < _dY1) {
-					double x = ((_dY1 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						beginPoint2D.setLocation(x, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), _dY1);
-					}
-				}
-				if (beginPoint2D.getX() > _dX2) {
-					double y = dSlope*(_dX2 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						beginPoint2D.setLocation(_dX2, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), y);
-					}
-				}
-				if (beginPoint2D.getX() < _dX1) {
-					double y = dSlope*(_dX1 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						beginPoint2D.setLocation(_dX1, beginPoint2D.getY());
-						beginPoint2D.setLocation(beginPoint2D.getX(), y);
-					}
-				}
-			}
-			if (!intersectsPoint(endPoint2D)) {
-				if (endPoint2D.getY() > _dY2) {
-					double x = ((_dY2 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						endPoint2D.setLocation(x, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), _dY2);
-					}
-				}
-				if (endPoint2D.getY() < _dY1) {
-					double x = ((_dY1 - beginPoint2D.getY()) / dSlope) + beginPoint2D.getX();
-					if ((x >= _dX1) && (x <= _dX2)) {
-						endPoint2D.setLocation(x, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), _dY1);
-					}
-				}
-				if (endPoint2D.getX() > _dX2) {
-					double y = dSlope*(_dX2 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						endPoint2D.setLocation(_dX2, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), y);
-					}
-				}
-				if (endPoint2D.getX() < _dX1) {
-					double y = dSlope*(_dX1 - beginPoint2D.getX()) + beginPoint2D.getY();
-					if ((y >= _dY1) && (y <= _dY2)) {
-						endPoint2D.setLocation(_dX1, endPoint2D.getY());
-						endPoint2D.setLocation(endPoint2D.getX(), y);
-					}
-				}
-			}
-		}
-
-		resultLine[0] = beginPoint2D;
-		resultLine[1] = endPoint2D;
-
-		return resultLine;
-	}
-
-	public boolean equals(Object anObject) {
-		if ((anObject == null) || (!(anObject instanceof Bounds))) {
-			return false;
-		}
-		Bounds aBounds = (Bounds) anObject;
-
-		if ((_dX1 == aBounds.getLesserX()) &&
-				(_dX2 == aBounds.getGreaterX()) &&
-				(_dY1 == aBounds.getLesserY()) &&
-				(_dY2 == aBounds.getGreaterY())) {
-			return true;
-		}
-
-		return false;
-	}
-
-	public int hashCode() {
-		double temp = Math.abs(_dX1 + _dX2 +_dY1 + _dY2);
-		while ((temp != 0) && (temp < 1)) {
-			temp *= 4;
-		}
-
-		return (int) temp;
-	}
-
-	public String toString() {
-		return Double.toString(_dX1) + " " + Double.toString(_dY1)
-			+ " " + Double.toString(_dX2) + " " + Double.toString(_dY2);
-	}
-
-	private double min( double x1, double x2, double x3 ) {
-		return Math.min( Math.min( x1, x2 ), x3 );
-	}
-
-	private double max( double x1, double x2, double x3 ) {
-		return Math.max( Math.max( x1, x2 ), x3 );
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/Clipboard.java b/jhotdraw6/src/main/java/org/jhotdraw/util/Clipboard.java
deleted file mode 100644
index b52fd141f..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/Clipboard.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * @(#)Clipboard.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-/**
- * A temporary replacement for a global clipboard.
- * It is a singleton that can be used to store and
- * get the contents of the clipboard.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class Clipboard {
-	static Clipboard fgClipboard = new Clipboard();
-
-	/**
-	 * Gets the clipboard.
-	 */
-	static public Clipboard getClipboard() {
-		return fgClipboard;
-	}
-
-	private Object fContents;
-
-	private Clipboard() {
-	}
-
-	/**
-	 * Sets the contents of the clipboard.
-	 */
-	public void setContents(Object contents) {
-		fContents = contents;
-	}
-
-	/**
-	 * Gets the contents of the clipboard.
-	 */
-	public Object getContents() {
-		return fContents;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/CollectionsFactory.java b/jhotdraw6/src/main/java/org/jhotdraw/util/CollectionsFactory.java
deleted file mode 100644
index 7942b6875..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/CollectionsFactory.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * @(#)CollectionsFactory.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.JHotDrawRuntimeException;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public abstract class CollectionsFactory {
-	private static String JAVA_UTIL_LIST = "java.util.List";
-	private static String COLLECTIONS_FACTORY_PACKAGE = "org.jhotdraw.util.collections.jdk";
-
-	private static final CollectionsFactory factory = determineCollectionsFactory();
-
-	public abstract List createList();
-
-	public abstract List createList(Collection initList);
-
-	public abstract List createList(int initSize);
-
-	public abstract Map createMap();
-
-	public abstract Map createMap(Map initMap);
-
-	public abstract Set createSet();
-
-	public abstract Set createSet(Set initSet);
-
-	public static CollectionsFactory current() {
-		return factory;
-	}
-
-	protected static CollectionsFactory determineCollectionsFactory() {
-		String jdkVersion = null;
-		if (isJDK12()) {
-			jdkVersion = "12";
-		}
-		else {
-			jdkVersion = "11";
-		}
-		return createCollectionsFactory(jdkVersion);
-	}
-
-	protected static boolean isJDK12() {
-		try {
-			Class.forName(JAVA_UTIL_LIST);
-			return true;
-		}
-		catch (ClassNotFoundException e) {
-			// ignore
-		}
-		return false;
-	}
-
-	protected static CollectionsFactory createCollectionsFactory(String jdkVersion) {
-		try {
-			Class factoryClass = Class.forName(COLLECTIONS_FACTORY_PACKAGE + jdkVersion + ".CollectionsFactoryJDK" + jdkVersion);
-			return (CollectionsFactory)factoryClass.newInstance();
-		}
-		catch (ClassNotFoundException e) {
-			throw new JHotDrawRuntimeException(e);
-		}
-		catch (InstantiationException e) {
-			throw new JHotDrawRuntimeException(e);
-		}
-		catch (IllegalAccessException e) {
-			throw new JHotDrawRuntimeException(e);
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/ColorMap.java b/jhotdraw6/src/main/java/org/jhotdraw/util/ColorMap.java
deleted file mode 100644
index 8158a5d50..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/ColorMap.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * @(#)ColorMap.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.awt.Color;
-
-class ColorEntry {
-	public String 	fName;
-	public Color 	fColor;
-
-	ColorEntry(String name, Color color) {
-		fColor = color;
-		fName = name;
-	}
-}
-
-/**
- * A map that is filled with some standard colors. The colors
- * can be looked up by name or index.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ColorMap {
-
-	static ColorEntry fMap[] = {
-				new ColorEntry("Black",         Color.black),
-				new ColorEntry("Blue",          Color.blue),
-				new ColorEntry("Green",         Color.green),
-				new ColorEntry("Red",           Color.red),
-				new ColorEntry("Pink",          Color.pink),
-				new ColorEntry("Magenta",       Color.magenta),
-				new ColorEntry("Orange",        Color.orange),
-				new ColorEntry("Yellow",        Color.yellow),
-				new ColorEntry("New Tan",       new Color(0xEBC79E)),
-				new ColorEntry("Aquamarine",    new Color(0x70DB93)),
-				new ColorEntry("Sea Green",     new Color(0x238E68)),
-				new ColorEntry("Dark Gray",     Color.darkGray),
-				new ColorEntry("Light Gray",    Color.lightGray),
-				new ColorEntry("White",         Color.white),
-				// there is no support for alpha values so we use a special value
-				// to represent a transparent color
-				new ColorEntry("None",          new Color(0xFFC79E))
-	};
-
-	public static int size() {
-		return fMap.length;
-	}
-
-	public static Color color(int index) {
-		if (index < size() && index >= 0) {
-			return fMap[index].fColor;
-		}
-
-		throw new ArrayIndexOutOfBoundsException("Color index: " + index);
-	}
-
-	public static Color color(String name) {
-		for (int i = 0; i < fMap.length; i++) {
-			if (fMap[i].fName.equals(name)) {
-				return fMap[i].fColor;
-			}
-		}
-
-		return Color.black;
-	}
-
-	public static String name(int index) {
-		if (index < size() && index >= 0) {
-			return fMap[index].fName;
-		}
-
-		throw new ArrayIndexOutOfBoundsException("Color index: " + index);
-	}
-
-	public static int colorIndex(Color color) {
-		for (int i=0; i<fMap.length; i++) {
-			if (fMap[i].fColor.equals(color)) {
-				return i;
-			}
-		}
-		
-		return 0;
-	}
-
-	public static boolean isTransparent(Color color) {
-		return color.equals(color("None"));
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/Command.java b/jhotdraw6/src/main/java/org/jhotdraw/util/Command.java
deleted file mode 100644
index 4f95b885d..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/Command.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * @(#)Command.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.DrawingEditor;
-
-/**
- * Commands encapsulate an action to be executed. Commands have
- * a name and can be used in conjunction with <i>Command enabled</i>
- * ui components.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld010.htm>Command</a></b><br>
- * Command is a simple instance of the command pattern without undo
- * support.
- * <hr>
- *
- * @see CommandButton
- * @see CommandMenu
- * @see CommandChoice
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Command {
-
-	/**
-	 * Executes the command.
-	 */
-	public void execute();
-
-	/**
-	 * Tests if the command can be executed.
-	 */
-	public boolean isExecutable();
-
-	/**
-	 * Gets the command name.
-	 */
-	public String name();
-	
-	public DrawingEditor getDrawingEditor();
-
-	public Undoable getUndoActivity();
-
-	public void setUndoActivity(Undoable newUndoableActivity);
-	
-	public void addCommandListener(CommandListener newCommandListener);
-	public void removeCommandListener(CommandListener oldCommandListener);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/CommandButton.java b/jhotdraw6/src/main/java/org/jhotdraw/util/CommandButton.java
deleted file mode 100644
index 8b4ea4e62..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/CommandButton.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)CommandButton.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import javax.swing.*;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-
-/**
- * A Command enabled button. Clicking the button executes the command.
- *
- * @see Command
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class CommandButton
-		extends JButton implements ActionListener {
-
-	private Command   fCommand;
-
-	/**
-	 * Initializes the button with the given command.
-	 * The command's name is used as the label.
-	 */
-	public CommandButton(Command command) {
-		super(command.name());
-		fCommand = command;
-		addActionListener(this);
-	}
-
-	/**
-	 * Executes the command. If the command's name was changed
-	 * as a result of the command the button's label is updated
-	 * accordingly.
-	 */
-	public void actionPerformed(ActionEvent e) {
-		fCommand.execute();
-		if (!getText().equals(fCommand.name()) ) {
-			setText(fCommand.name());
-		}
-	}
-}
-
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/CommandChoice.java b/jhotdraw6/src/main/java/org/jhotdraw/util/CommandChoice.java
deleted file mode 100644
index 9963ba932..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/CommandChoice.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * @(#)CommandChoice.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import javax.swing.*;
-import java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-import java.util.List;
-
-/**
- * A Command enabled choice. Selecting a choice executes the
- * corresponding command.
- *
- * @see Command
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class CommandChoice extends JComboBox implements ItemListener {
-
-	private List   fCommands;
-
-	public CommandChoice() {
-		super();
-		fCommands = CollectionsFactory.current().createList(10);
-		addItemListener(this);
-	}
-
-	/**
-	 * Adds a command to the menu.
-	 */
-	public synchronized void addItem(Command command) {
-		addItem(command.name());
-		fCommands.add(command);
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void itemStateChanged(ItemEvent e) {
-		if ((getSelectedIndex() >= 0) && (getSelectedIndex() < fCommands.size())) {
-			Command command = (Command)fCommands.get(getSelectedIndex());
-            if (command.isExecutable()) {
-				command.execute();
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/CommandListener.java b/jhotdraw6/src/main/java/org/jhotdraw/util/CommandListener.java
deleted file mode 100644
index 524aa395e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/CommandListener.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)CommandListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.util.EventObject;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public interface CommandListener {
-	public void commandExecuted(EventObject commandEvent);
-	public void commandExecutable(EventObject commandEvent);
-	public void commandNotExecutable(EventObject commandEvent);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/CommandMenu.java b/jhotdraw6/src/main/java/org/jhotdraw/util/CommandMenu.java
deleted file mode 100644
index 93cb140e6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/CommandMenu.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @(#)CommandMenu.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.JHotDrawRuntimeException;
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-import java.util.*;
-
-/**
- * A Command enabled menu. Selecting a menu item
- * executes the corresponding command.
- *
- * @see Command
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class CommandMenu extends JMenu implements ActionListener, CommandListener {
-
-	private HashMap  hm;
-
-	public CommandMenu(String name) {
-		super(name);
-		hm = new HashMap();
-	}
-
-	/**
-	 * Adds a command to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command) {
-		addMenuItem(command, new JMenuItem(command.name()));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void add(Command command, MenuShortcut shortcut) {
-		addMenuItem(command, new JMenuItem(command.name(), shortcut.getKey()));
-	}
-
-	/**
-	 * Adds a command with the given short cut to the menu. The item's label is
-	 * the command's name.
-	 */
-	public synchronized void addCheckItem(Command command) {
-		addMenuItem(command, new JCheckBoxMenuItem(command.name()));
-	}
-
-	protected void addMenuItem(Command command, JMenuItem m) {
-		m.setName(command.name());
-		m.addActionListener(this);
-		add(m);
-		command.addCommandListener(this);
-		hm.put(m, command);
-//		checkEnabled();
-	}
-	
-	public synchronized void remove(Command command) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	public synchronized void remove(MenuItem item) {
-		throw new JHotDrawRuntimeException("not implemented");
-	}
-
-	/**
-	 * Changes the enabling/disabling state of a named menu item.
-	 */
-	public synchronized void enable(String name, boolean state) {
-		for (int i = 0; i < getItemCount(); i++) {
-			JMenuItem item = getItem(i);
-			if (name.equals(item.getText())) {
-				item.setEnabled(state);
-				return;
-			}
-		}
-	}
-
-	public synchronized void checkEnabled() {
-		// ignore separators (a separator has a hyphen as its label)
-		for (int i = 0; i < getMenuComponentCount(); i++) {
-			Component c = getMenuComponent(i);
-			Command cmd = (Command) hm.get(c);
-			if (cmd != null) {
-				c.setEnabled(cmd.isExecutable());
-			}
-		}
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void actionPerformed(ActionEvent e) {
-		Object source = e.getSource();
-		for (int i = 0; i < getItemCount(); i++) {
-			JMenuItem item = getItem(i);
-			// ignore separators (a separator has a hyphen as its label)
-			if (source == item) {
-				Command cmd = (Command) hm.get(item);
-				if (cmd != null) {
-				    cmd.execute();
-				}
-				break;
-			}
-		}
-	}
-
-	public void commandExecuted(EventObject commandEvent) {
-//		checkEnabled();
-	}
-	
-	public void commandExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-	
-	public void commandNotExecutable(EventObject commandEvent) {
-//		checkEnabled();
-	}
-}
-
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/Filler.java b/jhotdraw6/src/main/java/org/jhotdraw/util/Filler.java
deleted file mode 100644
index b9d0900be..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/Filler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * @(#)Filler.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import javax.swing.JPanel;
-import java.awt.*;
-
-/**
- * A component that can be used to reserve white space in a layout.
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class Filler
-		extends JPanel {
-
-	private int     fWidth;
-	private int     fHeight;
-	private Color   fBackground;
-
-
-	public Filler(int width, int height) {
-		this(width, height, null);
-	}
-
-	public Filler(int width, int height, Color background) {
-		fWidth = width;
-		fHeight = height;
-		fBackground = background;
-	}
-
-	public Dimension getMinimumSize() {
-		return new Dimension(fWidth, fHeight);
-	}
-
-	public Dimension getPreferredSize() {
-		return getMinimumSize();
-	}
-
-	public Color getBackground() {
-		if (fBackground != null) {
-			return fBackground;
-		}
-		return super.getBackground();
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/FloatingTextField.java b/jhotdraw6/src/main/java/org/jhotdraw/util/FloatingTextField.java
deleted file mode 100644
index 6993cc809..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/FloatingTextField.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)FloatingTextField.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.event.*;
-
-/**
- * A text field overlay that is used to edit a TextFigure.
- * A FloatingTextField requires a two step initialization:
- * In a first step the overlay is created and in a
- * second step it can be positioned.
- *
- * @see org.jhotdraw.figures.TextFigure
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class FloatingTextField {
-
-	private JTextField   fEditWidget;
-	private Container   fContainer;
-
-	public FloatingTextField() {
-		fEditWidget = new JTextField(20);
-	}
-
-	/**
-	 * Creates the overlay for the given Component.
-	 */
-	public void createOverlay(Container container) {
-		createOverlay(container, null);
-	}
-
-	/**
-	 * Creates the overlay for the given Container using a
-	 * specific font.
-	 */
-	public void createOverlay(Container container, Font font) {
-		container.add(fEditWidget, 0);
-		if (font != null) {
-			fEditWidget.setFont(font);
-		}
-		fContainer = container;
-	}
-
-	/**
-	 * Adds an action listener
-	 */
-	public void addActionListener(ActionListener listener) {
-		fEditWidget.addActionListener(listener);
-	}
-
-	/**
-	 * Remove an action listener
-	 */
-	public void removeActionListener(ActionListener listener) {
-		fEditWidget.removeActionListener(listener);
-	}
-
-	/**
-	 * Positions the overlay.
-	 */
-	public void setBounds(Rectangle r, String text) {
-		fEditWidget.setText(text);
-		fEditWidget.setLocation(r.x, r.y);
-		fEditWidget.setSize(r.width, r.height);
-		fEditWidget.setVisible(true);
-		fEditWidget.selectAll();
-		fEditWidget.requestFocus();
-	}
-
-	/**
-	 * Gets the text contents of the overlay.
-	 */
-	public String getText() {
-		return fEditWidget.getText();
-	}
-
-	/**
-	 * Gets the preferred size of the overlay.
-	 */
-	public Dimension getPreferredSize(int cols) {
-		fEditWidget.setColumns(cols);
-		return fEditWidget.getPreferredSize();
-	}
-
-	/**
-	 * Removes the overlay.
-	 */
-	public void endOverlay() {
-		fContainer.requestFocus();
-		if (fEditWidget != null) {
-			fEditWidget.setVisible(false);
-			fContainer.remove(fEditWidget);
-
-			Rectangle bounds = fEditWidget.getBounds();
-			fContainer.repaint(bounds.x, bounds.y, bounds.width, bounds.height);
-		}
-	}
-}
-
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/Geom.java b/jhotdraw6/src/main/java/org/jhotdraw/util/Geom.java
deleted file mode 100644
index b51e882fd..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/Geom.java
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- * @(#)Geom.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.awt.Rectangle;
-import java.awt.Point;
-import java.awt.geom.Line2D;
-
-/**
- * Some geometric utilities.
- *
- * @version <$CURRENT_VERSION$>
- */
-public class Geom {
-
-	private Geom() {} // never instantiated
-
-	/**
-	 * Tests if a point is on a line.
-	 */
-	static public boolean lineContainsPoint(int x1, int y1,
-							int x2, int y2,
-							int px, int py) {
-
-		Rectangle r = new Rectangle(new Point(x1, y1));
-		r.add(x2, y2);
-		r.grow(2, 2);
-		if (! r.contains(px,py)) {
-			return false;
-		}
-
-		double a, b, x, y;
-
-		if (x1 == x2) {
-			return (Math.abs(px - x1) < 3);
-		}
-		if (y1 == y2) {
-			return (Math.abs(py - y1) < 3);
-		}
-
-		// casts to avoid integer arithmetic instead of floating-point
-		a = (double)(y1 - y2) / (double)(x1 - x2);
-		b = (double)y1 - a * (double)x1;
-		x = (py - b) / a;
-		y = a * px + b;
-
-		return (Math.min(Math.abs(x - px), Math.abs(y - py)) < 4);
-	}
-
-	static public final int NORTH = 1;
-	static public final int SOUTH = 2;
-	static public final int WEST = 3;
-	static public final int EAST = 4;
-
-	/**
-	 * Returns the direction NORTH, SOUTH, WEST, EAST from
-	 * one point to another one.
-	 */
-	static public int direction(int x1, int y1, int x2, int y2) {
-		int direction = 0;
-		int vx = x2 - x1;
-		int vy = y2 - y1;
-
-		if (vy < vx && vx > -vy) {
-			direction = EAST;
-		}
-		else if (vy > vx && vy > -vx) {
-			direction = NORTH;
-		}
-		else if (vx < vy && vx < -vy) {
-			direction = WEST;
-		}
-		else {
-			direction = SOUTH;
-		}
-		return direction;
-	}
-
-	static public Point south(Rectangle r) {
-		return new Point(r.x + r.width /2, r.y + r.height);
-	}
-
-	static public Point center(Rectangle r) {
-		return new Point(r.x + r.width /2, r.y + r.height/2);
-	}
-
-	static public Point west(Rectangle r) {
-		return new Point(r.x, r.y + r.height/ 2);
-	}
-
-	static public Point east(Rectangle r) {
-		return new Point(r.x+r.width, r.y + r.height/ 2);
-	}
-
-	static public Point north(Rectangle r) {
-		return new Point(r.x+r.width/2, r.y);
-	}
-
-	/**
-	 * Returns the corner (bottom right) of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point corner(Rectangle r)
-	{
-		return new Point((int)r.getMaxX(), (int)r.getMaxY());
-	}
-
-
-	/**
-	 * Returns the top left corner of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point topLeftCorner(Rectangle r)
-	{
-		return r.getLocation();
-	}
-
-
-	/**
-	 * Returns the top right corner of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point topRightCorner(Rectangle r)
-	{
-		return new Point((int)r.getMaxX(), (int)r.getMinY());
-	}
-
-
-	/**
-	 * Returns the bottom left corner of the rectangle
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point bottomLeftCorner(Rectangle r)
-	{
-		return new Point((int)r.getMinX(), (int)r.getMaxY());
-	}
-
-
-	/**
-	 * Returns the bottom right corner of the rectangle.
-	 * Same as corner, added for naming coherence with the other
-	 * corner extracting methods
-	 *
-	 * @param r  the rectangle
-	 * @return   the corner
-	 */
-	public static Point bottomRightCorner(Rectangle r)
-	{
-		return corner(r);
-	}
-
-	/**
-	 * Constains a value to the given range.
-	 * @return the constrained value
-	 */
-	static public int range(int min, int max, int value) {
-		if (value < min) {
-			value = min;
-		}
-		if (value > max) {
-			value = max;
-		}
-		return value;
-	}
-
-	/**
-	 * Gets the square distance between two points.
-	 */
-	static public long length2(int x1, int y1, int x2, int y2) {
-		return (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1);
-	}
-
-	/**
-	 * Gets the distance between to points
-	 */
-	static public long length(int x1, int y1, int x2, int y2) {
-		return (long)Math.sqrt(length2(x1, y1, x2, y2));
-	}
-
-	/**
-	 * Gets the angle of a point relative to a rectangle.
-	 */
-	static public double pointToAngle(Rectangle r, Point p) {
-		int px = p.x - (r.x + r.width/2);
-		int py = p.y - (r.y + r.height/2);
-		return Math.atan2(py*r.width, px*r.height);
-	}
-
-	/**
-	 * Gets the point on a rectangle that corresponds to the given angle.
-	 */
-	static public Point angleToPoint(Rectangle r, double angle) {
-		return angleToPoint(r, angle, new Point());
-	}
-
-	/**
-	 * Gets the point on a rectangle that corresponds to the given angle.
-	 */
-	static public Point angleToPoint(Rectangle r, double angle, Point p) {
-		double si = Math.sin(angle);
-		double co = Math.cos(angle);
-		double e = 0.0001;
-
-		int x= 0;
-		int y= 0;
-		if (Math.abs(si) > e) {
-			x= (int) ((1.0 + co/Math.abs(si))/2.0 * r.width);
-			x= range(0, r.width, x);
-		}
-		else if (co >= 0.0) {
-			x= r.width;
-		}
-		if (Math.abs(co) > e) {
-			y= (int) ((1.0 + si/Math.abs(co))/2.0 * r.height);
-			y= range(0, r.height, y);
-		}
-		else if (si >= 0.0) {
-			y= r.height;
-		}
-
-		p.x = r.x + x;
-		p.y = r.y + y;
-		return p;
-	}
-
-	/**
-	 * Converts a polar to a point
-	 */
-	static public Point polarToPoint(double angle, double fx, double fy) {
-		return polarToPoint(angle, fx, fy, new Point());
-	}
-
-	/**
-	 * Converts a polar to a point
-	 */
-	static public Point polarToPoint(double angle, double fx, double fy, Point p) {
-		double si = Math.sin(angle);
-		double co = Math.cos(angle);
-		p.x = (int)(fx*co+0.5);
-		p.y =  (int)(fy*si+0.5);
-		return p;
-	}
-
-	/**
-	 * Gets the point on an oval that corresponds to the given angle.
-	 */
-	static public Point ovalAngleToPoint(Rectangle r, double angle) {
-		return ovalAngleToPoint(r, angle, new Point());
-	}
-
-	/**
-	 * Gets the point on an oval that corresponds to the given angle.
-	 */
-	static public Point ovalAngleToPoint(Rectangle r, double angle, Point p) {
-		p = Geom.polarToPoint(angle, r.width/2, r.height/2, p);
-		p.x = r.x + r.width /2 + p.x;
-		p.y = r.y + r.height/2 + p.y;
-		return p;
-	}
-
-	/**
-	 * Standard line intersection algorithm
-	 * Return the point of intersection if it exists, else null
-	 **/
-	// from Doug Lea's PolygonFigure
-	static public Point intersect(int xa, // line 1 point 1 x
-								int ya, // line 1 point 1 y
-								int xb, // line 1 point 2 x
-								int yb, // line 1 point 2 y
-								int xc, // line 2 point 1 x
-								int yc, // line 2 point 1 y
-								int xd, // line 2 point 2 x
-								int yd) { // line 2 point 2 y
-
-		// source: http://vision.dai.ed.ac.uk/andrewfg/c-g-a-faq.html
-		// eq: for lines AB and CD
-		//     (YA-YC)(XD-XC)-(XA-XC)(YD-YC)
-		// r = -----------------------------  (eqn 1)
-		//     (XB-XA)(YD-YC)-(YB-YA)(XD-XC)
-		//
-		//     (YA-YC)(XB-XA)-(XA-XC)(YB-YA)
-		// s = -----------------------------  (eqn 2)
-		//     (XB-XA)(YD-YC)-(YB-YA)(XD-XC)
-		//  XI = XA + r(XB-XA)
-		//  YI = YA + r(YB-YA)
-	
-		double denom = ((xb - xa) * (yd - yc) - (yb - ya) * (xd - xc));
-	
-		double rnum = ((ya - yc) * (xd - xc) - (xa - xc) * (yd - yc));
-
-		if (denom == 0.0) { // parallel
-			if (rnum == 0.0) { // coincident; pick one end of first line
-				if ((xa < xb && (xb < xc || xb < xd)) ||
-					(xa > xb && (xb > xc || xb > xd))) {
-					return new Point(xb, yb);
-				}
-				else {
-					return new Point(xa, ya);
-				}
-			}
-			else {
-				return null;
-			}
-		}
-
-		double r = rnum / denom;
-		double snum = ((ya - yc) * (xb - xa) - (xa - xc) * (yb - ya));
-		double s = snum / denom;
-
-		if (0.0 <= r && r <= 1.0 && 0.0 <= s && s <= 1.0) {
-			int px = (int)(xa + (xb - xa) * r);
-			int py = (int)(ya + (yb - ya) * r);
-			return new Point(px, py);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * compute distance of point from line segment, or
-	 * Double.MAX_VALUE if perpendicular projection is outside segment; or
-	 * If pts on line are same, return distance from point
-	 **/
-	// from Doug Lea's PolygonFigure
-	public static double distanceFromLine(int xa, int ya,
-										int xb, int yb,
-										int xc, int yc) {
-
-
-		// source:http://vision.dai.ed.ac.uk/andrewfg/c-g-a-faq.html#q7
-		//Let the point be C (XC,YC) and the line be AB (XA,YA) to (XB,YB).
-		//The length of the
-		//      line segment AB is L:
-		//
-		//                    ___________________
-		//                   |        2         2
-		//              L = \| (XB-XA) + (YB-YA)
-		//and
-		//
-		//                  (YA-YC)(YA-YB)-(XA-XC)(XB-XA)
-		//              r = -----------------------------
-		//                              L**2
-		//
-		//                  (YA-YC)(XB-XA)-(XA-XC)(YB-YA)
-		//              s = -----------------------------
-		//                              L**2
-		//
-		//      Let I be the point of perpendicular projection of C onto AB, the
-		//
-		//              XI=XA+r(XB-XA)
-		//              YI=YA+r(YB-YA)
-		//
-		//      Distance from A to I = r*L
-		//      Distance from C to I = s*L
-		//
-		//      If r < 0 I is on backward extension of AB
-		//      If r>1 I is on ahead extension of AB
-		//      If 0<=r<=1 I is on AB
-		//
-		//      If s < 0 C is left of AB (you can just check the numerator)
-		//      If s>0 C is right of AB
-		//      If s=0 C is on AB
-
-		int xdiff = xb - xa;
-		int ydiff = yb - ya;
-		long l2 = xdiff * xdiff + ydiff * ydiff;
-
-		if (l2 == 0) {
-			return Geom.length(xa, ya, xc, yc);
-		}
-
-		double rnum =  (ya - yc) * (ya - yb) - (xa - xc) * (xb - xa);
-		double r = rnum / l2;
-
-		if (r < 0.0 || r > 1.0) {
-			return Double.MAX_VALUE;
-		}
-
-		double xi = xa + r * xdiff;
-		double yi = ya + r * ydiff;
-		double xd = xc - xi;
-		double yd = yc - yi;
-		return Math.sqrt(xd * xd + yd * yd);
-
-		/*
-			for directional version, instead use
-			double snum =  (ya-yc) * (xb-xa) - (xa-xc) * (yb-ya);
-			double s = snum / l2;
-
-			double l = Math.sqrt((double)l2);
-			return = s * l;
-			*/
-	}
-
-	/**
-	 * compute distance of point from line segment.<br>
-	 * Uses AWT Line2D utility methods
-	 */
-	public static double distanceFromLine2D(int xa, int ya,
-										int xb, int yb,
-										int xc, int yc) {
-		Line2D.Double line = new Line2D.Double(xa, xb, ya, yb);
-		return line.ptSegDist(xc, yc);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/GraphLayout.java b/jhotdraw6/src/main/java/org/jhotdraw/util/GraphLayout.java
deleted file mode 100644
index 9862e70d2..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/GraphLayout.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * @(#)GraphLayout.java
- *
- * The original file Graph.java (1.5 99/11/29) is
- * Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved.
- * Adapted by F. Wienberg, 1999
- *
- * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
- * modify and redistribute this software in source and binary code form,
- * provided that i) this copyright notice and license appear on all copies of
- * the software; and ii) Licensee does not utilize the software in a manner
- * which is disparaging to Sun.
- *
- * This software is provided "AS IS," without a warranty of any kind. ALL
- * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
- * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
- * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
- * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
- * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
- * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
- * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
- * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
- * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGES.
- *
- * This software is not designed or intended for use in on-line control of
- * aircraft, air traffic, aircraft navigation or aircraft communications; or in
- * the design, construction, operation or maintenance of any nuclear
- * facility. Licensee represents and warrants that it will not use or
- * redistribute the Software for such purposes.
- */
-
-package org.jhotdraw.util;
-
-import java.util.*;
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.*;
-import java.awt.*;
-
-/**
- * @version <$CURRENT_VERSION$>
- */
-public class GraphLayout extends FigureChangeAdapter {
-	public double LENGTH_FACTOR=1.0;
-	public double REPULSION_STRENGTH=0.5;
-	public double REPULSION_LIMIT=200.0;
-	int REPULSION_TYPE=0; // 0: (1-r)/r   1: 1-r   2: (1-r)^2
-	public double SPRING_STRENGTH=0.1;
-	public double TORQUE_STRENGTH=0.25;
-	public double FRICTION_FACTOR=0.75;
-
-	private Hashtable nodes = new Hashtable(),
-				  edges = new Hashtable();
-
-	public GraphLayout() {}
-
-	private GraphNode getGraphNode(Figure node) {
-		  return (GraphNode)nodes.get(node);
-	}
-
-	private double len(Figure edge) {
-		  return ((Double)edges.get(edge)).doubleValue()*LENGTH_FACTOR;
-	}
-
-	public void addNode(Figure node) {
-		  nodes.put(node, new GraphNode(node));
-		  node.addFigureChangeListener(this);
-	}
-
-	public void addEdge(ConnectionFigure edge, int addlen) {
-		  Dimension d1 = edge.getStartConnector().owner().size();
-		  Dimension d2 = edge.getEndConnector().owner().size();
-		  int len = Math.max(d1.width,d1.height)/2 +
-				Math.max(d2.width,d2.height)/2 + addlen;
-		  edges.put(edge, new Double(len));
-	}
-
-	public synchronized void relax() {
-		  if (nodes == null)
-			  return;
-		  Enumeration edgeEnum = edges.keys();
-		  while (edgeEnum.hasMoreElements()) {
-			  ConnectionFigure e = (ConnectionFigure)edgeEnum.nextElement();
-			  double targetlen = len(e);
-			  GraphNode from = getGraphNode(e.getStartConnector().owner());
-			  GraphNode to = getGraphNode(e.getEndConnector().owner());
-			  double vx = to.x - from.x;
-			  double vy = to.y - from.y;
-			  double len = Math.sqrt(vx * vx + vy * vy);
-
-			  if (len>0) {
-				  double f = SPRING_STRENGTH * (targetlen - len) / len;
-					  double dx = f * vx;
-					  double dy = f * vy;
-
-					  double phi=Math.atan2(vx,vy);
-					  double dir=-Math.sin(4*phi);
-					  dx += TORQUE_STRENGTH*vy*dir/len;
-					  dy += -TORQUE_STRENGTH*vx*dir/len;
-
-					  to.dx += dx;
-					  to.dy += dy;
-					  from.dx += -dx;
-					  from.dy += -dy;
-				}
-			}
-
-			Enumeration nodeEnum1 = nodes.elements();
-			while (nodeEnum1.hasMoreElements()) {
-				GraphNode n1 = (GraphNode)nodeEnum1.nextElement();
-				double dx = 0;
-				double dy = 0;
-
-				Enumeration nodeEnum2 = nodes.elements();
-				while (nodeEnum2.hasMoreElements()) {
-					  GraphNode n2 = (GraphNode)nodeEnum2.nextElement();
-					  if (n1 == n2) {
-						  continue;
-					  }
-					  double vx = n1.x - n2.x;
-					  double vy = n1.y - n2.y;
-					  double lensqr = vx * vx + vy * vy;
-					  double len = Math.sqrt(lensqr);
-					  if (len == 0) {
-						  dx += REPULSION_STRENGTH * Math.random();
-						  dy += REPULSION_STRENGTH * Math.random();
-					  }
-					  else if (len < REPULSION_LIMIT) {
-						  // Normalize length.
-						  vx=vx/REPULSION_LIMIT;
-						  vy=vy/REPULSION_LIMIT;
-						  len=len/REPULSION_LIMIT;
-						  // Compute force.
-						  double f=0;
-
-						  switch (REPULSION_TYPE) {
-							  case 0:
-								  f = 0.5 * (1 - len) / len;
-									break;
-							  case 1:
-								  f = 1 - len;
-									break;
-							  case 2:
-								  f = 2 * (1 - len) * (1 - len);
-									break;
-						  }
-
-						f *= REPULSION_STRENGTH;
-						dx += f * vx;
-						dy += f * vy;
-					}
-			  }
-
-			  n1.dx += dx;
-			  n1.dy += dy;
-		  }
-
-		  Enumeration nodeEnum = nodes.keys();
-		  while (nodeEnum.hasMoreElements()) {
-			  Figure node = (Figure)nodeEnum.nextElement();
-			  GraphNode n = getGraphNode(node);
-			  if (!Boolean.TRUE.equals(node.getAttribute(FigureAttributeConstant.LOCATION))) {
-					n.x += Math.max(-5, Math.min(5, n.dx));
-					n.y += Math.max(-5, Math.min(5, n.dy));
-					Point c = node.center();
-					node.moveBy((int)Math.round(n.x)-c.x,
-							(int)Math.round(n.y)-c.y);
-
-					//System.out.println("v= " + n.dx + "," + n.dy);
-					if (n.x < 0) {
-						n.x = 0;
-					}
-					if (n.y < 0) {
-						n.y = 0;
-					}
-			  }
-			  n.dx *= FRICTION_FACTOR;
-			  n.dy *= FRICTION_FACTOR;
-		  }
-	}
-
-	/**
-	 * Sent when a figure changed
-	 */
-	synchronized public void figureChanged(FigureChangeEvent e) {
-		  if (nodes!=null) {
-			  Figure node = e.getFigure();
-			  if (nodes.containsKey(node)) {
-				  getGraphNode(node).update();
-			  }
-		  }
-	}
-
-	public void remove() {
-		  if (nodes!=null) {
-			  Enumeration nodeEnum = nodes.keys();
-			  while (nodeEnum.hasMoreElements()) {
-					Figure node = (Figure)nodeEnum.nextElement();
-					node.removeFigureChangeListener(this);
-			  }
-			  nodes = null;
-			  edges = null;
-		  }
-	}
-}
-
-class GraphNode {
-	double x=0.0, y=0.0;
-	double dx=0.0;
-	double dy=0.0;
-	final Figure node;
-
-	GraphNode(Figure newNode) {
-		  node = newNode;
-		  update();
-	}
-
-	void update() {
-		  Point p = node.center();
-		  if (Math.abs(p.x - Math.round(x))>1 ||
-			  Math.abs(p.y - Math.round(y))>1) {
-			  x = p.x;
-			  y = p.y;
-			  //System.out.println(this+" has new coords: "+x+","+y+"\n");
-		  }
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/Iconkit.java b/jhotdraw6/src/main/java/org/jhotdraw/util/Iconkit.java
deleted file mode 100644
index 73ee5a3f8..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/Iconkit.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * @(#)Iconkit.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import javax.swing.*;
-import java.awt.*;
-import java.awt.image.ImageProducer;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.Map;
-import java.util.Hashtable;
-
-/**
- * The Iconkit class supports the sharing of images. It maintains
- * a map of image names and their corresponding images.
- *
- * Iconkit also supports to load a collection of images in
- * synchronized way.
- * The resolution of a path name to an image is delegated to the DrawingEditor.
- * <hr>
- * <b>Design Patterns</b><P>
- * <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
- * <b><a href=../pattlets/sld031.htm>Singleton</a></b><br>
- * The Iconkit is a singleton.
- * <hr>
- *
- * @version <$CURRENT_VERSION$>
- */
-public class Iconkit {
-	/* Holds URLs as keys, and Images as values */
-	private Map                 fMap;
-	/* Holds URLs */
-	private Set                 fRegisteredImages;
-	private Component           fComponent;
-	private final static int    ID = 123;
-	private static Iconkit      fgIconkit = null;
-
-	/**
-	 * Constructs an Iconkit that uses the given editor to
-	 * resolve image path names.
-	 */
-	public Iconkit(Component component) {
-		fMap = new Hashtable(53);
-		fRegisteredImages = CollectionsFactory.current().createSet();
-		fComponent = component;
-		fgIconkit = this;
-	}
-
-	/**
-	 * Gets the single instance
-	 */
-	public static Iconkit instance() {
-		return fgIconkit;
-	}
-
-	/*********************************************************************
-	 *
-	 * Basic methods for image/icon retrieval.
-	 * 
-	 ********************************************************************/
-
-	/**
-	 * Just gets the image pointed to by the URL and doesn't store
-	 * it in cache.
-	 */
-	public Image loadImageUncachedURL(URL url) {
-		Toolkit toolkit = Toolkit.getDefaultToolkit();
-		try {
-			return toolkit.createImage((ImageProducer) url.getContent());
-		}
-		catch (Exception ex) {
-			return null;
-		}
-	}
-
-	/**
-	 * Just gets the file but doesn't store it in cache.
-	 */
-	public Image loadImageUncached(String fileName) {
-		return loadImageUncachedURL(getResourceURL(fileName));
-	}
-
-	/**
- 	 * Loads an image URL with the given name, caches it, and
- 	 * optionally waits for it to finish loading.
-	 */
-	public Image loadImageURL(URL url, boolean waitForLoad) {
-		if (fMap.containsKey(url)) {
-			return (Image) fMap.get(url);
-		}
-
-		Image image = loadImageUncachedURL(url);
-
-		if (image != null) {
-			fMap.put(url, image);
-			if (waitForLoad) {
-				waitForLoadedImage(image);
-			}
-		}
-
-		return image;
-	}
-
-	/**
- 	 * Loads an image file with the given name, caches it, and
- 	 * optionally waits for it to finish loading.
-	 */
-	public Image loadImage(String fileName, boolean waitForLoad) {
-		return loadImageURL(getResourceURL(fileName), waitForLoad);
-	}
-	
-	/**
-	 * Loads an image URL with the given name and caches it
-	 */
-	public Image loadImageURL(URL url) {
-		return loadImageURL(url, false);
-	}
-
-	/**
-	 * Loads an image with the given fileName and caches it.
-	 */
-	public Image loadImage(String fileName) {
-		return loadImageURL(getResourceURL(fileName), false);
-	}
-
-	/**
-	 * Blocks while image loads and returns a completely loaded
-	 * version of image.
-	 */
-	public Image waitForLoadedImage(Image image) {
-		if (image!=null) {
-			ImageIcon icon = new ImageIcon(image);
-			// icon.getImage forces the wait to happen
-			image = icon.getImage();
-		}
-		return image;
-	}
-
-	/**
-	 * To translate between a resource and a URL
-	 */
-	private URL getResourceURL(String resourceName) {
-		return getClass().getResource(resourceName);
-	}
-
-	/**
-	 * Registers a URL that is then loaded together with
-	 * the other registered images by loadRegisteredImages.
-	 * @see #loadRegisteredImages
-	 */
-	public void registerImageURL(URL url) {
-		fRegisteredImages.add(url);
-	}
-	
-	/**
-	 * Registers the URL for the image resource
-	 * @see #registerImageURL
-	 */
-	public void registerImage(String fileName) {
-		registerImageURL(getResourceURL(fileName));
-	}
-
-	/**
-	 * Loads all registered images.
-	 * If component is null, the component supplied in the
-	 * constructor will be used.
-	 * @see #registerImage
-	 * @see #registerImageURL
-	 */
-	public void loadRegisteredImages(Component component) {
-		if (fRegisteredImages.size() == 0)
-			return;
-
-		if (component == null) {
-			component = fComponent;
-		}
-
-		MediaTracker tracker = new MediaTracker(component);
-		// register images with MediaTracker
-		Iterator iter = fRegisteredImages.iterator();
-		while (iter.hasNext()) {
-			URL url = (URL)iter.next();
-			if (! fMap.containsKey(url)) {
-				tracker.addImage(loadImageURL(url), ID);
-			}
-		}
-		fRegisteredImages.clear();
-
-		// block until all images are loaded
-		try {
-			tracker.waitForAll();
-		}
-		catch (Exception e) {
-			// ignore: do nothing
-		}
-	}
-
-	/*********************************************************************
-	 *
-	 * Deprecated methods
-	 * 
-	 ********************************************************************/
-
-	/**
-	 * Gets the image with the given fileName. If the image can't
-	 * be found it tries it again after registering the image and
-	 * loading all the registered images.
-	 * 
-	 * @deprecated use loadImage instead
-	 */
-	public Image getImage(String fileName) {
-		return loadImage(fileName, true);
-	}
-
-	/**
-	 * Registers and loads an image.
-	 * If component is null, the component supplied in the
-	 * constructor will be used.
-	 * 
-	 * @deprecated use loadImage instead
-	 */
-	public Image registerAndLoadImage(Component component, String fileName) {
-		registerImage(fileName);
-		loadRegisteredImages(component);
-		return loadImage(fileName, true);
-	}
-
-	/**
-	 * Loads an image but does not put in in the cache.
-	 * 
-	 * @deprecated use loadImageUncached instead
-	 */
-	public Image loadImageResource(String fileName) {
-		return loadImageUncached(fileName);
-	}
-
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteButton.java b/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteButton.java
deleted file mode 100644
index ef359f432..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteButton.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)PaletteButton.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import javax.swing.*;
-import java.awt.event.*;
-
-/**
- * A palette button is a three state button. The states are normal
- * pressed and selected. It uses to the palette listener interface
- * to notify about state changes.
- *
- * @see PaletteListener
- * @see PaletteLayout
- *
- * @version <$CURRENT_VERSION$>
-*/
-public abstract class PaletteButton
-				extends JButton
-				implements MouseListener, MouseMotionListener {
-
-	protected static final int NORMAL = 1;
-	protected static final int PRESSED = 2;
-	protected static final int SELECTED = 3;
-
-	private int             fState;
-	private int             fOldState;
-
-	private PaletteListener  fListener;
-
-	/**
-	 * Constructs a PaletteButton.
-	 * @param listener the listener to be notified.
-	 */
-	public PaletteButton(PaletteListener listener) {
-		fListener = listener;
-		fState = fOldState = NORMAL;
-		addMouseListener(this);
-		addMouseMotionListener(this);
-	}
-
-	public Object value() {
-		return null;
-	}
-
-	public String name() {
-		return "";
-	}
-
-	public void reset() {
-		if (isEnabled()) {
-			fState = NORMAL;
-			setSelected(false);
-			repaint();
-		}
-	}
-
-	public void select() {
-		if (isEnabled()) {
-			fState = SELECTED;
-			setSelected(true);
-			repaint();
-		}
-	}
-
-	public void mousePressed(MouseEvent e) {
-		if (isEnabled()) {
-			fOldState = fState;
-			fState = PRESSED;
-			repaint();
-		}
-	}
-
-	public void mouseDragged(MouseEvent e) {
-		if (isEnabled()) {
-			if (contains(e.getX(),e.getY())) {
-				fState = PRESSED;
-			}
-			else {
-				fState = fOldState;
-			}
-			repaint();
-		}
-	}
-
-	public void mouseReleased(MouseEvent e) {
-		if (isEnabled()) {
-			fState = fOldState;
-			repaint();
-			if (contains(e.getX(),e.getY())) {
-				fListener.paletteUserSelected(this);
-			}
-		}
-	}
-
-	public void mouseMoved(MouseEvent e) {
-		fListener.paletteUserOver(this, true);
-	}
-
-	public void mouseExited(MouseEvent e) {
-		if (fState == PRESSED) {
-			// JDK1.1 on MS-Windows sometimes looses mouse released
-			mouseDragged(e);
-		}
-		fListener.paletteUserOver(this, false);
-	}
-
-	public void mouseClicked(MouseEvent e) {}
-	public void mouseEntered(MouseEvent e) {}
-
-//  Not necessary anymore in JFC due to the support of Icons in JButton
-/*
-	public abstract void paintBackground(Graphics g);
-	public abstract void paintNormal(Graphics g);
-	public abstract void paintPressed(Graphics g);
-	public abstract void paintSelected(Graphics g);
-
-	public void update(Graphics g) {
-		paint(g);
-	}
-	
-	public void paint(Graphics g) {
-		paintBackground(g);
-
-		switch (fState) {
-		case PRESSED:
-			paintPressed(g);
-			break;
-		case SELECTED:
-			paintSelected(g);
-			break;
-		case NORMAL:
-		default:
-			paintNormal(g);
-			break;
-		}
-	}
-*/
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteIcon.java b/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteIcon.java
deleted file mode 100644
index 3aa4355cc..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteIcon.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * @(#)PaletteIcon.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.awt.*;
-
-/**
- * A three state icon that can be used in Palettes.
- *
- * @see PaletteButton
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class PaletteIcon extends Object {
-
-	Image       fNormal;
-	Image       fPressed;
-	Image       fSelected;
-	Dimension   fSize;
-
-	public PaletteIcon(Dimension size, Image normal, Image pressed, Image selected) {
-		fSize = size;
-		fNormal = normal;
-		fPressed = pressed;
-		fSelected = selected;
-	}
-
-	public Image normal() { return fNormal; }
-	public Image pressed() { return fPressed; }
-	public Image selected() { return fSelected; }
-
-	public int getWidth() { return fSize.width; }
-	public int getHeight() { return fSize.height; }
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteLayout.java b/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteLayout.java
deleted file mode 100644
index c469a81f6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteLayout.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)PaletteLayout.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.awt.*;
-
-/**
- * A custom layout manager for the palette.
- *
- * @see PaletteButton
- *
- * @version <$CURRENT_VERSION$>
- */
-public class PaletteLayout implements LayoutManager {
-
-	private int         fGap;
-	private Point       fBorder;
-	private boolean     fVerticalLayout;
-
-	/**
-	 * Initializes the palette layout.
-	 * @param gap the gap between palette entries.
-	 */
-	public PaletteLayout(int gap) {
-		this(gap, new Point(0,0), true);
-	}
-
-	public PaletteLayout(int gap, Point border) {
-		this(gap, border, true);
-	}
-
-	public PaletteLayout(int gap, Point border, boolean vertical) {
-		fGap = gap;
-		fBorder = border;
-		fVerticalLayout = vertical;
-	}
-
-	public void addLayoutComponent(String name, Component comp) {
-	}
-
-	public void removeLayoutComponent(Component comp) {
-	}
-
-	public Dimension preferredLayoutSize(Container target) {
-		return minimumLayoutSize(target);
-	}
-
-	public Dimension minimumLayoutSize(Container target) {
-		Dimension dim = new Dimension(0, 0);
-		int nmembers = target.getComponentCount();
-
-		for (int i = 0 ; i < nmembers ; i++) {
-			Component m = target.getComponent(i);
-			if (m.isVisible()) {
-				Dimension d = m.getMinimumSize();
-				if (fVerticalLayout) {
-					dim.width = Math.max(dim.width, d.width);
-					if (i > 0) {
-						dim.height += fGap;
-					}
-					dim.height += d.height;
-				}
-				else {
-					dim.height = Math.max(dim.height, d.height);
-					if (i > 0) {
-						dim.width += fGap;
-					}
-					dim.width += d.width;
-				}
-			}
-		}
-
-		Insets insets = target.getInsets();
-		dim.width += insets.left + insets.right;
-		dim.width += 2 * fBorder.x;
-		dim.height += insets.top + insets.bottom;
-		dim.height += 2 * fBorder.y;
-		return dim;
-	}
-
-	public void layoutContainer(Container target) {
-		Insets insets = target.getInsets();
-		int nmembers = target.getComponentCount();
-		int x = insets.left + fBorder.x;
-		int y = insets.top + fBorder.y;
-
-		for (int i = 0 ; i < nmembers ; i++) {
-			Component m = target.getComponent(i);
-			if (m.isVisible()) {
-				Dimension d = m.getMinimumSize();
-				m.setBounds(x, y, d.width, d.height);
-				if (fVerticalLayout) {
-					y += d.height;
-					y += fGap;
-				}
-				else {
-					x += d.width;
-					x += fGap;
-				}
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteListener.java b/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteListener.java
deleted file mode 100644
index fbf22c694..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/PaletteListener.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * @(#)PaletteListener.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-/**
- * Interface for handling palette events.
- *
- * @see PaletteButton
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface PaletteListener {
-	/**
-	 * The user selected a palette entry. The selected button is
-	 * passed as an argument.
-	 */
-	public void paletteUserSelected(PaletteButton button);
-
-	/**
-	 * The user moved the mouse over the palette entry.
-	 */
-	public void paletteUserOver(PaletteButton button, boolean inside);
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/RedoCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/util/RedoCommand.java
deleted file mode 100644
index 0511c4fa6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/RedoCommand.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * @(#)RedoCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.standard.*;
-import org.jhotdraw.framework.*;
-
-/**
- * Command to redo the latest undone change in the drawing.
- *
- * @version <$CURRENT_VERSION$>
- */ 
-public class RedoCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a properties command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public RedoCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		UndoManager um = getDrawingEditor().getUndoManager();
-		if ((um == null) || !um.isRedoable()) {
-			return;
-		}
-		
-		Undoable lastRedoable = um.popRedo();
-		// Execute redo
-		boolean hasBeenUndone = lastRedoable.redo();
-		// Add to undo stack
-		if (hasBeenUndone && lastRedoable.isUndoable()) {
-			um.pushUndo(lastRedoable);
-		}
-			
-		lastRedoable.getDrawingView().checkDamage();
-
-		getDrawingEditor().figureSelectionChanged(lastRedoable.getDrawingView());
-	}
-  
-	/**
-	 * Used in enabling the redo menu item.
-	 * Redo menu item will be enabled only when there is at least one redoable
-	 * activity in the UndoManager.
-	 */
-	public boolean isExecutableWithView() {
-		UndoManager um = getDrawingEditor().getUndoManager();
-		if ((um != null) && (um.getRedoSize() > 0)) {
-			return true;
-		}
-
-	    return false;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/ReverseListEnumerator.java b/jhotdraw6/src/main/java/org/jhotdraw/util/ReverseListEnumerator.java
deleted file mode 100644
index fd50237df..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/ReverseListEnumerator.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * @(#)ReverseListEnumerator.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Iterator;
-
-/**
- * An Enumeration that enumerates a list back (size-1) to front (0).
- *
- * @version <$CURRENT_VERSION$>
- */
-public class ReverseListEnumerator implements Iterator {
-
-	private List myList;
-	private int count;
-
-	public ReverseListEnumerator(List l) {
-		myList = l;
-		count = myList.size() - 1;
-	}
-
-	public boolean hasNext() {
-		return count >= 0;
-	}
-
-	public Object next() {
-		if (count >= 0) {
-			return myList.get(count--);
-		}
-		throw new NoSuchElementException("ReverseListEnumerator");
-	}
-
-	public void remove() {
-		myList.remove(count);
-		count--;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/SerializationStorageFormat.java b/jhotdraw6/src/main/java/org/jhotdraw/util/SerializationStorageFormat.java
deleted file mode 100644
index b443accb7..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/SerializationStorageFormat.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * @(#)SerializationStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.io.*;
-import org.jhotdraw.framework.Drawing;
-
-/**
- * A SerializationStorageFormat is a straight-forward file format to store and restore
- * Drawings. It uses Java's serialization mechanism to store Drawings. The SerializationStorageFormat
- * has the file extension "ser" (e.g. my_picasso.ser).
- *
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class SerializationStorageFormat extends StandardStorageFormat {
-
-	/**
-	 * Create a SerialzationStorageFormat for storing and restoring Drawings.
-	 */
-	public SerializationStorageFormat() {
-		super();
-	}
-
-	/**
-	 * Factory method to create the file extension recognized by the FileFilter for this
-	 * SerializationStorageFormat. The SerializationStorageFormat has the file extension "ser"
-	 * (e.g. my_picasso.ser).
-	 *
-	 * @return new file extension
-	 */
-	protected String createFileExtension() {
-		return "ser";
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return new file description
-	 */
-	public String createFileDescription() {
-		return "Serialization (" + getFileExtension() + ")";
-	}
-	
-	/**
-	 * Store a Drawing under a given name. The name should be valid with regard to the FileFilter
-	 * that means, it should already contain the appropriate file extension.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 */
-	public String store(String fileName, Drawing saveDrawing) throws IOException {
-		FileOutputStream stream = new FileOutputStream(adjustFileName(fileName));
-		ObjectOutput output = new ObjectOutputStream(stream);
-		output.writeObject(saveDrawing);
-		output.close();
-		return adjustFileName(fileName);
-	}
-
-	/**
-	 * Restore a Drawing from a file with a given name. The name must be should with regard to the
-	 * FileFilter that means, it should have the appropriate file extension.
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public Drawing restore(String fileName) throws IOException {
-		try {
-			FileInputStream stream = new FileInputStream(fileName);
-			ObjectInput input = new ObjectInputStream(stream);
-			return (Drawing)input.readObject();
-		}
-		catch (ClassNotFoundException exception) {
-			throw new IOException("Could not restore drawing '" + fileName +"': class not found!");
-		}
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/StandardStorageFormat.java b/jhotdraw6/src/main/java/org/jhotdraw/util/StandardStorageFormat.java
deleted file mode 100644
index 8327ca446..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/StandardStorageFormat.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * @(#)StandardStorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import javax.swing.filechooser.FileFilter;
-import java.io.IOException;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.File;
-import org.jhotdraw.framework.Drawing;
-
-/**
- * A StandardStorageFormat is an internal file format to store and restore
- * Drawings. It uses its own descriptive syntax ands write classes and attributes
- * as plain text in a text file. The StandardStorageFormat has the file extension
- * "draw" (e.g. my_picasso.draw).
- *
- * @author Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class StandardStorageFormat implements StorageFormat {
-
-	/**
-	 * FileFilter for a javax.swing.JFileChooser which recognizes files with the
-	 * extension "draw"
-	 */
-	private FileFilter myFileFilter;
-
-	/**
-	 * File extension
-	 */
-	private String myFileExtension;
-
-	/**
-	 * Description of the file type when displaying the FileFilter
-	 */
-	private String myFileDescription;
-
-	/**
-	 * Create a StandardStorageFormat for storing and restoring Drawings.
-	 */
-	public StandardStorageFormat() {
-		setFileExtension(createFileExtension());
-		setFileDescription(createFileDescription());
-		setFileFilter(createFileFilter());
-	}
-
-	/**
-	 * Factory method to create the file extension recognized by the FileFilter for this
-	 * StandardStorageFormat. The StandardStorageFormat has the file extension "draw"
-	 * (e.g. my_picasso.draw).
-	 *
-	 * @return new file extension
-	 */
-	protected String createFileExtension() {
-		return myFileExtension = "draw";
-	}
-
-	/**
-	 * Set the file extension for the storage format
-	 *
-	 * @param newFileExtension extension
-	 */
-	public void setFileExtension(String newFileExtension) {
-		myFileExtension = newFileExtension;
-	}
-
-	/**
-	 * Return the file extension for the storage format
-	 *
-	 * @return file extension
-	 */
-	public String getFileExtension() {
-		return myFileExtension;
-	}
-
-	/**
-	 * Factory method to create a file description for the file type when displaying the
-	 * associated FileFilter.
-	 *
-	 * @return new file description
-	 */
-	public String createFileDescription() {
-		return "Internal Format (" + getFileExtension() + ")";
-	}
-
-	/**
-	 * Set the file description for the file type of the storage format
-	 *
-	 * @param newFileDescription description of the file type
-	 */
-	public void setFileDescription(String newFileDescription) {
-		myFileDescription = newFileDescription;
-	}
-
-	/**
-	 * Return the file description for the file type of the storage format
-	 *
-	 * @return description of the file type
-	 */
-	public String getFileDescription() {
-		return myFileDescription;
-	}
-
-	/**
-	 * Factory method to create a FileFilter that accepts file with the appropriate
-	 * file exention used by a javax.swing.JFileChooser. Subclasses can override this
-	 * method to provide their own file filters.
-	 *
-	 * @return FileFilter for this StorageFormat
-	 */
-	protected FileFilter createFileFilter() {
-		return new FileFilter() {
-			public boolean accept(File checkFile) {
-				// still display directories for navigation
-				if (checkFile.isDirectory()) {
-					return true;
-				}
-				else {
-					return checkFile.getName().endsWith("." + getFileExtension());
-				}
-			}
-
-			public String getDescription() {
-				return getFileDescription();
-			}
-		};
-	}
-
-	/**
-	 * Set the FileFilter used to identify Drawing files with the correct file
-	 * extension for this StorageFormat.
-	 *
-	 * @param newFileFilter FileFilter for this StorageFormat
-	 */
-	public void setFileFilter(FileFilter newFileFilter) {
-		myFileFilter = newFileFilter;
-	}
-
-	/**
-	 * Return the FileFilter used to identify Drawing files with the correct file
-	 * extension for this StorageFormat.
-	 *
-	 * @return FileFilter for this StorageFormat
-	 */
-	public FileFilter getFileFilter() {
-		return myFileFilter;
-	}
-
-	/**
-	 * @see org.jhotdraw.util.StorageFormat#isRestoreFormat()
-	 */
-	public boolean isRestoreFormat() {
-		return true;
-	}
-
-	/**
-	 * @see org.jhotdraw.util.StorageFormat#isStoreFormat()
-	 */
-	public boolean isStoreFormat() {
-		return true;
-	}
-
-	/**
-	 * Store a Drawing under a given name. If the file name does not have the correct
-	 * file extension, then the file extension is added.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 * @return file name with correct file extension
-	 */
-	public String store(String fileName, Drawing saveDrawing) throws IOException {
-		FileOutputStream stream = new FileOutputStream(adjustFileName(fileName));
-		StorableOutput output = new StorableOutput(stream);
-		output.writeStorable(saveDrawing);
-		output.close();
-		return adjustFileName(fileName);
-	}
-
-	/**
-	 * Restore a Drawing from a file with a given name.
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public Drawing restore(String fileName) throws IOException {
-		if (!hasCorrectFileExtension(fileName)) {
-			return null;
-		}
-		else {
-			FileInputStream stream = new FileInputStream(fileName);
-			StorableInput input = new StorableInput(stream);
-			return (Drawing)input.readStorable();
-		}
-	}
-
-	/**
-	 * Test, whether two StorageFormats are the same. They are the same if they both support the
-	 * same file extension.
-	 *
-	 * @return true, if both StorageFormats have the same file extension, false otherwise
-	 */
-	public boolean equals(Object compareObject) {
-		if (compareObject instanceof StandardStorageFormat) {
-			return getFileExtension().equals(((StandardStorageFormat)compareObject).getFileExtension());
-		}
-		else {
-			return false;
-		}
-	}
-
-	/**
-	 * Adjust a file name to have the correct file extension.
-	 *
-	 * @param testFileName file name to be tested for a correct file extension
-	 * @return testFileName + file extension if necessary
-	 */
-	protected String adjustFileName(String testFileName) {
-		if (!hasCorrectFileExtension(testFileName)) {
-			return testFileName + "." + getFileExtension();
-		}
-		else {
-			return testFileName;
-		}
-	}
-
-	/**
-	 * Test whether the file name has the correct file extension
-	 *
-	 * @return true, if the file has the correct extension, false otherwise
-	 */
-	protected boolean hasCorrectFileExtension(String testFileName) {
-		return testFileName.endsWith("." + getFileExtension());
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/StandardVersionControlStrategy.java b/jhotdraw6/src/main/java/org/jhotdraw/util/StandardVersionControlStrategy.java
deleted file mode 100644
index 31115210b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/StandardVersionControlStrategy.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * @(#)StandardVersionControlStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.*;
-
-/**
- * @author Wolfram Kaiser
- * @version <$CURRENT_VERSION$>
- */
-public class StandardVersionControlStrategy implements VersionControlStrategy {
-	private VersionRequester myVersionRequester;
-	
-	public StandardVersionControlStrategy(VersionRequester newVersionRequester) {
-		setVersionRequester(newVersionRequester);
-	}
-	
-	/**
-	 * Define a strategy how to select those versions of JHotDraw
-	 * with which they are compatible.
-	 */
-	public void assertCompatibleVersion() {
-		String[] requiredVersions = getVersionRequester().getRequiredVersions();
-		// version is compatible if no version was specified
-		if (requiredVersions.length == 0) {
-			return;
-		}
-		for (int i = 0; i < requiredVersions.length; i++) {
-			if (isCompatibleVersion(requiredVersions[i])) {
-				// a compatible version has been found
-				return;
-			}
-		}
-		// no matching version was found
-		handleIncompatibleVersions();
-	}
-
-	/**
-	 * This method is called in open() if an incompatible version has been
-	 * encountered. Applications can override this method to provide customized
-	 * exception handling for this case. In the default implementation, a
-	 * JHotDrawRuntimeException is thrown.
-	 */
-	protected void handleIncompatibleVersions() {
-		// collect version info
-		String[] requiredVersions = getVersionRequester().getRequiredVersions();
-		StringBuffer expectedVersions = new StringBuffer("[");
-		for (int i = 0; i < requiredVersions.length - 1; i++) {
-			expectedVersions.append(requiredVersions[i] + ", ");
-		}
-		if (requiredVersions.length > 0) {
-			expectedVersions.append(requiredVersions[requiredVersions.length - 1]);
-		}
-		expectedVersions.append("]");
-
-		// no compatible version has been found
-		throw new JHotDrawRuntimeException("Incompatible version of JHotDraw found: "
-			+  VersionManagement.getJHotDrawVersion() 
-			+ " (expected: " + expectedVersions + ")");
-	}
-
-	/**
-	 * Subclasses can override this method to specify an algorithms that determines
-	 * how version strings are compared and which version strings can be regarded
-	 * as compatible. For example, a subclass may choose that all versions 5.x of
-	 * JHotDraw are compatible with the application, so only the first digit in
-	 * the version number is considered significant. In the default implementation,
-	 * all versions that are equal or greater than the expected version are compatible.
-	 *
-	 * @param compareVersionString application version to compare with JHotDraw's version
-	 */
-	protected boolean isCompatibleVersion(String compareVersionString) {
-		return VersionManagement.isCompatibleVersion(compareVersionString);
-	}
-	
-	private void setVersionRequester(VersionRequester newVersionRequester) {
-		myVersionRequester = newVersionRequester;
-	}
-	
-	protected VersionRequester getVersionRequester() {
-		return myVersionRequester;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/Storable.java b/jhotdraw6/src/main/java/org/jhotdraw/util/Storable.java
deleted file mode 100644
index 217084e49..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/Storable.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Storable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.io.*;
-
-/**
- * Interface that is used by StorableInput and StorableOutput
- * to flatten and resurrect objects. Objects that implement
- * this interface and that are resurrected by StorableInput
- * have to provide a default constructor with no arguments.
- *
- * @see StorableInput
- * @see StorableOutput
- *
- * @version <$CURRENT_VERSION$>
- */
-public interface Storable {
-	/**
-	 * Writes the object to the StorableOutput.
-	 */
-	public void write(StorableOutput dw);
-
-	/**
-	 * Reads the object from the StorableInput.
-	 */
-	public void read(StorableInput dr) throws IOException;
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/StorableInput.java b/jhotdraw6/src/main/java/org/jhotdraw/util/StorableInput.java
deleted file mode 100644
index 7e5a86b86..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/StorableInput.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * @(#)StorableInput.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.io.*;
-import java.awt.Color;
-import java.util.List;
-
-/**
- * An input stream that can be used to resurrect Storable objects.
- * StorableInput preserves the object identity of the stored objects.
- *
- * @see Storable
- * @see StorableOutput
- *
- * @version <$CURRENT_VERSION$>s
- */
-public class StorableInput {
-
-	private StreamTokenizer fTokenizer;
-	private List            fMap;
-
-	/**
-	 * Initializes a Storable input with the given input stream.
-	 */
-	public StorableInput(InputStream stream) {
-		Reader r = new BufferedReader(new InputStreamReader(stream));
-		fTokenizer = new StreamTokenizer(r);
-		// include inner class separate in class names
-		fTokenizer.wordChars('$', '$');
-		fMap = CollectionsFactory.current().createList();
-	}
-
-	/**
-	 * Reads and resurrects a Storable object from the input stream.
-	 */
-	public Storable readStorable() throws IOException {
-		Storable storable;
-		String s = readString();
-
-		if (s.equals("NULL")) {
-			return null;
-		}
-
-		if (s.equals("REF")) {
-			int ref = readInt();
-			return retrieve(ref);
-		}
-
-		storable = (Storable) makeInstance(s);
-		map(storable);
-		storable.read(this);
-		return storable;
-	}
-
-	/**
-	 * Reads a string from the input stream.
-	 */
-	public String readString() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_WORD || token == '"') {
-			return fTokenizer.sval;
-		}
-
-		String msg = "String expected in line: " + fTokenizer.lineno();
-		throw new IOException(msg);
-	}
-
-	/**
-	 * Reads an int from the input stream.
-	 */
-	public int readInt() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return (int) fTokenizer.nval;
-		}
-
-		String msg = "Integer expected in line: " + fTokenizer.lineno();
-		IOException exception =  new IOException(msg);
-		exception.printStackTrace();
-		throw new IOException(msg);
-	}
-
-	/**
-	 * Reads an int from the input stream.
-	 */
-	public long readLong() throws IOException {
-		long token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return (long)fTokenizer.nval;
-		}
-		String msg = "Long expected in line: " + fTokenizer.lineno();
-		IOException exception =  new IOException(msg);
-		//exception.printStackTrace();
-		throw exception;
-	}
-
-	/**
-	 * Reads a color from the input stream.
-	 */
-	public Color readColor() throws IOException {
-		return new Color(readInt(), readInt(), readInt());
-	}
-
-	/**
-	 * Reads a double from the input stream.
-	 */
-	public double readDouble() throws IOException {
-		double value = 0.0; 
-		int token = fTokenizer.nextToken(); 
-		if (token == StreamTokenizer.TT_NUMBER) { 
-			// Allow for a bug in StreamTokenizer (JDK-bugs 4079180, 4146533 and 4638205), which
-			// causes the exponent to be ignored, then read in as a string as the next token. 
-			// This is a nasty kludge and I think it could fail if a number 
-			// without an exponent is followed by a string beginning with "E" or "e"  
-			value = fTokenizer.nval; 
-			int token2 = fTokenizer.nextToken(); 
-			if (token2 == StreamTokenizer.TT_WORD && 
-					(fTokenizer.sval.charAt(0) == 'E' || fTokenizer.sval.charAt(0) == 'e')) { 
-				value = Double.valueOf(value+fTokenizer.sval).doubleValue(); 
-			} 
-			else { 
-				fTokenizer.pushBack(); 
-			} 
-			return value; 
-		}
-		else {
-			throw new IOException("Double expected in line: " + fTokenizer.lineno());
-		}
-	}
-
-	/**
-	 * Reads a boolean from the input stream.
-	 */
-	public boolean readBoolean() throws IOException {
-		int token = fTokenizer.nextToken();
-		if (token == StreamTokenizer.TT_NUMBER) {
-			return ((int) fTokenizer.nval) == 1;
-		}
-
-		String msg = "Integer expected in line: " + fTokenizer.lineno();
-		throw new IOException(msg);
-	}
-
-	private Object makeInstance(String className) throws IOException {
-		try {
-			Class cl = Class.forName(className);
-			return cl.newInstance();
-		}
-		catch (NoSuchMethodError e) {
-			throw new IOException("Class " + className
-				+ " does not seem to have a no-arg constructor");
-		}
-		catch (ClassNotFoundException e) {
-			throw new IOException("No class: " + className);
-		}
-		catch (InstantiationException e) {
-			throw new IOException("Cannot instantiate: " + className);
-		}
-		catch (IllegalAccessException e) {
-			throw new IOException("Class (" + className + ") not accessible");
-		}
-	}
-
-	private void map(Storable storable) {
-		if (!fMap.contains(storable)) {
-			fMap.add(storable);
-		}
-	}
-
-	private Storable retrieve(int ref) {
-		return (Storable)fMap.get(ref);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/StorableOutput.java b/jhotdraw6/src/main/java/org/jhotdraw/util/StorableOutput.java
deleted file mode 100644
index d5d6948f3..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/StorableOutput.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * @(#)StorableOutput.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.io.*;
-import java.awt.Color;
-import java.util.List;
-
-/**
- * An output stream that can be used to flatten Storable objects.
- * StorableOutput preserves the object identity of the stored objects.
- *
- * @see Storable
- * @see StorableInput
- *
- * @version <$CURRENT_VERSION$>
- */
-public  class StorableOutput extends Object {
-
-	private PrintWriter     fStream;
-	private List            fMap;
-	private int             fIndent;
-
-	/**
-	 * Initializes the StorableOutput with the given output stream.
-	 */
-	public StorableOutput(OutputStream stream) {
-		fStream = new PrintWriter(stream);
-		fMap = CollectionsFactory.current().createList();
-		fIndent = 0;
-	}
-
-	/**
-	 * Writes a storable object to the output stream.
-	 */
-	public void writeStorable(Storable storable) {
-		if (storable == null) {
-			fStream.print("NULL");
-			space();
-			return;
-		}
-
-		if (mapped(storable)) {
-			writeRef(storable);
-			return;
-		}
-
-		incrementIndent();
-		startNewLine();
-		map(storable);
-		fStream.print(storable.getClass().getName());
-		space();
-		storable.write(this);
-		space();
-		decrementIndent();
-	}
-
-	/**
-	 * Writes an int to the output stream.
-	 */
-	public void writeInt(int i) {
-		fStream.print(i);
-		space();
-	}
-
-	/**
-	 * Writes a long to the output stream.
-	 */
-	public void writeLong(long l) {
-		fStream.print(l);
-		space();
-	}
-
-	public void writeColor(Color c) {
-		writeInt(c.getRed());
-		writeInt(c.getGreen());
-		writeInt(c.getBlue());
-	}
-
-	/**
-	 * Writes an int to the output stream.
-	 */
-	public void writeDouble(double d) {
-		fStream.print(d);
-		space();
-	}
-
-	/**
-	 * Writes an int to the output stream.
-	 */
-	public void writeBoolean(boolean b) {
-		if (b) {
-			fStream.print(1);
-		}
-		else {
-			fStream.print(0);
-		}
-		space();
-	}
-
-	/**
-	 * Writes a string to the output stream. Special characters
-	 * are quoted.
-	 */
-	public void writeString(String s) {
-		fStream.print('"');
-		for(int i = 0; i < s.length(); i++) {
-			char c = s.charAt(i);
-			switch(c) {
-				case '\n': fStream.print('\\'); fStream.print('n'); break;
-				case '"' : fStream.print('\\'); fStream.print('"'); break;
-				case '\\': fStream.print('\\'); fStream.print('\\'); break;
-				case '\t': fStream.print('\\'); fStream.print('\t'); break;
-				default: fStream.print(c);
-			}
-
-		}
-		fStream.print('"');
-		space();
-	}
-
-	/**
-	 * Closes a storable output stream.
-	 */
-	public void close() {
-		fStream.close();
-	}
-
-	private boolean mapped(Storable storable) {
-		return fMap.contains(storable);
-	}
-
-	private void map(Storable storable) {
-		if (!fMap.contains(storable)) {
-			fMap.add(storable);
-		}
-	}
-
-	private void writeRef(Storable storable) {
-		int ref = fMap.indexOf(storable);
-
-		fStream.print("REF");
-		space();
-		fStream.print(ref);
-		space();
-	}
-
-	private void incrementIndent() {
-		fIndent += 4;
-	}
-
-	private void decrementIndent() {
-		fIndent -= 4;
-		if (fIndent < 0) fIndent = 0;
-	}
-
-	private void startNewLine() {
-		fStream.println();
-		for (int i=0; i<fIndent; i++) {
-			space();
-		}
-	}
-
-	private void space() {
-		fStream.print(' ');
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/StorageFormat.java b/jhotdraw6/src/main/java/org/jhotdraw/util/StorageFormat.java
deleted file mode 100644
index caa70bdbb..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/StorageFormat.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * @(#)StorageFormat.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	(c) by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import javax.swing.filechooser.FileFilter;
-import java.io.IOException;
-import org.jhotdraw.framework.Drawing;
-
-/**
- * Interface to define a storage format. A StorageFormat is a strategy that knows how to store
- * and restore a Drawing according to a specific encoding. Typically it can be recognized by
- * a file extension. To identify a valid file format for a Drawing an appropriate FileFilter
- * for a javax.swing.JFileChooser component can be requested.
- *
- * @see Drawing
- * @see StorageFormatManager
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface StorageFormat {
-
-	/**
-	 * Return a FileFilter that can be used to identify files which can be stored and restored
-	 * with this Storage Format. Typically, each storage format has its own recognizable file
-	 * extension.
-	 *
-	 * @return FileFilter to be used with a javax.swing.JFileChooser
-	 */
-	public FileFilter getFileFilter();
-	
-	/**
-	 * Every format has to identify itself as able to store and/or restore from
-	 * the format it represents. If the storage format can save to the format, it
-	 * should return true in this method.
-	 * @return boolean <code>true</code> if the format can save
-	 */
-	public boolean isStoreFormat();
-
-	/**
-	 * Every format has to identify itself as able to store and/or restore from
-	 * the format it represents. If the storage format can load from the format,
-	 * it should return true in this method.
-	 * @return boolean <code>true</code> if the format can load
-	 */
-	public boolean isRestoreFormat(); 
-
-	/**
-	 * Store a Drawing under a given name.
-	 *
-	 * @param fileName file name of the Drawing under which it should be stored
-	 * @param saveDrawing drawing to be saved
-	 * @return file name with correct file extension
-	 */
-	public String store(String fileName, Drawing saveDrawing) throws IOException;
-	
-	/**
-	 * Restore a Drawing from a file with a given name. 
-	 *
-	 * @param fileName of the file in which the Drawing has been saved
-	 * @return restored Drawing
-	 */
-	public Drawing restore(String fileName) throws IOException;
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/StorageFormatManager.java b/jhotdraw6/src/main/java/org/jhotdraw/util/StorageFormatManager.java
deleted file mode 100644
index 029cf8f02..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/StorageFormatManager.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * @(#)StorageFormatManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
- 
-package org.jhotdraw.util;
-
-import javax.swing.JFileChooser;
-import javax.swing.filechooser.FileFilter;
-
-import java.io.File;
-import java.util.List;
-import java.util.Iterator;
-
-/**
- * The StorageFormatManager is a contains StorageFormats.
- * It is not a Singleton because it could be necessary to deal with different
- * format managers, e.g. one for importing Drawings, one for exporting Drawings.
- * If one StorageFormat matches the file extension of the Drawing file, then this
- * StorageFormat can be used to store or restore the Drawing.
- *
- * @see StorageFormat
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class StorageFormatManager {
-
-	/**
-	 * List containing all registered storage formats
-	 */
-	private List myStorageFormats;
-	
-	/**
-	 * Default storage format that should be selected in a javax.swing.JFileChooser
-	 */
-	private StorageFormat myDefaultStorageFormat;
-	
-	/**
-	 * Create a new StorageFormatManager.
-	 */
-	public StorageFormatManager() {
-		myStorageFormats = CollectionsFactory.current().createList();
-	}
-	
-	/**
-	 * Add a StorageFormat that should be supported by this StorageFormatManager.
-	 *
-	 * @param newStorageFormat new StorageFormat to be supported
-	 */
-	public void addStorageFormat(StorageFormat newStorageFormat) {
-		myStorageFormats.add(newStorageFormat);
-	}
-
-	/**
-	 * Remove a StorageFormat that should no longer be supported by this StorageFormatManager.
-	 * The StorageFormat is excluded in when search for a StorageFormat.
-	 *
-	 * @param oldStorageFormat old StorageFormat no longer to be supported
-	 */
-	public void removeStorageFormat(StorageFormat oldStorageFormat) {
-		myStorageFormats.remove(oldStorageFormat);
-	}
-	
-	/**
-	 * Test, whether a StorageFormat is supported by this StorageFormat
-	 */
-	public boolean containsStorageFormat(StorageFormat checkStorageFormat){
-		return myStorageFormats.contains(checkStorageFormat);
-	}
-	
-	/**
-	 * Set a StorageFormat as the default storage format which is selected in a
-	 * javax.swing.JFileChooser. The default storage format must be already
-	 * added with addStorageFormat. Setting the default storage format to null
-	 * does not automatically remove the StorageFormat from the list of
-	 * supported StorageFormats.
-	 *
-	 * @param newDefaultStorageFormat StorageFormat that should be selected in a JFileChooser
-	 */
-	public void setDefaultStorageFormat(StorageFormat newDefaultStorageFormat) {
-		myDefaultStorageFormat = newDefaultStorageFormat;
-	}
-	
-	/**
-	 * Return the StorageFormat which is used as selected file format in a javax.swing.JFileChooser
-	 *
-	 * @return default storage format
-	 */
-	public StorageFormat getDefaultStorageFormat() {
-		return myDefaultStorageFormat;
-	}
-	
-	/**
-	 * Register all FileFilters supported by StorageFormats
-	 *
-	 * @param fileChooser javax.swing.JFileChooser to which FileFilters are added
-	 */
-	public void registerFileFilters(JFileChooser fileChooser) {
-		if (fileChooser.getDialogType() == JFileChooser.OPEN_DIALOG) {
-			// behavior for open dialogs
-			StorageFormat sf;
-			for (Iterator e = myStorageFormats.iterator(); e.hasNext();) {
-				sf = (StorageFormat) e.next();
-				if (sf.isRestoreFormat()) {
-					fileChooser.addChoosableFileFilter(sf.getFileFilter());
-				}
-			}
-
-		// set a current activated file filter if a default storage Format has been defined
-			sf = getDefaultStorageFormat();
-			if (sf != null && sf.isRestoreFormat()) {
-				fileChooser.setFileFilter(sf.getFileFilter());
-			}
-		}
-		else if (fileChooser.getDialogType() == JFileChooser.SAVE_DIALOG) {
-			// behavior for save dialogs
-			StorageFormat sf;
-			for (Iterator e = myStorageFormats.iterator(); e.hasNext();) {
-				sf = (StorageFormat) e.next();
-				if (sf.isStoreFormat()) {
-					fileChooser.addChoosableFileFilter(sf.getFileFilter());
-				}
-			}
-
-			// set a current activated file filter if a default storage Format has been defined
-			sf = getDefaultStorageFormat();
-			if (sf != null && sf.isStoreFormat()) {
-				fileChooser.setFileFilter(sf.getFileFilter());
-			}
-		}
-		else {
-			// old behavior
-			StorageFormat sf;
-			for (Iterator e = myStorageFormats.iterator(); e.hasNext();) {
-				sf = (StorageFormat) e.next();
-				fileChooser.addChoosableFileFilter(sf.getFileFilter());
-			}
-
-			// set a current activated file filter if a default storage Format has been defined
-			sf = getDefaultStorageFormat();
-			if (sf != null) {
-				fileChooser.setFileFilter(sf.getFileFilter());
-			}
-		}
-	}
-
-	/**
-	 * Find a StorageFormat that can be used according to a FileFilter to store a Drawing
-	 * in a file or restore it from a file respectively.
-	 *
-	 * @param findFileFilter FileFilter used to identify a StorageFormat
-	 * @return StorageFormat, if a matching file extension could be found, false otherwise
-	 */
-	public StorageFormat findStorageFormat(FileFilter findFileFilter) {
-		Iterator formatsIterator = myStorageFormats.iterator();
-		StorageFormat currentStorageFormat = null;
-		while (formatsIterator.hasNext()) {
-			currentStorageFormat = (StorageFormat)formatsIterator.next();
-			if (currentStorageFormat.getFileFilter().equals(findFileFilter)) {
-				return currentStorageFormat;
-			}
-		}
-		
-		return null;
-	}
-
-	/**
-	 * Find a StorageFormat that can be used according to a file object to store a
-	 * Drawing in a file or restore it from a file respectively.
-	 *
-	 * @param file a File object to be matched
-	 * @return StorageFormat, if a matching file extension could be found, <code>null</code>
-	 * otherwise
-	 */
-	public StorageFormat findStorageFormat(File file) {
-		Iterator formatsIterator = myStorageFormats.iterator();
-		StorageFormat currentStorageFormat;
-		while (formatsIterator.hasNext()) {
-			currentStorageFormat = (StorageFormat) formatsIterator.next();
-			if (currentStorageFormat.getFileFilter().accept(file)) {
-				return currentStorageFormat;
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/util/UndoCommand.java
deleted file mode 100644
index f8533f804..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoCommand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * @(#)UndoCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.standard.*;
-import org.jhotdraw.framework.*;
-
-/**
- * Command to undo the latest change in the drawing.
- * Undo activities can be undone only once, therefore they
- * are not added to the undo stack again (redo activities
- * can be added to the redo stack again, because they can
- * be redone several times, every time pushing a corresponding
- * undo activity as well).
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */ 
-public class UndoCommand extends AbstractCommand {
-
-	/**
-	 * Constructs a properties command.
-	 * @param name the command name
-	 * @param newDrawingEditor the DrawingEditor which manages the views
-	 */
-	public UndoCommand(String name, DrawingEditor newDrawingEditor) {
-		super(name, newDrawingEditor);
-	}
-
-	public void execute() {
-		super.execute();
-		UndoManager um = getDrawingEditor().getUndoManager();
-
-		if ((um == null) || !um.isUndoable()) {
-			return;
-		}
-		
-		Undoable lastUndoable = um.popUndo();
-		// Execute undo
-		boolean hasBeenUndone = lastUndoable.undo();
-
-		// Add to redo stack
-		if (hasBeenUndone && lastUndoable.isRedoable()) {
-			um.pushRedo(lastUndoable);
-		}
-		lastUndoable.getDrawingView().checkDamage();
-		
-		getDrawingEditor().figureSelectionChanged(lastUndoable.getDrawingView());
-	}
-  
-	/**
-	 * Used in enabling the undo menu item.
-	 * Undo menu item will be enabled only when there is atleast one undoable
-	 * activity registered with UndoManager.
-	 */
-	public boolean isExecutableWithView() {
-		UndoManager um = getDrawingEditor().getUndoManager();
-
-		if ((um != null) && (um.getUndoSize() > 0)) {
-			return true;
-		}
-
-		return false;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoManager.java b/jhotdraw6/src/main/java/org/jhotdraw/util/UndoManager.java
deleted file mode 100644
index fb504e375..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoManager.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * @(#)UndoManager.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.DrawingView;
-
-import java.util.List;
-import java.util.Iterator;
-
-/**
- * This class manages all the undoable commands. It keeps track of all
- * the modifications done through user interactions.
- *
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoManager {
-	/**
-	 * Maximum default buffer size for undo and redo stack
-	 */
-	public static final int DEFAULT_BUFFER_SIZE = 20;
-
-	/**
-	 * Collection of undo activities
-	 */
-	private List redoStack;
-
-	/**
-	 * Collection of undo activities
-	 */
-	private List undoStack;
-	private int maxStackCapacity;
-
-	public UndoManager() {
-		this(DEFAULT_BUFFER_SIZE);
-	}
-
-	public UndoManager(int newUndoStackSize) {
-		maxStackCapacity = newUndoStackSize;
-		undoStack = CollectionsFactory.current().createList(maxStackCapacity);
-		redoStack = CollectionsFactory.current().createList(maxStackCapacity);
-	}
-
-	public void pushUndo(Undoable undoActivity) {
-		if (undoActivity.isUndoable()) {
-			removeFirstElementInFullList(undoStack);
-			undoStack.add(undoActivity);
-		}
-		else {
-			// a not undoable activity clears the stack because
-			// the last activity does not correspond with the
-			// last undo activity
-			undoStack = CollectionsFactory.current().createList(maxStackCapacity);
-		}
-	}
-
-	public void pushRedo(Undoable redoActivity) {
-		if (redoActivity.isRedoable()) {
-
-			removeFirstElementInFullList(redoStack);
-
-			// add redo activity only if it is not already the last
-			// one in the buffer
-			if ((getRedoSize() == 0) || (peekRedo() != redoActivity)) {
-				redoStack.add(redoActivity);
-			}
-		}
-		else {
-			// a not undoable activity clears the tack because
-			// the last activity does not correspond with the
-			// last undo activity
-			redoStack = CollectionsFactory.current().createList(maxStackCapacity);
-		}
-	}
-
-	/**
-	 * If buffersize exceeds, remove the oldest command
-	 */
-	private void removeFirstElementInFullList(List l) {
-		if (l.size() >= maxStackCapacity) {
-			Undoable removedActivity = (Undoable)l.remove(0);
-			removedActivity.release();
-		}
-	}
-
-	private Undoable getLastElement(List l) {
-		if (l.size() > 0) {
-			return (Undoable)l.get(l.size() - 1);
-		}
-		else {
-			return null;
-		}
-	}
-	public boolean isUndoable() {
-		if (getUndoSize() > 0) {
-			return getLastElement(undoStack).isUndoable();
-		}
-		else {
-			return false;
-		}
-	}
-
-	public boolean isRedoable() {
-		if (getRedoSize() > 0) {
-			return getLastElement(redoStack).isRedoable();
-		}
-		else {
-			return false;
-		}
-	}
-
-	protected Undoable peekUndo() {
-		if (getUndoSize() > 0) {
-			return getLastElement(undoStack);
-		}
-		else {
-			return null;
-		}
-	}
-
-	protected Undoable peekRedo() {
-		if (getRedoSize() > 0) {
-			return getLastElement(redoStack);
-		}
-		else {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns the current size of undo buffer.
-	 */
-	public int getUndoSize() {
-		return undoStack.size();
-	}
-
-	/**
-	 * Returns the current size of redo buffer.
-	 */
-	public int getRedoSize() {
-		return redoStack.size();
-	}
-
-	/**
-	 * Throw NoSuchElementException if there is none
-	 */
-	public Undoable popUndo() {
-		// Get the last element - throw NoSuchElementException if there is none
-		Undoable lastUndoable = peekUndo();
-
-		// Remove it from undo collection
-		undoStack.remove(getUndoSize() - 1);
-
-		return lastUndoable;
-	}
-
-	/**
-	 * Throw NoSuchElementException if there is none
-	 */
-	public Undoable popRedo() {
-		// Get the last element - throw NoSuchElementException if there is none
-		Undoable lastUndoable = peekRedo();
-
-		// Remove it from undo collection
-		redoStack.remove(getRedoSize() - 1);
-
-		return lastUndoable;
-	}
-
-	public void clearUndos() {
-		clearStack(undoStack);
-	}
-
-	public void clearRedos() {
-		clearStack(redoStack);
-	}
-
-	protected void clearStack(List clearStack) {
-		clearStack.clear();
-	}
-
-	/**
-	 * Removes all undo activities that operate on the given DrawingView.
-	 * @param checkDV DrawingView which is compared undo's DrawingView
-	 */
-	public void clearUndos(DrawingView checkDV) {
-		Iterator iter = undoStack.iterator();
-		while (iter.hasNext()) {
-			Undoable currentUndo = (Undoable)iter.next();
-			if (currentUndo.getDrawingView() == checkDV) {
-				iter.remove();
-			}
-		}
-	}
-
-	/**
-	 * Removes all redo activities that operate on the given DrawingView.
-	 * @param checkDV DrawingView which is compared redo's DrawingView
-	 */
-	public void clearRedos(DrawingView checkDV) {
-		Iterator iter = redoStack.iterator();
-		while (iter.hasNext()) {
-			Undoable currentRedo = (Undoable)iter.next();
-			if (currentRedo.getDrawingView() == checkDV) {
-				iter.remove();
-			}
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoRedoActivity.java b/jhotdraw6/src/main/java/org/jhotdraw/util/UndoRedoActivity.java
deleted file mode 100644
index 8ab449462..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoRedoActivity.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * @(#)DragTracker.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.*;
-
-/**
- * An UndoRedoActivity can be used to turn a UndoActivity into a RedoActivity.
- * In this case, the redo() method of an encapsulated activity is called when
- * the undo() is executed, and undo() when redo() is executed.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoRedoActivity implements Undoable {
-	private Undoable myReversedActivity;
-	
-	protected UndoRedoActivity(Undoable newReversedActivity) {
-		setReversedActivity(newReversedActivity);
-	}
-
-	/**
-	 * Undo the activity
-	 * @return true if the activity could be undone, false otherwise
-	 */
-	public boolean undo() {
-		if (isRedoable()) {
-			return getReversedActivity().redo();
-		}
-		
-		return false;
-	}
-
-	/*
-	 * Redo the activity
-	 * @return true if the activity could be redone, false otherwise
-	 */
-	public boolean redo() {
-		if (isUndoable()) {
-			return getReversedActivity().undo();
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Dispatch to isRedoable of the activity to be reversed.
-	 */
-	public boolean isUndoable() {
-		return getReversedActivity().isRedoable();
-	}
-
-	/**
-	 * Dispatch to setRedoable of the activity to be reversed.
-	 */
-	public void setUndoable(boolean newIsUndoable) {
-		getReversedActivity().setRedoable(newIsUndoable);
-	}
-
-	/**
-	 * Dispatch to isUndoable of the activity to be reversed.
-	 */
-	public boolean isRedoable() {
-		return getReversedActivity().isUndoable();
-	}
-	
-	/**
-	 * Dispatch to setUndoable of the activity to be reversed.
-	 */
-	public void setRedoable(boolean newIsRedoable) {
-		getReversedActivity().setUndoable(newIsRedoable);
-	}
-	
-	public void setAffectedFigures(FigureEnumeration newAffectedFigures) {
-		getReversedActivity().setAffectedFigures(newAffectedFigures);
-	}
-
-	public FigureEnumeration getAffectedFigures() {
-		return getReversedActivity().getAffectedFigures();
-	}
-	
-	public int getAffectedFiguresCount() {
-		return getReversedActivity().getAffectedFiguresCount();
-	}
-
-	public DrawingView getDrawingView() {
-		return getReversedActivity().getDrawingView();
-	}
-	
-	public void release() {
-		getReversedActivity().release();
-	}
-			
-	protected void setReversedActivity(Undoable newReversedActivity) {
-		myReversedActivity = newReversedActivity;
-	}
-	
-	public Undoable getReversedActivity() {
-		return myReversedActivity;
-	}
-	
-	public static Undoable createUndoRedoActivity(Undoable toBeReversed) {
-		// instead of reversing the reversed activity just return the original activity
-		if (toBeReversed instanceof UndoRedoActivity) {
-			return ((UndoRedoActivity)toBeReversed).getReversedActivity();
-		}
-		else {
-			return new UndoRedoActivity(toBeReversed);
-		}
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/Undoable.java b/jhotdraw6/src/main/java/org/jhotdraw/util/Undoable.java
deleted file mode 100644
index c578b73f6..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/Undoable.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @(#)Undoable.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.framework.DrawingView;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface Undoable {
-	/**
-	 * Undo the activity
-	 * @return true if the activity could be undone, false otherwise
-	 */
-	public boolean undo();
-
-	/*
-	 * Redo the activity
-	 * @return true if the activity could be redone, false otherwise
-	 */
-	public boolean redo();
-	
-	public boolean isUndoable();
-	
-	public void setUndoable(boolean newIsUndoable);
-	
-	public boolean isRedoable();
-	
-	public void setRedoable(boolean newIsRedoable);
-	
-	/**
-	 * Releases all resources related to an undoable activity
-	 */
-	public void release();
-
-	public DrawingView getDrawingView();
-	
-	public void setAffectedFigures(FigureEnumeration newAffectedFigures);
-	
-	public FigureEnumeration getAffectedFigures();
-	
-	public int getAffectedFiguresCount();
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableAdapter.java b/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableAdapter.java
deleted file mode 100644
index 99bf0eab3..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableAdapter.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * @(#)UndoableAdapter.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	? by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.FigureEnumerator;
-import org.jhotdraw.standard.ReverseFigureEnumerator;
-import org.jhotdraw.standard.StandardFigureSelection;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * Most basic implementation for an Undoable activity. Subclasses should override
- * methods to provide specialized behaviour when necessary.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableAdapter implements Undoable {
-
-	private List   myAffectedFigures;
-	private boolean myIsUndoable;
-	private boolean myIsRedoable;
-	private DrawingView myDrawingView;
-
-	public UndoableAdapter(DrawingView newDrawingView) {
-		setDrawingView(newDrawingView);
-	}
-
-	/**
-	 * Undo the activity
-	 * @return true if the activity could be undone, false otherwise
-	 */
-	public boolean undo() {
-		return isUndoable();
-	}
-
-	/**
-	 * Redo the activity
-	 * @return true if the activity could be redone, false otherwise
-	 */
-	public boolean redo() {
-		return isRedoable();
-	}
-
-	public boolean isUndoable() {
-		return myIsUndoable;
-	}
-
-	public void setUndoable(boolean newIsUndoable) {
-		myIsUndoable = newIsUndoable;
-	}
-
-	public boolean isRedoable() {
-		return myIsRedoable;
-	}
-
-	public void setRedoable(boolean newIsRedoable) {
-		myIsRedoable = newIsRedoable;
-	}
-
-	public void setAffectedFigures(FigureEnumeration newAffectedFigures) {
-		// the enumeration is not reusable therefore a copy is made
-		// to be able to undo-redo the command several time
-		if(newAffectedFigures == null) {
-			throw new IllegalArgumentException();
-		}
-		rememberFigures(newAffectedFigures);
-	}
-
-	public FigureEnumeration getAffectedFigures() {
-		if(myAffectedFigures == null) {
-			return new FigureEnumerator(Collections.EMPTY_LIST);
-		}
-		else {
-			return new FigureEnumerator(CollectionsFactory.current().createList(myAffectedFigures));
-		}
-	}
-
-	public FigureEnumeration getAffectedFiguresReversed() {
-		return new ReverseFigureEnumerator(CollectionsFactory.current().createList(myAffectedFigures));
-	}
-
-	public int getAffectedFiguresCount() {
-		return myAffectedFigures.size();
-	}
-
-	protected void rememberFigures(FigureEnumeration toBeRemembered) {
-		myAffectedFigures = CollectionsFactory.current().createList();
-		while (toBeRemembered.hasNextFigure()) {
-			myAffectedFigures.add(toBeRemembered.nextFigure());
-		}
-	}
-
-	/**
-	 * Releases all resources related to an undoable activity
-	 */
-	public void release() {
-		FigureEnumeration fe = getAffectedFigures();
-		while (fe.hasNextFigure()) {
-			fe.nextFigure().release();
-		}
-		setAffectedFigures(FigureEnumerator.getEmptyEnumeration());
-	}
-
-	/**
-	 * Create new set of affected figures for redo operation because
-	 * deleting figures in an undo operation makes them unusable
-	 * Especially contained figures have been removed from their
-	 * observing container like CompositeFigure or DecoratorFigure.
-	 * Duplicating these figures re-establishes the dependencies.
-	 */
-	protected void duplicateAffectedFigures() {
-		setAffectedFigures(StandardFigureSelection.duplicateFigures(
-			getAffectedFigures(), getAffectedFiguresCount()));
-	}
-
-	public DrawingView getDrawingView() {
-		return myDrawingView;
-	}
-
-	protected void setDrawingView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableCommand.java b/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableCommand.java
deleted file mode 100644
index d7907a6cc..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableCommand.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * @(#)UndoableCommand.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.AbstractCommand;
-import java.util.EventObject;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableCommand implements Command, FigureSelectionListener, CommandListener {
-
-	private Command myWrappedCommand;
-	private boolean hasSelectionChanged;
-	private AbstractCommand.EventDispatcher myEventDispatcher;
-
-	public UndoableCommand(Command newWrappedCommand) {
-		setWrappedCommand(newWrappedCommand);
-		getWrappedCommand().addCommandListener(this);
-		setEventDispatcher(createEventDispatcher());
-	}
-
-	/**
-	 * Executes the command.
-	 */
-	public void execute() {
-		hasSelectionChanged = false;
-		// listen for selection change events during executing the wrapped command
-		view().addFigureSelectionListener(this);
-
-		getWrappedCommand().execute();
-
-		Undoable undoableCommand = getWrappedCommand().getUndoActivity();
-		if ((undoableCommand != null) && (undoableCommand.isUndoable())) {
-			getDrawingEditor().getUndoManager().pushUndo(undoableCommand);
-			getDrawingEditor().getUndoManager().clearRedos();
-		}
-
-		// initiate manual update of undo/redo menu states if it has not
-		// been done automatically during executing the wrapped command
-		if (!hasSelectionChanged || (getDrawingEditor().getUndoManager().getUndoSize() == 1)) {
-			getDrawingEditor().figureSelectionChanged(view());
-		}
-
-		// remove because not all commands are listeners that have to be notified
-		// all the time (bug-id 595461)
-		view().removeFigureSelectionListener(this);
-	}
-
-	/**
-	 * Tests if the command can be executed.
-	 */
-	public boolean isExecutable() {
-		return getWrappedCommand().isExecutable();
-	}
-
-	protected void setWrappedCommand(Command newWrappedCommand) {
-		myWrappedCommand = newWrappedCommand;
-	}
-
-	protected Command getWrappedCommand() {
-		return myWrappedCommand;
-	}
-
-	/**
-	 * Gets the command name.
-	 */
-	public String name() {
-		return getWrappedCommand().name();
-	}
-
-	public DrawingEditor getDrawingEditor() {
-		return getWrappedCommand().getDrawingEditor();
-	}
-
-	public DrawingView view() {
-		return getDrawingEditor().view();
-	}
-
-	public void figureSelectionChanged(DrawingView view) {
-		hasSelectionChanged = true;
-	}
-
-	public Undoable getUndoActivity() {
-		return new UndoableAdapter(view());
-	}
-
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		// do nothing: always return default UndoableAdapter
-	}
-
-	public void addCommandListener(CommandListener newCommandListener) {
-		getEventDispatcher().addCommandListener(newCommandListener);
-	}
-
-	public void removeCommandListener(CommandListener oldCommandListener) {
-		getEventDispatcher().removeCommandListener(oldCommandListener);
-	}
-
-	private void setEventDispatcher(AbstractCommand.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractCommand.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	public AbstractCommand.EventDispatcher createEventDispatcher() {
-		return new AbstractCommand.EventDispatcher(this);
-	}
-
-	public void commandExecuted(EventObject commandEvent) {
-		getEventDispatcher().fireCommandExecutedEvent();
-	}
-
-	public void commandExecutable(EventObject commandEvent) {
-		getEventDispatcher().fireCommandExecutableEvent();
-	}
-
-	public void commandNotExecutable(EventObject commandEvent) {
-		getEventDispatcher().fireCommandNotExecutableEvent();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableHandle.java b/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableHandle.java
deleted file mode 100644
index d04043bf9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableHandle.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * @(#)UndoableHandle.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.awt.Graphics;
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.framework.Drawing;
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.Handle;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableHandle implements Handle {
-
-	private Handle myWrappedHandle;
-	private DrawingView myDrawingView;
-
-	/**
-	 * Constructor for <code>UndoableHandle</code>.
-	 * @param newWrappedHandle
-	 */
-	public UndoableHandle(Handle newWrappedHandle) {
-		setWrappedHandle(newWrappedHandle);
-	}
-
-	/**
-	 * Constructor for <code>UndoableHandle</code>.
-	 * @param newWrappedHandle
-	 * @param newDrawingView
-	 * @deprecated use the constructor without the DrawingView instead
-	 */
-	public UndoableHandle(Handle newWrappedHandle, DrawingView newDrawingView) {
-		setWrappedHandle(newWrappedHandle);
-		setDrawingView(newDrawingView);
-	}
-	
-	/**
-	 * Locates the handle on the figure. The handle is drawn
-	 * centered around the returned point.
-	 * @see org.jhotdraw.framework.Handle#locate()
-	 */
-	public Point locate() {
-		return getWrappedHandle().locate();
-	}
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @param view the handles container
-	 * @see org.jhotdraw.framework.Handle#invokeStart(int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	public void invokeStart(int x, int y, DrawingView view) {
-		getWrappedHandle().invokeStart(x, y, view);
-	}
-
-	/**
-	 * Tracks the start of the interaction. The default implementation
-	 * does nothing.
-	 * @param x the x position where the interaction started
-	 * @param y the y position where the interaction started
-	 * @see org.jhotdraw.framework.Handle#invokeStart(int, int, org.jhotdraw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStart(x, y, drawingView)
-	 */
-	public void invokeStart(int x, int y, Drawing drawing) {
-		getWrappedHandle().invokeStart(x, y, drawing);
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see org.jhotdraw.framework.Handle#invokeStep(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		getWrappedHandle().invokeStep(x, y, anchorX, anchorY, view);
-	}
-
-	/**
-	 * Tracks a step of the interaction.
-	 * @param dx x delta of this step
-	 * @param dy y delta of this step
-	 * @see org.jhotdraw.framework.Handle#invokeStep(int, int, org.jhotdraw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeStep(x, y, anchorX, anchorY, drawingView)
-	 */
-	public void invokeStep(int dx, int dy, Drawing drawing) {
-		getWrappedHandle().invokeStep(dx, dy, drawing);
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @param x the current x position
-	 * @param y the current y position
-	 * @param anchorX the x position where the interaction started
-	 * @param anchorY the y position where the interaction started
-	 * @see org.jhotdraw.framework.Handle#invokeEnd(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	public void invokeEnd(int x, int y, int anchorX, int anchorY, DrawingView view) {
-		getWrappedHandle().invokeEnd(x, y, anchorX, anchorY, view);
-
-		Undoable undoableActivity = getWrappedHandle().getUndoActivity();
-		if ((undoableActivity != null) && (undoableActivity.isUndoable())) {
-			view.editor().getUndoManager().pushUndo(undoableActivity);
-			view.editor().getUndoManager().clearRedos();
-		}
-	}
-
-	/**
-	 * Tracks the end of the interaction.
-	 * @see org.jhotdraw.framework.Handle#invokeEnd(int, int, org.jhotdraw.framework.Drawing)
-	 * @deprecated As of version 4.1,
-	 * use invokeEnd(x, y, anchorX, anchorY, drawingView).
-	 */
-	public void invokeEnd(int dx, int dy, Drawing drawing) {
-		getWrappedHandle().invokeEnd(dx, dy, drawing);
-	}
-
-	/**
-	 * Gets the handle's owner.
-	 * @see org.jhotdraw.framework.Handle#owner()
-	 */
-	public Figure owner() {
-		return getWrappedHandle().owner();
-	}
-
-	/**
-	 * Gets the display box of the handle.
-	 * @see org.jhotdraw.framework.Handle#displayBox()
-	 */
-	public Rectangle displayBox() {
-		return getWrappedHandle().displayBox();
-	}
-
-	/**
-	 * Tests if a point is contained in the handle.
-	 * @see org.jhotdraw.framework.Handle#containsPoint(int, int)
-	 */
-	public boolean containsPoint(int x, int y) {
-		return getWrappedHandle().containsPoint(x, y);
-	}
-
-	/**
-	 * Draws this handle.
-	 * @see org.jhotdraw.framework.Handle#draw(java.awt.Graphics)
-	 */
-	public void draw(Graphics g) {
-		getWrappedHandle().draw(g);
-	}
-
-	protected void setWrappedHandle(Handle newWrappedHandle) {
-		myWrappedHandle = newWrappedHandle;
-	}
-	
-	protected Handle getWrappedHandle() {
-		return myWrappedHandle;
-	}
-
-	/**
-	 * @deprecated attribute not required anymore
-	 */
-	public DrawingView getDrawingView() {
-		return myDrawingView;
-	}
-	
-	/**
-	 * @deprecated attribute not required anymore
-	 */
-	protected void setDrawingView(DrawingView newDrawingView) {
-		myDrawingView = newDrawingView;
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Handle#getUndoActivity()
-	 */
-	public Undoable getUndoActivity() {
-		return new UndoableAdapter(getDrawingView());
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Handle#setUndoActivity(org.jhotdraw.util.Undoable)
-	 */
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		// do nothing: always return default UndoableAdapter
-	}
-
-	/**
-	 * @see org.jhotdraw.framework.Handle#getCursor()
-	 */
-	public Cursor getCursor() {
-		return getWrappedHandle().getCursor();
-	}
-
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableTool.java b/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableTool.java
deleted file mode 100644
index c15bcea27..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/UndoableTool.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * @(#)UndoableTool.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import org.jhotdraw.framework.*;
-import org.jhotdraw.standard.AbstractTool;
-import java.awt.event.MouseEvent;
-import java.awt.event.KeyEvent;
-import java.util.EventObject;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class UndoableTool implements Tool, ToolListener {
-
-	private Tool myWrappedTool;
-	private AbstractTool.EventDispatcher myEventDispatcher;
-
-	public UndoableTool(Tool newWrappedTool) {
-		setEventDispatcher(createEventDispatcher());
-		setWrappedTool(newWrappedTool);
-		getWrappedTool().addToolListener(this);
-	}
-
-	/**
-	 * Activates the tool for the given view. This method is called
-	 * whenever the user switches to this tool. Use this method to
-	 * reinitialize a tool.
-	 */
-	public void activate() {
-		getWrappedTool().activate();
-	}
-
-	/**
-	 * Deactivates the tool. This method is called whenever the user
-	 * switches to another tool. Use this method to do some clean-up
-	 * when the tool is switched. Subclassers should always call
-	 * super.deactivate.
-	 */
-	public void deactivate() {
-		getWrappedTool().deactivate();
-		Undoable undoActivity = getWrappedTool().getUndoActivity();
-		if ((undoActivity != null) && (undoActivity.isUndoable())) {
-			editor().getUndoManager().pushUndo(undoActivity);
-			editor().getUndoManager().clearRedos();
-			// update menus
-			editor().figureSelectionChanged(getActiveView());
-		}
-	}
-
-	/**
-	 * Handles mouse down events in the drawing view.
-	 */
-	public void mouseDown(MouseEvent e, int x, int y) {
-		getWrappedTool().mouseDown(e, x, y);
-	}
-
-	/**
-	 * Handles mouse drag events in the drawing view.
-	 */
-	public void mouseDrag(MouseEvent e, int x, int y) {
-		getWrappedTool().mouseDrag(e, x, y);
-	}
-
-	/**
-	 * Handles mouse up in the drawing view. After the mouse button
-	 * has been released, the associated tool activity can be undone
-	 * if the associated tool supports the undo operation from the Undoable interface.
-	 *
-	 * @see org.jhotdraw.util.Undoable
-	 */
-	public void mouseUp(MouseEvent e, int x, int y) {
-		getWrappedTool().mouseUp(e, x, y);
-	}
-
-	/**
-	 * Handles mouse moves (if the mouse button is up).
-	 */
-	public void mouseMove(MouseEvent evt, int x, int y) {
-		getWrappedTool().mouseMove(evt, x, y);
-	}
-
-	/**
-	 * Handles key down events in the drawing view.
-	 */
-	public void keyDown(KeyEvent evt, int key) {
-		getWrappedTool().keyDown(evt, key);
-	}
-
-	public boolean isUsable() {
-		return getWrappedTool().isUsable();
-	}
-
-	public boolean isActive() {
-		// do not delegate but test whether this undoable tool is active
-		return editor().tool() == this;
-	}
-
-	public boolean isEnabled() {
-		return getWrappedTool().isEnabled();
-	}
-
-	public void setUsable(boolean newIsUsable) {
-		getWrappedTool().setUsable(newIsUsable);
-	}
-
-	public void setEnabled(boolean newIsEnabled) {
-		getWrappedTool().setEnabled(newIsEnabled);
-	}
-
-	protected void setWrappedTool(Tool newWrappedTool) {
-		myWrappedTool = newWrappedTool;
-	}
-
-	protected Tool getWrappedTool() {
-		return myWrappedTool;
-	}
-
-	public DrawingEditor editor() {
-		return getWrappedTool().editor();
-	}
-
-	public DrawingView view() {
-		return editor().view();
-	}
-
-	public Undoable getUndoActivity() {
-		return new UndoableAdapter(view());
-	}
-
-	public void setUndoActivity(Undoable newUndoableActivity) {
-		// do nothing: always return default UndoableAdapter
-	}
-
-	public void toolUsable(EventObject toolEvent) {
-		getEventDispatcher().fireToolUsableEvent();
-	}
-
-	public void toolUnusable(EventObject toolEvent) {
-		getEventDispatcher().fireToolUnusableEvent();
-	}
-
-	public void toolActivated(EventObject toolEvent) {
-		getEventDispatcher().fireToolActivatedEvent();
-	}
-
-	public void toolDeactivated(EventObject toolEvent) {
-		getEventDispatcher().fireToolDeactivatedEvent();
-	}
-
-	public void toolEnabled(EventObject toolEvent) {
-		getEventDispatcher().fireToolEnabledEvent();
-	}
-
-	public void toolDisabled(EventObject toolEvent) {
-		getEventDispatcher().fireToolDisabledEvent();
-	}
-
-	public void addToolListener(ToolListener newToolListener) {
-		getEventDispatcher().addToolListener(newToolListener);
-	}
-
-	public void removeToolListener(ToolListener oldToolListener) {
-		getEventDispatcher().removeToolListener(oldToolListener);
-	}
-
-	private void setEventDispatcher(AbstractTool.EventDispatcher newEventDispatcher) {
-		myEventDispatcher = newEventDispatcher;
-	}
-
-	protected AbstractTool.EventDispatcher getEventDispatcher() {
-		return myEventDispatcher;
-	}
-
-	public AbstractTool.EventDispatcher createEventDispatcher() {
-		return new AbstractTool.EventDispatcher(this);
-	}
-
-	public DrawingView getActiveView() {
-		return editor().view();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/VersionControlStrategy.java b/jhotdraw6/src/main/java/org/jhotdraw/util/VersionControlStrategy.java
deleted file mode 100644
index caa10b8b7..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/VersionControlStrategy.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * @(#)VersionControlStrategy.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface VersionControlStrategy {
-	/**
-	 * Define a strategy how to select those versions of JHotDraw
-	 * with which they are compatible.
-	 */
-	public void assertCompatibleVersion();
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/VersionManagement.java b/jhotdraw6/src/main/java/org/jhotdraw/util/VersionManagement.java
deleted file mode 100644
index 1cd541ecd..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/VersionManagement.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * @(#)VersionManagement.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.*;
-
-/**
- * Collection of utility methods that are useful for dealing with version information
- * retrieved from reading jar files or package loaded by the class manager. Some
- * methods also help comparing version information. The method getJHotDrawVersion()
- * can be used to retrieve the current version of JHotDraw as loaded by the class manager.
- *
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class VersionManagement {
-	public static String JHOTDRAW_COMPONENT = "org.jhotdraw/";
-	public static String JHOTDRAW_JAR = "jhotdraw.jar";
-	
-	public static Package[] packages = {
-			Package.getPackage("org.jhotdraw.applet"),
-			Package.getPackage("org.jhotdraw.application"),
-			Package.getPackage("org.jhotdraw.contrib"),
-			Package.getPackage("org.jhotdraw.figures"),
-			Package.getPackage("org.jhotdraw.framework"),
-			Package.getPackage("org.jhotdraw.standard"),
-			Package.getPackage("org.jhotdraw.util")
-		};
-
-	/**
-	 * Return the version of the main package of the framework. A version number is
-	 * available if there is a corresponding version entry in the JHotDraw jar file
-	 * for the framework package.
-	 */	
-	public static String getJHotDrawVersion() {
-		// look for the framework main package
-		Package pack = packages[4];
-		return pack.getSpecificationVersion();
-	}
-
-	/**
-	 *
-	 */
-	public static String getPackageVersion(final Package lookupPackage) {
-		if (lookupPackage == null) {
-			return null;
-		}
-		
-		String specVersion = lookupPackage.getSpecificationVersion();
-		if (specVersion != null) {
-			return specVersion;
-		}
-		else {
-			// search in parent package
-			String normalizedPackageName = normalizePackageName(lookupPackage.getName());
-			String nextPackageName = getNextPackage(normalizedPackageName);
-			return getPackageVersion(Package.getPackage(nextPackageName));
-		}
-	}
-
-	/**
-	 * Check whether a given application version is compatible with the version
-	 * of JHotDraw currently loaded in the Java VM. A version number is
-	 * available if there is a corresponding version entry in the JHotDraw jar file
-	 * for the framework package.
-	 */	
-	public static boolean isCompatibleVersion(String compareVersionString) {
-//		Package pack = VersionManagement.class.getPackage();
-		Package pack = packages[4];
-		if (compareVersionString == null) {
-			return pack.getSpecificationVersion() == null;
-		}
-		else {
-			return pack.isCompatibleWith(compareVersionString);
-		}
-	}
-
-	/**
-	 * Read the version information from a file with a given file name. The file
-	 * must be a jar manifest file and all its entries are searched for package names
-	 * and their specification version information. All information is collected
-	 * in a map for later lookup of package names and their versions.
-	 *
-	 * @param versionFileName name of the jar file containing version information
-	 */
-	public static String readVersionFromFile(String applicationName, String versionFileName) {
-		try {
-			FileInputStream fileInput = new FileInputStream(versionFileName);
-			Manifest manifest = new Manifest();
-			manifest.read(fileInput);
-
-			Map entries = manifest.getEntries();
-			// Now write out the pre-entry attributes
-			Iterator entryIterator = entries.entrySet().iterator();
-			while (entryIterator.hasNext()) {
-				Map.Entry currentEntry = (Map.Entry)entryIterator.next();
-				String packageName = currentEntry.getKey().toString();
-				packageName = normalizePackageName(packageName);
-				Attributes attributes = (Attributes)currentEntry.getValue();
-				String packageSpecVersion = attributes.getValue(Attributes.Name.SPECIFICATION_VERSION);
-				packageSpecVersion = extractVersionInfo(packageSpecVersion);
-				return packageSpecVersion;
-			}
-		}
-		catch (IOException exception) {
-			exception.printStackTrace();
-		}
-		
-		// no version found
-		return null;
-	}
-
-	/**
-	 * Get the super package of a package specifier. The super package is the package
-	 * specifier without the latest package name, e.g. the next package for "org.jhotdraw.tools"
-	 * would be "org.jhotdraw".
-	 *
-	 * @param searchPackage package specifier
-	 * @return next package if one is available, null otherwise
-	 */
-	protected static String getNextPackage(String searchPackage) {
-		if (searchPackage == null) {
-			return null;
-		}
-	
-		int foundNextPackage = searchPackage.lastIndexOf('.');
-		if (foundNextPackage > 0) {
-			return searchPackage.substring(0, foundNextPackage);
-		}
-		else {
-			return null;
-		}
-	}
-	
-	/**
-	 * A package name is normalized by replacing all path delimiters by "." to retrieve
-	 * a valid standardized package specifier used in package declarations in Java source
-	 * files.
-	 *
-	 * @param toBeNormalized package name to be normalized
-	 * @return normalized package name
-	 */
-	public static String normalizePackageName(String toBeNormalized) {
-		// first, replace the standard package delimiter used in jars
-		String replaced = toBeNormalized.replace('/', '.');
-		// then, replace the default path separator in case this one was used as well
-		replaced = replaced.replace(File.pathSeparatorChar, '.');
-		if (replaced.endsWith(".")) {
-			int lastSeparator = replaced.lastIndexOf('.');
-			return replaced.substring(0, lastSeparator);
-		}
-		else {
-			return replaced;
-		}
-	}
-
-	/**
-	 * Get the version information specified in a jar manifest file without
-	 * any leading or trailing "\"".
-	 *
-	 * @param versionString a version string with possibly leading or trailing "\""
-	 * @return stripped version information
-	 */
-	public static String extractVersionInfo(String versionString) {
-		// guarding conditions
-		if (versionString == null) {
-			return null;
-		}
-		if (versionString.length() == 0) {
-			return "";
-		}
-		
-		int startIndex = versionString.indexOf("\"");
-		if (startIndex < 0) {
-			startIndex = 0;
-		}
-		else {
-			// start from next character
-			startIndex++;
-		}
-		
-		int endIndex = versionString.lastIndexOf("\"");
-		if (endIndex < 0) {
-			endIndex = versionString.length();
-		}
-		
-		return versionString.substring(startIndex, endIndex);
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/VersionRequester.java b/jhotdraw6/src/main/java/org/jhotdraw/util/VersionRequester.java
deleted file mode 100644
index e0b3c4689..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/VersionRequester.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * @(#)VersionRequester.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public interface VersionRequester {
-	/**
-	 * Subclasses should override this method to specify to which versions of
-	 * JHotDraw they are compatible. A string array is returned so it is possible
-	 * to specify several version numbers of JHotDraw to which the application
-	 * is compatible with.
-	 *
-	 * @return all versions number of JHotDraw the application is compatible with.
-	 */
-	public abstract String[] getRequiredVersions();
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/CollectionsFactoryJDK11.java b/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/CollectionsFactoryJDK11.java
deleted file mode 100644
index bb057660e..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/CollectionsFactoryJDK11.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)CollectionsFactoryJDK11.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.util.collections.jdk11;
-
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CollectionsFactoryJDK11 extends CollectionsFactory {
-	public CollectionsFactoryJDK11() {
-		// required in order to create instances of this class via reflection
-	}
-
-	public List createList() {
-		return new ListWrapper();
-	}
-
-	public List createList(Collection initList) {
-		return new ListWrapper(initList);
-	}
-
-	public List createList(int initSize) {
-		return new ListWrapper(initSize);
-	}
-
-	public Map createMap() {
-		return new MapWrapper();
-	}
-
-	public Map createMap(Map initMap) {
-		return new MapWrapper(initMap);
-	}
-
-	public Set createSet() {
-		return new SetWrapper();
-	}
-
-	public Set createSet(Set initSet) {
-		return new SetWrapper(initSet);
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/IteratorWrapper.java b/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/IteratorWrapper.java
deleted file mode 100644
index 5ef42db0b..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/IteratorWrapper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * @(#)IteratorWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util.collections.jdk11;
-
-import java.util.Iterator;
-import java.util.Enumeration;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class IteratorWrapper implements Iterator {
-	private Enumeration myEnumeration;
-	public IteratorWrapper(Enumeration enumeration) {
-		myEnumeration = enumeration;
-	}
-
-	public boolean hasNext() {
-		return myEnumeration.hasMoreElements();
-	}
-
-	public Object next() {
-		return myEnumeration.nextElement();
-	}
-
-	public void remove() {
-		// do nothing or throw exception
-		//throw new UnsupportedOperationException();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/ListWrapper.java b/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/ListWrapper.java
deleted file mode 100644
index fb2b14ed8..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/ListWrapper.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)ListWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util.collections.jdk11;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class ListWrapper implements List {
-	private Vector myDelegee;
-
-	public ListWrapper() {
-		myDelegee = new Vector();
-	}
-
-	public ListWrapper(int initialSize) {
-		myDelegee = new Vector(initialSize);
-	}
-
-	public ListWrapper(Collection copyCollection) {
-		myDelegee = new Vector(copyCollection);
-	}
-
-	public int size() {
-		return myDelegee.size();
-	}
-
-	public boolean isEmpty() {
-		return myDelegee.isEmpty();
-	}
-
-	public boolean contains(Object o) {
-		return myDelegee.contains(o);
-	}
-
-	public Iterator iterator() {
-		return new IteratorWrapper(myDelegee.elements());
-	}
-
-	public Object[] toArray() {
-		return myDelegee.toArray();
-	}
-
-	public Object[] toArray(Object a[]) {
-		return myDelegee.toArray(a);
-	}
-
-	public boolean add(Object o) {
-		return myDelegee.add(o);
-	}
-
-	public boolean remove(Object o) {
-		return myDelegee.removeElement(o);
-	}
-
-	public boolean containsAll(Collection c) {
-		return myDelegee.containsAll(c);
-	}
-
-	public boolean addAll(Collection c) {
-		return myDelegee.addAll(c);
-	}
-
-	public boolean addAll(int index, Collection c) {
-		return myDelegee.addAll(index, c);
-	}
-
-	public boolean removeAll(Collection c) {
-		return myDelegee.removeAll(c);
-	}
-
-	public boolean retainAll(Collection c) {
-		return myDelegee.retainAll(c);
-	}
-
-	public void clear() {
-		myDelegee.clear();
-	}
-
-	public Object get(int index) {
-		return myDelegee.elementAt(index);
-	}
-
-	public Object set(int index, Object element) {
-		return myDelegee.set(index, element) ;
-	}
-
-	public void add(int index, Object element) {
-		myDelegee.add(index, element);
-	}
-
-	public Object remove(int index) {
-		return myDelegee.remove(index);
-	}
-
-	public int indexOf(Object o) {
-		return myDelegee.indexOf(o);
-	}
-
-	public int lastIndexOf(Object o) {
-		return myDelegee.lastIndexOf(o);
-	}
-
-	public ListIterator listIterator() {
-		return myDelegee.listIterator();
-	}
-
-	public ListIterator listIterator(int index) {
-		return myDelegee.listIterator(index);
-	}
-
-	public List subList(int fromIndex, int toIndex) {
-		return null;
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/MapWrapper.java b/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/MapWrapper.java
deleted file mode 100644
index e524bb2e9..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/MapWrapper.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * @(#)MapWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-
-package org.jhotdraw.util.collections.jdk11;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class MapWrapper implements Map {
-	private Map myDelegee;
-
-	public MapWrapper() {
-		myDelegee = new Hashtable();
-	}
-
-	public MapWrapper(Map copyMap) {
-		myDelegee = new Hashtable(copyMap);
-	}
-
-	public int size() {
-		return myDelegee.size();
-	}
-
-	public boolean isEmpty() {
-		return myDelegee.isEmpty();
-	}
-
-	public boolean containsKey(Object key) {
-		return myDelegee.containsKey(key);
-	}
-
-	public boolean containsValue(Object value) {
-		return myDelegee.containsKey(value);
-	}
-
-	public Object get(Object key) {
-		return myDelegee.get(key);
-	}
-
-	public Object put(Object key, Object value) {
-		return myDelegee.put(key, value);
-	}
-
-	public Object remove(Object key) {
-		return myDelegee.remove(key);
-	}
-
-	public void putAll(Map t) {
-		myDelegee.putAll(t);
-	}
-
-	public void clear() {
-		myDelegee.clear();
-	}
-
-	public Set keySet() {
-		return myDelegee.keySet();
-	}
-
-	public Collection values() {
-		return myDelegee.values();
-	}
-
-	public Set entrySet() {
-		return myDelegee.entrySet();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/SetWrapper.java b/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/SetWrapper.java
deleted file mode 100644
index e797be5ea..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk11/SetWrapper.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * @(#)SetWrapper.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.util.collections.jdk11;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class SetWrapper implements Set {
-	private Hashtable myDelegee;
-
-	public SetWrapper() {
-		myDelegee = new Hashtable();
-	}
-
-	public SetWrapper(Set initSet) {
-		myDelegee = new Hashtable();
-		Iterator iter = initSet.iterator();
-		while (iter.hasNext()) {
-			add(iter.next());
-		}
-	}
-
-	public int size() {
-		return myDelegee.size();
-	}
-
-	public boolean isEmpty() {
-		return myDelegee.isEmpty();
-	}
-
-	public boolean contains(Object o) {
-		return myDelegee.containsKey(o);
-	}
-
-	public Iterator iterator() {
-		return new IteratorWrapper(myDelegee.elements());
-	}
-
-	public Object[] toArray() {
-		return new Object[0];
-	}
-
-	public Object[] toArray(Object a[]) {
-		return new Object[0];
-	}
-
-	public boolean add(Object o) {
-		return myDelegee.put(o, o) == null;
-	}
-
-	public boolean remove(Object o) {
-		return myDelegee.remove(o) != null;
-	}
-
-	public boolean containsAll(Collection c) {
-		return false;
-	}
-
-	public boolean addAll(Collection c) {
-		return false;
-	}
-
-	public boolean retainAll(Collection c) {
-		return false;
-	}
-
-	public boolean removeAll(Collection c) {
-		return false;
-	}
-
-	public void clear() {
-		myDelegee.clear();
-	}
-}
diff --git a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk12/CollectionsFactoryJDK12.java b/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk12/CollectionsFactoryJDK12.java
deleted file mode 100644
index 8fed3c9d2..000000000
--- a/jhotdraw6/src/main/java/org/jhotdraw/util/collections/jdk12/CollectionsFactoryJDK12.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * @(#)CollectionsFactoryJDK12.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.util.collections.jdk12;
-
-import org.jhotdraw.util.CollectionsFactory;
-
-import java.util.*;
-
-/**
- * @author  Wolfram Kaiser <mrfloppy@users.sourceforge.net>
- * @version <$CURRENT_VERSION$>
- */
-public class CollectionsFactoryJDK12 extends CollectionsFactory {
-	public CollectionsFactoryJDK12() {
-		// required in order to create instances of this class via reflection
-	}
-
-	public List createList() {
-		return new ArrayList();
-	}
-
-	public List createList(Collection initList) {
-		return new ArrayList(initList);
-	}
-
-	public List createList(int initSize) {
-		return new ArrayList(initSize);
-	}
-
-	public Map createMap() {
-		return new Hashtable();
-	}
-
-	public Map createMap(Map initMap) {
-		return new Hashtable(initMap);
-	}
-
-	public Set createSet() {
-		return new HashSet();
-	}
-
-	public Set createSet(Set initSet) {
-		return new HashSet(initSet);
-	}
-}
diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/contrib.jdo b/jhotdraw6/src/main/resources/org/jhotdraw/contrib.jdo
deleted file mode 100644
index cdea47b17..000000000
--- a/jhotdraw6/src/main/resources/org/jhotdraw/contrib.jdo
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="org.jhotdraw.contrib">
-<!--
-    <class name="ComponentFigure">
-    </class>
--->
-    <class name="ChopDiamondConnector">
-    </class>
-    <class name="ChopPolygonConnector">
-    </class>
-    <class name="DiamondFigure">
-    </class>
-    <class name="GraphicalCompositeFigure">
-    </class>
-    <class name="PolygonFigure">
-    </class>
-    <class name="TextAreaFigure">
-    </class>
-    <class name="TriangleFigure">
-    </class>
-    <class name="SimpleLayouter">
-		<field name="myInsets">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="StandardLayouter">
-    </class>
-  </package>
-</jdo>
diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/figures.jdo b/jhotdraw6/src/main/resources/org/jhotdraw/figures.jdo
deleted file mode 100644
index f75f4162c..000000000
--- a/jhotdraw6/src/main/resources/org/jhotdraw/figures.jdo
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="org.jhotdraw.figures">
-    <class name="AttributeFigure">
-    </class>
-    <class name="ArrowTip">
-    </class>
-    <class name="ChopEllipseConnector">
-    </class>
-    <class name="ElbowConnection">
-    </class>
-    <class name="EllipseFigure">
-		<field name="fDisplayBox">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-		<field name="fPoints">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="FigureAttributes">
-		<field name="fMap">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="GroupFigure">
-    </class>
-    <class name="ImageFigure">
-    </class>
-    <class name="LineFigure">
-    </class>
-    <class name="NullConnector">
-    </class>
-    <class name="NullFigure">
-    </class>
-    <class name="NumberTextFigure">
-    </class>
-    <class name="PolyLineConnector">
-    </class>
-    <class name="PolyLineFigure">
-		<field name="fFrameColor">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="ShortestDistanceConnector">
-    </class>
-    <class name="RectangleFigure">
-		<field name="fDisplayBox">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-    <class name="RoundRectangleFigure">
-    </class>
-    <class name="TextFigure">
-		<field name="fFont">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
-    </class>
-  </package>
-</jdo>
diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/framework.jdo b/jhotdraw6/src/main/resources/org/jhotdraw/framework.jdo
deleted file mode 100644
index 3af8233ee..000000000
--- a/jhotdraw6/src/main/resources/org/jhotdraw/framework.jdo
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="org.jhotdraw.framework">
-    <class name="Figure">
-    </class>
-    <class name="FigureChangeListener">
-		<extension vendor-name="FastObjects" key="implementation" value="java.lang.Object"/>
-    </class>
-  </package>
-</jdo>
diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/TOBACK1.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/TOBACK1.gif
deleted file mode 100644
index 567e489b72e480d175b2157361e77f34ab9aaf35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 193
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQud+2bM;<_eTNT5$8)5~v@2W=TX!R6QQXa-*M-YAam@Mi_tDk`AH;;Eyj`ZU
z9pRZc!C-0o&euP40+X+LdCBc}SzU3*+xFaxEm3p-O6{Gy?9WeauP3{t{=Cb%y3{v1
gwcbc9IX2g^$)>|0&#}5++cRZqv+)cQK?VkE0EH1${{R30

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/TOBACK2.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/TOBACK2.gif
deleted file mode 100644
index 6917725772fb5159a45302490e4007968e91e5f0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 184
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlKY{-bM;;arIKAW+!}2&)fs26Tom0sC3w}jFPh~CPVCY@cg?}S$6aSxo0?DR
zSK+>Ss)@qOwGS;bemYf{hp+d6*rsUd$(th_GS(*FQ+ZQy<$GB7mJ+?by~Vj-)kVW9
V9cq(W(lhcqEgGZx*##LGtN|`bOXL6m

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/TOBACK3.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/TOBACK3.gif
deleted file mode 100644
index 0734a255fa3c12e374155bb0c5effe6db129004b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 195
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQt_d|bM;<_MV~Dq_%+%b(!CCp&C`6eFVcKv%-&l+a_S#m-nUMot4#Y@kj3J_
z^hdoeOO-FaJj^juj$0t?u-4?*C*Q4a&pN;1io~6e_O*x1nyyy=nq<67R^<G--KF*p
ifuZ$Ajp;3w2~ufYd9DRT*<RgKDl`gaNeVJBSOWmZtyEe7

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/TOFRONT1.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/TOFRONT1.gif
deleted file mode 100644
index e598010f002f95e097b07407e0dc4ca5290067b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 196
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu(35bM;<_eTNT5$8)5~v@2W=TX!R6QQXa-*M-YAtziD%ef_`#T``?$ZCbn;
zl1j3Pp8S(fI{)lA@G8^WNoxP$wG}>M%jI5dsoL9C*L&|=$df&8&rk0<t9$)vX0^Rg
ig?wmijgWC$nQK&9Prg&fL~W1M=_!(3vn2%?7_0%%2vd&$

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/TOFRONT2.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/TOFRONT2.gif
deleted file mode 100644
index aaa1758c47e6d990f9f4766d43c9a29d76230c75..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 185
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ}v(bM;;arIKAW+!}2&)fs26Tom0sC3w}jFPh~CR%|wi{y%R<wuj6u3rC*R
zr`)fcRGz(MzMESWtj5;PRMmR)L%@r_6Hjk3UUy1QbveVg6K7jbFPv&s^q1x17d0=D
X@CH+z<kpO!>Mlq1rU{aQ3=Gx)<a$m%

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/TOFRONT3.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/TOFRONT3.gif
deleted file mode 100644
index 7420d65229120749ee2d9e1486bdb6c65fb26c1b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 197
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQuU$1bM;<_MV~Dq_%+%b(!CCp&C`6eFVcKv%-&l+a_STHw;77Obvv`P;OL@r
zN2LGedG}uqU+F48qf5KOwJP%Xlk2ytW}bhM>vd*c<7UTaw_dG2Zd)8#TXOuFYPGFH
j5r<BrLUToHd}^9%muEpsPI6uM6c@>Y*&^(M3=Gx)s%TZQ

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/TRIANGLE1.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/TRIANGLE1.gif
deleted file mode 100644
index d3e40b57d567538f6daf9e555ea1dcb581595cd4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 192
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu?96bM;<_eTR3;`9CY<Fv^wr(D3F}mwRPjiR|oGE4C^4JkppQFin`R(d@v1
z=Zb9BUe_l*`{Gim9e*`LdD^}Q8*cp6n0-FOWK#6)YctN8`m+8%`)tiFX)WHsr}DM7
fh2=sKHU`lW-DR#h%6`d{k|evQiLnbZFjxZsl^9UM

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/TRIANGLE2.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/TRIANGLE2.gif
deleted file mode 100644
index b6a48fdbe47c51d90395eef9902b26465af45c4b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 181
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhlJ%j%bM;;arIKCW4@{_4*f8;-@rpG+eAPA2Pda(><*P+zZ>P^*P~h?8K%V`r
zz>`uRlh%iQ?wsOLdYMn>r?uGr!>Z+Ka>2Xz8NGXGGr2T3K~$yp`hr{8VYitR|7-cB
UO0?8eq(zywbc?VHGB8*J0ORmZ@&Et;

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/TRIANGLE3.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/TRIANGLE3.gif
deleted file mode 100644
index 6fbdab7df54ee05e19389064b599f127fa7a21b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n+QhQu3j}bM;<_MW1)PKQOs;iFvMyflc=5O$#{}#K+#dl;i#0>e_PIycvrH`&|{)
z-FWyyH!NExQna&fK_*}EM9HZ^Efqd`vjx?cSn;xLp3l7OEpJVt{g)}B^JYC<Wvf(N
dR}p4gQ_|38SJ9H?RGDio88cOkU66sn8UR={OnCqR

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/URL1.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/URL1.gif
deleted file mode 100644
index 18fecf8b5402640df3d39a92367d0d6f0c22d2f5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 222
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ4RaStOExQG&D5)XJBCX&+s2i{RgxD|NpN8
z(gD)zz%uzmgXikK4tA9l-(qhlp4ifQrdi;G+lm~ISuz>j$9d-bn7D5C)HPdPOIBOm
z`#57ws>WRYbvt<kIh0nta8G!$E^^VNk5(~>OFpz5$=iMZWP6R@`s+viPO4<()Xl32
z%5tqYYjQTJs*$U1_OjrasF~K`Y8&GiF||KNB_)kxc68cgeeF!;3XPc=3;PN-<oio(
L5oZ@<V6X-Ncz|8<

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/URL2.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/URL2.gif
deleted file mode 100644
index b328f34f69ecd307f0bcd83c4f944fa77108a87f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 216
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ4RaStOExQG&D5)XJBCX&+s2i{RgxD|NpN8
z(gD)zz|#An!E^Oq2c?pf^H;9-%5Rvc{8@pecms>&+>BgrwerO-Hs^MUJS=>%mSfAM
zw39hjmJSoujkmhmUe$S(6}+)yO+4RISE2Sb4|0x&+1>Zc+g-M_N$t{G32vdluO?-Y
z^+weeLFFwLp0PZA=}A2*sR?#@rm50Ah8`0gW%YE^-93xgwe&MQ<_Alx6K5A>V6X-N
DBkohz

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/URL3.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/URL3.gif
deleted file mode 100644
index cae0fdfbfda19073ee60e002c714f17fd0a8da03..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 230
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ4RaStOExQG&D5)XJBCX&+s2i{RgxD|NpN8
z(gD)zz%u(ogXikK4vRh?n4EB}Rz;mL`lkWElY-vDsll&Wh09l`XRYc{@OE<k%jX>a
zy7j@;zC9~mT5`Qy<@Y#!)83#>b`L%^3;1qTJJ#rMV_U%4VhJz(L+^g<kqevrtG-r2
z*<3PBt5HcVzA2z1F1D>fqn>?gcJ8FYKpii3y_vJUjSQ!%G^)(em(SHpTrR^igJF$N
T`{dFc%hV<Ih_MSYFjxZsJRDuP

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/ZOOM1.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/ZOOM1.gif
deleted file mode 100644
index 19846a6b4d508c26a6eab125e89211221bcf8337..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 149
zcmZ?wbhEHblwgoxc+3C-`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|F8Iu
z&o?n8RiQkyBtya7(>H)Y2V@4wGzJ!n4<|fV@3nY+cK3gAg{}oGHX2+F>9f|wy|yb*
l-)&mH|Ngp7#zNUHI-zcETt=BfM$^yB6nm|WG8bg91^^%4H`f3F

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/ZOOM2.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/ZOOM2.gif
deleted file mode 100644
index 6f98416d189b60f397f6dadb8cdf7ee998840895..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 130
zcmZ?wbhEHblwgoxc+3C-`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBV*cTT=jy!{ug~uOufWlhT*2T!i)qoTO>(c+&9^x`_wP01v-@{QWM(Xy&^1~4
TQ%IE7#Is9FypFmsFjxZs#+5ei

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/ZOOM3.gif b/jhotdraw6/src/main/resources/org/jhotdraw/images/ZOOM3.gif
deleted file mode 100644
index c512db3d8d2c620a556c77fbb02cf5e5ed420c0f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 949
zcmZ?wbh9u|lwgox_|5<V`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|L?}Y
zz>r$Zz_8!p`+iOi1_nk31_qXQVGRHO|Nmd3<<|r<kZHmnkYNmm-i9%BybWUzvH!lG
znSp`fx8wKy6Q=yx|LQD+KJqb)VgK7OkQRmvD6KR<f?>(qFos9M-}lEeGB6w!`o5nb
zGmIhOPx8TKdO!Cgi!Uf-VBlb2V9*KtzMt8dfdOP5$gny3nIMWmVSWU|57q!T#}H#9
zhPPqPRxu3w#W#Q7&%odSmIt}%4{HE}6$1lE9fQY*FoxSApX*`rAUO`v&-FYP{?>!o
zh6<m-^s##o8e|9yBLhS3z0dU)AHo>se1Z4{WL}#%NEU*b7`P8JFt9OLGB7YO#yT+Y
zeGOx1c^Ag;xbpXYmL(e+8JHNrVjww?8heHfjXT~!%mcAOYL3J>FxbR8FdTRn#$a^u
zJ6IpcK7p@c3@2h77)lrz7(i-4`atG^_#k<Z3(mX?V*rW0co)Vn_d3Xb3=9nK!x-+c
zq&9-g1%)k$|8K!}l<)z$1!Q)?r!WSPIv2F?0m;F_2gC-24~SO3_ql%h2XI(4Sp5IK
zAH?<v2w?z)H^@DpG~<z9;!>1Y9#dSD9OLW}lR4*o7=r}^149J^1H%Mg2Zo7@A@RiF
z=KvN5>Ei*%n*&%L#0O!JA3);BW=AZA=>7ly|8oTf28OkZzwh@E;{c~oP|WifBs4M@
zBs3~)O=(p8$pSKlK?g*F@&p6NBnEi~36Bj64mLBeC`Fvuu<&p@2b+?`hlWK*yCn3p
zrp(y5*sY(5(TC;dMwR2;Y@SI|IzBaePv`Uwv(fyp^z00U$a7nM3N@TzHWB``Ml)Fb
z!a}BcHrKAti!aVHubs5SQ*dF(a;5rnG8sWjyt-L7_FdtclI^xC{_wgpzrN-KZ%MJX
Z>)m}(`|g~a_jx>-TlEjJGcqz*0|2%6KxF^`

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/images/pspbrwse.jbf b/jhotdraw6/src/main/resources/org/jhotdraw/images/pspbrwse.jbf
deleted file mode 100644
index 412902ade2fab1b81d220a2717e8c91f2685093e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21230
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
F1OVlMK6?NF

diff --git a/jhotdraw6/src/main/resources/org/jhotdraw/standard.jdo b/jhotdraw6/src/main/resources/org/jhotdraw/standard.jdo
deleted file mode 100644
index 219344b1e..000000000
--- a/jhotdraw6/src/main/resources/org/jhotdraw/standard.jdo
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE jdo SYSTEM "jdo.dtd">
-<jdo>
-  <package name="org.jhotdraw.standard">
-    <class name="AbstractFigure">
-		<field name="fListener" persistence-modifier="persistent">
-		</field>
-    </class>
-    <class name="CompositeFigure">
-<!--
-		<field name="fFigures">
-			<extension vendor-name="FastObjects" key="serialized" value="true"/>
-		</field>
--->
-    </class>
-    <class name="ChopBoxConnector">
-    </class>
-    <class name="DecoratorFigure">
-    </class>
-    <class name="LocatorConnector">
-    </class>
-    <class name="PeripheralLocator">
-    </class>
-    <class name="OffsetLocator">
-    </class>
-    <class name="RelativeLocator">
-    </class>
-    <class name="StandardDrawing">
-    </class>
-  </package>
-</jdo>
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/AllTests.java
deleted file mode 100644
index 2106f0144..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/AllTests.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test");
-		//$JUnit-BEGIN$
-		
-		suite.addTest(org.jhotdraw.test.contrib.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.figures.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.framework.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.samples.javadraw.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.samples.minimap.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.samples.net.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.samples.nothing.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.samples.pert.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.standard.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.util.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.util.collections.jdk11.AllTests.suite());
-		suite.addTest(org.jhotdraw.test.util.collections.jdk12.AllTests.suite());
-		
-
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/JHDTestCase.java b/jhotdraw6/src/test/java/org/jhotdraw/test/JHDTestCase.java
deleted file mode 100644
index 72f6a2677..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/JHDTestCase.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test;
-
-import junit.framework.TestCase;
-import org.jhotdraw.application.DrawApplication;
-import org.jhotdraw.samples.javadraw.JavaDrawApp;
-
-public class JHDTestCase extends TestCase {
-	public JavaDrawApp myDrawingEditor;
-	
-	public JHDTestCase(String name) {
-		super(name);
-	}
-	
-	protected void setUp() throws Exception {
-		myDrawingEditor = new JavaDrawApp("TestApplication");
-	}
-	
-	protected void tearDown() throws Exception {
-		myDrawingEditor.setVisible(false);
-		myDrawingEditor = null;
-	}
-	
-	public DrawApplication getDrawingEditor() {
-		return myDrawingEditor;
-	}
-	
-	/**
-	 * Some tests might want start from scratch with a new DrawingEditor
-	 * (to avoid side-effects from previous test)
-	 */
-	public JavaDrawApp createNewDrawingEditor() {
-		return new JavaDrawApp("TestApplication");
-	}
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/AllTests.java
deleted file mode 100644
index 998161e95..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/AllTests.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * @(#)AllTests.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.contrib");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(CTXCommandMenuTest.class));
-		suite.addTest(new TestSuite(CTXWindowMenuTest.class));
-		suite.addTest(new TestSuite(ChopDiamondConnectorTest.class));
-		suite.addTest(new TestSuite(ChopPolygonConnectorTest.class));
-		suite.addTest(new TestSuite(ClippingUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(CommandCheckBoxMenuItemTest.class));
-		suite.addTest(new TestSuite(CommandMenuItemTest.class));
-		suite.addTest(new TestSuite(ComponentFigureTest.class));
-		suite.addTest(new TestSuite(CompositeFigureCreationToolTest.class));
-		suite.addTest(new TestSuite(CustomSelectionToolTest.class));
-		suite.addTest(new TestSuite(CustomToolBarTest.class));
-		suite.addTest(new TestSuite(DesktopEventServiceTest.class));
-		suite.addTest(new TestSuite(DiamondFigureTest.class));
-		suite.addTest(new TestSuite(FloatingTextAreaTest.class));
-		suite.addTest(new TestSuite(GraphicalCompositeFigureTest.class));
-		suite.addTest(new TestSuite(HelperTest.class));
-		suite.addTest(new TestSuite(JPanelDesktopTest.class));
-		suite.addTest(new TestSuite(JScrollPaneDesktopTest.class));
-		suite.addTest(new TestSuite(MDIDesktopPaneTest.class));
-		suite.addTest(new TestSuite(MDI_DrawApplicationTest.class));
-		suite.addTest(new TestSuite(MiniMapViewTest.class));
-		suite.addTest(new TestSuite(NestedCreationToolTest.class));
-		suite.addTest(new TestSuite(PolygonFigureTest.class));
-		suite.addTest(new TestSuite(PolygonHandleTest.class));
-		suite.addTest(new TestSuite(PolygonToolTest.class));
-		suite.addTest(new TestSuite(SVGDrawAppTest.class));
-		suite.addTest(new TestSuite(SVGStorageFormatTest.class));
-		suite.addTest(new TestSuite(SimpleLayouterTest.class));
-		suite.addTest(new TestSuite(SplitConnectionToolTest.class));
-		suite.addTest(new TestSuite(StandardLayouterTest.class));
-		suite.addTest(new TestSuite(TextAreaFigureTest.class));
-		suite.addTest(new TestSuite(TextAreaToolTest.class));
-		suite.addTest(new TestSuite(TriangleFigureTest.class));
-		suite.addTest(new TestSuite(WindowMenuTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CTXCommandMenuTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CTXCommandMenuTest.java
deleted file mode 100644
index 2971e442d..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CTXCommandMenuTest.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.CTXCommandMenu;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CTXCommandMenuTest is generated by
- * JUnitDoclet to hold the tests for CTXCommandMenu.
- * @see org.jhotdraw.contrib.CTXCommandMenu
- */
-// JUnitDoclet end javadoc_class
-public class CTXCommandMenuTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CTXCommandMenu ctxcommandmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CTXCommandMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CTXCommandMenuTest(String name) {
-		// JUnitDoclet begin method CTXCommandMenuTest
-		super(name);
-		// JUnitDoclet end method CTXCommandMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CTXCommandMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CTXCommandMenu("TestCTXCommandMenu");
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ctxcommandmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ctxcommandmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.contrib.CTXCommandMenu#add(org.jhotdraw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method addCheckItem()
-	/**
-	 * Method testAddCheckItem is testing addCheckItem
-	 * @see org.jhotdraw.contrib.CTXCommandMenu#addCheckItem(org.jhotdraw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method addCheckItem()
-	public void testAddCheckItem() throws Exception {
-		// JUnitDoclet begin method addCheckItem
-		// JUnitDoclet end method addCheckItem
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.contrib.CTXCommandMenu#remove(org.jhotdraw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method enable()
-	/**
-	 * Method testEnable is testing enable
-	 * @see org.jhotdraw.contrib.CTXCommandMenu#enable(java.lang.String, boolean)
-	 */
-	// JUnitDoclet end javadoc_method enable()
-	public void testEnable() throws Exception {
-		// JUnitDoclet begin method enable
-		// JUnitDoclet end method enable
-	}
-
-	// JUnitDoclet begin javadoc_method checkEnabled()
-	/**
-	 * Method testCheckEnabled is testing checkEnabled
-	 * @see org.jhotdraw.contrib.CTXCommandMenu#checkEnabled()
-	 */
-	// JUnitDoclet end javadoc_method checkEnabled()
-	public void testCheckEnabled() throws Exception {
-		// JUnitDoclet begin method checkEnabled
-		// JUnitDoclet end method checkEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see org.jhotdraw.contrib.CTXCommandMenu#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecuted()
-	/**
-	 * Method testCommandExecuted is testing commandExecuted
-	 * @see org.jhotdraw.contrib.CTXCommandMenu#commandExecuted(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecuted()
-	public void testCommandExecuted() throws Exception {
-		// JUnitDoclet begin method commandExecuted
-		// JUnitDoclet end method commandExecuted
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecutable()
-	/**
-	 * Method testCommandExecutable is testing commandExecutable
-	 * @see org.jhotdraw.contrib.CTXCommandMenu#commandExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecutable()
-	public void testCommandExecutable() throws Exception {
-		// JUnitDoclet begin method commandExecutable
-		// JUnitDoclet end method commandExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method commandNotExecutable()
-	/**
-	 * Method testCommandNotExecutable is testing commandNotExecutable
-	 * @see org.jhotdraw.contrib.CTXCommandMenu#commandNotExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandNotExecutable()
-	public void testCommandNotExecutable() throws Exception {
-		// JUnitDoclet begin method commandNotExecutable
-		// JUnitDoclet end method commandNotExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CTXWindowMenuTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CTXWindowMenuTest.java
deleted file mode 100644
index 996be1afb..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CTXWindowMenuTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.application.DrawApplication;
-import org.jhotdraw.contrib.CTXWindowMenu;
-import org.jhotdraw.contrib.MDIDesktopPane;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CTXWindowMenuTest is generated by
- * JUnitDoclet to hold the tests for CTXWindowMenu.
- * @see org.jhotdraw.contrib.CTXWindowMenu
- */
-// JUnitDoclet end javadoc_class
-public class CTXWindowMenuTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CTXWindowMenu ctxwindowmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CTXWindowMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CTXWindowMenuTest(String name) {
-		// JUnitDoclet begin method CTXWindowMenuTest
-		super(name);
-		// JUnitDoclet end method CTXWindowMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CTXWindowMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		MDIDesktopPane desktop = (MDIDesktopPane) (((DrawApplication)getDrawingEditor()).getDesktop());
-		return new CTXWindowMenu("TestCTXWindowMenu", desktop, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ctxwindowmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ctxwindowmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ChopDiamondConnectorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ChopDiamondConnectorTest.java
deleted file mode 100644
index 5d4ca381d..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ChopDiamondConnectorTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.ChopDiamondConnector;
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopDiamondConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopDiamondConnector.
- * @see org.jhotdraw.contrib.ChopDiamondConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopDiamondConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopDiamondConnector chopdiamondconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopDiamondConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopDiamondConnectorTest(String name) {
-		// JUnitDoclet begin method ChopDiamondConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopDiamondConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ChopDiamondConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ChopDiamondConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		chopdiamondconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		chopdiamondconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ChopPolygonConnectorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ChopPolygonConnectorTest.java
deleted file mode 100644
index f54019191..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ChopPolygonConnectorTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.ChopPolygonConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopPolygonConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopPolygonConnector.
- * @see org.jhotdraw.contrib.ChopPolygonConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopPolygonConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopPolygonConnector choppolygonconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopPolygonConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopPolygonConnectorTest(String name) {
-		// JUnitDoclet begin method ChopPolygonConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopPolygonConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ChopPolygonConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ChopPolygonConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		choppolygonconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		choppolygonconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ClippingUpdateStrategyTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ClippingUpdateStrategyTest.java
deleted file mode 100644
index 799003ead..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ClippingUpdateStrategyTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.ClippingUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ClippingUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for ClippingUpdateStrategy.
- * @see org.jhotdraw.contrib.ClippingUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class ClippingUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ClippingUpdateStrategy clippingupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ClippingUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ClippingUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method ClippingUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method ClippingUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ClippingUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ClippingUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		clippingupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		clippingupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.contrib.ClippingUpdateStrategy#draw(java.awt.Graphics, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CommandCheckBoxMenuItemTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CommandCheckBoxMenuItemTest.java
deleted file mode 100644
index a56e25f9a..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CommandCheckBoxMenuItemTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.CommandCheckBoxMenuItem;
-import org.jhotdraw.standard.DeleteCommand;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.Command;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandCheckBoxMenuItemTest is generated by
- * JUnitDoclet to hold the tests for CommandCheckBoxMenuItem.
- * @see org.jhotdraw.contrib.CommandCheckBoxMenuItem
- */
-// JUnitDoclet end javadoc_class
-public class CommandCheckBoxMenuItemTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandCheckBoxMenuItem commandcheckboxmenuitem;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandCheckBoxMenuItemTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandCheckBoxMenuItemTest(String name) {
-		// JUnitDoclet begin method CommandCheckBoxMenuItemTest
-		super(name);
-		// JUnitDoclet end method CommandCheckBoxMenuItemTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CommandCheckBoxMenuItem createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Command cmd = new DeleteCommand("TestDelete", getDrawingEditor());
-		return new CommandCheckBoxMenuItem(cmd);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandcheckboxmenuitem = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandcheckboxmenuitem = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setCommand()
-	/**
-	 * Method testSetGetCommand is testing setCommand
-	 * and getCommand together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.CommandCheckBoxMenuItem#setCommand(org.jhotdraw.util.Command)
-	 * @see org.jhotdraw.contrib.CommandCheckBoxMenuItem#getCommand()
-	 */
-	// JUnitDoclet end javadoc_method setCommand()
-	public void testSetGetCommand() throws Exception {
-		// JUnitDoclet begin method setCommand getCommand
-		org.jhotdraw.util.Command[] tests = { new DeleteCommand("TestDelete", getDrawingEditor()), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			commandcheckboxmenuitem.setCommand(tests[i]);
-			assertEquals(tests[i], commandcheckboxmenuitem.getCommand());
-		}
-		// JUnitDoclet end method setCommand getCommand
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CommandMenuItemTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CommandMenuItemTest.java
deleted file mode 100644
index c39b46472..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CommandMenuItemTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.CommandMenuItem;
-import org.jhotdraw.standard.DeleteCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandMenuItemTest is generated by
- * JUnitDoclet to hold the tests for CommandMenuItem.
- * @see org.jhotdraw.contrib.CommandMenuItem
- */
-// JUnitDoclet end javadoc_class
-public class CommandMenuItemTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandMenuItem commandmenuitem;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandMenuItemTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandMenuItemTest(String name) {
-		// JUnitDoclet begin method CommandMenuItemTest
-		super(name);
-		// JUnitDoclet end method CommandMenuItemTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CommandMenuItem createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CommandMenuItem(new DeleteCommand("TestDelete", getDrawingEditor()));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandmenuitem = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandmenuitem = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setCommand()
-	/**
-	 * Method testSetGetCommand is testing setCommand
-	 * and getCommand together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.CommandMenuItem#setCommand(org.jhotdraw.util.Command)
-	 * @see org.jhotdraw.contrib.CommandMenuItem#getCommand()
-	 */
-	// JUnitDoclet end javadoc_method setCommand()
-	public void testSetGetCommand() throws Exception {
-		org.jhotdraw.util.Command[] tests = { new DeleteCommand("TestDelete", getDrawingEditor()), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			commandmenuitem.setCommand(tests[i]);
-			assertEquals(tests[i], commandmenuitem.getCommand());
-		}
-		// JUnitDoclet begin method setCommand getCommand
-		// JUnitDoclet end method setCommand getCommand
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see org.jhotdraw.contrib.CommandMenuItem#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ComponentFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ComponentFigureTest.java
deleted file mode 100644
index 6e4780616..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/ComponentFigureTest.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import javax.swing.JButton;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.ComponentFigure;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ComponentFigureTest is generated by
- * JUnitDoclet to hold the tests for ComponentFigure.
- * @see org.jhotdraw.contrib.ComponentFigure
- */
-// JUnitDoclet end javadoc_class
-public class ComponentFigureTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ComponentFigure componentfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ComponentFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ComponentFigureTest(String name) {
-		// JUnitDoclet begin method ComponentFigureTest
-		super(name);
-		// JUnitDoclet end method ComponentFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ComponentFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ComponentFigure(new JButton("TestComponent"));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		componentfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		componentfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.contrib.ComponentFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.contrib.ComponentFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.contrib.ComponentFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method getComponent()
-	/**
-	 * Method testGetComponent is testing getComponent
-	 * @see org.jhotdraw.contrib.ComponentFigure#getComponent()
-	 */
-	// JUnitDoclet end javadoc_method getComponent()
-	public void testGetComponent() throws Exception {
-		// JUnitDoclet begin method getComponent
-		// JUnitDoclet end method getComponent
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.contrib.ComponentFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CompositeFigureCreationToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CompositeFigureCreationToolTest.java
deleted file mode 100644
index d645d8bd8..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CompositeFigureCreationToolTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.CompositeFigureCreationTool;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CompositeFigureCreationToolTest is generated by
- * JUnitDoclet to hold the tests for CompositeFigureCreationTool.
- * @see org.jhotdraw.contrib.CompositeFigureCreationTool
- */
-// JUnitDoclet end javadoc_class
-public class CompositeFigureCreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CompositeFigureCreationTool compositefigurecreationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CompositeFigureCreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CompositeFigureCreationToolTest(String name) {
-		// JUnitDoclet begin method CompositeFigureCreationToolTest
-		super(name);
-		// JUnitDoclet end method CompositeFigureCreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CompositeFigureCreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CompositeFigureCreationTool(getDrawingEditor(), new RectangleFigure());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		compositefigurecreationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		compositefigurecreationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.contrib.CompositeFigureCreationTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see org.jhotdraw.contrib.CompositeFigureCreationTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.contrib.CompositeFigureCreationTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method getContainerFigure()
-	/**
-	 * Method testGetContainerFigure is testing getContainerFigure
-	 * @see org.jhotdraw.contrib.CompositeFigureCreationTool#getContainerFigure()
-	 */
-	// JUnitDoclet end javadoc_method getContainerFigure()
-	public void testGetContainerFigure() throws Exception {
-		// JUnitDoclet begin method getContainerFigure
-		// JUnitDoclet end method getContainerFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CustomSelectionToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CustomSelectionToolTest.java
deleted file mode 100644
index 90b2dad53..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CustomSelectionToolTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.CustomSelectionTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CustomSelectionToolTest is generated by
- * JUnitDoclet to hold the tests for CustomSelectionTool.
- * @see org.jhotdraw.contrib.CustomSelectionTool
- */
-// JUnitDoclet end javadoc_class
-public class CustomSelectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CustomSelectionTool customselectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CustomSelectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CustomSelectionToolTest(String name) {
-		// JUnitDoclet begin method CustomSelectionToolTest
-		super(name);
-		// JUnitDoclet end method CustomSelectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CustomSelectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CustomSelectionTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		customselectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		customselectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.contrib.CustomSelectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.contrib.CustomSelectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.contrib.CustomSelectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CustomToolBarTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CustomToolBarTest.java
deleted file mode 100644
index 7d1287ad0..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/CustomToolBarTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.CustomToolBar;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CustomToolBarTest is generated by
- * JUnitDoclet to hold the tests for CustomToolBar.
- * @see org.jhotdraw.contrib.CustomToolBar
- */
-// JUnitDoclet end javadoc_class
-public class CustomToolBarTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CustomToolBar customtoolbar;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CustomToolBarTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CustomToolBarTest(String name) {
-		// JUnitDoclet begin method CustomToolBarTest
-		super(name);
-		// JUnitDoclet end method CustomToolBarTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CustomToolBar createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CustomToolBar();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		customtoolbar = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		customtoolbar = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method switchToolBar()
-	/**
-	 * Method testSwitchToolBar is testing switchToolBar
-	 * @see org.jhotdraw.contrib.CustomToolBar#switchToolBar()
-	 */
-	// JUnitDoclet end javadoc_method switchToolBar()
-	public void testSwitchToolBar() throws Exception {
-		// JUnitDoclet begin method switchToolBar
-		// JUnitDoclet end method switchToolBar
-	}
-
-	// JUnitDoclet begin javadoc_method switchToEditTools()
-	/**
-	 * Method testSwitchToEditTools is testing switchToEditTools
-	 * @see org.jhotdraw.contrib.CustomToolBar#switchToEditTools()
-	 */
-	// JUnitDoclet end javadoc_method switchToEditTools()
-	public void testSwitchToEditTools() throws Exception {
-		// JUnitDoclet begin method switchToEditTools
-		// JUnitDoclet end method switchToEditTools
-	}
-
-	// JUnitDoclet begin javadoc_method switchToStandardTools()
-	/**
-	 * Method testSwitchToStandardTools is testing switchToStandardTools
-	 * @see org.jhotdraw.contrib.CustomToolBar#switchToStandardTools()
-	 */
-	// JUnitDoclet end javadoc_method switchToStandardTools()
-	public void testSwitchToStandardTools() throws Exception {
-		// JUnitDoclet begin method switchToStandardTools
-		// JUnitDoclet end method switchToStandardTools
-	}
-
-	// JUnitDoclet begin javadoc_method activateTools()
-	/**
-	 * Method testActivateTools is testing activateTools
-	 * @see org.jhotdraw.contrib.CustomToolBar#activateTools()
-	 */
-	// JUnitDoclet end javadoc_method activateTools()
-	public void testActivateTools() throws Exception {
-		// JUnitDoclet begin method activateTools
-		// JUnitDoclet end method activateTools
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.contrib.CustomToolBar#add(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/DesktopEventServiceTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/DesktopEventServiceTest.java
deleted file mode 100644
index 9e36bf065..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/DesktopEventServiceTest.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import java.awt.Container;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.Desktop;
-import org.jhotdraw.contrib.DesktopEventService;
-import org.jhotdraw.contrib.JPanelDesktop;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DesktopEventServiceTest is generated by
- * JUnitDoclet to hold the tests for DesktopEventService.
- * @see org.jhotdraw.contrib.DesktopEventService
- */
-// JUnitDoclet end javadoc_class
-public class DesktopEventServiceTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DesktopEventService desktopeventservice;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DesktopEventServiceTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DesktopEventServiceTest(String name) {
-		// JUnitDoclet begin method DesktopEventServiceTest
-		super(name);
-		// JUnitDoclet end method DesktopEventServiceTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DesktopEventService createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Desktop desktop = new JPanelDesktop(getDrawingEditor());
-		return new DesktopEventService(desktop, ((Container)desktop));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		desktopeventservice = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-		
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		desktopeventservice = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addComponent()
-	/**
-	 * Method testAddComponent is testing addComponent
-	 * @see org.jhotdraw.contrib.DesktopEventService#addComponent(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method addComponent()
-	public void testAddComponent() throws Exception {
-		// JUnitDoclet begin method addComponent
-		// JUnitDoclet end method addComponent
-	}
-
-	// JUnitDoclet begin javadoc_method removeComponent()
-	/**
-	 * Method testRemoveComponent is testing removeComponent
-	 * @see org.jhotdraw.contrib.DesktopEventService#removeComponent(org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method removeComponent()
-	public void testRemoveComponent() throws Exception {
-		// JUnitDoclet begin method removeComponent
-		// JUnitDoclet end method removeComponent
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllComponents()
-	/**
-	 * Method testRemoveAllComponents is testing removeAllComponents
-	 * @see org.jhotdraw.contrib.DesktopEventService#removeAllComponents()
-	 */
-	// JUnitDoclet end javadoc_method removeAllComponents()
-	public void testRemoveAllComponents() throws Exception {
-		// JUnitDoclet begin method removeAllComponents
-		// JUnitDoclet end method removeAllComponents
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see org.jhotdraw.contrib.DesktopEventService#addDesktopListener(org.jhotdraw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see org.jhotdraw.contrib.DesktopEventService#removeDesktopListener(org.jhotdraw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingViews()
-	/**
-	 * Method testGetDrawingViews is testing getDrawingViews
-	 * @see org.jhotdraw.contrib.DesktopEventService#getDrawingViews(java.awt.Component[])
-	 */
-	// JUnitDoclet end javadoc_method getDrawingViews()
-	public void testGetDrawingViews() throws Exception {
-		// JUnitDoclet begin method getDrawingViews
-		// JUnitDoclet end method getDrawingViews
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see org.jhotdraw.contrib.DesktopEventService#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-		
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/DiamondFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/DiamondFigureTest.java
deleted file mode 100644
index bb6925986..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/DiamondFigureTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.DiamondFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DiamondFigureTest is generated by
- * JUnitDoclet to hold the tests for DiamondFigure.
- * @see org.jhotdraw.contrib.DiamondFigure
- */
-// JUnitDoclet end javadoc_class
-public class DiamondFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DiamondFigure diamondfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DiamondFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DiamondFigureTest(String name) {
-		// JUnitDoclet begin method DiamondFigureTest
-		super(name);
-		// JUnitDoclet end method DiamondFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DiamondFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new DiamondFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		diamondfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		diamondfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.contrib.DiamondFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see org.jhotdraw.contrib.DiamondFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see org.jhotdraw.contrib.DiamondFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method chop()
-	/**
-	 * Method testChop is testing chop
-	 * @see org.jhotdraw.contrib.DiamondFigure#chop(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method chop()
-	public void testChop() throws Exception {
-		// JUnitDoclet begin method chop
-		// JUnitDoclet end method chop
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see org.jhotdraw.contrib.DiamondFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/FloatingTextAreaTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/FloatingTextAreaTest.java
deleted file mode 100644
index e7ff63378..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/FloatingTextAreaTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.FloatingTextArea;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FloatingTextAreaTest is generated by
- * JUnitDoclet to hold the tests for FloatingTextArea.
- * @see org.jhotdraw.contrib.FloatingTextArea
- */
-// JUnitDoclet end javadoc_class
-public class FloatingTextAreaTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FloatingTextArea floatingtextarea;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FloatingTextAreaTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FloatingTextAreaTest(String name) {
-		// JUnitDoclet begin method FloatingTextAreaTest
-		super(name);
-		// JUnitDoclet end method FloatingTextAreaTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FloatingTextArea createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new FloatingTextArea();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		floatingtextarea = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		floatingtextarea = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createOverlay()
-	/**
-	 * Method testCreateOverlay is testing createOverlay
-	 * @see org.jhotdraw.contrib.FloatingTextArea#createOverlay(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method createOverlay()
-	public void testCreateOverlay() throws Exception {
-		// JUnitDoclet begin method createOverlay
-		// JUnitDoclet end method createOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method setBounds()
-	/**
-	 * Method testSetBounds is testing setBounds
-	 * @see org.jhotdraw.contrib.FloatingTextArea#setBounds(java.awt.Rectangle, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method setBounds()
-	public void testSetBounds() throws Exception {
-		// JUnitDoclet begin method setBounds
-		// JUnitDoclet end method setBounds
-	}
-
-	// JUnitDoclet begin javadoc_method getText()
-	/**
-	 * Method testGetText is testing getText
-	 * @see org.jhotdraw.contrib.FloatingTextArea#getText()
-	 */
-	// JUnitDoclet end javadoc_method getText()
-	public void testGetText() throws Exception {
-		// JUnitDoclet begin method getText
-		// JUnitDoclet end method getText
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see org.jhotdraw.contrib.FloatingTextArea#getPreferredSize(int)
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method endOverlay()
-	/**
-	 * Method testEndOverlay is testing endOverlay
-	 * @see org.jhotdraw.contrib.FloatingTextArea#endOverlay()
-	 */
-	// JUnitDoclet end javadoc_method endOverlay()
-	public void testEndOverlay() throws Exception {
-		// JUnitDoclet begin method endOverlay
-		// JUnitDoclet end method endOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/GraphicalCompositeFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/GraphicalCompositeFigureTest.java
deleted file mode 100644
index a107ef953..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/GraphicalCompositeFigureTest.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.GraphicalCompositeFigure;
-import org.jhotdraw.contrib.SimpleLayouter;
-import org.jhotdraw.figures.RectangleFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GraphicalCompositeFigureTest is generated by
- * JUnitDoclet to hold the tests for GraphicalCompositeFigure.
- * @see org.jhotdraw.contrib.GraphicalCompositeFigure
- */
-// JUnitDoclet end javadoc_class
-public class GraphicalCompositeFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private GraphicalCompositeFigure graphicalcompositefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GraphicalCompositeFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GraphicalCompositeFigureTest(String name) {
-		// JUnitDoclet begin method GraphicalCompositeFigureTest
-		super(name);
-		// JUnitDoclet end method GraphicalCompositeFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public GraphicalCompositeFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new GraphicalCompositeFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		graphicalcompositefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		graphicalcompositefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method update()
-	/**
-	 * Method testUpdate is testing update
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#update()
-	 */
-	// JUnitDoclet end javadoc_method update()
-	public void testUpdate() throws Exception {
-		// JUnitDoclet begin method update
-		// JUnitDoclet end method update
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setPresentationFigure()
-	/**
-	 * Method testSetGetPresentationFigure is testing setPresentationFigure
-	 * and getPresentationFigure together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#setPresentationFigure(org.jhotdraw.framework.Figure)
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#getPresentationFigure()
-	 */
-	// JUnitDoclet end javadoc_method setPresentationFigure()
-	public void testSetGetPresentationFigure() throws Exception {
-		// JUnitDoclet begin method setPresentationFigure getPresentationFigure
-		org.jhotdraw.framework.Figure[] tests = { new RectangleFigure(new Point(10, 10), new Point(100, 100)), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			graphicalcompositefigure.setPresentationFigure(tests[i]);
-			assertEquals(tests[i], graphicalcompositefigure.getPresentationFigure());
-		}
-		// JUnitDoclet end method setPresentationFigure getPresentationFigure
-	}
-
-	// JUnitDoclet begin javadoc_method layout()
-	/**
-	 * Method testLayout is testing layout
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#layout()
-	 */
-	// JUnitDoclet end javadoc_method layout()
-	public void testLayout() throws Exception {
-		// JUnitDoclet begin method layout
-		// JUnitDoclet end method layout
-	}
-
-	// JUnitDoclet begin javadoc_method setLayouter()
-	/**
-	 * Method testSetGetLayouter is testing setLayouter
-	 * and getLayouter together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#setLayouter(org.jhotdraw.contrib.Layouter)
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#getLayouter()
-	 */
-	// JUnitDoclet end javadoc_method setLayouter()
-	public void testSetGetLayouter() throws Exception {
-		// JUnitDoclet begin method setLayouter getLayouter
-		org.jhotdraw.contrib.Layouter[] tests = { new SimpleLayouter(graphicalcompositefigure), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			graphicalcompositefigure.setLayouter(tests[i]);
-			assertEquals(tests[i], graphicalcompositefigure.getLayouter());
-		}
-		// JUnitDoclet end method setLayouter getLayouter
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#figureRequestRemove(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.contrib.GraphicalCompositeFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/HelperTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/HelperTest.java
deleted file mode 100644
index 6caf2d282..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/HelperTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.Helper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HelperTest is generated by
- * JUnitDoclet to hold the tests for Helper.
- * @see org.jhotdraw.contrib.Helper
- */
-// JUnitDoclet end javadoc_class
-public class HelperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Helper helper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HelperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HelperTest(String name) {
-		// JUnitDoclet begin method HelperTest
-		super(name);
-		// JUnitDoclet end method HelperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public Helper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new Helper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		helper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		helper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see org.jhotdraw.contrib.Helper#getDrawingView(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/JPanelDesktopTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/JPanelDesktopTest.java
deleted file mode 100644
index 6552ebb6b..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/JPanelDesktopTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.JPanelDesktop;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JPanelDesktopTest is generated by
- * JUnitDoclet to hold the tests for JPanelDesktop.
- * @see org.jhotdraw.contrib.JPanelDesktop
- */
-// JUnitDoclet end javadoc_class
-public class JPanelDesktopTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JPanelDesktop jpaneldesktop;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JPanelDesktopTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JPanelDesktopTest(String name) {
-		// JUnitDoclet begin method JPanelDesktopTest
-		super(name);
-		// JUnitDoclet end method JPanelDesktopTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public JPanelDesktop createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new JPanelDesktop(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		jpaneldesktop = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		jpaneldesktop = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see org.jhotdraw.contrib.JPanelDesktop#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method addToDesktop()
-	/**
-	 * Method testAddToDesktop is testing addToDesktop
-	 * @see org.jhotdraw.contrib.JPanelDesktop#addToDesktop(org.jhotdraw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method addToDesktop()
-	public void testAddToDesktop() throws Exception {
-		// JUnitDoclet begin method addToDesktop
-		// JUnitDoclet end method addToDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromDesktop()
-	/**
-	 * Method testRemoveFromDesktop is testing removeFromDesktop
-	 * @see org.jhotdraw.contrib.JPanelDesktop#removeFromDesktop(org.jhotdraw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method removeFromDesktop()
-	public void testRemoveFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeFromDesktop
-		// JUnitDoclet end method removeFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllFromDesktop()
-	/**
-	 * Method testRemoveAllFromDesktop is testing removeAllFromDesktop
-	 * @see org.jhotdraw.contrib.JPanelDesktop#removeAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method removeAllFromDesktop()
-	public void testRemoveAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeAllFromDesktop
-		// JUnitDoclet end method removeAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method getAllFromDesktop()
-	/**
-	 * Method testGetAllFromDesktop is testing getAllFromDesktop
-	 * @see org.jhotdraw.contrib.JPanelDesktop#getAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method getAllFromDesktop()
-	public void testGetAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method getAllFromDesktop
-		// JUnitDoclet end method getAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see org.jhotdraw.contrib.JPanelDesktop#addDesktopListener(org.jhotdraw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see org.jhotdraw.contrib.JPanelDesktop#removeDesktopListener(org.jhotdraw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
\ No newline at end of file
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/JScrollPaneDesktopTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/JScrollPaneDesktopTest.java
deleted file mode 100644
index 4bc605cf3..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/JScrollPaneDesktopTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.JScrollPaneDesktop;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JScrollPaneDesktopTest is generated by
- * JUnitDoclet to hold the tests for JScrollPaneDesktop.
- * @see org.jhotdraw.contrib.JScrollPaneDesktop
- */
-// JUnitDoclet end javadoc_class
-public class JScrollPaneDesktopTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JScrollPaneDesktop jscrollpanedesktop;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JScrollPaneDesktopTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JScrollPaneDesktopTest(String name) {
-		// JUnitDoclet begin method JScrollPaneDesktopTest
-		super(name);
-		// JUnitDoclet end method JScrollPaneDesktopTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public JScrollPaneDesktop createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new JScrollPaneDesktop();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		jscrollpanedesktop = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		jscrollpanedesktop = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see org.jhotdraw.contrib.JScrollPaneDesktop#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method addToDesktop()
-	/**
-	 * Method testAddToDesktop is testing addToDesktop
-	 * @see org.jhotdraw.contrib.JScrollPaneDesktop#addToDesktop(org.jhotdraw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method addToDesktop()
-	public void testAddToDesktop() throws Exception {
-		// JUnitDoclet begin method addToDesktop
-		// JUnitDoclet end method addToDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromDesktop()
-	/**
-	 * Method testRemoveFromDesktop is testing removeFromDesktop
-	 * @see org.jhotdraw.contrib.JScrollPaneDesktop#removeFromDesktop(org.jhotdraw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method removeFromDesktop()
-	public void testRemoveFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeFromDesktop
-		// JUnitDoclet end method removeFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllFromDesktop()
-	/**
-	 * Method testRemoveAllFromDesktop is testing removeAllFromDesktop
-	 * @see org.jhotdraw.contrib.JScrollPaneDesktop#removeAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method removeAllFromDesktop()
-	public void testRemoveAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeAllFromDesktop
-		// JUnitDoclet end method removeAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method getAllFromDesktop()
-	/**
-	 * Method testGetAllFromDesktop is testing getAllFromDesktop
-	 * @see org.jhotdraw.contrib.JScrollPaneDesktop#getAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method getAllFromDesktop()
-	public void testGetAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method getAllFromDesktop
-		// JUnitDoclet end method getAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see org.jhotdraw.contrib.JScrollPaneDesktop#addDesktopListener(org.jhotdraw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see org.jhotdraw.contrib.JScrollPaneDesktop#removeDesktopListener(org.jhotdraw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MDIDesktopPaneTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MDIDesktopPaneTest.java
deleted file mode 100644
index 77464402c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MDIDesktopPaneTest.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.MDIDesktopPane;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MDIDesktopPaneTest is generated by
- * JUnitDoclet to hold the tests for MDIDesktopPane.
- * @see org.jhotdraw.contrib.MDIDesktopPane
- */
-// JUnitDoclet end javadoc_class
-public class MDIDesktopPaneTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MDIDesktopPane mdidesktoppane;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MDIDesktopPaneTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MDIDesktopPaneTest(String name) {
-		// JUnitDoclet begin method MDIDesktopPaneTest
-		super(name);
-		// JUnitDoclet end method MDIDesktopPaneTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public MDIDesktopPane createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new MDIDesktopPane(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		mdidesktoppane = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		mdidesktoppane = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveDrawingView()
-	/**
-	 * Method testGetActiveDrawingView is testing getActiveDrawingView
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#getActiveDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveDrawingView()
-	public void testGetActiveDrawingView() throws Exception {
-		// JUnitDoclet begin method getActiveDrawingView
-		// JUnitDoclet end method getActiveDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method addToDesktop()
-	/**
-	 * Method testAddToDesktop is testing addToDesktop
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#addToDesktop(org.jhotdraw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method addToDesktop()
-	public void testAddToDesktop() throws Exception {
-		// JUnitDoclet begin method addToDesktop
-		// JUnitDoclet end method addToDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromDesktop()
-	/**
-	 * Method testRemoveFromDesktop is testing removeFromDesktop
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#removeFromDesktop(org.jhotdraw.framework.DrawingView, int)
-	 */
-	// JUnitDoclet end javadoc_method removeFromDesktop()
-	public void testRemoveFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeFromDesktop
-		// JUnitDoclet end method removeFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method removeAllFromDesktop()
-	/**
-	 * Method testRemoveAllFromDesktop is testing removeAllFromDesktop
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#removeAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method removeAllFromDesktop()
-	public void testRemoveAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method removeAllFromDesktop
-		// JUnitDoclet end method removeAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method getAllFromDesktop()
-	/**
-	 * Method testGetAllFromDesktop is testing getAllFromDesktop
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#getAllFromDesktop(int)
-	 */
-	// JUnitDoclet end javadoc_method getAllFromDesktop()
-	public void testGetAllFromDesktop() throws Exception {
-		// JUnitDoclet begin method getAllFromDesktop
-		// JUnitDoclet end method getAllFromDesktop
-	}
-
-	// JUnitDoclet begin javadoc_method addDesktopListener()
-	/**
-	 * Method testAddDesktopListener is testing addDesktopListener
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#addDesktopListener(org.jhotdraw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method addDesktopListener()
-	public void testAddDesktopListener() throws Exception {
-		// JUnitDoclet begin method addDesktopListener
-		// JUnitDoclet end method addDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDesktopListener()
-	/**
-	 * Method testRemoveDesktopListener is testing removeDesktopListener
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#removeDesktopListener(org.jhotdraw.contrib.DesktopListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDesktopListener()
-	public void testRemoveDesktopListener() throws Exception {
-		// JUnitDoclet begin method removeDesktopListener
-		// JUnitDoclet end method removeDesktopListener
-	}
-
-	// JUnitDoclet begin javadoc_method cascadeFrames()
-	/**
-	 * Method testCascadeFrames is testing cascadeFrames
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#cascadeFrames()
-	 */
-	// JUnitDoclet end javadoc_method cascadeFrames()
-	public void testCascadeFrames() throws Exception {
-		// JUnitDoclet begin method cascadeFrames
-		// JUnitDoclet end method cascadeFrames
-	}
-
-	// JUnitDoclet begin javadoc_method tileFrames()
-	/**
-	 * Method testTileFrames is testing tileFrames
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#tileFrames()
-	 */
-	// JUnitDoclet end javadoc_method tileFrames()
-	public void testTileFrames() throws Exception {
-		// JUnitDoclet begin method tileFrames
-		// JUnitDoclet end method tileFrames
-	}
-
-	// JUnitDoclet begin javadoc_method tileFramesHorizontally()
-	/**
-	 * Method testTileFramesHorizontally is testing tileFramesHorizontally
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#tileFramesHorizontally()
-	 */
-	// JUnitDoclet end javadoc_method tileFramesHorizontally()
-	public void testTileFramesHorizontally() throws Exception {
-		// JUnitDoclet begin method tileFramesHorizontally
-		// JUnitDoclet end method tileFramesHorizontally
-	}
-
-	// JUnitDoclet begin javadoc_method tileFramesVertically()
-	/**
-	 * Method testTileFramesVertically is testing tileFramesVertically
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#tileFramesVertically()
-	 */
-	// JUnitDoclet end javadoc_method tileFramesVertically()
-	public void testTileFramesVertically() throws Exception {
-		// JUnitDoclet begin method tileFramesVertically
-		// JUnitDoclet end method tileFramesVertically
-	}
-
-	// JUnitDoclet begin javadoc_method arrangeFramesVertically()
-	/**
-	 * Method testArrangeFramesVertically is testing arrangeFramesVertically
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#arrangeFramesVertically()
-	 */
-	// JUnitDoclet end javadoc_method arrangeFramesVertically()
-	public void testArrangeFramesVertically() throws Exception {
-		// JUnitDoclet begin method arrangeFramesVertically
-		// JUnitDoclet end method arrangeFramesVertically
-	}
-
-	// JUnitDoclet begin javadoc_method arrangeFramesHorizontally()
-	/**
-	 * Method testArrangeFramesHorizontally is testing arrangeFramesHorizontally
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#arrangeFramesHorizontally()
-	 */
-	// JUnitDoclet end javadoc_method arrangeFramesHorizontally()
-	public void testArrangeFramesHorizontally() throws Exception {
-		// JUnitDoclet begin method arrangeFramesHorizontally
-		// JUnitDoclet end method arrangeFramesHorizontally
-	}
-
-	// JUnitDoclet begin javadoc_method setAllSize()
-	/**
-	 * Method testSetAllSize is testing setAllSize
-	 * @see org.jhotdraw.contrib.MDIDesktopPane#setAllSize(java.awt.Dimension)
-	 */
-	// JUnitDoclet end javadoc_method setAllSize()
-	public void testSetAllSize() throws Exception {
-		// JUnitDoclet begin method setAllSize
-		// JUnitDoclet end method setAllSize
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MDI_DrawApplicationTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MDI_DrawApplicationTest.java
deleted file mode 100644
index d91d4b122..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MDI_DrawApplicationTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.MDI_DrawApplication;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MDI_DrawApplicationTest is generated by
- * JUnitDoclet to hold the tests for MDI_DrawApplication.
- * @see org.jhotdraw.contrib.MDI_DrawApplication
- */
-// JUnitDoclet end javadoc_class
-public class MDI_DrawApplicationTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MDI_DrawApplication mdi_drawapplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MDI_DrawApplicationTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MDI_DrawApplicationTest(String name) {
-		// JUnitDoclet begin method MDI_DrawApplicationTest
-		super(name);
-		// JUnitDoclet end method MDI_DrawApplicationTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public MDI_DrawApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new MDI_DrawApplication();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		mdi_drawapplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		mdi_drawapplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method promptNew()
-	/**
-	 * Method testPromptNew is testing promptNew
-	 * @see org.jhotdraw.contrib.MDI_DrawApplication#promptNew()
-	 */
-	// JUnitDoclet end javadoc_method promptNew()
-	public void testPromptNew() throws Exception {
-		// JUnitDoclet begin method promptNew
-		// JUnitDoclet end method promptNew
-	}
-
-	// JUnitDoclet begin javadoc_method newWindow()
-	/**
-	 * Method testNewWindow is testing newWindow
-	 * @see org.jhotdraw.contrib.MDI_DrawApplication#newWindow(org.jhotdraw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method newWindow()
-	public void testNewWindow() throws Exception {
-		// JUnitDoclet begin method newWindow
-		// JUnitDoclet end method newWindow
-	}
-
-	// JUnitDoclet begin javadoc_method newView()
-	/**
-	 * Method testNewView is testing newView
-	 * @see org.jhotdraw.contrib.MDI_DrawApplication#newView()
-	 */
-	// JUnitDoclet end javadoc_method newView()
-	public void testNewView() throws Exception {
-		// JUnitDoclet begin method newView
-		// JUnitDoclet end method newView
-	}
-
-	// JUnitDoclet begin javadoc_method views()
-	/**
-	 * Method testViews is testing views
-	 * @see org.jhotdraw.contrib.MDI_DrawApplication#views()
-	 */
-	// JUnitDoclet end javadoc_method views()
-	public void testViews() throws Exception {
-		// JUnitDoclet begin method views
-		// JUnitDoclet end method views
-	}
-
-	// JUnitDoclet begin javadoc_method getDefaultDrawingTitle()
-	/**
-	 * Method testGetDefaultDrawingTitle is testing getDefaultDrawingTitle
-	 * @see org.jhotdraw.contrib.MDI_DrawApplication#getDefaultDrawingTitle()
-	 */
-	// JUnitDoclet end javadoc_method getDefaultDrawingTitle()
-	public void testGetDefaultDrawingTitle() throws Exception {
-		// JUnitDoclet begin method getDefaultDrawingTitle
-		// JUnitDoclet end method getDefaultDrawingTitle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MiniMapViewTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MiniMapViewTest.java
deleted file mode 100644
index 049ac966a..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/MiniMapViewTest.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-import java.awt.Component;
-
-import javax.swing.JScrollPane;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.MiniMapView;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MiniMapViewTest is generated by
- * JUnitDoclet to hold the tests for MiniMapView.
- * @see org.jhotdraw.contrib.MiniMapView
- */
-// JUnitDoclet end javadoc_class
-public class MiniMapViewTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MiniMapView minimapview;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MiniMapViewTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MiniMapViewTest(String name) {
-		// JUnitDoclet begin method MiniMapViewTest
-		super(name);
-		// JUnitDoclet end method MiniMapViewTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public MiniMapView createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		JScrollPane sp = new JScrollPane((Component)getDrawingEditor().view());
-		sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-		sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		sp.setAlignmentX(Component.LEFT_ALIGNMENT);
-		return new MiniMapView(getDrawingEditor().view(), sp);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		minimapview = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		minimapview = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getMappedDrawingView()
-	/**
-	 * Method testGetMappedDrawingView is testing getMappedDrawingView
-	 * @see org.jhotdraw.contrib.MiniMapView#getMappedDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getMappedDrawingView()
-	public void testGetMappedDrawingView() throws Exception {
-		// JUnitDoclet begin method getMappedDrawingView
-		// JUnitDoclet end method getMappedDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method getSubject()
-	/**
-	 * Method testGetSubject is testing getSubject
-	 * @see org.jhotdraw.contrib.MiniMapView#getSubject()
-	 */
-	// JUnitDoclet end javadoc_method getSubject()
-	public void testGetSubject() throws Exception {
-		// JUnitDoclet begin method getSubject
-		// JUnitDoclet end method getSubject
-	}
-
-	// JUnitDoclet begin javadoc_method getViewBowColor()
-	/**
-	 * Method testGetViewBowColor is testing getViewBowColor
-	 * @see org.jhotdraw.contrib.MiniMapView#getViewBowColor()
-	 */
-	// JUnitDoclet end javadoc_method getViewBowColor()
-	public void testGetViewBowColor() throws Exception {
-		// JUnitDoclet begin method getViewBowColor
-		// JUnitDoclet end method getViewBowColor
-	}
-
-	// JUnitDoclet begin javadoc_method setViewBoxColor()
-	/**
-	 * Method testSetViewBoxColor is testing setViewBoxColor
-	 * @see org.jhotdraw.contrib.MiniMapView#setViewBoxColor(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method setViewBoxColor()
-	public void testSetViewBoxColor() throws Exception {
-		// JUnitDoclet begin method setViewBoxColor
-		// JUnitDoclet end method setViewBoxColor
-	}
-
-	// JUnitDoclet begin javadoc_method paint()
-	/**
-	 * Method testPaint is testing paint
-	 * @see org.jhotdraw.contrib.MiniMapView#paint(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paint()
-	public void testPaint() throws Exception {
-		// JUnitDoclet begin method paint
-		// JUnitDoclet end method paint
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/NestedCreationToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/NestedCreationToolTest.java
deleted file mode 100644
index 420b083c3..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/NestedCreationToolTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.NestedCreationTool;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NestedCreationToolTest is generated by
- * JUnitDoclet to hold the tests for NestedCreationTool.
- * @see org.jhotdraw.contrib.NestedCreationTool
- */
-// JUnitDoclet end javadoc_class
-public class NestedCreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NestedCreationTool nestedcreationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NestedCreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NestedCreationToolTest(String name) {
-		// JUnitDoclet begin method NestedCreationToolTest
-		super(name);
-		// JUnitDoclet end method NestedCreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NestedCreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NestedCreationTool(getDrawingEditor(), new RectangleFigure(new Point(20, 20), new Point(90, 90)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nestedcreationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nestedcreationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.contrib.NestedCreationTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see org.jhotdraw.contrib.NestedCreationTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.contrib.NestedCreationTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method getContainerFigure()
-	/**
-	 * Method testGetContainerFigure is testing getContainerFigure
-	 * @see org.jhotdraw.contrib.NestedCreationTool#getContainerFigure()
-	 */
-	// JUnitDoclet end javadoc_method getContainerFigure()
-	public void testGetContainerFigure() throws Exception {
-		// JUnitDoclet begin method getContainerFigure
-		// JUnitDoclet end method getContainerFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonFigureTest.java
deleted file mode 100644
index 977f81164..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonFigureTest.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.PolygonFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolygonFigureTest is generated by
- * JUnitDoclet to hold the tests for PolygonFigure.
- * @see org.jhotdraw.contrib.PolygonFigure
- */
-// JUnitDoclet end javadoc_class
-public class PolygonFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolygonFigure polygonfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolygonFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolygonFigureTest(String name) {
-		// JUnitDoclet begin method PolygonFigureTest
-		super(name);
-		// JUnitDoclet end method PolygonFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PolygonFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PolygonFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polygonfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polygonfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.contrib.PolygonFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see org.jhotdraw.contrib.PolygonFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.contrib.PolygonFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.contrib.PolygonFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method getPolygon()
-	/**
-	 * Method testGetPolygon is testing getPolygon
-	 * @see org.jhotdraw.contrib.PolygonFigure#getPolygon()
-	 */
-	// JUnitDoclet end javadoc_method getPolygon()
-	public void testGetPolygon() throws Exception {
-		// JUnitDoclet begin method getPolygon
-		// JUnitDoclet end method getPolygon
-	}
-
-	// JUnitDoclet begin javadoc_method getInternalPolygon()
-	/**
-	 * Method testGetInternalPolygon is testing getInternalPolygon
-	 * @see org.jhotdraw.contrib.PolygonFigure#getInternalPolygon()
-	 */
-	// JUnitDoclet end javadoc_method getInternalPolygon()
-	public void testGetInternalPolygon() throws Exception {
-		// JUnitDoclet begin method getInternalPolygon
-		// JUnitDoclet end method getInternalPolygon
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see org.jhotdraw.contrib.PolygonFigure#center()
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method points()
-	/**
-	 * Method testPoints is testing points
-	 * @see org.jhotdraw.contrib.PolygonFigure#points()
-	 */
-	// JUnitDoclet end javadoc_method points()
-	public void testPoints() throws Exception {
-		// JUnitDoclet begin method points
-		// JUnitDoclet end method points
-	}
-
-	// JUnitDoclet begin javadoc_method pointCount()
-	/**
-	 * Method testPointCount is testing pointCount
-	 * @see org.jhotdraw.contrib.PolygonFigure#pointCount()
-	 */
-	// JUnitDoclet end javadoc_method pointCount()
-	public void testPointCount() throws Exception {
-		// JUnitDoclet begin method pointCount
-		// JUnitDoclet end method pointCount
-	}
-
-	// JUnitDoclet begin javadoc_method basicMoveBy()
-	/**
-	 * Method testBasicMoveBy is testing basicMoveBy
-	 * @see org.jhotdraw.contrib.PolygonFigure#basicMoveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method basicMoveBy()
-	public void testBasicMoveBy() throws Exception {
-		// JUnitDoclet begin method basicMoveBy
-		// JUnitDoclet end method basicMoveBy
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see org.jhotdraw.contrib.PolygonFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see org.jhotdraw.contrib.PolygonFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see org.jhotdraw.contrib.PolygonFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see org.jhotdraw.contrib.PolygonFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method addPoint()
-	/**
-	 * Method testAddPoint is testing addPoint
-	 * @see org.jhotdraw.contrib.PolygonFigure#addPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method addPoint()
-	public void testAddPoint() throws Exception {
-		// JUnitDoclet begin method addPoint
-		// JUnitDoclet end method addPoint
-	}
-
-	// JUnitDoclet begin javadoc_method setPointAt()
-	/**
-	 * Method testSetPointAt is testing setPointAt
-	 * @see org.jhotdraw.contrib.PolygonFigure#setPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method setPointAt()
-	public void testSetPointAt() throws Exception {
-		// JUnitDoclet begin method setPointAt
-		// JUnitDoclet end method setPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method insertPointAt()
-	/**
-	 * Method testInsertPointAt is testing insertPointAt
-	 * @see org.jhotdraw.contrib.PolygonFigure#insertPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method insertPointAt()
-	public void testInsertPointAt() throws Exception {
-		// JUnitDoclet begin method insertPointAt
-		// JUnitDoclet end method insertPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method removePointAt()
-	/**
-	 * Method testRemovePointAt is testing removePointAt
-	 * @see org.jhotdraw.contrib.PolygonFigure#removePointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method removePointAt()
-	public void testRemovePointAt() throws Exception {
-		// JUnitDoclet begin method removePointAt
-		// JUnitDoclet end method removePointAt
-	}
-
-	// JUnitDoclet begin javadoc_method scaleRotate()
-	/**
-	 * Method testScaleRotate is testing scaleRotate
-	 * @see org.jhotdraw.contrib.PolygonFigure#scaleRotate(java.awt.Point, java.awt.Polygon, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method scaleRotate()
-	public void testScaleRotate() throws Exception {
-		// JUnitDoclet begin method scaleRotate
-		// JUnitDoclet end method scaleRotate
-	}
-
-	// JUnitDoclet begin javadoc_method smoothPoints()
-	/**
-	 * Method testSmoothPoints is testing smoothPoints
-	 * @see org.jhotdraw.contrib.PolygonFigure#smoothPoints()
-	 */
-	// JUnitDoclet end javadoc_method smoothPoints()
-	public void testSmoothPoints() throws Exception {
-		// JUnitDoclet begin method smoothPoints
-		// JUnitDoclet end method smoothPoints
-	}
-
-	// JUnitDoclet begin javadoc_method splitSegment()
-	/**
-	 * Method testSplitSegment is testing splitSegment
-	 * @see org.jhotdraw.contrib.PolygonFigure#splitSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method splitSegment()
-	public void testSplitSegment() throws Exception {
-		// JUnitDoclet begin method splitSegment
-		// JUnitDoclet end method splitSegment
-	}
-
-	// JUnitDoclet begin javadoc_method pointAt()
-	/**
-	 * Method testPointAt is testing pointAt
-	 * @see org.jhotdraw.contrib.PolygonFigure#pointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method pointAt()
-	public void testPointAt() throws Exception {
-		// JUnitDoclet begin method pointAt
-		// JUnitDoclet end method pointAt
-	}
-
-	// JUnitDoclet begin javadoc_method outermostPoint()
-	/**
-	 * Method testOutermostPoint is testing outermostPoint
-	 * @see org.jhotdraw.contrib.PolygonFigure#outermostPoint()
-	 */
-	// JUnitDoclet end javadoc_method outermostPoint()
-	public void testOutermostPoint() throws Exception {
-		// JUnitDoclet begin method outermostPoint
-		// JUnitDoclet end method outermostPoint
-	}
-
-	// JUnitDoclet begin javadoc_method findSegment()
-	/**
-	 * Method testFindSegment is testing findSegment
-	 * @see org.jhotdraw.contrib.PolygonFigure#findSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findSegment()
-	public void testFindSegment() throws Exception {
-		// JUnitDoclet begin method findSegment
-		// JUnitDoclet end method findSegment
-	}
-
-	// JUnitDoclet begin javadoc_method chop()
-	/**
-	 * Method testChop is testing chop
-	 * @see org.jhotdraw.contrib.PolygonFigure#chop(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method chop()
-	public void testChop() throws Exception {
-		// JUnitDoclet begin method chop
-		// JUnitDoclet end method chop
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.contrib.PolygonFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.contrib.PolygonFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method locator()
-	/**
-	 * Method testLocator is testing locator
-	 * @see org.jhotdraw.contrib.PolygonFigure#locator(int)
-	 */
-	// JUnitDoclet end javadoc_method locator()
-	public void testLocator() throws Exception {
-		// JUnitDoclet begin method locator
-		// JUnitDoclet end method locator
-	}
-
-	// JUnitDoclet begin javadoc_method bounds()
-	/**
-	 * Method testBounds is testing bounds
-	 * @see org.jhotdraw.contrib.PolygonFigure#bounds(java.awt.Polygon)
-	 */
-	// JUnitDoclet end javadoc_method bounds()
-	public void testBounds() throws Exception {
-		// JUnitDoclet begin method bounds
-		// JUnitDoclet end method bounds
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonHandleTest.java
deleted file mode 100644
index 64f6a56a7..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonHandleTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.PolygonFigure;
-import org.jhotdraw.contrib.PolygonHandle;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolygonHandleTest is generated by
- * JUnitDoclet to hold the tests for PolygonHandle.
- * @see org.jhotdraw.contrib.PolygonHandle
- */
-// JUnitDoclet end javadoc_class
-public class PolygonHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolygonHandle polygonhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolygonHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolygonHandleTest(String name) {
-		// JUnitDoclet begin method PolygonHandleTest
-		super(name);
-		// JUnitDoclet end method PolygonHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PolygonHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		PolygonFigure figure = new PolygonFigure(20, 20);
-		figure.addPoint(30, 30);
-		figure.addPoint(40, 40);
-		return new PolygonHandle(figure, PolygonFigure.locator(2), 2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polygonhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polygonhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see org.jhotdraw.contrib.PolygonHandle#invokeStart(int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see org.jhotdraw.contrib.PolygonHandle#invokeStep(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see org.jhotdraw.contrib.PolygonHandle#invokeEnd(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see org.jhotdraw.contrib.PolygonHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonToolTest.java
deleted file mode 100644
index 46bf89e38..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/PolygonToolTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.PolygonTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolygonToolTest is generated by
- * JUnitDoclet to hold the tests for PolygonTool.
- * @see org.jhotdraw.contrib.PolygonTool
- */
-// JUnitDoclet end javadoc_class
-public class PolygonToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolygonTool polygontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolygonToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolygonToolTest(String name) {
-		// JUnitDoclet begin method PolygonToolTest
-		super(name);
-		// JUnitDoclet end method PolygonToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PolygonTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PolygonTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polygontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polygontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see org.jhotdraw.contrib.PolygonTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see org.jhotdraw.contrib.PolygonTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.contrib.PolygonTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see org.jhotdraw.contrib.PolygonTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.contrib.PolygonTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.contrib.PolygonTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SVGDrawAppTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SVGDrawAppTest.java
deleted file mode 100644
index 824352d78..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SVGDrawAppTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.SVGDrawApp;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SVGDrawAppTest is generated by
- * JUnitDoclet to hold the tests for SVGDrawApp.
- * @see org.jhotdraw.contrib.SVGDrawApp
- */
-// JUnitDoclet end javadoc_class
-public class SVGDrawAppTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SVGDrawApp svgdrawapp;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SVGDrawAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SVGDrawAppTest(String name) {
-		// JUnitDoclet begin method SVGDrawAppTest
-		super(name);
-		// JUnitDoclet end method SVGDrawAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SVGDrawApp createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SVGDrawApp();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		svgdrawapp = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		svgdrawapp = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see org.jhotdraw.contrib.SVGDrawApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method createStorageFormatManager()
-	/**
-	 * Method testCreateStorageFormatManager is testing createStorageFormatManager
-	 * @see org.jhotdraw.contrib.SVGDrawApp#createStorageFormatManager()
-	 */
-	// JUnitDoclet end javadoc_method createStorageFormatManager()
-	public void testCreateStorageFormatManager() throws Exception {
-		// JUnitDoclet begin method createStorageFormatManager
-		// JUnitDoclet end method createStorageFormatManager
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SVGStorageFormatTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SVGStorageFormatTest.java
deleted file mode 100644
index 0f3b9dba8..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SVGStorageFormatTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.SVGStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SVGStorageFormatTest is generated by
- * JUnitDoclet to hold the tests for SVGStorageFormat.
- * @see org.jhotdraw.contrib.SVGStorageFormat
- */
-// JUnitDoclet end javadoc_class
-public class SVGStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SVGStorageFormat svgstorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SVGStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SVGStorageFormatTest(String name) {
-		// JUnitDoclet begin method SVGStorageFormatTest
-		super(name);
-		// JUnitDoclet end method SVGStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SVGStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SVGStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		svgstorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		svgstorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see org.jhotdraw.contrib.SVGStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see org.jhotdraw.contrib.SVGStorageFormat#store(java.lang.String, org.jhotdraw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see org.jhotdraw.contrib.SVGStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SimpleLayouterTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SimpleLayouterTest.java
deleted file mode 100644
index 3e7135382..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SimpleLayouterTest.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.GraphicalCompositeFigure;
-import org.jhotdraw.contrib.Layoutable;
-import org.jhotdraw.contrib.SimpleLayouter;
-import org.jhotdraw.figures.RectangleFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SimpleLayouterTest is generated by
- * JUnitDoclet to hold the tests for SimpleLayouter.
- * @see org.jhotdraw.contrib.SimpleLayouter
- */
-// JUnitDoclet end javadoc_class
-public class SimpleLayouterTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SimpleLayouter simplelayouter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SimpleLayouterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SimpleLayouterTest(String name) {
-		// JUnitDoclet begin method SimpleLayouterTest
-		super(name);
-		// JUnitDoclet end method SimpleLayouterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SimpleLayouter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Layoutable fig = new GraphicalCompositeFigure(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		return new SimpleLayouter(fig);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		simplelayouter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		simplelayouter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setLayoutable()
-	/**
-	 * Method testSetGetLayoutable is testing setLayoutable
-	 * and getLayoutable together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.SimpleLayouter#setLayoutable(org.jhotdraw.contrib.Layoutable)
-	 * @see org.jhotdraw.contrib.SimpleLayouter#getLayoutable()
-	 */
-	// JUnitDoclet end javadoc_method setLayoutable()
-	public void testSetGetLayoutable() throws Exception {
-		// JUnitDoclet begin method setLayoutable getLayoutable
-		org.jhotdraw.contrib.Layoutable[] tests = { new GraphicalCompositeFigure(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			simplelayouter.setLayoutable(tests[i]);
-			assertEquals(tests[i], simplelayouter.getLayoutable());
-		}
-		// JUnitDoclet end method setLayoutable getLayoutable
-	}
-
-	// JUnitDoclet begin javadoc_method setInsets()
-	/**
-	 * Method testSetGetInsets is testing setInsets
-	 * and getInsets together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.SimpleLayouter#setInsets(java.awt.Insets)
-	 * @see org.jhotdraw.contrib.SimpleLayouter#getInsets()
-	 */
-	// JUnitDoclet end javadoc_method setInsets()
-	public void testSetGetInsets() throws Exception {
-		// JUnitDoclet begin method setInsets getInsets
-		java.awt.Insets[] tests = { new java.awt.Insets(5, 5, 5, 5), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			simplelayouter.setInsets(tests[i]);
-			assertEquals(tests[i], simplelayouter.getInsets());
-		}
-		// JUnitDoclet end method setInsets getInsets
-	}
-
-	// JUnitDoclet begin javadoc_method create()
-	/**
-	 * Method testCreate is testing create
-	 * @see org.jhotdraw.contrib.SimpleLayouter#create(org.jhotdraw.contrib.Layoutable)
-	 */
-	// JUnitDoclet end javadoc_method create()
-	public void testCreate() throws Exception {
-		// JUnitDoclet begin method create
-		// JUnitDoclet end method create
-	}
-
-	// JUnitDoclet begin javadoc_method calculateLayout()
-	/**
-	 * Method testCalculateLayout is testing calculateLayout
-	 * @see org.jhotdraw.contrib.SimpleLayouter#calculateLayout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method calculateLayout()
-	public void testCalculateLayout() throws Exception {
-		// JUnitDoclet begin method calculateLayout
-		// JUnitDoclet end method calculateLayout
-	}
-
-	// JUnitDoclet begin javadoc_method layout()
-	/**
-	 * Method testLayout is testing layout
-	 * @see org.jhotdraw.contrib.SimpleLayouter#layout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method layout()
-	public void testLayout() throws Exception {
-		// JUnitDoclet begin method layout
-		// JUnitDoclet end method layout
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.contrib.SimpleLayouter#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.contrib.SimpleLayouter#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SplitConnectionToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SplitConnectionToolTest.java
deleted file mode 100644
index 22425aa41..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/SplitConnectionToolTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.SplitConnectionTool;
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.framework.ConnectionFigure;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SplitConnectionToolTest is generated by
- * JUnitDoclet to hold the tests for SplitConnectionTool.
- * @see org.jhotdraw.contrib.SplitConnectionTool
- */
-// JUnitDoclet end javadoc_class
-public class SplitConnectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SplitConnectionTool splitconnectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SplitConnectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SplitConnectionToolTest(String name) {
-		// JUnitDoclet begin method SplitConnectionToolTest
-		super(name);
-		// JUnitDoclet end method SplitConnectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SplitConnectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		ConnectionFigure lineConnection = new LineConnection();
-		return new SplitConnectionTool(getDrawingEditor(), lineConnection);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		splitconnectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		splitconnectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.contrib.SplitConnectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.contrib.SplitConnectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see org.jhotdraw.contrib.SplitConnectionTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.contrib.SplitConnectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see org.jhotdraw.contrib.SplitConnectionTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/StandardLayouterTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/StandardLayouterTest.java
deleted file mode 100644
index b90ce7a41..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/StandardLayouterTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.StandardLayouter;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardLayouterTest is generated by
- * JUnitDoclet to hold the tests for StandardLayouter.
- * @see org.jhotdraw.contrib.StandardLayouter
- */
-// JUnitDoclet end javadoc_class
-public class StandardLayouterTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardLayouter standardlayouter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardLayouterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardLayouterTest(String name) {
-		// JUnitDoclet begin method StandardLayouterTest
-		super(name);
-		// JUnitDoclet end method StandardLayouterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public StandardLayouter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new StandardLayouter();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardlayouter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardlayouter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method create()
-	/**
-	 * Method testCreate is testing create
-	 * @see org.jhotdraw.contrib.StandardLayouter#create(org.jhotdraw.contrib.Layoutable)
-	 */
-	// JUnitDoclet end javadoc_method create()
-	public void testCreate() throws Exception {
-		// JUnitDoclet begin method create
-		// JUnitDoclet end method create
-	}
-
-	// JUnitDoclet begin javadoc_method calculateLayout()
-	/**
-	 * Method testCalculateLayout is testing calculateLayout
-	 * @see org.jhotdraw.contrib.StandardLayouter#calculateLayout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method calculateLayout()
-	public void testCalculateLayout() throws Exception {
-		// JUnitDoclet begin method calculateLayout
-		// JUnitDoclet end method calculateLayout
-	}
-
-	// JUnitDoclet begin javadoc_method layout()
-	/**
-	 * Method testLayout is testing layout
-	 * @see org.jhotdraw.contrib.StandardLayouter#layout(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method layout()
-	public void testLayout() throws Exception {
-		// JUnitDoclet begin method layout
-		// JUnitDoclet end method layout
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TextAreaFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TextAreaFigureTest.java
deleted file mode 100644
index 588efa4c6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TextAreaFigureTest.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import java.awt.Font;
-
-import org.jhotdraw.contrib.TextAreaFigure;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextAreaFigureTest is generated by
- * JUnitDoclet to hold the tests for TextAreaFigure.
- * @see org.jhotdraw.contrib.TextAreaFigure
- */
-// JUnitDoclet end javadoc_class
-public class TextAreaFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TextAreaFigure textareafigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TextAreaFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TextAreaFigureTest(String name) {
-		// JUnitDoclet begin method TextAreaFigureTest
-		super(name);
-		// JUnitDoclet end method TextAreaFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public TextAreaFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new TextAreaFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		textareafigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		textareafigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setText()
-	/**
-	 * Method testSetGetText is testing setText
-	 * and getText together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.TextAreaFigure#setText(java.lang.String)
-	 * @see org.jhotdraw.contrib.TextAreaFigure#getText()
-	 */
-	// JUnitDoclet end javadoc_method setText()
-	public void testSetGetText() throws Exception {
-		// JUnitDoclet begin method setText getText
-		java.lang.String[] tests = { "", " ", "a", "A", "?", "?", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setText(tests[i]);
-			assertEquals(tests[i], textareafigure.getText());
-		}
-		// JUnitDoclet end method setText getText
-	}
-
-	// JUnitDoclet begin javadoc_method textDisplayBox()
-	/**
-	 * Method testTextDisplayBox is testing textDisplayBox
-	 * @see org.jhotdraw.contrib.TextAreaFigure#textDisplayBox()
-	 */
-	// JUnitDoclet end javadoc_method textDisplayBox()
-	public void testTextDisplayBox() throws Exception {
-		// JUnitDoclet begin method textDisplayBox
-		// JUnitDoclet end method textDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method createFont()
-	/**
-	 * Method testCreateFont is testing createFont
-	 * @see org.jhotdraw.contrib.TextAreaFigure#createFont()
-	 */
-	// JUnitDoclet end javadoc_method createFont()
-	public void testCreateFont() throws Exception {
-		// JUnitDoclet begin method createFont
-		// JUnitDoclet end method createFont
-	}
-
-	// JUnitDoclet begin javadoc_method setReadOnly()
-	/**
-	 * Method testSetIsReadOnly is testing setReadOnly
-	 * and isReadOnly together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.TextAreaFigure#setReadOnly(boolean)
-	 * @see org.jhotdraw.contrib.TextAreaFigure#isReadOnly()
-	 */
-	// JUnitDoclet end javadoc_method setReadOnly()
-	public void testSetIsReadOnly() throws Exception {
-		// JUnitDoclet begin method setReadOnly isReadOnly
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setReadOnly(tests[i]);
-			assertEquals(tests[i], textareafigure.isReadOnly());
-		}
-		// JUnitDoclet end method setReadOnly isReadOnly
-	}
-
-	// JUnitDoclet begin javadoc_method acceptsTyping()
-	/**
-	 * Method testAcceptsTyping is testing acceptsTyping
-	 * @see org.jhotdraw.contrib.TextAreaFigure#acceptsTyping()
-	 */
-	// JUnitDoclet end javadoc_method acceptsTyping()
-	public void testAcceptsTyping() throws Exception {
-		// JUnitDoclet begin method acceptsTyping
-		// JUnitDoclet end method acceptsTyping
-	}
-
-	// JUnitDoclet begin javadoc_method isTextDirty()
-	/**
-	 * Method testIsTextDirty is testing isTextDirty
-	 * @see org.jhotdraw.contrib.TextAreaFigure#isTextDirty()
-	 */
-	// JUnitDoclet end javadoc_method isTextDirty()
-	public void testIsTextDirty() throws Exception {
-		// JUnitDoclet begin method isTextDirty
-		// JUnitDoclet end method isTextDirty
-	}
-
-	// JUnitDoclet begin javadoc_method setSizeDirty()
-	/**
-	 * Method testSetIsSizeDirty is testing setSizeDirty
-	 * and isSizeDirty together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.TextAreaFigure#setSizeDirty(boolean)
-	 * @see org.jhotdraw.contrib.TextAreaFigure#isSizeDirty()
-	 */
-	// JUnitDoclet end javadoc_method setSizeDirty()
-	public void testSetIsSizeDirty() throws Exception {
-		// JUnitDoclet begin method setSizeDirty isSizeDirty
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setSizeDirty(tests[i]);
-			assertEquals(tests[i], textareafigure.isSizeDirty());
-		}
-		// JUnitDoclet end method setSizeDirty isSizeDirty
-	}
-
-	// JUnitDoclet begin javadoc_method setFont()
-	/**
-	 * Method testSetGetFont is testing setFont
-	 * and getFont together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.TextAreaFigure#setFont(java.awt.Font)
-	 * @see org.jhotdraw.contrib.TextAreaFigure#getFont()
-	 */
-	// JUnitDoclet end javadoc_method setFont()
-	public void testSetGetFont() throws Exception {
-		// JUnitDoclet begin method setFont getFont
-		Font[] tests = { new Font("Helvetica", Font.PLAIN, 12)};
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setFont(tests[i]);
-			assertEquals(tests[i], textareafigure.getFont());
-		}
-		// JUnitDoclet end method setFont getFont
-	}
-
-	// JUnitDoclet begin method setNullFont()
-	/**
-	 * Test a null argument to setFont.		Expect an IllegalArgumentException
-	 * 
-	 * @see org.jhotdraw.contrib.TextAreaFigure#setFont(java.awt.Font)
-	 */
-	public void testSetNullFont() throws Exception {
-		Font original = textareafigure.getFont();
-
-		try {
-			textareafigure.setFont(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-			assertEquals("setFont(null) altered property value", original, textareafigure.getFont());
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method overlayColumns()		
-	/**
-	 * Method testOverlayColumns is testing overlayColumns
-	 * @see org.jhotdraw.contrib.TextAreaFigure#overlayColumns()
-	 */
-	// JUnitDoclet end javadoc_method overlayColumns()
-	public void testOverlayColumns() throws Exception {
-		// JUnitDoclet begin method overlayColumns
-		// JUnitDoclet end method overlayColumns
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.contrib.TextAreaFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.contrib.TextAreaFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.contrib.TextAreaFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method moveBy()
-	/**
-	 * Method testMoveBy is testing moveBy
-	 * @see org.jhotdraw.contrib.TextAreaFigure#moveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method moveBy()
-	public void testMoveBy() throws Exception {
-		// JUnitDoclet begin method moveBy
-		// JUnitDoclet end method moveBy
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see org.jhotdraw.contrib.TextAreaFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.contrib.TextAreaFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see org.jhotdraw.contrib.TextAreaFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see org.jhotdraw.contrib.TextAreaFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see org.jhotdraw.contrib.TextAreaFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.contrib.TextAreaFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.contrib.TextAreaFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method connect()
-	/**
-	 * Method testConnect is testing connect
-	 * @see org.jhotdraw.contrib.TextAreaFigure#connect(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method connect()
-	public void testConnect() throws Exception {
-		// JUnitDoclet begin method connect
-		// JUnitDoclet end method connect
-	}
-
-	// JUnitDoclet begin javadoc_method disconnect()
-	/**
-	 * Method testDisconnect is testing disconnect
-	 * @see org.jhotdraw.contrib.TextAreaFigure#disconnect(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method disconnect()
-	public void testDisconnect() throws Exception {
-		// JUnitDoclet begin method disconnect
-		// JUnitDoclet end method disconnect
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see org.jhotdraw.contrib.TextAreaFigure#figureInvalidated(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see org.jhotdraw.contrib.TextAreaFigure#figureChanged(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see org.jhotdraw.contrib.TextAreaFigure#figureRemoved(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see org.jhotdraw.contrib.TextAreaFigure#figureRequestRemove(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see org.jhotdraw.contrib.TextAreaFigure#figureRequestUpdate(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method getTextColor()
-	/**
-	 * Method testGetTextColor is testing getTextColor
-	 * @see org.jhotdraw.contrib.TextAreaFigure#getTextColor()
-	 */
-	// JUnitDoclet end javadoc_method getTextColor()
-	public void testGetTextColor() throws Exception {
-		// JUnitDoclet begin method getTextColor
-		// JUnitDoclet end method getTextColor
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see org.jhotdraw.contrib.TextAreaFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method setFontDirty()
-	/**
-	 * Method testSetIsFontDirty is testing setFontDirty
-	 * and isFontDirty together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.contrib.TextAreaFigure#setFontDirty(boolean)
-	 * @see org.jhotdraw.contrib.TextAreaFigure#isFontDirty()
-	 */
-	// JUnitDoclet end javadoc_method setFontDirty()
-	public void testSetIsFontDirty() throws Exception {
-		// JUnitDoclet begin method setFontDirty isFontDirty
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			textareafigure.setFontDirty(tests[i]);
-			assertEquals(tests[i], textareafigure.isFontDirty());
-		}
-		// JUnitDoclet end method setFontDirty isFontDirty
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see org.jhotdraw.contrib.TextAreaFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TextAreaToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TextAreaToolTest.java
deleted file mode 100644
index 5bb963191..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TextAreaToolTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.TextAreaTool;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextAreaToolTest is generated by
- * JUnitDoclet to hold the tests for TextAreaTool.
- * @see org.jhotdraw.contrib.TextAreaTool
- */
-// JUnitDoclet end javadoc_class
-public class TextAreaToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TextAreaTool textareatool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TextAreaToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TextAreaToolTest(String name) {
-		// JUnitDoclet begin method TextAreaToolTest
-		super(name);
-		// JUnitDoclet end method TextAreaToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public TextAreaTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new TextAreaTool(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		textareatool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		textareatool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.contrib.TextAreaTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.contrib.TextAreaTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.contrib.TextAreaTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see org.jhotdraw.contrib.TextAreaTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see org.jhotdraw.contrib.TextAreaTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method isActivated()
-	/**
-	 * Method testIsActivated is testing isActivated
-	 * @see org.jhotdraw.contrib.TextAreaTool#isActivated()
-	 */
-	// JUnitDoclet end javadoc_method isActivated()
-	public void testIsActivated() throws Exception {
-		// JUnitDoclet begin method isActivated
-		// JUnitDoclet end method isActivated
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TriangleFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TriangleFigureTest.java
deleted file mode 100644
index 58d7a2921..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/TriangleFigureTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-import org.jhotdraw.contrib.TriangleFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TriangleFigureTest is generated by
- * JUnitDoclet to hold the tests for TriangleFigure.
- * @see org.jhotdraw.contrib.TriangleFigure
- */
-// JUnitDoclet end javadoc_class
-public class TriangleFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TriangleFigure trianglefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TriangleFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TriangleFigureTest(String name) {
-		// JUnitDoclet begin method TriangleFigureTest
-		super(name);
-		// JUnitDoclet end method TriangleFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public TriangleFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new TriangleFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		trianglefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		trianglefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.contrib.TriangleFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method rotate()
-	/**
-	 * Method testRotate is testing rotate
-	 * @see org.jhotdraw.contrib.TriangleFigure#rotate(double)
-	 */
-	// JUnitDoclet end javadoc_method rotate()
-	public void testRotate() throws Exception {
-		// JUnitDoclet begin method rotate
-		// JUnitDoclet end method rotate
-	}
-
-	// JUnitDoclet begin javadoc_method getPolygon()
-	/**
-	 * Method testGetPolygon is testing getPolygon
-	 * @see org.jhotdraw.contrib.TriangleFigure#getPolygon()
-	 */
-	// JUnitDoclet end javadoc_method getPolygon()
-	public void testGetPolygon() throws Exception {
-		// JUnitDoclet begin method getPolygon
-		// JUnitDoclet end method getPolygon
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.contrib.TriangleFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see org.jhotdraw.contrib.TriangleFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see org.jhotdraw.contrib.TriangleFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see org.jhotdraw.contrib.TriangleFigure#center()
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method chop()
-	/**
-	 * Method testChop is testing chop
-	 * @see org.jhotdraw.contrib.TriangleFigure#chop(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method chop()
-	public void testChop() throws Exception {
-		// JUnitDoclet begin method chop
-		// JUnitDoclet end method chop
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see org.jhotdraw.contrib.TriangleFigure#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method getRotationAngle()
-	/**
-	 * Method testGetRotationAngle is testing getRotationAngle
-	 * @see org.jhotdraw.contrib.TriangleFigure#getRotationAngle()
-	 */
-	// JUnitDoclet end javadoc_method getRotationAngle()
-	public void testGetRotationAngle() throws Exception {
-		// JUnitDoclet begin method getRotationAngle
-		// JUnitDoclet end method getRotationAngle
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.contrib.TriangleFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.contrib.TriangleFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/WindowMenuTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/WindowMenuTest.java
deleted file mode 100644
index d6d3490e4..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/contrib/WindowMenuTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.contrib;
-
-// JUnitDoclet begin import
-import org.jhotdraw.application.DrawApplication;
-import org.jhotdraw.contrib.MDIDesktopPane;
-import org.jhotdraw.contrib.WindowMenu;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase WindowMenuTest is generated by
- * JUnitDoclet to hold the tests for WindowMenu.
- * @see org.jhotdraw.contrib.WindowMenu
- */
-// JUnitDoclet end javadoc_class
-public class WindowMenuTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private WindowMenu windowmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor WindowMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public WindowMenuTest(String name) {
-		// JUnitDoclet begin method WindowMenuTest
-		super(name);
-		// JUnitDoclet end method WindowMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public WindowMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		MDIDesktopPane desktop = (MDIDesktopPane) ((DrawApplication)getDrawingEditor()).getDesktop();
-		return new WindowMenu("TestWindowMenu", desktop, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		windowmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		windowmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/AllTests.java
deleted file mode 100644
index 056d1ab9c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/AllTests.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.figures");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(ArrowTipTest.class));
-		suite.addTest(new TestSuite(BorderDecoratorTest.class));
-		suite.addTest(new TestSuite(BorderToolTest.class));
-		suite.addTest(new TestSuite(ChopEllipseConnectorTest.class));
-		suite.addTest(new TestSuite(ConnectedTextToolTest.class));
-		suite.addTest(new TestSuite(ElbowConnectionTest.class));
-		suite.addTest(new TestSuite(ElbowHandleTest.class));
-		suite.addTest(new TestSuite(EllipseFigureTest.class));
-		suite.addTest(new TestSuite(FigureAttributesTest.class));
-		suite.addTest(new TestSuite(FontSizeHandleTest.class));
-		suite.addTest(new TestSuite(GroupCommandTest.class));
-		suite.addTest(new TestSuite(GroupFigureTest.class));
-		suite.addTest(new TestSuite(ImageFigureTest.class));
-		suite.addTest(new TestSuite(InsertImageCommandTest.class));
-		suite.addTest(new TestSuite(LineConnectionTest.class));
-		suite.addTest(new TestSuite(LineFigureTest.class));
-		suite.addTest(new TestSuite(NullConnectorTest.class));
-		suite.addTest(new TestSuite(NullFigureTest.class));
-		suite.addTest(new TestSuite(NumberTextFigureTest.class));
-		suite.addTest(new TestSuite(PolyLineConnectorTest.class));
-		suite.addTest(new TestSuite(PolyLineFigureTest.class));
-		suite.addTest(new TestSuite(PolyLineHandleTest.class));
-		suite.addTest(new TestSuite(RectangleFigureTest.class));
-		suite.addTest(new TestSuite(RoundRectangleFigureTest.class));
-		suite.addTest(new TestSuite(ScribbleToolTest.class));
-		suite.addTest(new TestSuite(ShortestDistanceConnectorTest.class));
-		suite.addTest(new TestSuite(TextFigureTest.class));
-		suite.addTest(new TestSuite(TextToolTest.class));
-		suite.addTest(new TestSuite(UngroupCommandTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ArrowTipTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ArrowTipTest.java
deleted file mode 100644
index 4a3c81a42..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ArrowTipTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.ArrowTip;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ArrowTipTest is generated by
- * JUnitDoclet to hold the tests for ArrowTip.
- * @see org.jhotdraw.figures.ArrowTip
- */
-// JUnitDoclet end javadoc_class
-public class ArrowTipTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private ArrowTip arrowtip;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor ArrowTipTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public ArrowTipTest(String name) {
-    // JUnitDoclet begin method ArrowTipTest
-    super(name);
-    // JUnitDoclet end method ArrowTipTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public ArrowTip createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new ArrowTip();
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    arrowtip = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    arrowtip = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method outline()
-  /**
-   * Method testOutline is testing outline
-   * @see org.jhotdraw.figures.ArrowTip#outline(int, int, int, int)
-   */
-  // JUnitDoclet end javadoc_method outline()
-  public void testOutline() throws Exception {
-    // JUnitDoclet begin method outline
-    // JUnitDoclet end method outline
-  }
-  
-  // JUnitDoclet begin javadoc_method write()
-  /**
-   * Method testWrite is testing write
-   * @see org.jhotdraw.figures.ArrowTip#write(org.jhotdraw.util.StorableOutput)
-   */
-  // JUnitDoclet end javadoc_method write()
-  public void testWrite() throws Exception {
-    // JUnitDoclet begin method write
-    // JUnitDoclet end method write
-  }
-  
-  // JUnitDoclet begin javadoc_method read()
-  /**
-   * Method testRead is testing read
-   * @see org.jhotdraw.figures.ArrowTip#read(org.jhotdraw.util.StorableInput)
-   */
-  // JUnitDoclet end javadoc_method read()
-  public void testRead() throws Exception {
-    // JUnitDoclet begin method read
-    // JUnitDoclet end method read
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/BorderDecoratorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/BorderDecoratorTest.java
deleted file mode 100644
index dd2b339b1..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/BorderDecoratorTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import java.awt.Point;
-
-import org.jhotdraw.figures.BorderDecorator;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BorderDecoratorTest is generated by
- * JUnitDoclet to hold the tests for BorderDecorator.
- * @see org.jhotdraw.figures.BorderDecorator
- */
-// JUnitDoclet end javadoc_class
-public class BorderDecoratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BorderDecorator borderdecorator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BorderDecoratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BorderDecoratorTest(String name) {
-		// JUnitDoclet begin method BorderDecoratorTest
-		super(name);
-		// JUnitDoclet end method BorderDecoratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public BorderDecorator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new BorderDecorator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		borderdecorator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		borderdecorator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setBorderOffset()
-	/**
-	 * Method testSetGetBorderOffset is testing setBorderOffset
-	 * and getBorderOffset together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.figures.BorderDecorator#setBorderOffset(java.awt.Point)
-	 * @see org.jhotdraw.figures.BorderDecorator#getBorderOffset()
-	 */
-	// JUnitDoclet end javadoc_method setBorderOffset()
-	public void testSetGetBorderOffset() throws Exception {
-		// JUnitDoclet begin method setBorderOffset getBorderOffset
-		Point[] tests = { new java.awt.Point()};
-
-		for (int i = 0; i < tests.length; i++) {
-			borderdecorator.setBorderOffset(tests[i]);
-			assertEquals(tests[i], borderdecorator.getBorderOffset());
-		}
-		// JUnitDoclet end method setBorderOffset getBorderOffset
-	}
-
-	// JUnitDoclet begin method setNullBorderOffset()
-	/**
-	  * Test a null argument to setBorderOffset.  Expect an Point(0, 0) to come back
-	  * 
-	  * @see org.jhotdraw.figures.BorderDecorator#setBorderOffset(java.awt.Point)
-	  */
-	public void setNullBorderOffset() throws Exception {
-		Point original = borderdecorator.getBorderOffset();
-
-		borderdecorator.setBorderOffset(null);
-		assertEquals(new Point(0, 0), borderdecorator.getBorderOffset());
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.figures.BorderDecorator#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.figures.BorderDecorator#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see org.jhotdraw.figures.BorderDecorator#figureInvalidated(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see org.jhotdraw.figures.BorderDecorator#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/BorderToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/BorderToolTest.java
deleted file mode 100644
index 7b50c0255..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/BorderToolTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.BorderTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BorderToolTest is generated by
- * JUnitDoclet to hold the tests for BorderTool.
- * @see org.jhotdraw.figures.BorderTool
- */
-// JUnitDoclet end javadoc_class
-public class BorderToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BorderTool bordertool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BorderToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BorderToolTest(String name) {
-		// JUnitDoclet begin method BorderToolTest
-		super(name);
-		// JUnitDoclet end method BorderToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public BorderTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new BorderTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bordertool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bordertool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.figures.BorderTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method action()
-	/**
-	 * Method testAction is testing action
-	 * @see org.jhotdraw.figures.BorderTool#action(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method action()
-	public void testAction() throws Exception {
-		// JUnitDoclet begin method action
-		// JUnitDoclet end method action
-	}
-
-	// JUnitDoclet begin javadoc_method reverseAction()
-	/**
-	 * Method testReverseAction is testing reverseAction
-	 * @see org.jhotdraw.figures.BorderTool#reverseAction(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method reverseAction()
-	public void testReverseAction() throws Exception {
-		// JUnitDoclet begin method reverseAction
-		// JUnitDoclet end method reverseAction
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ChopEllipseConnectorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ChopEllipseConnectorTest.java
deleted file mode 100644
index 78a0c5888..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ChopEllipseConnectorTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.ChopEllipseConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopEllipseConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopEllipseConnector.
- * @see org.jhotdraw.figures.ChopEllipseConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopEllipseConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopEllipseConnector chopellipseconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopEllipseConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopEllipseConnectorTest(String name) {
-		// JUnitDoclet begin method ChopEllipseConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopEllipseConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ChopEllipseConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ChopEllipseConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		chopellipseconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		chopellipseconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ConnectedTextToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ConnectedTextToolTest.java
deleted file mode 100644
index 58ffc0f07..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ConnectedTextToolTest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.ConnectedTextTool;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ConnectedTextToolTest is generated by
- * JUnitDoclet to hold the tests for ConnectedTextTool.
- * @see org.jhotdraw.figures.ConnectedTextTool
- */
-// JUnitDoclet end javadoc_class
-public class ConnectedTextToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ConnectedTextTool connectedtexttool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ConnectedTextToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ConnectedTextToolTest(String name) {
-		// JUnitDoclet begin method ConnectedTextToolTest
-		super(name);
-		// JUnitDoclet end method ConnectedTextToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ConnectedTextTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ConnectedTextTool(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		connectedtexttool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		connectedtexttool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.figures.ConnectedTextTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method getConnectedFigure()
-	/**
-	 * Method testGetConnectedFigure is testing getConnectedFigure
-	 * @see org.jhotdraw.figures.ConnectedTextTool#getConnectedFigure()
-	 */
-	// JUnitDoclet end javadoc_method getConnectedFigure()
-	public void testGetConnectedFigure() throws Exception {
-		// JUnitDoclet begin method getConnectedFigure
-		// JUnitDoclet end method getConnectedFigure
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see org.jhotdraw.figures.ConnectedTextTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ElbowConnectionTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ElbowConnectionTest.java
deleted file mode 100644
index a1a3e00ca..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ElbowConnectionTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.ElbowConnection;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ElbowConnectionTest is generated by
- * JUnitDoclet to hold the tests for ElbowConnection.
- * @see org.jhotdraw.figures.ElbowConnection
- */
-// JUnitDoclet end javadoc_class
-public class ElbowConnectionTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ElbowConnection elbowconnection;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ElbowConnectionTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ElbowConnectionTest(String name) {
-		// JUnitDoclet begin method ElbowConnectionTest
-		super(name);
-		// JUnitDoclet end method ElbowConnectionTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ElbowConnection createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ElbowConnection();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		elbowconnection = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		elbowconnection = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method updateConnection()
-	/**
-	 * Method testUpdateConnection is testing updateConnection
-	 * @see org.jhotdraw.figures.ElbowConnection#updateConnection()
-	 */
-	// JUnitDoclet end javadoc_method updateConnection()
-	public void testUpdateConnection() throws Exception {
-		// JUnitDoclet begin method updateConnection
-		// JUnitDoclet end method updateConnection
-	}
-
-	// JUnitDoclet begin javadoc_method layoutConnection()
-	/**
-	 * Method testLayoutConnection is testing layoutConnection
-	 * @see org.jhotdraw.figures.ElbowConnection#layoutConnection()
-	 */
-	// JUnitDoclet end javadoc_method layoutConnection()
-	public void testLayoutConnection() throws Exception {
-		// JUnitDoclet begin method layoutConnection
-		// JUnitDoclet end method layoutConnection
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.figures.ElbowConnection#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method connectedTextLocator()
-	/**
-	 * Method testConnectedTextLocator is testing connectedTextLocator
-	 * @see org.jhotdraw.figures.ElbowConnection#connectedTextLocator(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method connectedTextLocator()
-	public void testConnectedTextLocator() throws Exception {
-		// JUnitDoclet begin method connectedTextLocator
-		// JUnitDoclet end method connectedTextLocator
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ElbowHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ElbowHandleTest.java
deleted file mode 100644
index 3e989e5ff..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ElbowHandleTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.ElbowHandle;
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ElbowHandleTest is generated by
- * JUnitDoclet to hold the tests for ElbowHandle.
- * @see org.jhotdraw.figures.ElbowHandle
- */
-// JUnitDoclet end javadoc_class
-public class ElbowHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ElbowHandle elbowhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ElbowHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ElbowHandleTest(String name) {
-		// JUnitDoclet begin method ElbowHandleTest
-		super(name);
-		// JUnitDoclet end method ElbowHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ElbowHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		LineConnection lineConn = new LineConnection();
-		//lineConn.connectStart();
-		//lineConn.connectEnd();
-		return new ElbowHandle(lineConn, 1);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		elbowhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		elbowhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see org.jhotdraw.figures.ElbowHandle#invokeStart(int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see org.jhotdraw.figures.ElbowHandle#invokeStep(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see org.jhotdraw.figures.ElbowHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.figures.ElbowHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/EllipseFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/EllipseFigureTest.java
deleted file mode 100644
index 0295a074a..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/EllipseFigureTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.EllipseFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase EllipseFigureTest is generated by
- * JUnitDoclet to hold the tests for EllipseFigure.
- * @see org.jhotdraw.figures.EllipseFigure
- */
-// JUnitDoclet end javadoc_class
-public class EllipseFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private EllipseFigure ellipsefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor EllipseFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public EllipseFigureTest(String name) {
-		// JUnitDoclet begin method EllipseFigureTest
-		super(name);
-		// JUnitDoclet end method EllipseFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public EllipseFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new EllipseFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ellipsefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ellipsefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.figures.EllipseFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.figures.EllipseFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.figures.EllipseFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see org.jhotdraw.figures.EllipseFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see org.jhotdraw.figures.EllipseFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see org.jhotdraw.figures.EllipseFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see org.jhotdraw.figures.EllipseFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.figures.EllipseFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.figures.EllipseFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/FigureAttributesTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/FigureAttributesTest.java
deleted file mode 100644
index e46ba0fbb..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/FigureAttributesTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.FigureAttributes;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureAttributesTest is generated by
- * JUnitDoclet to hold the tests for FigureAttributes.
- * @see org.jhotdraw.figures.FigureAttributes
- */
-// JUnitDoclet end javadoc_class
-public class FigureAttributesTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureAttributes figureattributes;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureAttributesTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureAttributesTest(String name) {
-		// JUnitDoclet begin method FigureAttributesTest
-		super(name);
-		// JUnitDoclet end method FigureAttributesTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FigureAttributes createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new FigureAttributes();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureattributes = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureattributes = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method get()
-	/**
-	 * Method testGet is testing get
-	 * @see org.jhotdraw.figures.FigureAttributes#get(org.jhotdraw.framework.FigureAttributeConstant)
-	 */
-	// JUnitDoclet end javadoc_method get()
-	public void testGet() throws Exception {
-		// JUnitDoclet begin method get
-		// JUnitDoclet end method get
-	}
-
-	// JUnitDoclet begin javadoc_method set()
-	/**
-	 * Method testSet is testing set
-	 * @see org.jhotdraw.figures.FigureAttributes#set(org.jhotdraw.framework.FigureAttributeConstant, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method set()
-	public void testSet() throws Exception {
-		// JUnitDoclet begin method set
-		// JUnitDoclet end method set
-	}
-
-	// JUnitDoclet begin javadoc_method hasDefined()
-	/**
-	 * Method testHasDefined is testing hasDefined
-	 * @see org.jhotdraw.figures.FigureAttributes#hasDefined(org.jhotdraw.framework.FigureAttributeConstant)
-	 */
-	// JUnitDoclet end javadoc_method hasDefined()
-	public void testHasDefined() throws Exception {
-		// JUnitDoclet begin method hasDefined
-		// JUnitDoclet end method hasDefined
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see org.jhotdraw.figures.FigureAttributes#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.figures.FigureAttributes#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.figures.FigureAttributes#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method writeColor()
-	/**
-	 * Method testWriteColor is testing writeColor
-	 * @see org.jhotdraw.figures.FigureAttributes#writeColor(org.jhotdraw.util.StorableOutput, java.lang.String, java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method writeColor()
-	public void testWriteColor() throws Exception {
-		// JUnitDoclet begin method writeColor
-		// JUnitDoclet end method writeColor
-	}
-
-	// JUnitDoclet begin javadoc_method readColor()
-	/**
-	 * Method testReadColor is testing readColor
-	 * @see org.jhotdraw.figures.FigureAttributes#readColor(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method readColor()
-	public void testReadColor() throws Exception {
-		// JUnitDoclet begin method readColor
-		// JUnitDoclet end method readColor
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/FiguresSuite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/FiguresSuite.java
deleted file mode 100644
index db4286a3c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/FiguresSuite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * @(#)FiguresSuite.java
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite FiguresSuite
-*/
-// JUnitDoclet end javadoc_class
-public class FiguresSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.figures");
-
-		suite.addTestSuite(org.jhotdraw.test.figures.NullConnectorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.NullFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.UngroupCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.ShortestDistanceConnectorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.ScribbleToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.RectangleFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.RoundRectangleFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.PolyLineHandleTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.PolyLineConnectorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.NumberTextFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.LineFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.InsertImageCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.ImageFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.GroupFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.GroupCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.FontSizeHandleTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.EllipseFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.ElbowHandleTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.ElbowConnectionTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.TextToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.ConnectedTextToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.ChopEllipseConnectorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.BorderToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.BorderDecoratorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.ArrowTipTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.FigureAttributesTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.TextFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.PolyLineFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.figures.LineConnectionTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/FontSizeHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/FontSizeHandleTest.java
deleted file mode 100644
index d1f6528b8..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/FontSizeHandleTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.FontSizeHandle;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.RelativeLocator;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FontSizeHandleTest is generated by
- * JUnitDoclet to hold the tests for FontSizeHandle.
- * @see org.jhotdraw.figures.FontSizeHandle
- */
-// JUnitDoclet end javadoc_class
-public class FontSizeHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FontSizeHandle fontsizehandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FontSizeHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FontSizeHandleTest(String name) {
-		// JUnitDoclet begin method FontSizeHandleTest
-		super(name);
-		// JUnitDoclet end method FontSizeHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FontSizeHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new FontSizeHandle(new RectangleFigure(new Point(10, 10), new Point(100, 100)), new RelativeLocator());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		fontsizehandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		fontsizehandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see org.jhotdraw.figures.FontSizeHandle#invokeStart(int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see org.jhotdraw.figures.FontSizeHandle#invokeStep(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see org.jhotdraw.figures.FontSizeHandle#invokeEnd(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.figures.FontSizeHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/GroupCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/GroupCommandTest.java
deleted file mode 100644
index 6a3c09e3b..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/GroupCommandTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.GroupCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GroupCommandTest is generated by
- * JUnitDoclet to hold the tests for GroupCommand.
- * @see org.jhotdraw.figures.GroupCommand
- */
-// JUnitDoclet end javadoc_class
-public class GroupCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private GroupCommand groupcommand;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor GroupCommandTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public GroupCommandTest(String name) {
-    // JUnitDoclet begin method GroupCommandTest
-    super(name);
-    // JUnitDoclet end method GroupCommandTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public GroupCommand createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new GroupCommand("TestGroup", getDrawingEditor());
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    groupcommand = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    groupcommand = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method execute()
-  /**
-   * Method testExecute is testing execute
-   * @see org.jhotdraw.figures.GroupCommand#execute()
-   */
-  // JUnitDoclet end javadoc_method execute()
-  public void testExecute() throws Exception {
-    // JUnitDoclet begin method execute
-    // JUnitDoclet end method execute
-  }
-  
-  // JUnitDoclet begin javadoc_method isExecutableWithView()
-  /**
-   * Method testIsExecutableWithView is testing isExecutableWithView
-   * @see org.jhotdraw.figures.GroupCommand#isExecutableWithView()
-   */
-  // JUnitDoclet end javadoc_method isExecutableWithView()
-  public void testIsExecutableWithView() throws Exception {
-    // JUnitDoclet begin method isExecutableWithView
-    // JUnitDoclet end method isExecutableWithView
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/GroupFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/GroupFigureTest.java
deleted file mode 100644
index db40201eb..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/GroupFigureTest.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.GroupFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GroupFigureTest is generated by
- * JUnitDoclet to hold the tests for GroupFigure.
- * @see org.jhotdraw.figures.GroupFigure
- */
-// JUnitDoclet end javadoc_class
-public class GroupFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private GroupFigure groupfigure;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor GroupFigureTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public GroupFigureTest(String name) {
-    // JUnitDoclet begin method GroupFigureTest
-    super(name);
-    // JUnitDoclet end method GroupFigureTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public GroupFigure createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new GroupFigure();
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    groupfigure = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    groupfigure = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method canConnect()
-  /**
-   * Method testCanConnect is testing canConnect
-   * @see org.jhotdraw.figures.GroupFigure#canConnect()
-   */
-  // JUnitDoclet end javadoc_method canConnect()
-  public void testCanConnect() throws Exception {
-    // JUnitDoclet begin method canConnect
-    // JUnitDoclet end method canConnect
-  }
-  
-  // JUnitDoclet begin javadoc_method displayBox()
-  /**
-   * Method testDisplayBox is testing displayBox
-   * @see org.jhotdraw.figures.GroupFigure#displayBox()
-   */
-  // JUnitDoclet end javadoc_method displayBox()
-  public void testDisplayBox() throws Exception {
-    // JUnitDoclet begin method displayBox
-    // JUnitDoclet end method displayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method basicDisplayBox()
-  /**
-   * Method testBasicDisplayBox is testing basicDisplayBox
-   * @see org.jhotdraw.figures.GroupFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-   */
-  // JUnitDoclet end javadoc_method basicDisplayBox()
-  public void testBasicDisplayBox() throws Exception {
-    // JUnitDoclet begin method basicDisplayBox
-    // JUnitDoclet end method basicDisplayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method decompose()
-  /**
-   * Method testDecompose is testing decompose
-   * @see org.jhotdraw.figures.GroupFigure#decompose()
-   */
-  // JUnitDoclet end javadoc_method decompose()
-  public void testDecompose() throws Exception {
-    // JUnitDoclet begin method decompose
-    // JUnitDoclet end method decompose
-  }
-  
-  // JUnitDoclet begin javadoc_method handles()
-  /**
-   * Method testHandles is testing handles
-   * @see org.jhotdraw.figures.GroupFigure#handles()
-   */
-  // JUnitDoclet end javadoc_method handles()
-  public void testHandles() throws Exception {
-    // JUnitDoclet begin method handles
-    // JUnitDoclet end method handles
-  }
-  
-  // JUnitDoclet begin javadoc_method setAttribute()
-  /**
-   * Method testSetAttribute is testing setAttribute
-   * @see org.jhotdraw.figures.GroupFigure#setAttribute(java.lang.String, java.lang.Object)
-   */
-  // JUnitDoclet end javadoc_method setAttribute()
-  public void testSetAttribute() throws Exception {
-    // JUnitDoclet begin method setAttribute
-    // JUnitDoclet end method setAttribute
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ImageFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ImageFigureTest.java
deleted file mode 100644
index 7ba35f669..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ImageFigureTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.ImageFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ImageFigureTest is generated by
- * JUnitDoclet to hold the tests for ImageFigure.
- * @see org.jhotdraw.figures.ImageFigure
- */
-// JUnitDoclet end javadoc_class
-public class ImageFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ImageFigure imagefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ImageFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ImageFigureTest(String name) {
-		// JUnitDoclet begin method ImageFigureTest
-		super(name);
-		// JUnitDoclet end method ImageFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ImageFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ImageFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		imagefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		imagefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.figures.ImageFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.figures.ImageFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.figures.ImageFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.figures.ImageFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method imageUpdate()
-	/**
-	 * Method testImageUpdate is testing imageUpdate
-	 * @see org.jhotdraw.figures.ImageFigure#imageUpdate(java.awt.Image, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method imageUpdate()
-	public void testImageUpdate() throws Exception {
-		// JUnitDoclet begin method imageUpdate
-		// JUnitDoclet end method imageUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see org.jhotdraw.figures.ImageFigure#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.figures.ImageFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.figures.ImageFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/InsertImageCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/InsertImageCommandTest.java
deleted file mode 100644
index 730458c61..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/InsertImageCommandTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.InsertImageCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase InsertImageCommandTest is generated by
- * JUnitDoclet to hold the tests for InsertImageCommand.
- * @see org.jhotdraw.figures.InsertImageCommand
- */
-// JUnitDoclet end javadoc_class
-public class InsertImageCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private InsertImageCommand insertimagecommand;
-	private static String fgSampleImagesPath = "/org/jhotdraw/samples/javadraw/sampleimages/DUKE.gif";
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor InsertImageCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public InsertImageCommandTest(String name) {
-		// JUnitDoclet begin method InsertImageCommandTest
-		super(name);
-		// JUnitDoclet end method InsertImageCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public InsertImageCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new InsertImageCommand("TestImage", fgSampleImagesPath, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		insertimagecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		insertimagecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.figures.InsertImageCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/LineConnectionTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/LineConnectionTest.java
deleted file mode 100644
index fdeb075e8..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/LineConnectionTest.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.LineConnection;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LineConnectionTest is generated by
- * JUnitDoclet to hold the tests for LineConnection.
- * @see org.jhotdraw.figures.LineConnection
- */
-// JUnitDoclet end javadoc_class
-public class LineConnectionTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LineConnection lineconnection;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LineConnectionTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LineConnectionTest(String name) {
-		// JUnitDoclet begin method LineConnectionTest
-		super(name);
-		// JUnitDoclet end method LineConnectionTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public LineConnection createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new LineConnection();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		lineconnection = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		lineconnection = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method canConnect()
-	/**
-	 * Method testCanConnect is testing canConnect
-	 * @see org.jhotdraw.figures.LineConnection#canConnect()
-	 */
-	// JUnitDoclet end javadoc_method canConnect()
-	public void testCanConnect() throws Exception {
-		// JUnitDoclet begin method canConnect
-		// JUnitDoclet end method canConnect
-	}
-
-	// JUnitDoclet begin javadoc_method connectStart()
-	/**
-	 * Method testConnectStart is testing connectStart
-	 * @see org.jhotdraw.figures.LineConnection#connectStart(org.jhotdraw.framework.Connector)
-	 */
-	// JUnitDoclet end javadoc_method connectStart()
-	public void testConnectStart() throws Exception {
-		// JUnitDoclet begin method connectStart
-		// JUnitDoclet end method connectStart
-	}
-
-	// JUnitDoclet begin javadoc_method connectEnd()
-	/**
-	 * Method testConnectEnd is testing connectEnd
-	 * @see org.jhotdraw.figures.LineConnection#connectEnd(org.jhotdraw.framework.Connector)
-	 */
-	// JUnitDoclet end javadoc_method connectEnd()
-	public void testConnectEnd() throws Exception {
-		// JUnitDoclet begin method connectEnd
-		// JUnitDoclet end method connectEnd
-	}
-
-	// JUnitDoclet begin javadoc_method disconnectStart()
-	/**
-	 * Method testDisconnectStart is testing disconnectStart
-	 * @see org.jhotdraw.figures.LineConnection#disconnectStart()
-	 */
-	// JUnitDoclet end javadoc_method disconnectStart()
-	public void testDisconnectStart() throws Exception {
-		// JUnitDoclet begin method disconnectStart
-		// JUnitDoclet end method disconnectStart
-	}
-
-	// JUnitDoclet begin javadoc_method disconnectEnd()
-	/**
-	 * Method testDisconnectEnd is testing disconnectEnd
-	 * @see org.jhotdraw.figures.LineConnection#disconnectEnd()
-	 */
-	// JUnitDoclet end javadoc_method disconnectEnd()
-	public void testDisconnectEnd() throws Exception {
-		// JUnitDoclet begin method disconnectEnd
-		// JUnitDoclet end method disconnectEnd
-	}
-
-	// JUnitDoclet begin javadoc_method connectsSame()
-	/**
-	 * Method testConnectsSame is testing connectsSame
-	 * @see org.jhotdraw.figures.LineConnection#connectsSame(org.jhotdraw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method connectsSame()
-	public void testConnectsSame() throws Exception {
-		// JUnitDoclet begin method connectsSame
-		// JUnitDoclet end method connectsSame
-	}
-
-	// JUnitDoclet begin javadoc_method startFigure()
-	/**
-	 * Method testStartFigure is testing startFigure
-	 * @see org.jhotdraw.figures.LineConnection#startFigure()
-	 */
-	// JUnitDoclet end javadoc_method startFigure()
-	public void testStartFigure() throws Exception {
-		// JUnitDoclet begin method startFigure
-		// JUnitDoclet end method startFigure
-	}
-
-	// JUnitDoclet begin javadoc_method endFigure()
-	/**
-	 * Method testEndFigure is testing endFigure
-	 * @see org.jhotdraw.figures.LineConnection#endFigure()
-	 */
-	// JUnitDoclet end javadoc_method endFigure()
-	public void testEndFigure() throws Exception {
-		// JUnitDoclet begin method endFigure
-		// JUnitDoclet end method endFigure
-	}
-
-	// JUnitDoclet begin javadoc_method getStartConnector()
-	/**
-	 * Method testGetStartConnector is testing getStartConnector
-	 * @see org.jhotdraw.figures.LineConnection#getStartConnector()
-	 */
-	// JUnitDoclet end javadoc_method getStartConnector()
-	public void testGetStartConnector() throws Exception {
-		// JUnitDoclet begin method getStartConnector
-		// JUnitDoclet end method getStartConnector
-	}
-
-	// JUnitDoclet begin javadoc_method getEndConnector()
-	/**
-	 * Method testGetEndConnector is testing getEndConnector
-	 * @see org.jhotdraw.figures.LineConnection#getEndConnector()
-	 */
-	// JUnitDoclet end javadoc_method getEndConnector()
-	public void testGetEndConnector() throws Exception {
-		// JUnitDoclet begin method getEndConnector
-		// JUnitDoclet end method getEndConnector
-	}
-
-	// JUnitDoclet begin javadoc_method startPoint()
-	/**
-	 * Method testStartPoint is testing startPoint
-	 * @see org.jhotdraw.figures.LineConnection#startPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method startPoint()
-	public void testStartPoint() throws Exception {
-		// JUnitDoclet begin method startPoint
-		// JUnitDoclet end method startPoint
-	}
-
-	// JUnitDoclet begin javadoc_method endPoint()
-	/**
-	 * Method testEndPoint is testing endPoint
-	 * @see org.jhotdraw.figures.LineConnection#endPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method endPoint()
-	public void testEndPoint() throws Exception {
-		// JUnitDoclet begin method endPoint
-		// JUnitDoclet end method endPoint
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.figures.LineConnection#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method setPointAt()
-	/**
-	 * Method testSetPointAt is testing setPointAt
-	 * @see org.jhotdraw.figures.LineConnection#setPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method setPointAt()
-	public void testSetPointAt() throws Exception {
-		// JUnitDoclet begin method setPointAt
-		// JUnitDoclet end method setPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method insertPointAt()
-	/**
-	 * Method testInsertPointAt is testing insertPointAt
-	 * @see org.jhotdraw.figures.LineConnection#insertPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method insertPointAt()
-	public void testInsertPointAt() throws Exception {
-		// JUnitDoclet begin method insertPointAt
-		// JUnitDoclet end method insertPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method removePointAt()
-	/**
-	 * Method testRemovePointAt is testing removePointAt
-	 * @see org.jhotdraw.figures.LineConnection#removePointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method removePointAt()
-	public void testRemovePointAt() throws Exception {
-		// JUnitDoclet begin method removePointAt
-		// JUnitDoclet end method removePointAt
-	}
-
-	// JUnitDoclet begin javadoc_method updateConnection()
-	/**
-	 * Method testUpdateConnection is testing updateConnection
-	 * @see org.jhotdraw.figures.LineConnection#updateConnection()
-	 */
-	// JUnitDoclet end javadoc_method updateConnection()
-	public void testUpdateConnection() throws Exception {
-		// JUnitDoclet begin method updateConnection
-		// JUnitDoclet end method updateConnection
-	}
-
-	// JUnitDoclet begin javadoc_method layoutConnection()
-	/**
-	 * Method testLayoutConnection is testing layoutConnection
-	 * @see org.jhotdraw.figures.LineConnection#layoutConnection()
-	 */
-	// JUnitDoclet end javadoc_method layoutConnection()
-	public void testLayoutConnection() throws Exception {
-		// JUnitDoclet begin method layoutConnection
-		// JUnitDoclet end method layoutConnection
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see org.jhotdraw.figures.LineConnection#figureChanged(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see org.jhotdraw.figures.LineConnection#figureRemoved(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see org.jhotdraw.figures.LineConnection#figureRequestRemove(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see org.jhotdraw.figures.LineConnection#figureInvalidated(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see org.jhotdraw.figures.LineConnection#figureRequestUpdate(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see org.jhotdraw.figures.LineConnection#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.figures.LineConnection#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.figures.LineConnection#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method visit()
-	/**
-	 * Method testVisit is testing visit
-	 * @see org.jhotdraw.figures.LineConnection#visit(org.jhotdraw.framework.FigureVisitor)
-	 */
-	// JUnitDoclet end javadoc_method visit()
-	public void testVisit() throws Exception {
-		// JUnitDoclet begin method visit
-		// JUnitDoclet end method visit
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/LineFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/LineFigureTest.java
deleted file mode 100644
index 52d34d665..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/LineFigureTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.LineFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LineFigureTest is generated by
- * JUnitDoclet to hold the tests for LineFigure.
- * @see org.jhotdraw.figures.LineFigure
- */
-// JUnitDoclet end javadoc_class
-public class LineFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LineFigure linefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LineFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LineFigureTest(String name) {
-		// JUnitDoclet begin method LineFigureTest
-		super(name);
-		// JUnitDoclet end method LineFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public LineFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new LineFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		linefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		linefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method startPoint()
-	/**
-	 * Method testStartPoint is testing startPoint
-	 * @see org.jhotdraw.figures.LineFigure#startPoint()
-	 */
-	// JUnitDoclet end javadoc_method startPoint()
-	public void testStartPoint() throws Exception {
-		// JUnitDoclet begin method startPoint
-		// JUnitDoclet end method startPoint
-	}
-
-	// JUnitDoclet begin javadoc_method endPoint()
-	/**
-	 * Method testEndPoint is testing endPoint
-	 * @see org.jhotdraw.figures.LineFigure#endPoint()
-	 */
-	// JUnitDoclet end javadoc_method endPoint()
-	public void testEndPoint() throws Exception {
-		// JUnitDoclet begin method endPoint
-		// JUnitDoclet end method endPoint
-	}
-
-	// JUnitDoclet begin javadoc_method setPoints()
-	/**
-	 * Method testSetPoints is testing setPoints
-	 * @see org.jhotdraw.figures.LineFigure#setPoints(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method setPoints()
-	public void testSetPoints() throws Exception {
-		// JUnitDoclet begin method setPoints
-		// JUnitDoclet end method setPoints
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.figures.LineFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/NullConnectorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/NullConnectorTest.java
deleted file mode 100644
index da94c96b7..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/NullConnectorTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import org.jhotdraw.figures.NullConnector;
-import org.jhotdraw.figures.RectangleFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullConnectorTest is generated by
- * JUnitDoclet to hold the tests for NullConnector.
- * @see org.jhotdraw.figures.NullConnector
- */
-// JUnitDoclet end javadoc_class
-public class NullConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullConnector nullconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullConnectorTest(String name) {
-		// JUnitDoclet begin method NullConnectorTest
-		super(name);
-		// JUnitDoclet end method NullConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NullConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NullConnector(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nullconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nullconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/NullFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/NullFigureTest.java
deleted file mode 100644
index ccf5b1fac..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/NullFigureTest.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.NullFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullFigureTest is generated by
- * JUnitDoclet to hold the tests for NullFigure.
- * @see org.jhotdraw.figures.NullFigure
- */
-// JUnitDoclet end javadoc_class
-public class NullFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullFigure nullfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullFigureTest(String name) {
-		// JUnitDoclet begin method NullFigureTest
-		super(name);
-		// JUnitDoclet end method NullFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NullFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NullFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nullfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nullfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.figures.NullFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.figures.NullFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.figures.NullFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.figures.NullFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see org.jhotdraw.figures.NullFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method figures()
-	/**
-	 * Method testFigures is testing figures
-	 * @see org.jhotdraw.figures.NullFigure#figures()
-	 */
-	// JUnitDoclet end javadoc_method figures()
-	public void testFigures() throws Exception {
-		// JUnitDoclet begin method figures
-		// JUnitDoclet end method figures
-	}
-
-	// JUnitDoclet begin javadoc_method findFigureInside()
-	/**
-	 * Method testFindFigureInside is testing findFigureInside
-	 * @see org.jhotdraw.figures.NullFigure#findFigureInside(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findFigureInside()
-	public void testFindFigureInside() throws Exception {
-		// JUnitDoclet begin method findFigureInside
-		// JUnitDoclet end method findFigureInside
-	}
-
-	// JUnitDoclet begin javadoc_method clone()
-	/**
-	 * Method testClone is testing clone
-	 * @see org.jhotdraw.figures.NullFigure#clone()
-	 */
-	// JUnitDoclet end javadoc_method clone()
-	public void testClone() throws Exception {
-		// JUnitDoclet begin method clone
-		// JUnitDoclet end method clone
-	}
-
-	// JUnitDoclet begin javadoc_method includes()
-	/**
-	 * Method testIncludes is testing includes
-	 * @see org.jhotdraw.figures.NullFigure#includes(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method includes()
-	public void testIncludes() throws Exception {
-		// JUnitDoclet begin method includes
-		// JUnitDoclet end method includes
-	}
-
-	// JUnitDoclet begin javadoc_method decompose()
-	/**
-	 * Method testDecompose is testing decompose
-	 * @see org.jhotdraw.figures.NullFigure#decompose()
-	 */
-	// JUnitDoclet end javadoc_method decompose()
-	public void testDecompose() throws Exception {
-		// JUnitDoclet begin method decompose
-		// JUnitDoclet end method decompose
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see org.jhotdraw.figures.NullFigure#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method invalidate()
-	/**
-	 * Method testInvalidate is testing invalidate
-	 * @see org.jhotdraw.figures.NullFigure#invalidate()
-	 */
-	// JUnitDoclet end javadoc_method invalidate()
-	public void testInvalidate() throws Exception {
-		// JUnitDoclet begin method invalidate
-		// JUnitDoclet end method invalidate
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see org.jhotdraw.figures.NullFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see org.jhotdraw.figures.NullFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/NumberTextFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/NumberTextFigureTest.java
deleted file mode 100644
index ebabec42c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/NumberTextFigureTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.NumberTextFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NumberTextFigureTest is generated by
- * JUnitDoclet to hold the tests for NumberTextFigure.
- * @see org.jhotdraw.figures.NumberTextFigure
- */
-// JUnitDoclet end javadoc_class
-public class NumberTextFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NumberTextFigure numbertextfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NumberTextFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NumberTextFigureTest(String name) {
-		// JUnitDoclet begin method NumberTextFigureTest
-		super(name);
-		// JUnitDoclet end method NumberTextFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NumberTextFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NumberTextFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		numbertextfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		numbertextfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method overlayColumns()
-	/**
-	 * Method testOverlayColumns is testing overlayColumns
-	 * @see org.jhotdraw.figures.NumberTextFigure#overlayColumns()
-	 */
-	// JUnitDoclet end javadoc_method overlayColumns()
-	public void testOverlayColumns() throws Exception {
-		// JUnitDoclet begin method overlayColumns
-		// JUnitDoclet end method overlayColumns
-	}
-
-	// JUnitDoclet begin javadoc_method setValue()
-	/**
-	 * Method testSetGetValue is testing setValue
-	 * and getValue together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.figures.NumberTextFigure#setValue(int)
-	 * @see org.jhotdraw.figures.NumberTextFigure#getValue()
-	 */
-	// JUnitDoclet end javadoc_method setValue()
-	public void testSetGetValue() throws Exception {
-		// JUnitDoclet begin method setValue getValue
-		int[] tests = { Integer.MIN_VALUE, -1, 0, 1, Integer.MAX_VALUE };
-
-		for (int i = 0; i < tests.length; i++) {
-			numbertextfigure.setValue(tests[i]);
-			assertEquals(tests[i], numbertextfigure.getValue());
-		}
-		// JUnitDoclet end method setValue getValue
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see org.jhotdraw.figures.NumberTextFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineConnectorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineConnectorTest.java
deleted file mode 100644
index 85a35bad8..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineConnectorTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.PolyLineConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolyLineConnectorTest is generated by
- * JUnitDoclet to hold the tests for PolyLineConnector.
- * @see org.jhotdraw.figures.PolyLineConnector
- */
-// JUnitDoclet end javadoc_class
-public class PolyLineConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolyLineConnector polylineconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolyLineConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolyLineConnectorTest(String name) {
-		// JUnitDoclet begin method PolyLineConnectorTest
-		super(name);
-		// JUnitDoclet end method PolyLineConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PolyLineConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PolyLineConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polylineconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polylineconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineFigureTest.java
deleted file mode 100644
index b88c4484f..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineFigureTest.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import org.jhotdraw.figures.ArrowTip;
-import org.jhotdraw.figures.PolyLineFigure;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolyLineFigureTest is generated by
- * JUnitDoclet to hold the tests for PolyLineFigure.
- * @see org.jhotdraw.figures.PolyLineFigure
- */
-// JUnitDoclet end javadoc_class
-public class PolyLineFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolyLineFigure polylinefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolyLineFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolyLineFigureTest(String name) {
-		// JUnitDoclet begin method PolyLineFigureTest
-		super(name);
-		// JUnitDoclet end method PolyLineFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PolyLineFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PolyLineFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polylinefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polylinefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.figures.PolyLineFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see org.jhotdraw.figures.PolyLineFigure#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.figures.PolyLineFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.figures.PolyLineFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method addPoint()
-	/**
-	 * Method testAddPoint is testing addPoint
-	 * @see org.jhotdraw.figures.PolyLineFigure#addPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method addPoint()
-	public void testAddPoint() throws Exception {
-		// JUnitDoclet begin method addPoint
-		// JUnitDoclet end method addPoint
-	}
-
-	// JUnitDoclet begin javadoc_method points()
-	/**
-	 * Method testPoints is testing points
-	 * @see org.jhotdraw.figures.PolyLineFigure#points()
-	 */
-	// JUnitDoclet end javadoc_method points()
-	public void testPoints() throws Exception {
-		// JUnitDoclet begin method points
-		// JUnitDoclet end method points
-	}
-
-	// JUnitDoclet begin javadoc_method pointCount()
-	/**
-	 * Method testPointCount is testing pointCount
-	 * @see org.jhotdraw.figures.PolyLineFigure#pointCount()
-	 */
-	// JUnitDoclet end javadoc_method pointCount()
-	public void testPointCount() throws Exception {
-		// JUnitDoclet begin method pointCount
-		// JUnitDoclet end method pointCount
-	}
-
-	// JUnitDoclet begin javadoc_method setPointAt()
-	/**
-	 * Method testSetPointAt is testing setPointAt
-	 * @see org.jhotdraw.figures.PolyLineFigure#setPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method setPointAt()
-	public void testSetPointAt() throws Exception {
-		// JUnitDoclet begin method setPointAt
-		// JUnitDoclet end method setPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method insertPointAt()
-	/**
-	 * Method testInsertPointAt is testing insertPointAt
-	 * @see org.jhotdraw.figures.PolyLineFigure#insertPointAt(java.awt.Point, int)
-	 */
-	// JUnitDoclet end javadoc_method insertPointAt()
-	public void testInsertPointAt() throws Exception {
-		// JUnitDoclet begin method insertPointAt
-		// JUnitDoclet end method insertPointAt
-	}
-
-	// JUnitDoclet begin javadoc_method removePointAt()
-	/**
-	 * Method testRemovePointAt is testing removePointAt
-	 * @see org.jhotdraw.figures.PolyLineFigure#removePointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method removePointAt()
-	public void testRemovePointAt() throws Exception {
-		// JUnitDoclet begin method removePointAt
-		// JUnitDoclet end method removePointAt
-	}
-
-	// JUnitDoclet begin javadoc_method splitSegment()
-	/**
-	 * Method testSplitSegment is testing splitSegment
-	 * @see org.jhotdraw.figures.PolyLineFigure#splitSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method splitSegment()
-	public void testSplitSegment() throws Exception {
-		// JUnitDoclet begin method splitSegment
-		// JUnitDoclet end method splitSegment
-	}
-
-	// JUnitDoclet begin javadoc_method pointAt()
-	/**
-	 * Method testPointAt is testing pointAt
-	 * @see org.jhotdraw.figures.PolyLineFigure#pointAt(int)
-	 */
-	// JUnitDoclet end javadoc_method pointAt()
-	public void testPointAt() throws Exception {
-		// JUnitDoclet begin method pointAt
-		// JUnitDoclet end method pointAt
-	}
-
-	// JUnitDoclet begin javadoc_method joinSegments()
-	/**
-	 * Method testJoinSegments is testing joinSegments
-	 * @see org.jhotdraw.figures.PolyLineFigure#joinSegments(int, int)
-	 */
-	// JUnitDoclet end javadoc_method joinSegments()
-	public void testJoinSegments() throws Exception {
-		// JUnitDoclet begin method joinSegments
-		// JUnitDoclet end method joinSegments
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see org.jhotdraw.figures.PolyLineFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method setStartDecoration()
-	/**
-	 * Method testSetGetStartDecoration is testing setStartDecoration
-	 * and getStartDecoration together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.figures.PolyLineFigure#setStartDecoration(org.jhotdraw.figures.LineDecoration)
-	 * @see org.jhotdraw.figures.PolyLineFigure#getStartDecoration()
-	 */
-	// JUnitDoclet end javadoc_method setStartDecoration()
-	public void testSetGetStartDecoration() throws Exception {
-		// JUnitDoclet begin method setStartDecoration getStartDecoration
-		org.jhotdraw.figures.LineDecoration[] tests = { new ArrowTip(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			polylinefigure.setStartDecoration(tests[i]);
-			assertEquals(tests[i], polylinefigure.getStartDecoration());
-		}
-		// JUnitDoclet end method setStartDecoration getStartDecoration
-	}
-
-	// JUnitDoclet begin javadoc_method setEndDecoration()
-	/**
-	 * Method testSetGetEndDecoration is testing setEndDecoration
-	 * and getEndDecoration together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.figures.PolyLineFigure#setEndDecoration(org.jhotdraw.figures.LineDecoration)
-	 * @see org.jhotdraw.figures.PolyLineFigure#getEndDecoration()
-	 */
-	// JUnitDoclet end javadoc_method setEndDecoration()
-	public void testSetGetEndDecoration() throws Exception {
-		// JUnitDoclet begin method setEndDecoration getEndDecoration
-		org.jhotdraw.figures.LineDecoration[] tests = { new ArrowTip(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			polylinefigure.setEndDecoration(tests[i]);
-			assertEquals(tests[i], polylinefigure.getEndDecoration());
-		}
-		// JUnitDoclet end method setEndDecoration getEndDecoration
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.figures.PolyLineFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see org.jhotdraw.figures.PolyLineFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method findSegment()
-	/**
-	 * Method testFindSegment is testing findSegment
-	 * @see org.jhotdraw.figures.PolyLineFigure#findSegment(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findSegment()
-	public void testFindSegment() throws Exception {
-		// JUnitDoclet begin method findSegment
-		// JUnitDoclet end method findSegment
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see org.jhotdraw.figures.PolyLineFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see org.jhotdraw.figures.PolyLineFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.figures.PolyLineFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.figures.PolyLineFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method locator()
-	/**
-	 * Method testLocator is testing locator
-	 * @see org.jhotdraw.figures.PolyLineFigure#locator(int)
-	 */
-	// JUnitDoclet end javadoc_method locator()
-	public void testLocator() throws Exception {
-		// JUnitDoclet begin method locator
-		// JUnitDoclet end method locator
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineHandleTest.java
deleted file mode 100644
index 9bfafc130..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/PolyLineHandleTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.PolyLineFigure;
-import org.jhotdraw.figures.PolyLineHandle;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PolyLineHandleTest is generated by
- * JUnitDoclet to hold the tests for PolyLineHandle.
- * @see org.jhotdraw.figures.PolyLineHandle
- */
-// JUnitDoclet end javadoc_class
-public class PolyLineHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PolyLineHandle polylinehandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PolyLineHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PolyLineHandleTest(String name) {
-		// JUnitDoclet begin method PolyLineHandleTest
-		super(name);
-		// JUnitDoclet end method PolyLineHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PolyLineHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		PolyLineFigure figure = new PolyLineFigure(20, 20);
-		figure.addPoint(30, 30);
-		figure.addPoint(40, 40);
-		return new PolyLineHandle(figure, PolyLineFigure.locator(2), 2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		polylinehandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		polylinehandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see org.jhotdraw.figures.PolyLineHandle#invokeStart(int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see org.jhotdraw.figures.PolyLineHandle#invokeStep(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see org.jhotdraw.figures.PolyLineHandle#invokeEnd(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/RectangleFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/RectangleFigureTest.java
deleted file mode 100644
index 90fe46619..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/RectangleFigureTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.RectangleFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RectangleFigureTest is generated by
- * JUnitDoclet to hold the tests for RectangleFigure.
- * @see org.jhotdraw.figures.RectangleFigure
- */
-// JUnitDoclet end javadoc_class
-public class RectangleFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RectangleFigure rectanglefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RectangleFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RectangleFigureTest(String name) {
-		// JUnitDoclet begin method RectangleFigureTest
-		super(name);
-		// JUnitDoclet end method RectangleFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public RectangleFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new RectangleFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		rectanglefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		rectanglefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.figures.RectangleFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.figures.RectangleFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.figures.RectangleFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see org.jhotdraw.figures.RectangleFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see org.jhotdraw.figures.RectangleFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.figures.RectangleFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.figures.RectangleFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/RoundRectangleFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/RoundRectangleFigureTest.java
deleted file mode 100644
index d4b6a4eb4..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/RoundRectangleFigureTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.RoundRectangleFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RoundRectangleFigureTest is generated by
- * JUnitDoclet to hold the tests for RoundRectangleFigure.
- * @see org.jhotdraw.figures.RoundRectangleFigure
- */
-// JUnitDoclet end javadoc_class
-public class RoundRectangleFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RoundRectangleFigure roundrectanglefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RoundRectangleFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RoundRectangleFigureTest(String name) {
-		// JUnitDoclet begin method RoundRectangleFigureTest
-		super(name);
-		// JUnitDoclet end method RoundRectangleFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public RoundRectangleFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new RoundRectangleFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		roundrectanglefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		roundrectanglefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method setArc()
-	/**
-	 * Method testSetArc is testing setArc
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#setArc(int, int)
-	 */
-	// JUnitDoclet end javadoc_method setArc()
-	public void testSetArc() throws Exception {
-		// JUnitDoclet begin method setArc
-		// JUnitDoclet end method setArc
-	}
-
-	// JUnitDoclet begin javadoc_method getArc()
-	/**
-	 * Method testGetArc is testing getArc
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#getArc()
-	 */
-	// JUnitDoclet end javadoc_method getArc()
-	public void testGetArc() throws Exception {
-		// JUnitDoclet begin method getArc
-		// JUnitDoclet end method getArc
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method connectionInsets()
-	/**
-	 * Method testConnectionInsets is testing connectionInsets
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#connectionInsets()
-	 */
-	// JUnitDoclet end javadoc_method connectionInsets()
-	public void testConnectionInsets() throws Exception {
-		// JUnitDoclet begin method connectionInsets
-		// JUnitDoclet end method connectionInsets
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.figures.RoundRectangleFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ScribbleToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ScribbleToolTest.java
deleted file mode 100644
index 398154b32..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ScribbleToolTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.ScribbleTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ScribbleToolTest is generated by
- * JUnitDoclet to hold the tests for ScribbleTool.
- * @see org.jhotdraw.figures.ScribbleTool
- */
-// JUnitDoclet end javadoc_class
-public class ScribbleToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ScribbleTool scribbletool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ScribbleToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ScribbleToolTest(String name) {
-		// JUnitDoclet begin method ScribbleToolTest
-		super(name);
-		// JUnitDoclet end method ScribbleToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ScribbleTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ScribbleTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		scribbletool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		scribbletool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see org.jhotdraw.figures.ScribbleTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see org.jhotdraw.figures.ScribbleTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.figures.ScribbleTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.figures.ScribbleTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.figures.ScribbleTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ShortestDistanceConnectorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ShortestDistanceConnectorTest.java
deleted file mode 100644
index 1f7740383..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/ShortestDistanceConnectorTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import org.jhotdraw.figures.ShortestDistanceConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ShortestDistanceConnectorTest is generated by
- * JUnitDoclet to hold the tests for ShortestDistanceConnector.
- * @see org.jhotdraw.figures.ShortestDistanceConnector
- */
-// JUnitDoclet end javadoc_class
-public class ShortestDistanceConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ShortestDistanceConnector shortestdistanceconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ShortestDistanceConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ShortestDistanceConnectorTest(String name) {
-		// JUnitDoclet begin method ShortestDistanceConnectorTest
-		super(name);
-		// JUnitDoclet end method ShortestDistanceConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ShortestDistanceConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ShortestDistanceConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		shortestdistanceconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		shortestdistanceconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method findStart()
-	/**
-	 * Method testFindStart is testing findStart
-	 * @see org.jhotdraw.figures.ShortestDistanceConnector#findStart(org.jhotdraw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findStart()
-	public void testFindStart() throws Exception {
-		// JUnitDoclet begin method findStart
-		// JUnitDoclet end method findStart
-	}
-
-	// JUnitDoclet begin javadoc_method findEnd()
-	/**
-	 * Method testFindEnd is testing findEnd
-	 * @see org.jhotdraw.figures.ShortestDistanceConnector#findEnd(org.jhotdraw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findEnd()
-	public void testFindEnd() throws Exception {
-		// JUnitDoclet begin method findEnd
-		// JUnitDoclet end method findEnd
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/TextFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/TextFigureTest.java
deleted file mode 100644
index d9ad93aba..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/TextFigureTest.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import java.awt.Font;
-
-import org.jhotdraw.figures.TextFigure;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextFigureTest is generated by
- * JUnitDoclet to hold the tests for TextFigure.
- * @see org.jhotdraw.figures.TextFigure
- */
-// JUnitDoclet end javadoc_class
-public class TextFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private TextFigure textfigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor TextFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public TextFigureTest(String name) {
-		// JUnitDoclet begin method TextFigureTest
-		super(name);
-		// JUnitDoclet end method TextFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public TextFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new TextFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		textfigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		textfigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method moveBy()
-	/**
-	 * Method testMoveBy is testing moveBy
-	 * @see org.jhotdraw.figures.TextFigure#moveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method moveBy()
-	public void testMoveBy() throws Exception {
-		// JUnitDoclet begin method moveBy
-		// JUnitDoclet end method moveBy
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.figures.TextFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.figures.TextFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method textDisplayBox()
-	/**
-	 * Method testTextDisplayBox is testing textDisplayBox
-	 * @see org.jhotdraw.figures.TextFigure#textDisplayBox()
-	 */
-	// JUnitDoclet end javadoc_method textDisplayBox()
-	public void testTextDisplayBox() throws Exception {
-		// JUnitDoclet begin method textDisplayBox
-		// JUnitDoclet end method textDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method readOnly()
-	/**
-	 * Method testReadOnly is testing readOnly
-	 * @see org.jhotdraw.figures.TextFigure#readOnly()
-	 */
-	// JUnitDoclet end javadoc_method readOnly()
-	public void testReadOnly() throws Exception {
-		// JUnitDoclet begin method readOnly
-		// JUnitDoclet end method readOnly
-	}
-
-	// JUnitDoclet begin javadoc_method setReadOnly()
-	/**
-	 * Method testSetReadOnly is testing setReadOnly
-	 * @see org.jhotdraw.figures.TextFigure#setReadOnly(boolean)
-	 */
-	// JUnitDoclet end javadoc_method setReadOnly()
-	public void testSetReadOnly() throws Exception {
-		// JUnitDoclet begin method setReadOnly
-		// JUnitDoclet end method setReadOnly
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see org.jhotdraw.figures.TextFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method setFont()
-	/**
-	 * Method testSetGetFont is testing setFont
-	 * and getFont together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.figures.TextFigure#setFont(java.awt.Font)
-	 * @see org.jhotdraw.figures.TextFigure#getFont()
-	 */
-	// JUnitDoclet end javadoc_method setFont()
-	public void testSetGetFont() throws Exception {
-		// JUnitDoclet begin method setFont getFont
-		java.awt.Font[] tests = { new Font("Helvetica", Font.PLAIN, 12), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			textfigure.setFont(tests[i]);
-			assertEquals(tests[i], textfigure.getFont());
-		}
-		// JUnitDoclet end method setFont getFont
-	}
-
-	// JUnitDoclet begin javadoc_method changed()
-	/**
-	 * Method testChanged is testing changed
-	 * @see org.jhotdraw.figures.TextFigure#changed()
-	 */
-	// JUnitDoclet end javadoc_method changed()
-	public void testChanged() throws Exception {
-		// JUnitDoclet begin method changed
-		// JUnitDoclet end method changed
-	}
-
-	// JUnitDoclet begin javadoc_method getAttribute()
-	/**
-	 * Method testGetAttribute is testing getAttribute
-	 * @see org.jhotdraw.figures.TextFigure#getAttribute(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getAttribute()
-	public void testGetAttribute() throws Exception {
-		// JUnitDoclet begin method getAttribute
-		// JUnitDoclet end method getAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setAttribute()
-	/**
-	 * Method testSetAttribute is testing setAttribute
-	 * @see org.jhotdraw.figures.TextFigure#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method setAttribute()
-	public void testSetAttribute() throws Exception {
-		// JUnitDoclet begin method setAttribute
-		// JUnitDoclet end method setAttribute
-	}
-
-	// JUnitDoclet begin javadoc_method setText()
-	/**
-	 * Method testSetGetText is testing setText
-	 * and getText together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.figures.TextFigure#setText(java.lang.String)
-	 * @see org.jhotdraw.figures.TextFigure#getText()
-	 */
-	// JUnitDoclet end javadoc_method setText()
-	public void testSetGetText() throws Exception {
-		// JUnitDoclet begin method setText getText
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			textfigure.setText(tests[i]);
-			assertEquals(tests[i], textfigure.getText());
-		}
-		// JUnitDoclet end method setText getText
-	}
-
-	// JUnitDoclet begin javadoc_method acceptsTyping()
-	/**
-	 * Method testAcceptsTyping is testing acceptsTyping
-	 * @see org.jhotdraw.figures.TextFigure#acceptsTyping()
-	 */
-	// JUnitDoclet end javadoc_method acceptsTyping()
-	public void testAcceptsTyping() throws Exception {
-		// JUnitDoclet begin method acceptsTyping
-		// JUnitDoclet end method acceptsTyping
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see org.jhotdraw.figures.TextFigure#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawFrame()
-	/**
-	 * Method testDrawFrame is testing drawFrame
-	 * @see org.jhotdraw.figures.TextFigure#drawFrame(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawFrame()
-	public void testDrawFrame() throws Exception {
-		// JUnitDoclet begin method drawFrame
-		// JUnitDoclet end method drawFrame
-	}
-
-	// JUnitDoclet begin javadoc_method overlayColumns()
-	/**
-	 * Method testOverlayColumns is testing overlayColumns
-	 * @see org.jhotdraw.figures.TextFigure#overlayColumns()
-	 */
-	// JUnitDoclet end javadoc_method overlayColumns()
-	public void testOverlayColumns() throws Exception {
-		// JUnitDoclet begin method overlayColumns
-		// JUnitDoclet end method overlayColumns
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.figures.TextFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.figures.TextFigure#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.figures.TextFigure#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method connect()
-	/**
-	 * Method testConnect is testing connect
-	 * @see org.jhotdraw.figures.TextFigure#connect(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method connect()
-	public void testConnect() throws Exception {
-		// JUnitDoclet begin method connect
-		// JUnitDoclet end method connect
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see org.jhotdraw.figures.TextFigure#figureChanged(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see org.jhotdraw.figures.TextFigure#figureRemoved(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see org.jhotdraw.figures.TextFigure#figureRequestRemove(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see org.jhotdraw.figures.TextFigure#figureInvalidated(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see org.jhotdraw.figures.TextFigure#figureRequestUpdate(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see org.jhotdraw.figures.TextFigure#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method disconnect()
-	/**
-	 * Method testDisconnect is testing disconnect
-	 * @see org.jhotdraw.figures.TextFigure#disconnect(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method disconnect()
-	public void testDisconnect() throws Exception {
-		// JUnitDoclet begin method disconnect
-		// JUnitDoclet end method disconnect
-	}
-
-	// JUnitDoclet begin javadoc_method getTextHolder()
-	/**
-	 * Method testGetTextHolder is testing getTextHolder
-	 * @see org.jhotdraw.figures.TextFigure#getTextHolder()
-	 */
-	// JUnitDoclet end javadoc_method getTextHolder()
-	public void testGetTextHolder() throws Exception {
-		// JUnitDoclet begin method getTextHolder
-		// JUnitDoclet end method getTextHolder
-	}
-
-	// JUnitDoclet begin javadoc_method createCurrentFont()
-	/**
-	 * Method testCreateCurrentFont is testing createCurrentFont
-	 * @see org.jhotdraw.figures.TextFigure#createCurrentFont()
-	 */
-	// JUnitDoclet end javadoc_method createCurrentFont()
-	public void testCreateCurrentFont() throws Exception {
-		// JUnitDoclet begin method createCurrentFont
-		// JUnitDoclet end method createCurrentFont
-	}
-
-	// JUnitDoclet begin javadoc_method setCurrentFontName()
-	/**
-	 * Method testSetCurrentFontName is testing setCurrentFontName
-	 * @see org.jhotdraw.figures.TextFigure#setCurrentFontName(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method setCurrentFontName()
-	public void testSetCurrentFontName() throws Exception {
-		// JUnitDoclet begin method setCurrentFontName
-		// JUnitDoclet end method setCurrentFontName
-	}
-
-	// JUnitDoclet begin javadoc_method setCurrentFontSize()
-	/**
-	 * Method testSetCurrentFontSize is testing setCurrentFontSize
-	 * @see org.jhotdraw.figures.TextFigure#setCurrentFontSize(int)
-	 */
-	// JUnitDoclet end javadoc_method setCurrentFontSize()
-	public void testSetCurrentFontSize() throws Exception {
-		// JUnitDoclet begin method setCurrentFontSize
-		// JUnitDoclet end method setCurrentFontSize
-	}
-
-	// JUnitDoclet begin javadoc_method setCurrentFontStyle()
-	/**
-	 * Method testSetCurrentFontStyle is testing setCurrentFontStyle
-	 * @see org.jhotdraw.figures.TextFigure#setCurrentFontStyle(int)
-	 */
-	// JUnitDoclet end javadoc_method setCurrentFontStyle()
-	public void testSetCurrentFontStyle() throws Exception {
-		// JUnitDoclet begin method setCurrentFontStyle
-		// JUnitDoclet end method setCurrentFontStyle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/TextToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/TextToolTest.java
deleted file mode 100644
index 2a22ee5a5..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/TextToolTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.figures.TextTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase TextToolTest is generated by
- * JUnitDoclet to hold the tests for TextTool.
- * @see org.jhotdraw.figures.TextTool
- */
-// JUnitDoclet end javadoc_class
-public class TextToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private TextTool texttool;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor TextToolTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public TextToolTest(String name) {
-    // JUnitDoclet begin method TextToolTest
-    super(name);
-    // JUnitDoclet end method TextToolTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public TextTool createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new TextTool(getDrawingEditor(), new RectangleFigure(new Point(10,10), new Point(100,100)));
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    texttool = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    texttool = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method mouseDown()
-  /**
-   * Method testMouseDown is testing mouseDown
-   * @see org.jhotdraw.figures.TextTool#mouseDown(java.awt.event.MouseEvent, int, int)
-   */
-  // JUnitDoclet end javadoc_method mouseDown()
-  public void testMouseDown() throws Exception {
-    // JUnitDoclet begin method mouseDown
-    // JUnitDoclet end method mouseDown
-  }
-  
-  // JUnitDoclet begin javadoc_method mouseDrag()
-  /**
-   * Method testMouseDrag is testing mouseDrag
-   * @see org.jhotdraw.figures.TextTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-   */
-  // JUnitDoclet end javadoc_method mouseDrag()
-  public void testMouseDrag() throws Exception {
-    // JUnitDoclet begin method mouseDrag
-    // JUnitDoclet end method mouseDrag
-  }
-  
-  // JUnitDoclet begin javadoc_method mouseUp()
-  /**
-   * Method testMouseUp is testing mouseUp
-   * @see org.jhotdraw.figures.TextTool#mouseUp(java.awt.event.MouseEvent, int, int)
-   */
-  // JUnitDoclet end javadoc_method mouseUp()
-  public void testMouseUp() throws Exception {
-    // JUnitDoclet begin method mouseUp
-    // JUnitDoclet end method mouseUp
-  }
-  
-  // JUnitDoclet begin javadoc_method deactivate()
-  /**
-   * Method testDeactivate is testing deactivate
-   * @see org.jhotdraw.figures.TextTool#deactivate()
-   */
-  // JUnitDoclet end javadoc_method deactivate()
-  public void testDeactivate() throws Exception {
-    // JUnitDoclet begin method deactivate
-    // JUnitDoclet end method deactivate
-  }
-  
-  // JUnitDoclet begin javadoc_method activate()
-  /**
-   * Method testActivate is testing activate
-   * @see org.jhotdraw.figures.TextTool#activate()
-   */
-  // JUnitDoclet end javadoc_method activate()
-  public void testActivate() throws Exception {
-    // JUnitDoclet begin method activate
-    // JUnitDoclet end method activate
-  }
-  
-  // JUnitDoclet begin javadoc_method isActive()
-  /**
-   * Method testIsActive is testing isActive
-   * @see org.jhotdraw.figures.TextTool#isActive()
-   */
-  // JUnitDoclet end javadoc_method isActive()
-  public void testIsActive() throws Exception {
-    // JUnitDoclet begin method isActive
-    // JUnitDoclet end method isActive
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/UngroupCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/figures/UngroupCommandTest.java
deleted file mode 100644
index ced7a9f90..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/figures/UngroupCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.figures;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.UngroupCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UngroupCommandTest is generated by
- * JUnitDoclet to hold the tests for UngroupCommand.
- * @see org.jhotdraw.figures.UngroupCommand
- */
-// JUnitDoclet end javadoc_class
-public class UngroupCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UngroupCommand ungroupcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UngroupCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UngroupCommandTest(String name) {
-		// JUnitDoclet begin method UngroupCommandTest
-		super(name);
-		// JUnitDoclet end method UngroupCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UngroupCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new UngroupCommand("UngroupTest", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		ungroupcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		ungroupcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.figures.UngroupCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see org.jhotdraw.figures.UngroupCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/framework/AllTests.java
deleted file mode 100644
index 180c1a910..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/AllTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.framework;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.framework");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(DrawingChangeEventTest.class));
-		suite.addTest(new TestSuite(FigureAttributeConstantTest.class));
-		suite.addTest(new TestSuite(FigureChangeEventTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/DrawingChangeEventTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/framework/DrawingChangeEventTest.java
deleted file mode 100644
index 34fe67c28..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/DrawingChangeEventTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.framework;
-
-import java.awt.Rectangle;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import org.jhotdraw.framework.DrawingChangeEvent;
-import org.jhotdraw.standard.StandardDrawing;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DrawingChangeEventTest is generated by
- * JUnitDoclet to hold the tests for DrawingChangeEvent.
- * @see org.jhotdraw.framework.DrawingChangeEvent
- */
-// JUnitDoclet end javadoc_class
-public class DrawingChangeEventTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DrawingChangeEvent drawingchangeevent;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DrawingChangeEventTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DrawingChangeEventTest(String name) {
-		// JUnitDoclet begin method DrawingChangeEventTest
-		super(name);
-		// JUnitDoclet end method DrawingChangeEventTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DrawingChangeEvent createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new DrawingChangeEvent(new StandardDrawing(), new Rectangle(10, 10, 100, 100));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		drawingchangeevent = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		drawingchangeevent = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawing()
-	/**
-	 * Method testGetDrawing is testing getDrawing
-	 * @see org.jhotdraw.framework.DrawingChangeEvent#getDrawing()
-	 */
-	// JUnitDoclet end javadoc_method getDrawing()
-	public void testGetDrawing() throws Exception {
-		// JUnitDoclet begin method getDrawing
-		// JUnitDoclet end method getDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method getInvalidatedRectangle()
-	/**
-	 * Method testGetInvalidatedRectangle is testing getInvalidatedRectangle
-	 * @see org.jhotdraw.framework.DrawingChangeEvent#getInvalidatedRectangle()
-	 */
-	// JUnitDoclet end javadoc_method getInvalidatedRectangle()
-	public void testGetInvalidatedRectangle() throws Exception {
-		// JUnitDoclet begin method getInvalidatedRectangle
-		// JUnitDoclet end method getInvalidatedRectangle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/FigureAttributeConstantTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/framework/FigureAttributeConstantTest.java
deleted file mode 100644
index 4dec655b6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/FigureAttributeConstantTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.framework;
-
-import org.jhotdraw.framework.FigureAttributeConstant;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureAttributeConstantTest is generated by
- * JUnitDoclet to hold the tests for FigureAttributeConstant.
- * @see org.jhotdraw.framework.FigureAttributeConstant
- */
-// JUnitDoclet end javadoc_class
-public class FigureAttributeConstantTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureAttributeConstant figureattributeconstant;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureAttributeConstantTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureAttributeConstantTest(String name) {
-		// JUnitDoclet begin method FigureAttributeConstantTest
-		super(name);
-		// JUnitDoclet end method FigureAttributeConstantTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FigureAttributeConstant createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new FigureAttributeConstant("test_property");
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureattributeconstant = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureattributeconstant = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getName()
-	/**
-	 * Method testGetName is testing getName
-	 * @see org.jhotdraw.framework.FigureAttributeConstant#getName()
-	 */
-	// JUnitDoclet end javadoc_method getName()
-	public void testGetName() throws Exception {
-		// JUnitDoclet begin method getName
-		// JUnitDoclet end method getName
-	}
-
-	// JUnitDoclet begin javadoc_method getID()
-	/**
-	 * Method testGetID is testing getID
-	 * @see org.jhotdraw.framework.FigureAttributeConstant#getID()
-	 */
-	// JUnitDoclet end javadoc_method getID()
-	public void testGetID() throws Exception {
-		// JUnitDoclet begin method getID
-		// JUnitDoclet end method getID
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see org.jhotdraw.framework.FigureAttributeConstant#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method hashCode()
-	/**
-	 * Method testHashCode is testing hashCode
-	 * @see org.jhotdraw.framework.FigureAttributeConstant#hashCode()
-	 */
-	// JUnitDoclet end javadoc_method hashCode()
-	public void testHashCode() throws Exception {
-		// JUnitDoclet begin method hashCode
-		// JUnitDoclet end method hashCode
-	}
-
-	// JUnitDoclet begin javadoc_method getConstant()
-	/**
-	 * Method testGetConstant is testing getConstant
-	 * @see org.jhotdraw.framework.FigureAttributeConstant#getConstant(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getConstant()
-	public void testGetConstant() throws Exception {
-		// JUnitDoclet begin method getConstant
-		// JUnitDoclet end method getConstant
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/FigureChangeEventTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/framework/FigureChangeEventTest.java
deleted file mode 100644
index bff8630cd..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/FigureChangeEventTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.framework;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.framework.FigureChangeEvent;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureChangeEventTest is generated by
- * JUnitDoclet to hold the tests for FigureChangeEvent.
- * @see org.jhotdraw.framework.FigureChangeEvent
- */
-// JUnitDoclet end javadoc_class
-public class FigureChangeEventTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureChangeEvent figurechangeevent;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureChangeEventTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureChangeEventTest(String name) {
-		// JUnitDoclet begin method FigureChangeEventTest
-		super(name);
-		// JUnitDoclet end method FigureChangeEventTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FigureChangeEvent createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new FigureChangeEvent(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figurechangeevent = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figurechangeevent = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getFigure()
-	/**
-	 * Method testGetFigure is testing getFigure
-	 * @see org.jhotdraw.framework.FigureChangeEvent#getFigure()
-	 */
-	// JUnitDoclet end javadoc_method getFigure()
-	public void testGetFigure() throws Exception {
-		// JUnitDoclet begin method getFigure
-		// JUnitDoclet end method getFigure
-	}
-
-	// JUnitDoclet begin javadoc_method getInvalidatedRectangle()
-	/**
-	 * Method testGetInvalidatedRectangle is testing getInvalidatedRectangle
-	 * @see org.jhotdraw.framework.FigureChangeEvent#getInvalidatedRectangle()
-	 */
-	// JUnitDoclet end javadoc_method getInvalidatedRectangle()
-	public void testGetInvalidatedRectangle() throws Exception {
-		// JUnitDoclet begin method getInvalidatedRectangle
-		// JUnitDoclet end method getInvalidatedRectangle
-	}
-
-	// JUnitDoclet begin javadoc_method getNestedEvent()
-	/**
-	 * Method testGetNestedEvent is testing getNestedEvent
-	 * @see org.jhotdraw.framework.FigureChangeEvent#getNestedEvent()
-	 */
-	// JUnitDoclet end javadoc_method getNestedEvent()
-	public void testGetNestedEvent() throws Exception {
-		// JUnitDoclet begin method getNestedEvent
-		// JUnitDoclet end method getNestedEvent
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/FrameworkSuite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/framework/FrameworkSuite.java
deleted file mode 100644
index 0e71af09c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/framework/FrameworkSuite.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * @(#)FrameworkSuite
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.framework;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite FrameworkSuite
-*/
-// JUnitDoclet end javadoc_class
-public class FrameworkSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.framework");
-
-		suite.addTestSuite(org.jhotdraw.test.framework.FigureAttributeConstantTest.class);
-		suite.addTestSuite(org.jhotdraw.test.framework.FigureChangeEventTest.class);
-		suite.addTestSuite(org.jhotdraw.test.framework.DrawingChangeEventTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AllTests.java
deleted file mode 100644
index 487477ff1..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AllTests.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.samples.javadraw");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(AnimationDecoratorTest.class));
-		suite.addTest(new TestSuite(AnimatorTest.class));
-		suite.addTest(new TestSuite(BouncingDrawingTest.class));
-		suite.addTest(new TestSuite(JavaDrawAppTest.class));
-		suite.addTest(new TestSuite(JavaDrawAppletTest.class));
-		suite.addTest(new TestSuite(JavaDrawViewerTest.class));
-		suite.addTest(new TestSuite(MySelectionToolTest.class));
-		suite.addTest(new TestSuite(PatternPainterTest.class));
-		suite.addTest(new TestSuite(URLToolTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AnimationDecoratorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AnimationDecoratorTest.java
deleted file mode 100644
index db41ef5b9..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AnimationDecoratorTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-import org.jhotdraw.samples.javadraw.AnimationDecorator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase AnimationDecoratorTest is generated by
- * JUnitDoclet to hold the tests for AnimationDecorator.
- * @see org.jhotdraw.samples.javadraw.AnimationDecorator
- */
-// JUnitDoclet end javadoc_class
-public class AnimationDecoratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private AnimationDecorator animationdecorator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor AnimationDecoratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public AnimationDecoratorTest(String name) {
-		// JUnitDoclet begin method AnimationDecoratorTest
-		super(name);
-		// JUnitDoclet end method AnimationDecoratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public AnimationDecorator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new AnimationDecorator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		animationdecorator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		animationdecorator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method velocity()
-	/**
-	 * Method testVelocity is testing velocity
-	 * @see org.jhotdraw.samples.javadraw.AnimationDecorator#velocity(int, int)
-	 */
-	// JUnitDoclet end javadoc_method velocity()
-	public void testVelocity() throws Exception {
-		// JUnitDoclet begin method velocity
-		// JUnitDoclet end method velocity
-	}
-
-	// JUnitDoclet begin javadoc_method animationStep()
-	/**
-	 * Method testAnimationStep is testing animationStep
-	 * @see org.jhotdraw.samples.javadraw.AnimationDecorator#animationStep()
-	 */
-	// JUnitDoclet end javadoc_method animationStep()
-	public void testAnimationStep() throws Exception {
-		// JUnitDoclet begin method animationStep
-		// JUnitDoclet end method animationStep
-	}
-
-	// JUnitDoclet begin javadoc_method basicMoveBy()
-	/**
-	 * Method testBasicMoveBy is testing basicMoveBy
-	 * @see org.jhotdraw.samples.javadraw.AnimationDecorator#basicMoveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method basicMoveBy()
-	public void testBasicMoveBy() throws Exception {
-		// JUnitDoclet begin method basicMoveBy
-		// JUnitDoclet end method basicMoveBy
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.samples.javadraw.AnimationDecorator#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.samples.javadraw.AnimationDecorator#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.samples.javadraw.AnimationDecorator#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.samples.javadraw.AnimationDecorator#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AnimatorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AnimatorTest.java
deleted file mode 100644
index 519803caf..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/AnimatorTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.framework.Drawing;
-import org.jhotdraw.samples.javadraw.Animator;
-import org.jhotdraw.samples.javadraw.BouncingDrawing;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.Animatable;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase AnimatorTest is generated by
- * JUnitDoclet to hold the tests for Animator.
- * @see org.jhotdraw.samples.javadraw.Animator
- */
-// JUnitDoclet end javadoc_class
-public class AnimatorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Animator animator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor AnimatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public AnimatorTest(String name) {
-		// JUnitDoclet begin method AnimatorTest
-		super(name);
-		// JUnitDoclet end method AnimatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public Animator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Drawing drawing = new BouncingDrawing();
-		Animatable animatable = (Animatable)drawing.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		return new Animator(animatable, getDrawingEditor().view());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		animator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		animator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method start()
-	/**
-	 * Method testStart is testing start
-	 * @see org.jhotdraw.samples.javadraw.Animator#start()
-	 */
-	// JUnitDoclet end javadoc_method start()
-	public void testStart() throws Exception {
-		// JUnitDoclet begin method start
-		// JUnitDoclet end method start
-	}
-
-	// JUnitDoclet begin javadoc_method end()
-	/**
-	 * Method testEnd is testing end
-	 * @see org.jhotdraw.samples.javadraw.Animator#end()
-	 */
-	// JUnitDoclet end javadoc_method end()
-	public void testEnd() throws Exception {
-		// JUnitDoclet begin method end
-		// JUnitDoclet end method end
-	}
-
-	// JUnitDoclet begin javadoc_method run()
-	/**
-	 * Method testRun is testing run
-	 * @see org.jhotdraw.samples.javadraw.Animator#run()
-	 */
-	// JUnitDoclet end javadoc_method run()
-	public void testRun() throws Exception {
-		// JUnitDoclet begin method run
-		// JUnitDoclet end method run
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/BouncingDrawingTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/BouncingDrawingTest.java
deleted file mode 100644
index e757058a4..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/BouncingDrawingTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-import org.jhotdraw.samples.javadraw.BouncingDrawing;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BouncingDrawingTest is generated by
- * JUnitDoclet to hold the tests for BouncingDrawing.
- * @see org.jhotdraw.samples.javadraw.BouncingDrawing
- */
-// JUnitDoclet end javadoc_class
-public class BouncingDrawingTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BouncingDrawing bouncingdrawing;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BouncingDrawingTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BouncingDrawingTest(String name) {
-		// JUnitDoclet begin method BouncingDrawingTest
-		super(name);
-		// JUnitDoclet end method BouncingDrawingTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public BouncingDrawing createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new BouncingDrawing();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bouncingdrawing = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bouncingdrawing = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.samples.javadraw.BouncingDrawing#add(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.samples.javadraw.BouncingDrawing#remove(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method replace()
-	/**
-	 * Method testReplace is testing replace
-	 * @see org.jhotdraw.samples.javadraw.BouncingDrawing#replace(org.jhotdraw.framework.Figure, org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method replace()
-	public void testReplace() throws Exception {
-		// JUnitDoclet begin method replace
-		// JUnitDoclet end method replace
-	}
-
-	// JUnitDoclet begin javadoc_method animationStep()
-	/**
-	 * Method testAnimationStep is testing animationStep
-	 * @see org.jhotdraw.samples.javadraw.BouncingDrawing#animationStep()
-	 */
-	// JUnitDoclet end javadoc_method animationStep()
-	public void testAnimationStep() throws Exception {
-		// JUnitDoclet begin method animationStep
-		// JUnitDoclet end method animationStep
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawAppTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawAppTest.java
deleted file mode 100644
index e17cc2c90..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawAppTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-// JUnitDoclet begin import
-import org.jhotdraw.application.DrawApplication;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JavaDrawAppTest is generated by
- * JUnitDoclet to hold the tests for JavaDrawApp.
- * @see org.jhotdraw.samples.javadraw.JavaDrawApp
- */
-// JUnitDoclet end javadoc_class
-public class JavaDrawAppTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DrawApplication myDrawApplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JavaDrawAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JavaDrawAppTest(String name) {
-		// JUnitDoclet begin method JavaDrawAppTest
-		super(name);
-		// JUnitDoclet end method JavaDrawAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DrawApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return getDrawingEditor();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		myDrawApplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		myDrawApplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method destroy()
-	/**
-	 * Method testDestroy is testing destroy
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawApp#destroy()
-	 */
-	// JUnitDoclet end javadoc_method destroy()
-	public void testDestroy() throws Exception {
-		// JUnitDoclet begin method destroy
-		// JUnitDoclet end method destroy
-	}
-
-	// JUnitDoclet begin javadoc_method startAnimation()
-	/**
-	 * Method testStartAnimation is testing startAnimation
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawApp#startAnimation()
-	 */
-	// JUnitDoclet end javadoc_method startAnimation()
-	public void testStartAnimation() throws Exception {
-		// JUnitDoclet begin method startAnimation
-		// JUnitDoclet end method startAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method endAnimation()
-	/**
-	 * Method testEndAnimation is testing endAnimation
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawApp#endAnimation()
-	 */
-	// JUnitDoclet end javadoc_method endAnimation()
-	public void testEndAnimation() throws Exception {
-		// JUnitDoclet begin method endAnimation
-		// JUnitDoclet end method endAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawAppletTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawAppletTest.java
deleted file mode 100644
index 319a3e387..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawAppletTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-import org.jhotdraw.samples.javadraw.JavaDrawApplet;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JavaDrawAppletTest is generated by
- * JUnitDoclet to hold the tests for JavaDrawApplet.
- * @see org.jhotdraw.samples.javadraw.JavaDrawApplet
- */
-// JUnitDoclet end javadoc_class
-public class JavaDrawAppletTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JavaDrawApplet javadrawapplet;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JavaDrawAppletTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JavaDrawAppletTest(String name) {
-		// JUnitDoclet begin method JavaDrawAppletTest
-		super(name);
-		// JUnitDoclet end method JavaDrawAppletTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public JavaDrawApplet createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new JavaDrawApplet();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		javadrawapplet = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		javadrawapplet = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method destroy()
-	/**
-	 * Method testDestroy is testing destroy
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawApplet#destroy()
-	 */
-	// JUnitDoclet end javadoc_method destroy()
-	public void testDestroy() throws Exception {
-		// JUnitDoclet begin method destroy
-		// JUnitDoclet end method destroy
-	}
-
-	// JUnitDoclet begin javadoc_method startAnimation()
-	/**
-	 * Method testStartAnimation is testing startAnimation
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawApplet#startAnimation()
-	 */
-	// JUnitDoclet end javadoc_method startAnimation()
-	public void testStartAnimation() throws Exception {
-		// JUnitDoclet begin method startAnimation
-		// JUnitDoclet end method startAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method endAnimation()
-	/**
-	 * Method testEndAnimation is testing endAnimation
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawApplet#endAnimation()
-	 */
-	// JUnitDoclet end javadoc_method endAnimation()
-	public void testEndAnimation() throws Exception {
-		// JUnitDoclet begin method endAnimation
-		// JUnitDoclet end method endAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method toggleAnimation()
-	/**
-	 * Method testToggleAnimation is testing toggleAnimation
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawApplet#toggleAnimation()
-	 */
-	// JUnitDoclet end javadoc_method toggleAnimation()
-	public void testToggleAnimation() throws Exception {
-		// JUnitDoclet begin method toggleAnimation
-		// JUnitDoclet end method toggleAnimation
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawViewerTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawViewerTest.java
deleted file mode 100644
index 5da8817e2..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavaDrawViewerTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-import org.jhotdraw.samples.javadraw.JavaDrawViewer;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase JavaDrawViewerTest is generated by
- * JUnitDoclet to hold the tests for JavaDrawViewer.
- * @see org.jhotdraw.samples.javadraw.JavaDrawViewer
- */
-// JUnitDoclet end javadoc_class
-public class JavaDrawViewerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JavaDrawViewer javadrawviewer;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JavaDrawViewerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JavaDrawViewerTest(String name) {
-		// JUnitDoclet begin method JavaDrawViewerTest
-		super(name);
-		// JUnitDoclet end method JavaDrawViewerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public JavaDrawViewer createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new JavaDrawViewer();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		javadrawviewer = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		javadrawviewer = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method init()
-	/**
-	 * Method testInit is testing init
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#init()
-	 */
-	// JUnitDoclet end javadoc_method init()
-	public void testInit() throws Exception {
-		// JUnitDoclet begin method init
-		// JUnitDoclet end method init
-	}
-
-	// JUnitDoclet begin javadoc_method addViewChangeListener()
-	/**
-	 * Method testAddViewChangeListener is testing addViewChangeListener
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#addViewChangeListener(org.jhotdraw.framework.ViewChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method addViewChangeListener()
-	public void testAddViewChangeListener() throws Exception {
-		// JUnitDoclet begin method addViewChangeListener
-		// JUnitDoclet end method addViewChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeViewChangeListener()
-	/**
-	 * Method testRemoveViewChangeListener is testing removeViewChangeListener
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#removeViewChangeListener(org.jhotdraw.framework.ViewChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method removeViewChangeListener()
-	public void testRemoveViewChangeListener() throws Exception {
-		// JUnitDoclet begin method removeViewChangeListener
-		// JUnitDoclet end method removeViewChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method view()
-	/**
-	 * Method testView is testing view
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#view()
-	 */
-	// JUnitDoclet end javadoc_method view()
-	public void testView() throws Exception {
-		// JUnitDoclet begin method view
-		// JUnitDoclet end method view
-	}
-
-	// JUnitDoclet begin javadoc_method views()
-	/**
-	 * Method testViews is testing views
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#views()
-	 */
-	// JUnitDoclet end javadoc_method views()
-	public void testViews() throws Exception {
-		// JUnitDoclet begin method views
-		// JUnitDoclet end method views
-	}
-
-	// JUnitDoclet begin javadoc_method drawing()
-	/**
-	 * Method testDrawing is testing drawing
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#drawing()
-	 */
-	// JUnitDoclet end javadoc_method drawing()
-	public void testDrawing() throws Exception {
-		// JUnitDoclet begin method drawing
-		// JUnitDoclet end method drawing
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method setTool()
-	/**
-	 * Method testSetTool is testing setTool
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#setTool(org.jhotdraw.framework.Tool)
-	 */
-	// JUnitDoclet end javadoc_method setTool()
-	public void testSetTool() throws Exception {
-		// JUnitDoclet begin method setTool
-		// JUnitDoclet end method setTool
-	}
-
-	// JUnitDoclet begin javadoc_method toolDone()
-	/**
-	 * Method testToolDone is testing toolDone
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#toolDone()
-	 */
-	// JUnitDoclet end javadoc_method toolDone()
-	public void testToolDone() throws Exception {
-		// JUnitDoclet begin method toolDone
-		// JUnitDoclet end method toolDone
-	}
-
-	// JUnitDoclet begin javadoc_method figureSelectionChanged()
-	/**
-	 * Method testFigureSelectionChanged is testing figureSelectionChanged
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#figureSelectionChanged(org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method figureSelectionChanged()
-	public void testFigureSelectionChanged() throws Exception {
-		// JUnitDoclet begin method figureSelectionChanged
-		// JUnitDoclet end method figureSelectionChanged
-	}
-
-	// JUnitDoclet begin javadoc_method getUndoManager()
-	/**
-	 * Method testGetUndoManager is testing getUndoManager
-	 * @see org.jhotdraw.samples.javadraw.JavaDrawViewer#getUndoManager()
-	 */
-	// JUnitDoclet end javadoc_method getUndoManager()
-	public void testGetUndoManager() throws Exception {
-		// JUnitDoclet begin method getUndoManager
-		// JUnitDoclet end method getUndoManager
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavadrawSuite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavadrawSuite.java
deleted file mode 100644
index d979d98c0..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/JavadrawSuite.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite JavadrawSuite
-*/
-// JUnitDoclet end javadoc_class
-public class JavadrawSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.samples.javadraw");
-
-		suite.addTestSuite(org.jhotdraw.test.samples.javadraw.URLToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.javadraw.PatternPainterTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.javadraw.MySelectionToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.javadraw.JavaDrawViewerTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.javadraw.JavaDrawAppletTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.javadraw.JavaDrawAppTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.javadraw.BouncingDrawingTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.javadraw.AnimatorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.javadraw.AnimationDecoratorTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/MySelectionToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/MySelectionToolTest.java
deleted file mode 100644
index 61f91e401..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/MySelectionToolTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-// JUnitDoclet begin import
-import org.jhotdraw.samples.javadraw.MySelectionTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MySelectionToolTest is generated by
- * JUnitDoclet to hold the tests for MySelectionTool.
- * @see org.jhotdraw.samples.javadraw.MySelectionTool
- */
-// JUnitDoclet end javadoc_class
-public class MySelectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MySelectionTool myselectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MySelectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MySelectionToolTest(String name) {
-		// JUnitDoclet begin method MySelectionToolTest
-		super(name);
-		// JUnitDoclet end method MySelectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public MySelectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new MySelectionTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		myselectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		myselectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.samples.javadraw.MySelectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/PatternPainterTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/PatternPainterTest.java
deleted file mode 100644
index c2d67f708..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/PatternPainterTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-import java.awt.Image;
-
-// JUnitDoclet begin import
-import org.jhotdraw.application.DrawApplication;
-import org.jhotdraw.samples.javadraw.PatternPainter;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.Iconkit;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PatternPainterTest is generated by
- * JUnitDoclet to hold the tests for PatternPainter.
- * @see org.jhotdraw.samples.javadraw.PatternPainter
- */
-// JUnitDoclet end javadoc_class
-public class PatternPainterTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PatternPainter patternpainter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PatternPainterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PatternPainterTest(String name) {
-		// JUnitDoclet begin method PatternPainterTest
-		super(name);
-		// JUnitDoclet end method PatternPainterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PatternPainter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Image img = Iconkit.instance().loadImage(DrawApplication.IMAGES + "SEL1.gif", true);
-		return new PatternPainter(img);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		patternpainter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		patternpainter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.samples.javadraw.PatternPainter#draw(java.awt.Graphics, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/URLToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/URLToolTest.java
deleted file mode 100644
index bcda39a71..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/javadraw/URLToolTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.javadraw;
-
-// JUnitDoclet begin import
-import org.jhotdraw.samples.javadraw.URLTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase URLToolTest is generated by
- * JUnitDoclet to hold the tests for URLTool.
- * @see org.jhotdraw.samples.javadraw.URLTool
- */
-// JUnitDoclet end javadoc_class
-public class URLToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private URLTool urltool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor URLToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public URLToolTest(String name) {
-		// JUnitDoclet begin method URLToolTest
-		super(name);
-		// JUnitDoclet end method URLToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public URLTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new URLTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		urltool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		urltool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.samples.javadraw.URLTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.samples.javadraw.URLTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see org.jhotdraw.samples.javadraw.URLTool#deactivate(org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/AllTests.java
deleted file mode 100644
index f6772a57d..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.minimap;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.samples.minimap");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(MiniMapApplicationTest.class));
-		suite.addTest(new TestSuite(MiniMapDesktopTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MiniMapApplicationTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MiniMapApplicationTest.java
deleted file mode 100644
index 0470f6a2a..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MiniMapApplicationTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.minimap;
-
-import org.jhotdraw.samples.minimap.MiniMapApplication;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MiniMapApplicationTest is generated by
- * JUnitDoclet to hold the tests for MiniMapApplication.
- * @see org.jhotdraw.samples.minimap.MiniMapApplication
- */
-// JUnitDoclet end javadoc_class
-public class MiniMapApplicationTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MiniMapApplication minimapapplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MiniMapApplicationTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MiniMapApplicationTest(String name) {
-		// JUnitDoclet begin method MiniMapApplicationTest
-		super(name);
-		// JUnitDoclet end method MiniMapApplicationTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public MiniMapApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new MiniMapApplication();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		minimapapplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		minimapapplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see org.jhotdraw.samples.minimap.MiniMapApplication#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MiniMapDesktopTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MiniMapDesktopTest.java
deleted file mode 100644
index b6eb3eb2f..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MiniMapDesktopTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.minimap;
-
-import org.jhotdraw.samples.minimap.MiniMapDesktop;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MiniMapDesktopTest is generated by
- * JUnitDoclet to hold the tests for MiniMapDesktop.
- * @see org.jhotdraw.samples.minimap.MiniMapDesktop
- */
-// JUnitDoclet end javadoc_class
-public class MiniMapDesktopTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MiniMapDesktop minimapdesktop;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MiniMapDesktopTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MiniMapDesktopTest(String name) {
-		// JUnitDoclet begin method MiniMapDesktopTest
-		super(name);
-		// JUnitDoclet end method MiniMapDesktopTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public MiniMapDesktop createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new MiniMapDesktop();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		minimapdesktop = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		minimapdesktop = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MinimapSuite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MinimapSuite.java
deleted file mode 100644
index 81b2abe48..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/minimap/MinimapSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.minimap;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite MinimapSuite
-*/
-// JUnitDoclet end javadoc_class
-public class MinimapSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.samples.minimap");
-
-		suite.addTestSuite(org.jhotdraw.test.samples.minimap.MiniMapDesktopTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.minimap.MiniMapApplicationTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/AllTests.java
deleted file mode 100644
index cddd3287c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.net;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.samples.net");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(NetAppTest.class));
-		suite.addTest(new TestSuite(NodeFigureTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NetAppTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NetAppTest.java
deleted file mode 100644
index bb1262e3c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NetAppTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.net;
-
-import org.jhotdraw.samples.net.NetApp;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NetAppTest is generated by
- * JUnitDoclet to hold the tests for NetApp.
- * @see org.jhotdraw.samples.net.NetApp
- */
-// JUnitDoclet end javadoc_class
-public class NetAppTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NetApp netapp;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NetAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NetAppTest(String name) {
-		// JUnitDoclet begin method NetAppTest
-		super(name);
-		// JUnitDoclet end method NetAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NetApp createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NetApp();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		netapp = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		netapp = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see org.jhotdraw.samples.net.NetApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NetSuite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NetSuite.java
deleted file mode 100644
index ca8ac05a3..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NetSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)NetSuite
- *
- * Project:     JHotdraw - a GUI framework for technical drawings
- *              http://www.jhotdraw.org
- *              http://jhotdraw.sourceforge.net
- * Copyright:   � by the original author(s) and all contributors
- * License:     Lesser GNU Public License (LGPL)
- *              http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.net;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite NetSuite
-*/
-// JUnitDoclet end javadoc_class
-public class NetSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.samples.net");
-
-		suite.addTestSuite(org.jhotdraw.test.samples.net.NodeFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.net.NetAppTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NodeFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NodeFigureTest.java
deleted file mode 100644
index dd8b0444f..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/net/NodeFigureTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.net;
-
-import org.jhotdraw.samples.net.NodeFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NodeFigureTest is generated by
- * JUnitDoclet to hold the tests for NodeFigure.
- * @see org.jhotdraw.samples.net.NodeFigure
- */
-// JUnitDoclet end javadoc_class
-public class NodeFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NodeFigure nodefigure;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NodeFigureTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NodeFigureTest(String name) {
-		// JUnitDoclet begin method NodeFigureTest
-		super(name);
-		// JUnitDoclet end method NodeFigureTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NodeFigure createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NodeFigure();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nodefigure = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nodefigure = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.samples.net.NodeFigure#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see org.jhotdraw.samples.net.NodeFigure#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.samples.net.NodeFigure#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.samples.net.NodeFigure#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method connectorVisibility()
-	/**
-	 * Method testConnectorVisibility is testing connectorVisibility
-	 * @see org.jhotdraw.samples.net.NodeFigure#connectorVisibility(boolean, org.jhotdraw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method connectorVisibility()
-	public void testConnectorVisibility() throws Exception {
-		// JUnitDoclet begin method connectorVisibility
-		// JUnitDoclet end method connectorVisibility
-	}
-
-	// JUnitDoclet begin javadoc_method connectorAt()
-	/**
-	 * Method testConnectorAt is testing connectorAt
-	 * @see org.jhotdraw.samples.net.NodeFigure#connectorAt(int, int)
-	 */
-	// JUnitDoclet end javadoc_method connectorAt()
-	public void testConnectorAt() throws Exception {
-		// JUnitDoclet begin method connectorAt
-		// JUnitDoclet end method connectorAt
-	}
-
-	// JUnitDoclet begin javadoc_method getRepresentingFigure()
-	/**
-	 * Method testGetRepresentingFigure is testing getRepresentingFigure
-	 * @see org.jhotdraw.samples.net.NodeFigure#getRepresentingFigure()
-	 */
-	// JUnitDoclet end javadoc_method getRepresentingFigure()
-	public void testGetRepresentingFigure() throws Exception {
-		// JUnitDoclet begin method getRepresentingFigure
-		// JUnitDoclet end method getRepresentingFigure
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/AllTests.java
deleted file mode 100644
index 0cdeb70e9..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/AllTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.nothing;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.samples.nothing");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(NothingAppTest.class));
-		suite.addTest(new TestSuite(NothingAppletTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingAppTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingAppTest.java
deleted file mode 100644
index fb1b17de6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingAppTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.nothing;
-
-import org.jhotdraw.samples.nothing.NothingApp;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NothingAppTest is generated by
- * JUnitDoclet to hold the tests for NothingApp.
- * @see org.jhotdraw.samples.nothing.NothingApp
- */
-// JUnitDoclet end javadoc_class
-public class NothingAppTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NothingApp nothingapp;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NothingAppTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NothingAppTest(String name) {
-		// JUnitDoclet begin method NothingAppTest
-		super(name);
-		// JUnitDoclet end method NothingAppTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NothingApp createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NothingApp();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nothingapp = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nothingapp = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see org.jhotdraw.samples.nothing.NothingApp#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingAppletTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingAppletTest.java
deleted file mode 100644
index d30b85f6d..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingAppletTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.nothing;
-
-import org.jhotdraw.samples.nothing.NothingApplet;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NothingAppletTest is generated by
- * JUnitDoclet to hold the tests for NothingApplet.
- * @see org.jhotdraw.samples.nothing.NothingApplet
- */
-// JUnitDoclet end javadoc_class
-public class NothingAppletTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NothingApplet nothingapplet;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NothingAppletTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NothingAppletTest(String name) {
-		// JUnitDoclet begin method NothingAppletTest
-		super(name);
-		// JUnitDoclet end method NothingAppletTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NothingApplet createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NothingApplet();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nothingapplet = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nothingapplet = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingSuite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingSuite.java
deleted file mode 100644
index 63d5209d9..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/nothing/NothingSuite.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.nothing;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite NothingSuite
-*/
-// JUnitDoclet end javadoc_class
-public class NothingSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.samples.nothing");
-
-		suite.addTestSuite(org.jhotdraw.test.samples.nothing.NothingAppletTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.nothing.NothingAppTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/AllTests.java
deleted file mode 100644
index 90e7bfa02..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/AllTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.pert;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.samples.pert");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(PertAppletTest.class));
-		suite.addTest(new TestSuite(PertApplicationTest.class));
-		suite.addTest(new TestSuite(PertDependencyTest.class));
-		suite.addTest(new TestSuite(PertFigureCreationToolTest.class));
-		suite.addTest(new TestSuite(PertFigureTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertAppletTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertAppletTest.java
deleted file mode 100644
index 8e8124a19..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertAppletTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.pert;
-
-import org.jhotdraw.samples.pert.PertApplet;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertAppletTest is generated by
- * JUnitDoclet to hold the tests for PertApplet.
- * @see org.jhotdraw.samples.pert.PertApplet
- */
-// JUnitDoclet end javadoc_class
-public class PertAppletTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertApplet pertapplet;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertAppletTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertAppletTest(String name) {
-		// JUnitDoclet begin method PertAppletTest
-		super(name);
-		// JUnitDoclet end method PertAppletTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PertApplet createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PertApplet();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertapplet = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertapplet = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertApplicationTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertApplicationTest.java
deleted file mode 100644
index ba0b7b514..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertApplicationTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.pert;
-
-import org.jhotdraw.samples.pert.PertApplication;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertApplicationTest is generated by
- * JUnitDoclet to hold the tests for PertApplication.
- * @see org.jhotdraw.samples.pert.PertApplication
- */
-// JUnitDoclet end javadoc_class
-public class PertApplicationTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertApplication pertapplication;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertApplicationTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertApplicationTest(String name) {
-		// JUnitDoclet begin method PertApplicationTest
-		super(name);
-		// JUnitDoclet end method PertApplicationTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PertApplication createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PertApplication();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertapplication = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertapplication = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see org.jhotdraw.samples.pert.PertApplication#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertDependencyTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertDependencyTest.java
deleted file mode 100644
index 1f4832f78..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertDependencyTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.pert;
-
-import org.jhotdraw.samples.pert.PertDependency;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertDependencyTest is generated by
- * JUnitDoclet to hold the tests for PertDependency.
- * @see org.jhotdraw.samples.pert.PertDependency
- */
-// JUnitDoclet end javadoc_class
-public class PertDependencyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertDependency pertdependency;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertDependencyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertDependencyTest(String name) {
-		// JUnitDoclet begin method PertDependencyTest
-		super(name);
-		// JUnitDoclet end method PertDependencyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PertDependency createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PertDependency();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertdependency = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertdependency = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method handleConnect()
-	/**
-	 * Method testHandleConnect is testing handleConnect
-	 * @see org.jhotdraw.samples.pert.PertDependency#handleConnect(org.jhotdraw.framework.Figure, org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method handleConnect()
-	public void testHandleConnect() throws Exception {
-		// JUnitDoclet begin method handleConnect
-		// JUnitDoclet end method handleConnect
-	}
-
-	// JUnitDoclet begin javadoc_method handleDisconnect()
-	/**
-	 * Method testHandleDisconnect is testing handleDisconnect
-	 * @see org.jhotdraw.samples.pert.PertDependency#handleDisconnect(org.jhotdraw.framework.Figure, org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method handleDisconnect()
-	public void testHandleDisconnect() throws Exception {
-		// JUnitDoclet begin method handleDisconnect
-		// JUnitDoclet end method handleDisconnect
-	}
-
-	// JUnitDoclet begin javadoc_method canConnect()
-	/**
-	 * Method testCanConnect is testing canConnect
-	 * @see org.jhotdraw.samples.pert.PertDependency#canConnect(org.jhotdraw.framework.Figure, org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method canConnect()
-	public void testCanConnect() throws Exception {
-		// JUnitDoclet begin method canConnect
-		// JUnitDoclet end method canConnect
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.samples.pert.PertDependency#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertFigureCreationToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertFigureCreationToolTest.java
deleted file mode 100644
index fd0a8c5d0..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertFigureCreationToolTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.pert;
-
-// JUnitDoclet begin import
-import org.jhotdraw.samples.pert.PertFigureCreationTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertFigureCreationToolTest is generated by
- * JUnitDoclet to hold the tests for PertFigureCreationTool.
- * @see org.jhotdraw.samples.pert.PertFigureCreationTool
- */
-// JUnitDoclet end javadoc_class
-public class PertFigureCreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PertFigureCreationTool pertfigurecreationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PertFigureCreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PertFigureCreationToolTest(String name) {
-		// JUnitDoclet begin method PertFigureCreationToolTest
-		super(name);
-		// JUnitDoclet end method PertFigureCreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PertFigureCreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PertFigureCreationTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pertfigurecreationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pertfigurecreationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertFigureTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertFigureTest.java
deleted file mode 100644
index 5fe67506e..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertFigureTest.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.pert;
-
-import org.jhotdraw.samples.pert.PertFigure;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PertFigureTest is generated by
- * JUnitDoclet to hold the tests for PertFigure.
- * @see org.jhotdraw.samples.pert.PertFigure
- */
-// JUnitDoclet end javadoc_class
-public class PertFigureTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // instance variables, helper methods, ... put them in this marker
-  private PertFigure pertfigure;
-  // JUnitDoclet end class
-  
-  /**
-   * Constructor PertFigureTest is
-   * basically calling the inherited constructor to
-   * initiate the TestCase for use by the Framework.
-   */
-  public PertFigureTest(String name) {
-    // JUnitDoclet begin method PertFigureTest
-    super(name);
-    // JUnitDoclet end method PertFigureTest
-  }
-  
-  /**
-   * Factory method for instances of the class to be tested.
-   */
-  public PertFigure createInstance() throws Exception {
-    // JUnitDoclet begin method testcase.createInstance
-    return new PertFigure();
-    // JUnitDoclet end method testcase.createInstance
-  }
-  
-  /**
-   * Method setUp is overwriting the framework method to
-   * prepare an instance of this TestCase for a single test.
-   * It's called from the JUnit framework only.
-   */
-  protected void setUp() throws Exception {
-    // JUnitDoclet begin method testcase.setUp
-    super.setUp();
-    pertfigure = createInstance();
-    // JUnitDoclet end method testcase.setUp
-  }
-  
-  /**
-   * Method tearDown is overwriting the framework method to
-   * clean up after each single test of this TestCase.
-   * It's called from the JUnit framework only.
-   */
-  protected void tearDown() throws Exception {
-    // JUnitDoclet begin method testcase.tearDown
-    pertfigure = null;
-    super.tearDown();
-    // JUnitDoclet end method testcase.tearDown
-  }
-  
-  // JUnitDoclet begin javadoc_method start()
-  /**
-   * Method testStart is testing start
-   * @see org.jhotdraw.samples.pert.PertFigure#start()
-   */
-  // JUnitDoclet end javadoc_method start()
-  public void testStart() throws Exception {
-    // JUnitDoclet begin method start
-    // JUnitDoclet end method start
-  }
-  
-  // JUnitDoclet begin javadoc_method end()
-  /**
-   * Method testEnd is testing end
-   * @see org.jhotdraw.samples.pert.PertFigure#end()
-   */
-  // JUnitDoclet end javadoc_method end()
-  public void testEnd() throws Exception {
-    // JUnitDoclet begin method end
-    // JUnitDoclet end method end
-  }
-  
-  // JUnitDoclet begin javadoc_method duration()
-  /**
-   * Method testDuration is testing duration
-   * @see org.jhotdraw.samples.pert.PertFigure#duration()
-   */
-  // JUnitDoclet end javadoc_method duration()
-  public void testDuration() throws Exception {
-    // JUnitDoclet begin method duration
-    // JUnitDoclet end method duration
-  }
-  
-  // JUnitDoclet begin javadoc_method setEnd()
-  /**
-   * Method testSetEnd is testing setEnd
-   * @see org.jhotdraw.samples.pert.PertFigure#setEnd(int)
-   */
-  // JUnitDoclet end javadoc_method setEnd()
-  public void testSetEnd() throws Exception {
-    // JUnitDoclet begin method setEnd
-    // JUnitDoclet end method setEnd
-  }
-  
-  // JUnitDoclet begin javadoc_method addPreTask()
-  /**
-   * Method testAddPreTask is testing addPreTask
-   * @see org.jhotdraw.samples.pert.PertFigure#addPreTask(org.jhotdraw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method addPreTask()
-  public void testAddPreTask() throws Exception {
-    // JUnitDoclet begin method addPreTask
-    // JUnitDoclet end method addPreTask
-  }
-  
-  // JUnitDoclet begin javadoc_method addPostTask()
-  /**
-   * Method testAddPostTask is testing addPostTask
-   * @see org.jhotdraw.samples.pert.PertFigure#addPostTask(org.jhotdraw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method addPostTask()
-  public void testAddPostTask() throws Exception {
-    // JUnitDoclet begin method addPostTask
-    // JUnitDoclet end method addPostTask
-  }
-  
-  // JUnitDoclet begin javadoc_method removePreTask()
-  /**
-   * Method testRemovePreTask is testing removePreTask
-   * @see org.jhotdraw.samples.pert.PertFigure#removePreTask(org.jhotdraw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method removePreTask()
-  public void testRemovePreTask() throws Exception {
-    // JUnitDoclet begin method removePreTask
-    // JUnitDoclet end method removePreTask
-  }
-  
-  // JUnitDoclet begin javadoc_method removePostTask()
-  /**
-   * Method testRemovePostTask is testing removePostTask
-   * @see org.jhotdraw.samples.pert.PertFigure#removePostTask(org.jhotdraw.samples.pert.PertFigure)
-   */
-  // JUnitDoclet end javadoc_method removePostTask()
-  public void testRemovePostTask() throws Exception {
-    // JUnitDoclet begin method removePostTask
-    // JUnitDoclet end method removePostTask
-  }
-  
-  // JUnitDoclet begin javadoc_method displayBox()
-  /**
-   * Method testDisplayBox is testing displayBox
-   * @see org.jhotdraw.samples.pert.PertFigure#displayBox()
-   */
-  // JUnitDoclet end javadoc_method displayBox()
-  public void testDisplayBox() throws Exception {
-    // JUnitDoclet begin method displayBox
-    // JUnitDoclet end method displayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method basicDisplayBox()
-  /**
-   * Method testBasicDisplayBox is testing basicDisplayBox
-   * @see org.jhotdraw.samples.pert.PertFigure#basicDisplayBox(java.awt.Point, java.awt.Point)
-   */
-  // JUnitDoclet end javadoc_method basicDisplayBox()
-  public void testBasicDisplayBox() throws Exception {
-    // JUnitDoclet begin method basicDisplayBox
-    // JUnitDoclet end method basicDisplayBox
-  }
-  
-  // JUnitDoclet begin javadoc_method draw()
-  /**
-   * Method testDraw is testing draw
-   * @see org.jhotdraw.samples.pert.PertFigure#draw(java.awt.Graphics)
-   */
-  // JUnitDoclet end javadoc_method draw()
-  public void testDraw() throws Exception {
-    // JUnitDoclet begin method draw
-    // JUnitDoclet end method draw
-  }
-  
-  // JUnitDoclet begin javadoc_method handles()
-  /**
-   * Method testHandles is testing handles
-   * @see org.jhotdraw.samples.pert.PertFigure#handles()
-   */
-  // JUnitDoclet end javadoc_method handles()
-  public void testHandles() throws Exception {
-    // JUnitDoclet begin method handles
-    // JUnitDoclet end method handles
-  }
-  
-  // JUnitDoclet begin javadoc_method update()
-  /**
-   * Method testUpdate is testing update
-   * @see org.jhotdraw.samples.pert.PertFigure#update(org.jhotdraw.framework.FigureChangeEvent)
-   */
-  // JUnitDoclet end javadoc_method update()
-  public void testUpdate() throws Exception {
-    // JUnitDoclet begin method update
-    // JUnitDoclet end method update
-  }
-  
-  // JUnitDoclet begin javadoc_method figureChanged()
-  /**
-   * Method testFigureChanged is testing figureChanged
-   * @see org.jhotdraw.samples.pert.PertFigure#figureChanged(org.jhotdraw.framework.FigureChangeEvent)
-   */
-  // JUnitDoclet end javadoc_method figureChanged()
-  public void testFigureChanged() throws Exception {
-    // JUnitDoclet begin method figureChanged
-    // JUnitDoclet end method figureChanged
-  }
-  
-  // JUnitDoclet begin javadoc_method figureRemoved()
-  /**
-   * Method testFigureRemoved is testing figureRemoved
-   * @see org.jhotdraw.samples.pert.PertFigure#figureRemoved(org.jhotdraw.framework.FigureChangeEvent)
-   */
-  // JUnitDoclet end javadoc_method figureRemoved()
-  public void testFigureRemoved() throws Exception {
-    // JUnitDoclet begin method figureRemoved
-    // JUnitDoclet end method figureRemoved
-  }
-  
-  // JUnitDoclet begin javadoc_method notifyPostTasks()
-  /**
-   * Method testNotifyPostTasks is testing notifyPostTasks
-   * @see org.jhotdraw.samples.pert.PertFigure#notifyPostTasks()
-   */
-  // JUnitDoclet end javadoc_method notifyPostTasks()
-  public void testNotifyPostTasks() throws Exception {
-    // JUnitDoclet begin method notifyPostTasks
-    // JUnitDoclet end method notifyPostTasks
-  }
-  
-  // JUnitDoclet begin javadoc_method updateDurations()
-  /**
-   * Method testUpdateDurations is testing updateDurations
-   * @see org.jhotdraw.samples.pert.PertFigure#updateDurations()
-   */
-  // JUnitDoclet end javadoc_method updateDurations()
-  public void testUpdateDurations() throws Exception {
-    // JUnitDoclet begin method updateDurations
-    // JUnitDoclet end method updateDurations
-  }
-  
-  // JUnitDoclet begin javadoc_method hasCycle()
-  /**
-   * Method testHasCycle is testing hasCycle
-   * @see org.jhotdraw.samples.pert.PertFigure#hasCycle(org.jhotdraw.framework.Figure)
-   */
-  // JUnitDoclet end javadoc_method hasCycle()
-  public void testHasCycle() throws Exception {
-    // JUnitDoclet begin method hasCycle
-    // JUnitDoclet end method hasCycle
-  }
-  
-  // JUnitDoclet begin javadoc_method write()
-  /**
-   * Method testWrite is testing write
-   * @see org.jhotdraw.samples.pert.PertFigure#write(org.jhotdraw.util.StorableOutput)
-   */
-  // JUnitDoclet end javadoc_method write()
-  public void testWrite() throws Exception {
-    // JUnitDoclet begin method write
-    // JUnitDoclet end method write
-  }
-  
-  // JUnitDoclet begin javadoc_method writeTasks()
-  /**
-   * Method testWriteTasks is testing writeTasks
-   * @see org.jhotdraw.samples.pert.PertFigure#writeTasks(org.jhotdraw.util.StorableOutput, java.util.List)
-   */
-  // JUnitDoclet end javadoc_method writeTasks()
-  public void testWriteTasks() throws Exception {
-    // JUnitDoclet begin method writeTasks
-    // JUnitDoclet end method writeTasks
-  }
-  
-  // JUnitDoclet begin javadoc_method read()
-  /**
-   * Method testRead is testing read
-   * @see org.jhotdraw.samples.pert.PertFigure#read(org.jhotdraw.util.StorableInput)
-   */
-  // JUnitDoclet end javadoc_method read()
-  public void testRead() throws Exception {
-    // JUnitDoclet begin method read
-    // JUnitDoclet end method read
-  }
-  
-  // JUnitDoclet begin javadoc_method connectionInsets()
-  /**
-   * Method testConnectionInsets is testing connectionInsets
-   * @see org.jhotdraw.samples.pert.PertFigure#connectionInsets()
-   */
-  // JUnitDoclet end javadoc_method connectionInsets()
-  public void testConnectionInsets() throws Exception {
-    // JUnitDoclet begin method connectionInsets
-    // JUnitDoclet end method connectionInsets
-  }
-  
-  // JUnitDoclet begin javadoc_method readTasks()
-  /**
-   * Method testReadTasks is testing readTasks
-   * @see org.jhotdraw.samples.pert.PertFigure#readTasks(org.jhotdraw.util.StorableInput)
-   */
-  // JUnitDoclet end javadoc_method readTasks()
-  public void testReadTasks() throws Exception {
-    // JUnitDoclet begin method readTasks
-    // JUnitDoclet end method readTasks
-  }
-  
-  
-  
-  // JUnitDoclet begin javadoc_method testVault
-  /**
-   * JUnitDoclet moves marker to this method, if there is not match
-   * for them in the regenerated code and if the marker is not empty.
-   * This way, no test gets lost when regenerating after renaming.
-   * <b>Method testVault is supposed to be empty.</b>
-   */
-  // JUnitDoclet end javadoc_method testVault
-  public void testVault() throws Exception {
-    // JUnitDoclet begin method testcase.testVault
-    // JUnitDoclet end method testcase.testVault
-  }
-  
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertSuite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertSuite.java
deleted file mode 100644
index 70773af8a..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/samples/pert/PertSuite.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.samples.pert;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite PertSuite
-*/
-// JUnitDoclet end javadoc_class
-public class PertSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.samples.pert");
-
-		suite.addTestSuite(org.jhotdraw.test.samples.pert.PertFigureCreationToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.pert.PertFigureTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.pert.PertDependencyTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.pert.PertApplicationTest.class);
-		suite.addTestSuite(org.jhotdraw.test.samples.pert.PertAppletTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/AlignCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/AlignCommandTest.java
deleted file mode 100644
index fe0ed0257..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/AlignCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.AlignCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase AlignCommandTest is generated by
- * JUnitDoclet to hold the tests for AlignCommand.
- * @see org.jhotdraw.standard.AlignCommand
- */
-// JUnitDoclet end javadoc_class
-public class AlignCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private AlignCommand aligncommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor AlignCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public AlignCommandTest(String name) {
-		// JUnitDoclet begin method AlignCommandTest
-		super(name);
-		// JUnitDoclet end method AlignCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public AlignCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new AlignCommand(AlignCommand.Alignment.TOPS, getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		aligncommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		aligncommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.AlignCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method getAlignment()
-	/**
-	 * Method testGetAlignment is testing getAlignment
-	 * @see org.jhotdraw.standard.AlignCommand#getAlignment()
-	 */
-	// JUnitDoclet end javadoc_method getAlignment()
-	public void testGetAlignment() throws Exception {
-		// JUnitDoclet begin method getAlignment
-		// JUnitDoclet end method getAlignment
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/AllTests.java
deleted file mode 100644
index d1cb1767d..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/AllTests.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.standard");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(AlignCommandTest.class));
-		suite.addTest(new TestSuite(BoxHandleKitTest.class));
-		suite.addTest(new TestSuite(BringToFrontCommandTest.class));
-		suite.addTest(new TestSuite(BufferedUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(ChangeAttributeCommandTest.class));
-		suite.addTest(new TestSuite(ChangeConnectionEndHandleTest.class));
-		suite.addTest(new TestSuite(ChangeConnectionStartHandleTest.class));
-		suite.addTest(new TestSuite(ChopBoxConnectorTest.class));
-		suite.addTest(new TestSuite(ConnectionHandleTest.class));
-		suite.addTest(new TestSuite(ConnectionToolTest.class));
-		suite.addTest(new TestSuite(CopyCommandTest.class));
-		suite.addTest(new TestSuite(CreationToolTest.class));
-		suite.addTest(new TestSuite(CutCommandTest.class));
-		suite.addTest(new TestSuite(DeleteCommandTest.class));
-		suite.addTest(new TestSuite(DeleteFromDrawingVisitorTest.class));
-		suite.addTest(new TestSuite(DragTrackerTest.class));
-		suite.addTest(new TestSuite(DuplicateCommandTest.class));
-		suite.addTest(new TestSuite(FastBufferedUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(FigureAndEnumeratorTest.class));
-		suite.addTest(new TestSuite(FigureChangeAdapterTest.class));
-		suite.addTest(new TestSuite(FigureChangeEventMulticasterTest.class));
-		suite.addTest(new TestSuite(FigureEnumeratorTest.class));
-		suite.addTest(new TestSuite(GridConstrainerTest.class));
-		suite.addTest(new TestSuite(HandleAndEnumeratorTest.class));
-		suite.addTest(new TestSuite(HandleEnumeratorTest.class));
-		suite.addTest(new TestSuite(HandleTrackerTest.class));
-		suite.addTest(new TestSuite(InsertIntoDrawingVisitorTest.class));
-		suite.addTest(new TestSuite(LocatorConnectorTest.class));
-		suite.addTest(new TestSuite(LocatorHandleTest.class));
-		suite.addTest(new TestSuite(NullDrawingViewTest.class));
-		suite.addTest(new TestSuite(NullHandleTest.class));
-		suite.addTest(new TestSuite(NullToolTest.class));
-		suite.addTest(new TestSuite(OffsetLocatorTest.class));
-		suite.addTest(new TestSuite(PasteCommandTest.class));
-		suite.addTest(new TestSuite(PeripheralLocatorTest.class));
-		suite.addTest(new TestSuite(RelativeLocatorTest.class));
-		suite.addTest(new TestSuite(ReverseFigureEnumeratorTest.class));
-		suite.addTest(new TestSuite(SelectAllCommandTest.class));
-		suite.addTest(new TestSuite(SelectAreaTrackerTest.class));
-		suite.addTest(new TestSuite(SelectionToolTest.class));
-		suite.addTest(new TestSuite(SendToBackCommandTest.class));
-		suite.addTest(new TestSuite(SimpleUpdateStrategyTest.class));
-		suite.addTest(new TestSuite(SingleFigureEnumeratorTest.class));
-		suite.addTest(new TestSuite(StandardDrawingTest.class));
-		suite.addTest(new TestSuite(StandardDrawingViewTest.class));
-		suite.addTest(new TestSuite(StandardFigureSelectionTest.class));
-		suite.addTest(new TestSuite(ToggleGridCommandTest.class));
-		suite.addTest(new TestSuite(ToolButtonTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/BoxHandleKitTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/BoxHandleKitTest.java
deleted file mode 100644
index a94bd63b3..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/BoxHandleKitTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.BoxHandleKit;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BoxHandleKitTest is generated by
- * JUnitDoclet to hold the tests for BoxHandleKit.
- * @see org.jhotdraw.standard.BoxHandleKit
- */
-// JUnitDoclet end javadoc_class
-public class BoxHandleKitTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BoxHandleKit boxhandlekit;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BoxHandleKitTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BoxHandleKitTest(String name) {
-		// JUnitDoclet begin method BoxHandleKitTest
-		super(name);
-		// JUnitDoclet end method BoxHandleKitTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public BoxHandleKit createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new BoxHandleKit();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		boxhandlekit = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		boxhandlekit = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addCornerHandles()
-	/**
-	 * Method testAddCornerHandles is testing addCornerHandles
-	 * @see org.jhotdraw.standard.BoxHandleKit#addCornerHandles(org.jhotdraw.framework.Figure, java.util.List)
-	 */
-	// JUnitDoclet end javadoc_method addCornerHandles()
-	public void testAddCornerHandles() throws Exception {
-		// JUnitDoclet begin method addCornerHandles
-		// JUnitDoclet end method addCornerHandles
-	}
-
-	// JUnitDoclet begin javadoc_method addHandles()
-	/**
-	 * Method testAddHandles is testing addHandles
-	 * @see org.jhotdraw.standard.BoxHandleKit#addHandles(org.jhotdraw.framework.Figure, java.util.List)
-	 */
-	// JUnitDoclet end javadoc_method addHandles()
-	public void testAddHandles() throws Exception {
-		// JUnitDoclet begin method addHandles
-		// JUnitDoclet end method addHandles
-	}
-
-	// JUnitDoclet begin javadoc_method south()
-	/**
-	 * Method testSouth is testing south
-	 * @see org.jhotdraw.standard.BoxHandleKit#south(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method south()
-	public void testSouth() throws Exception {
-		// JUnitDoclet begin method south
-		// JUnitDoclet end method south
-	}
-
-	// JUnitDoclet begin javadoc_method southEast()
-	/**
-	 * Method testSouthEast is testing southEast
-	 * @see org.jhotdraw.standard.BoxHandleKit#southEast(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method southEast()
-	public void testSouthEast() throws Exception {
-		// JUnitDoclet begin method southEast
-		// JUnitDoclet end method southEast
-	}
-
-	// JUnitDoclet begin javadoc_method southWest()
-	/**
-	 * Method testSouthWest is testing southWest
-	 * @see org.jhotdraw.standard.BoxHandleKit#southWest(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method southWest()
-	public void testSouthWest() throws Exception {
-		// JUnitDoclet begin method southWest
-		// JUnitDoclet end method southWest
-	}
-
-	// JUnitDoclet begin javadoc_method north()
-	/**
-	 * Method testNorth is testing north
-	 * @see org.jhotdraw.standard.BoxHandleKit#north(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method north()
-	public void testNorth() throws Exception {
-		// JUnitDoclet begin method north
-		// JUnitDoclet end method north
-	}
-
-	// JUnitDoclet begin javadoc_method northEast()
-	/**
-	 * Method testNorthEast is testing northEast
-	 * @see org.jhotdraw.standard.BoxHandleKit#northEast(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method northEast()
-	public void testNorthEast() throws Exception {
-		// JUnitDoclet begin method northEast
-		// JUnitDoclet end method northEast
-	}
-
-	// JUnitDoclet begin javadoc_method northWest()
-	/**
-	 * Method testNorthWest is testing northWest
-	 * @see org.jhotdraw.standard.BoxHandleKit#northWest(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method northWest()
-	public void testNorthWest() throws Exception {
-		// JUnitDoclet begin method northWest
-		// JUnitDoclet end method northWest
-	}
-
-	// JUnitDoclet begin javadoc_method east()
-	/**
-	 * Method testEast is testing east
-	 * @see org.jhotdraw.standard.BoxHandleKit#east(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method east()
-	public void testEast() throws Exception {
-		// JUnitDoclet begin method east
-		// JUnitDoclet end method east
-	}
-
-	// JUnitDoclet begin javadoc_method west()
-	/**
-	 * Method testWest is testing west
-	 * @see org.jhotdraw.standard.BoxHandleKit#west(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method west()
-	public void testWest() throws Exception {
-		// JUnitDoclet begin method west
-		// JUnitDoclet end method west
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/BringToFrontCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/BringToFrontCommandTest.java
deleted file mode 100644
index 9812bd557..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/BringToFrontCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.BringToFrontCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BringToFrontCommandTest is generated by
- * JUnitDoclet to hold the tests for BringToFrontCommand.
- * @see org.jhotdraw.standard.BringToFrontCommand
- */
-// JUnitDoclet end javadoc_class
-public class BringToFrontCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BringToFrontCommand bringtofrontcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BringToFrontCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BringToFrontCommandTest(String name) {
-		// JUnitDoclet begin method BringToFrontCommandTest
-		super(name);
-		// JUnitDoclet end method BringToFrontCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public BringToFrontCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new BringToFrontCommand("TestBringToFront", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bringtofrontcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bringtofrontcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.BringToFrontCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see org.jhotdraw.standard.BringToFrontCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/BufferedUpdateStrategyTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/BufferedUpdateStrategyTest.java
deleted file mode 100644
index f332c4a16..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/BufferedUpdateStrategyTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.BufferedUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BufferedUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for BufferedUpdateStrategy.
- * @see org.jhotdraw.standard.BufferedUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class BufferedUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private BufferedUpdateStrategy bufferedupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BufferedUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BufferedUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method BufferedUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method BufferedUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public BufferedUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new BufferedUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bufferedupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bufferedupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.standard.BufferedUpdateStrategy#draw(java.awt.Graphics, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeAttributeCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeAttributeCommandTest.java
deleted file mode 100644
index ba1e51bde..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeAttributeCommandTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Font;
-
-// JUnitDoclet begin import
-import org.jhotdraw.framework.FigureAttributeConstant;
-import org.jhotdraw.standard.ChangeAttributeCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChangeAttributeCommandTest is generated by
- * JUnitDoclet to hold the tests for ChangeAttributeCommand.
- * @see org.jhotdraw.standard.ChangeAttributeCommand
- */
-// JUnitDoclet end javadoc_class
-public class ChangeAttributeCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChangeAttributeCommand changeattributecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChangeAttributeCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChangeAttributeCommandTest(String name) {
-		// JUnitDoclet begin method ChangeAttributeCommandTest
-		super(name);
-		// JUnitDoclet end method ChangeAttributeCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ChangeAttributeCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		FigureAttributeConstant fontStyle = FigureAttributeConstant.FONT_STYLE;
-		return new ChangeAttributeCommand("Bold", fontStyle, new Integer(Font.BOLD), getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		changeattributecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		changeattributecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.ChangeAttributeCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see org.jhotdraw.standard.ChangeAttributeCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeConnectionEndHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeConnectionEndHandleTest.java
deleted file mode 100644
index db23f879f..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeConnectionEndHandleTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.standard.ChangeConnectionEndHandle;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChangeConnectionEndHandleTest is generated by
- * JUnitDoclet to hold the tests for ChangeConnectionEndHandle.
- * @see org.jhotdraw.standard.ChangeConnectionEndHandle
- */
-// JUnitDoclet end javadoc_class
-public class ChangeConnectionEndHandleTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChangeConnectionEndHandle changeconnectionendhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChangeConnectionEndHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChangeConnectionEndHandleTest(String name) {
-		// JUnitDoclet begin method ChangeConnectionEndHandleTest
-		super(name);
-		// JUnitDoclet end method ChangeConnectionEndHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ChangeConnectionEndHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ChangeConnectionEndHandle(new LineConnection());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		changeconnectionendhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		changeconnectionendhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see org.jhotdraw.standard.ChangeConnectionEndHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeConnectionStartHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeConnectionStartHandleTest.java
deleted file mode 100644
index a798bedbf..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChangeConnectionStartHandleTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.standard.ChangeConnectionStartHandle;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChangeConnectionStartHandleTest is generated by
- * JUnitDoclet to hold the tests for ChangeConnectionStartHandle.
- * @see org.jhotdraw.standard.ChangeConnectionStartHandle
- */
-// JUnitDoclet end javadoc_class
-public class ChangeConnectionStartHandleTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChangeConnectionStartHandle changeconnectionstarthandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChangeConnectionStartHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChangeConnectionStartHandleTest(String name) {
-		// JUnitDoclet begin method ChangeConnectionStartHandleTest
-		super(name);
-		// JUnitDoclet end method ChangeConnectionStartHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ChangeConnectionStartHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ChangeConnectionStartHandle(new LineConnection());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		changeconnectionstarthandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		changeconnectionstarthandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see org.jhotdraw.standard.ChangeConnectionStartHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChopBoxConnectorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChopBoxConnectorTest.java
deleted file mode 100644
index 8b64d510e..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ChopBoxConnectorTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.ChopBoxConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ChopBoxConnectorTest is generated by
- * JUnitDoclet to hold the tests for ChopBoxConnector.
- * @see org.jhotdraw.standard.ChopBoxConnector
- */
-// JUnitDoclet end javadoc_class
-public class ChopBoxConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ChopBoxConnector chopboxconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ChopBoxConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ChopBoxConnectorTest(String name) {
-		// JUnitDoclet begin method ChopBoxConnectorTest
-		super(name);
-		// JUnitDoclet end method ChopBoxConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ChopBoxConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ChopBoxConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		chopboxconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		chopboxconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method findStart()
-	/**
-	 * Method testFindStart is testing findStart
-	 * @see org.jhotdraw.standard.ChopBoxConnector#findStart(org.jhotdraw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findStart()
-	public void testFindStart() throws Exception {
-		// JUnitDoclet begin method findStart
-		// JUnitDoclet end method findStart
-	}
-
-	// JUnitDoclet begin javadoc_method findEnd()
-	/**
-	 * Method testFindEnd is testing findEnd
-	 * @see org.jhotdraw.standard.ChopBoxConnector#findEnd(org.jhotdraw.framework.ConnectionFigure)
-	 */
-	// JUnitDoclet end javadoc_method findEnd()
-	public void testFindEnd() throws Exception {
-		// JUnitDoclet begin method findEnd
-		// JUnitDoclet end method findEnd
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ConnectionHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ConnectionHandleTest.java
deleted file mode 100644
index d56ef4838..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ConnectionHandleTest.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.ConnectionHandle;
-import org.jhotdraw.standard.RelativeLocator;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ConnectionHandleTest is generated by
- * JUnitDoclet to hold the tests for ConnectionHandle.
- * @see org.jhotdraw.standard.ConnectionHandle
- */
-// JUnitDoclet end javadoc_class
-public class ConnectionHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ConnectionHandle connectionhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ConnectionHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ConnectionHandleTest(String name) {
-		// JUnitDoclet begin method ConnectionHandleTest
-		super(name);
-		// JUnitDoclet end method ConnectionHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ConnectionHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ConnectionHandle(new RectangleFigure(new Point(10, 10), new Point(100, 100)), RelativeLocator.east(), new LineConnection());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		connectionhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		connectionhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see org.jhotdraw.standard.ConnectionHandle#invokeStart(int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see org.jhotdraw.standard.ConnectionHandle#invokeStep(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see org.jhotdraw.standard.ConnectionHandle#invokeEnd(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.standard.ConnectionHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ConnectionToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ConnectionToolTest.java
deleted file mode 100644
index 9a27ebb34..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ConnectionToolTest.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.standard.ConnectionTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ConnectionToolTest is generated by
- * JUnitDoclet to hold the tests for ConnectionTool.
- * @see org.jhotdraw.standard.ConnectionTool
- */
-// JUnitDoclet end javadoc_class
-public class ConnectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ConnectionTool connectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ConnectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ConnectionToolTest(String name) {
-		// JUnitDoclet begin method ConnectionToolTest
-		super(name);
-		// JUnitDoclet end method ConnectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ConnectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		LineConnection lineConn = new LineConnection();
-		// todo: lineConn.connectStart();
-		// todo: lineConn.connectEnd();
-		return new ConnectionTool(getDrawingEditor(), lineConn);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		connectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		connectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see org.jhotdraw.standard.ConnectionTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.standard.ConnectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.standard.ConnectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.standard.ConnectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see org.jhotdraw.standard.ConnectionTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/CopyCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/CopyCommandTest.java
deleted file mode 100644
index 9f78ab349..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/CopyCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.CopyCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CopyCommandTest is generated by
- * JUnitDoclet to hold the tests for CopyCommand.
- * @see org.jhotdraw.standard.CopyCommand
- */
-// JUnitDoclet end javadoc_class
-public class CopyCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CopyCommand copycommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CopyCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CopyCommandTest(String name) {
-		// JUnitDoclet begin method CopyCommandTest
-		super(name);
-		// JUnitDoclet end method CopyCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CopyCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CopyCommand("TestCopy", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		copycommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		copycommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.CopyCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/CreationToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/CreationToolTest.java
deleted file mode 100644
index c968c717c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/CreationToolTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.CreationTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CreationToolTest is generated by
- * JUnitDoclet to hold the tests for CreationTool.
- * @see org.jhotdraw.standard.CreationTool
- */
-// JUnitDoclet end javadoc_class
-public class CreationToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CreationTool creationtool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CreationToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CreationToolTest(String name) {
-		// JUnitDoclet begin method CreationToolTest
-		super(name);
-		// JUnitDoclet end method CreationToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CreationTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CreationTool(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		creationtool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		creationtool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see org.jhotdraw.standard.CreationTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.standard.CreationTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.standard.CreationTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.standard.CreationTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/CutCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/CutCommandTest.java
deleted file mode 100644
index c35642b12..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/CutCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.CutCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CutCommandTest is generated by
- * JUnitDoclet to hold the tests for CutCommand.
- * @see org.jhotdraw.standard.CutCommand
- */
-// JUnitDoclet end javadoc_class
-public class CutCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CutCommand cutcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CutCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CutCommandTest(String name) {
-		// JUnitDoclet begin method CutCommandTest
-		super(name);
-		// JUnitDoclet end method CutCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CutCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CutCommand("TestCut", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		cutcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		cutcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.CutCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see org.jhotdraw.standard.CutCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DeleteCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DeleteCommandTest.java
deleted file mode 100644
index 0303b16df..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DeleteCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.DeleteCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DeleteCommandTest is generated by
- * JUnitDoclet to hold the tests for DeleteCommand.
- * @see org.jhotdraw.standard.DeleteCommand
- */
-// JUnitDoclet end javadoc_class
-public class DeleteCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DeleteCommand deletecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DeleteCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DeleteCommandTest(String name) {
-		// JUnitDoclet begin method DeleteCommandTest
-		super(name);
-		// JUnitDoclet end method DeleteCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DeleteCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new DeleteCommand("TestDelete", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		deletecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		deletecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.DeleteCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DeleteFromDrawingVisitorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DeleteFromDrawingVisitorTest.java
deleted file mode 100644
index 5bc3eb2b8..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DeleteFromDrawingVisitorTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.DeleteFromDrawingVisitor;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DeleteFromDrawingVisitorTest is generated by
- * JUnitDoclet to hold the tests for DeleteFromDrawingVisitor.
- * @see org.jhotdraw.standard.DeleteFromDrawingVisitor
- */
-// JUnitDoclet end javadoc_class
-public class DeleteFromDrawingVisitorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DeleteFromDrawingVisitor deletefromdrawingvisitor;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DeleteFromDrawingVisitorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DeleteFromDrawingVisitorTest(String name) {
-		// JUnitDoclet begin method DeleteFromDrawingVisitorTest
-		super(name);
-		// JUnitDoclet end method DeleteFromDrawingVisitorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DeleteFromDrawingVisitor createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new DeleteFromDrawingVisitor(getDrawingEditor().view().drawing());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		deletefromdrawingvisitor = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		deletefromdrawingvisitor = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigure()
-	/**
-	 * Method testVisitFigure is testing visitFigure
-	 * @see org.jhotdraw.standard.DeleteFromDrawingVisitor#visitFigure(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method visitFigure()
-	public void testVisitFigure() throws Exception {
-		// JUnitDoclet begin method visitFigure
-		// JUnitDoclet end method visitFigure
-	}
-
-	// JUnitDoclet begin javadoc_method visitHandle()
-	/**
-	 * Method testVisitHandle is testing visitHandle
-	 * @see org.jhotdraw.standard.DeleteFromDrawingVisitor#visitHandle(org.jhotdraw.framework.Handle)
-	 */
-	// JUnitDoclet end javadoc_method visitHandle()
-	public void testVisitHandle() throws Exception {
-		// JUnitDoclet begin method visitHandle
-		// JUnitDoclet end method visitHandle
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigureChangeListener()
-	/**
-	 * Method testVisitFigureChangeListener is testing visitFigureChangeListener
-	 * @see org.jhotdraw.standard.DeleteFromDrawingVisitor#visitFigureChangeListener(org.jhotdraw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method visitFigureChangeListener()
-	public void testVisitFigureChangeListener() throws Exception {
-		// JUnitDoclet begin method visitFigureChangeListener
-		// JUnitDoclet end method visitFigureChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method getDeletedFigures()
-	/**
-	 * Method testGetDeletedFigures is testing getDeletedFigures
-	 * @see org.jhotdraw.standard.DeleteFromDrawingVisitor#getDeletedFigures()
-	 */
-	// JUnitDoclet end javadoc_method getDeletedFigures()
-	public void testGetDeletedFigures() throws Exception {
-		// JUnitDoclet begin method getDeletedFigures
-		// JUnitDoclet end method getDeletedFigures
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DragTrackerTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DragTrackerTest.java
deleted file mode 100644
index ec261e4d2..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DragTrackerTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.DragTracker;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DragTrackerTest is generated by
- * JUnitDoclet to hold the tests for DragTracker.
- * @see org.jhotdraw.standard.DragTracker
- */
-// JUnitDoclet end javadoc_class
-public class DragTrackerTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DragTracker dragtracker;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DragTrackerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DragTrackerTest(String name) {
-		// JUnitDoclet begin method DragTrackerTest
-		super(name);
-		// JUnitDoclet end method DragTrackerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DragTracker createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new DragTracker(getDrawingEditor(), new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		dragtracker = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		dragtracker = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.standard.DragTracker#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.standard.DragTracker#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see org.jhotdraw.standard.DragTracker#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see org.jhotdraw.standard.DragTracker#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DuplicateCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DuplicateCommandTest.java
deleted file mode 100644
index 78b8ee697..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/DuplicateCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.DuplicateCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase DuplicateCommandTest is generated by
- * JUnitDoclet to hold the tests for DuplicateCommand.
- * @see org.jhotdraw.standard.DuplicateCommand
- */
-// JUnitDoclet end javadoc_class
-public class DuplicateCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private DuplicateCommand duplicatecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor DuplicateCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public DuplicateCommandTest(String name) {
-		// JUnitDoclet begin method DuplicateCommandTest
-		super(name);
-		// JUnitDoclet end method DuplicateCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public DuplicateCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new DuplicateCommand("TestDuplicate", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		duplicatecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		duplicatecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.DuplicateCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FastBufferedUpdateStrategyTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FastBufferedUpdateStrategyTest.java
deleted file mode 100644
index 1161d6616..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FastBufferedUpdateStrategyTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.FastBufferedUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FastBufferedUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for FastBufferedUpdateStrategy.
- * @see org.jhotdraw.standard.FastBufferedUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class FastBufferedUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FastBufferedUpdateStrategy fastbufferedupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FastBufferedUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FastBufferedUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method FastBufferedUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method FastBufferedUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FastBufferedUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new FastBufferedUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		fastbufferedupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		fastbufferedupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.standard.FastBufferedUpdateStrategy#draw(java.awt.Graphics, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureAndEnumeratorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureAndEnumeratorTest.java
deleted file mode 100644
index 8257516b1..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureAndEnumeratorTest.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.PolyLineFigure;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.FigureAndEnumerator;
-import org.jhotdraw.standard.FigureEnumerator;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureAndEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for FigureAndEnumerator.
- * @see org.jhotdraw.standard.FigureAndEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class FigureAndEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureAndEnumerator figureandenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureAndEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureAndEnumeratorTest(String name) {
-		// JUnitDoclet begin method FigureAndEnumeratorTest
-		super(name);
-		// JUnitDoclet end method FigureAndEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FigureAndEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l1 = CollectionsFactory.current().createList();
-		l1.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l1.add(new PolyLineFigure(20, 20));
-		FigureEnumerator enum1 = new FigureEnumerator(l1);
-
-		List l2 = CollectionsFactory.current().createList();
-		l2.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l2.add(new PolyLineFigure(20, 20));
-		FigureEnumerator enum2 = new FigureEnumerator(l2);
-		return new FigureAndEnumerator(enum1, enum2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureandenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureandenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see org.jhotdraw.standard.FigureAndEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see org.jhotdraw.standard.FigureAndEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see org.jhotdraw.standard.FigureAndEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureChangeAdapterTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureChangeAdapterTest.java
deleted file mode 100644
index ae121abdd..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureChangeAdapterTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.FigureChangeAdapter;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureChangeAdapterTest is generated by
- * JUnitDoclet to hold the tests for FigureChangeAdapter.
- * @see org.jhotdraw.standard.FigureChangeAdapter
- */
-// JUnitDoclet end javadoc_class
-public class FigureChangeAdapterTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureChangeAdapter figurechangeadapter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureChangeAdapterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureChangeAdapterTest(String name) {
-		// JUnitDoclet begin method FigureChangeAdapterTest
-		super(name);
-		// JUnitDoclet end method FigureChangeAdapterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FigureChangeAdapter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new FigureChangeAdapter();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figurechangeadapter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figurechangeadapter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see org.jhotdraw.standard.FigureChangeAdapter#figureInvalidated(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see org.jhotdraw.standard.FigureChangeAdapter#figureChanged(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see org.jhotdraw.standard.FigureChangeAdapter#figureRemoved(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see org.jhotdraw.standard.FigureChangeAdapter#figureRequestRemove(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see org.jhotdraw.standard.FigureChangeAdapter#figureRequestUpdate(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureChangeEventMulticasterTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureChangeEventMulticasterTest.java
deleted file mode 100644
index afc1ab9b8..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureChangeEventMulticasterTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.util.EventListener;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.TextFigure;
-import org.jhotdraw.framework.Drawing;
-import org.jhotdraw.standard.FigureChangeEventMulticaster;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureChangeEventMulticasterTest is generated by
- * JUnitDoclet to hold the tests for FigureChangeEventMulticaster.
- * @see org.jhotdraw.standard.FigureChangeEventMulticaster
- */
-// JUnitDoclet end javadoc_class
-public class FigureChangeEventMulticasterTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureChangeEventMulticaster figurechangeeventmulticaster;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureChangeEventMulticasterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureChangeEventMulticasterTest(String name) {
-		// JUnitDoclet begin method FigureChangeEventMulticasterTest
-		super(name);
-		// JUnitDoclet end method FigureChangeEventMulticasterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FigureChangeEventMulticaster createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		EventListener l1 = new TextFigure();
-		Drawing l2 = getDrawingEditor().view().drawing();
-		return new FigureChangeEventMulticaster(l1, l2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		figurechangeeventmulticaster = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figurechangeeventmulticaster = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see org.jhotdraw.standard.FigureChangeEventMulticaster#figureInvalidated(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestRemove()
-	/**
-	 * Method testFigureRequestRemove is testing figureRequestRemove
-	 * @see org.jhotdraw.standard.FigureChangeEventMulticaster#figureRequestRemove(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestRemove()
-	public void testFigureRequestRemove() throws Exception {
-		// JUnitDoclet begin method figureRequestRemove
-		// JUnitDoclet end method figureRequestRemove
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see org.jhotdraw.standard.FigureChangeEventMulticaster#figureRequestUpdate(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see org.jhotdraw.standard.FigureChangeEventMulticaster#figureChanged(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRemoved()
-	/**
-	 * Method testFigureRemoved is testing figureRemoved
-	 * @see org.jhotdraw.standard.FigureChangeEventMulticaster#figureRemoved(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRemoved()
-	public void testFigureRemoved() throws Exception {
-		// JUnitDoclet begin method figureRemoved
-		// JUnitDoclet end method figureRemoved
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.standard.FigureChangeEventMulticaster#add(org.jhotdraw.framework.FigureChangeListener, org.jhotdraw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.standard.FigureChangeEventMulticaster#remove(org.jhotdraw.framework.FigureChangeListener, org.jhotdraw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureEnumeratorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureEnumeratorTest.java
deleted file mode 100644
index e50a2b278..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/FigureEnumeratorTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.PolyLineFigure;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.FigureEnumerator;
-import org.jhotdraw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FigureEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for FigureEnumerator.
- * @see org.jhotdraw.standard.FigureEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class FigureEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FigureEnumerator figureenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FigureEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FigureEnumeratorTest(String name) {
-		// JUnitDoclet begin method FigureEnumeratorTest
-		super(name);
-		// JUnitDoclet end method FigureEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FigureEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l.add(new PolyLineFigure(20, 20));
-		return new FigureEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		figureenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		figureenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see org.jhotdraw.standard.FigureEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see org.jhotdraw.standard.FigureEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method getEmptyEnumeration()
-	/**
-	 * Method testGetEmptyEnumeration is testing getEmptyEnumeration
-	 * @see org.jhotdraw.standard.FigureEnumerator#getEmptyEnumeration()
-	 */
-	// JUnitDoclet end javadoc_method getEmptyEnumeration()
-	public void testGetEmptyEnumeration() throws Exception {
-		// JUnitDoclet begin method getEmptyEnumeration
-		// JUnitDoclet end method getEmptyEnumeration
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see org.jhotdraw.standard.FigureEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/GridConstrainerTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/GridConstrainerTest.java
deleted file mode 100644
index 61c751708..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/GridConstrainerTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.GridConstrainer;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GridConstrainerTest is generated by
- * JUnitDoclet to hold the tests for GridConstrainer.
- * @see org.jhotdraw.standard.GridConstrainer
- */
-// JUnitDoclet end javadoc_class
-public class GridConstrainerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private GridConstrainer gridconstrainer;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GridConstrainerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GridConstrainerTest(String name) {
-		// JUnitDoclet begin method GridConstrainerTest
-		super(name);
-		// JUnitDoclet end method GridConstrainerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public GridConstrainer createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new GridConstrainer(5, 5);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		gridconstrainer = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		gridconstrainer = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method constrainPoint()
-	/**
-	 * Method testConstrainPoint is testing constrainPoint
-	 * @see org.jhotdraw.standard.GridConstrainer#constrainPoint(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method constrainPoint()
-	public void testConstrainPoint() throws Exception {
-		// JUnitDoclet begin method constrainPoint
-		// JUnitDoclet end method constrainPoint
-	}
-
-	// JUnitDoclet begin javadoc_method getStepX()
-	/**
-	 * Method testGetStepX is testing getStepX
-	 * @see org.jhotdraw.standard.GridConstrainer#getStepX()
-	 */
-	// JUnitDoclet end javadoc_method getStepX()
-	public void testGetStepX() throws Exception {
-		// JUnitDoclet begin method getStepX
-		// JUnitDoclet end method getStepX
-	}
-
-	// JUnitDoclet begin javadoc_method getStepY()
-	/**
-	 * Method testGetStepY is testing getStepY
-	 * @see org.jhotdraw.standard.GridConstrainer#getStepY()
-	 */
-	// JUnitDoclet end javadoc_method getStepY()
-	public void testGetStepY() throws Exception {
-		// JUnitDoclet begin method getStepY
-		// JUnitDoclet end method getStepY
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleAndEnumeratorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleAndEnumeratorTest.java
deleted file mode 100644
index 6320795d2..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleAndEnumeratorTest.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.HandleAndEnumerator;
-import org.jhotdraw.standard.HandleEnumerator;
-import org.jhotdraw.standard.NullHandle;
-import org.jhotdraw.standard.RelativeLocator;
-import org.jhotdraw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HandleAndEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for HandleAndEnumerator.
- * @see org.jhotdraw.standard.HandleAndEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class HandleAndEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private HandleAndEnumerator handleandenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HandleAndEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HandleAndEnumeratorTest(String name) {
-		// JUnitDoclet begin method HandleAndEnumeratorTest
-		super(name);
-		// JUnitDoclet end method HandleAndEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public HandleAndEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		RectangleFigure figure1 = new RectangleFigure(new Point(15, 15), new Point(20, 20));
-		List l1 = CollectionsFactory.current().createList();
-		l1.add(new NullHandle(figure1, RelativeLocator.north()));
-		l1.add(new NullHandle(figure1, RelativeLocator.north()));
-		HandleEnumerator handleEnum1 = new HandleEnumerator(l1);
-
-		RectangleFigure figure2 = new RectangleFigure(new Point(55, 55), new Point(70, 70));
-		List l2 = CollectionsFactory.current().createList();
-		l2.add(new NullHandle(figure2, RelativeLocator.north()));
-		l2.add(new NullHandle(figure2, RelativeLocator.north()));
-		HandleEnumerator handleEnum2 = new HandleEnumerator(l2);
-		return new HandleAndEnumerator(handleEnum1, handleEnum2);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		handleandenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		handleandenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method nextHandle()
-	/**
-	 * Method testNextHandle is testing nextHandle
-	 * @see org.jhotdraw.standard.HandleAndEnumerator#nextHandle()
-	 */
-	// JUnitDoclet end javadoc_method nextHandle()
-	public void testNextHandle() throws Exception {
-		// JUnitDoclet begin method nextHandle
-		// JUnitDoclet end method nextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextHandle()
-	/**
-	 * Method testHasNextHandle is testing hasNextHandle
-	 * @see org.jhotdraw.standard.HandleAndEnumerator#hasNextHandle()
-	 */
-	// JUnitDoclet end javadoc_method hasNextHandle()
-	public void testHasNextHandle() throws Exception {
-		// JUnitDoclet begin method hasNextHandle
-		// JUnitDoclet end method hasNextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method toList()
-	/**
-	 * Method testToList is testing toList
-	 * @see org.jhotdraw.standard.HandleAndEnumerator#toList()
-	 */
-	// JUnitDoclet end javadoc_method toList()
-	public void testToList() throws Exception {
-		// JUnitDoclet begin method toList
-		// JUnitDoclet end method toList
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see org.jhotdraw.standard.HandleAndEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleEnumeratorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleEnumeratorTest.java
deleted file mode 100644
index c79369859..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleEnumeratorTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.HandleEnumerator;
-import org.jhotdraw.standard.NullHandle;
-import org.jhotdraw.standard.RelativeLocator;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HandleEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for HandleEnumerator.
- * @see org.jhotdraw.standard.HandleEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class HandleEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private HandleEnumerator handleenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HandleEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HandleEnumeratorTest(String name) {
-		// JUnitDoclet begin method HandleEnumeratorTest
-		super(name);
-		// JUnitDoclet end method HandleEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public HandleEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		RectangleFigure figure = new RectangleFigure(new Point(15, 15), new Point(20, 20));
-		List l = CollectionsFactory.current().createList();
-		l.add(new NullHandle(figure, RelativeLocator.north()));
-		l.add(new NullHandle(figure, RelativeLocator.north()));
-		//return (HandleEnumerator)figure.handles();
-		return new HandleEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		handleenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		handleenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextHandle()
-	/**
-	 * Method testHasNextHandle is testing hasNextHandle
-	 * @see org.jhotdraw.standard.HandleEnumerator#hasNextHandle()
-	 */
-	// JUnitDoclet end javadoc_method hasNextHandle()
-	public void testHasNextHandle() throws Exception {
-		// JUnitDoclet begin method hasNextHandle
-		// JUnitDoclet end method hasNextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method nextHandle()
-	/**
-	 * Method testNextHandle is testing nextHandle
-	 * @see org.jhotdraw.standard.HandleEnumerator#nextHandle()
-	 */
-	// JUnitDoclet end javadoc_method nextHandle()
-	public void testNextHandle() throws Exception {
-		// JUnitDoclet begin method nextHandle
-		// JUnitDoclet end method nextHandle
-	}
-
-	// JUnitDoclet begin javadoc_method toList()
-	/**
-	 * Method testToList is testing toList
-	 * @see org.jhotdraw.standard.HandleEnumerator#toList()
-	 */
-	// JUnitDoclet end javadoc_method toList()
-	public void testToList() throws Exception {
-		// JUnitDoclet begin method toList
-		// JUnitDoclet end method toList
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see org.jhotdraw.standard.HandleEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method getEmptyEnumeration()
-	/**
-	 * Method testGetEmptyEnumeration is testing getEmptyEnumeration
-	 * @see org.jhotdraw.standard.HandleEnumerator#getEmptyEnumeration()
-	 */
-	// JUnitDoclet end javadoc_method getEmptyEnumeration()
-	public void testGetEmptyEnumeration() throws Exception {
-		// JUnitDoclet begin method getEmptyEnumeration
-		// JUnitDoclet end method getEmptyEnumeration
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleTrackerTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleTrackerTest.java
deleted file mode 100644
index b16f681e6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/HandleTrackerTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.framework.Handle;
-import org.jhotdraw.standard.HandleTracker;
-import org.jhotdraw.standard.NullHandle;
-import org.jhotdraw.standard.RelativeLocator;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase HandleTrackerTest is generated by
- * JUnitDoclet to hold the tests for HandleTracker.
- * @see org.jhotdraw.standard.HandleTracker
- */
-// JUnitDoclet end javadoc_class
-public class HandleTrackerTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private HandleTracker handletracker;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor HandleTrackerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public HandleTrackerTest(String name) {
-		// JUnitDoclet begin method HandleTrackerTest
-		super(name);
-		// JUnitDoclet end method HandleTrackerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public HandleTracker createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Handle handle = new NullHandle(new RectangleFigure(new Point(10, 10), new Point(40, 40)), RelativeLocator.north());
-		return new HandleTracker(getDrawingEditor(), handle);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		handletracker = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		handletracker = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.standard.HandleTracker#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.standard.HandleTracker#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.standard.HandleTracker#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see org.jhotdraw.standard.HandleTracker#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/InsertIntoDrawingVisitorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/InsertIntoDrawingVisitorTest.java
deleted file mode 100644
index 8c67e71b6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/InsertIntoDrawingVisitorTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.InsertIntoDrawingVisitor;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase InsertIntoDrawingVisitorTest is generated by
- * JUnitDoclet to hold the tests for InsertIntoDrawingVisitor.
- * @see org.jhotdraw.standard.InsertIntoDrawingVisitor
- */
-// JUnitDoclet end javadoc_class
-public class InsertIntoDrawingVisitorTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private InsertIntoDrawingVisitor insertintodrawingvisitor;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor InsertIntoDrawingVisitorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public InsertIntoDrawingVisitorTest(String name) {
-		// JUnitDoclet begin method InsertIntoDrawingVisitorTest
-		super(name);
-		// JUnitDoclet end method InsertIntoDrawingVisitorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public InsertIntoDrawingVisitor createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new InsertIntoDrawingVisitor(getDrawingEditor().view().drawing());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		insertintodrawingvisitor = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		insertintodrawingvisitor = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigure()
-	/**
-	 * Method testVisitFigure is testing visitFigure
-	 * @see org.jhotdraw.standard.InsertIntoDrawingVisitor#visitFigure(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method visitFigure()
-	public void testVisitFigure() throws Exception {
-		// JUnitDoclet begin method visitFigure
-		// JUnitDoclet end method visitFigure
-	}
-
-	// JUnitDoclet begin javadoc_method visitHandle()
-	/**
-	 * Method testVisitHandle is testing visitHandle
-	 * @see org.jhotdraw.standard.InsertIntoDrawingVisitor#visitHandle(org.jhotdraw.framework.Handle)
-	 */
-	// JUnitDoclet end javadoc_method visitHandle()
-	public void testVisitHandle() throws Exception {
-		// JUnitDoclet begin method visitHandle
-		// JUnitDoclet end method visitHandle
-	}
-
-	// JUnitDoclet begin javadoc_method visitFigureChangeListener()
-	/**
-	 * Method testVisitFigureChangeListener is testing visitFigureChangeListener
-	 * @see org.jhotdraw.standard.InsertIntoDrawingVisitor#visitFigureChangeListener(org.jhotdraw.framework.FigureChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method visitFigureChangeListener()
-	public void testVisitFigureChangeListener() throws Exception {
-		// JUnitDoclet begin method visitFigureChangeListener
-		// JUnitDoclet end method visitFigureChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method getInsertedFigures()
-	/**
-	 * Method testGetInsertedFigures is testing getInsertedFigures
-	 * @see org.jhotdraw.standard.InsertIntoDrawingVisitor#getInsertedFigures()
-	 */
-	// JUnitDoclet end javadoc_method getInsertedFigures()
-	public void testGetInsertedFigures() throws Exception {
-		// JUnitDoclet begin method getInsertedFigures
-		// JUnitDoclet end method getInsertedFigures
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/LocatorConnectorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/LocatorConnectorTest.java
deleted file mode 100644
index 627fb6cec..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/LocatorConnectorTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.LocatorConnector;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LocatorConnectorTest is generated by
- * JUnitDoclet to hold the tests for LocatorConnector.
- * @see org.jhotdraw.standard.LocatorConnector
- */
-// JUnitDoclet end javadoc_class
-public class LocatorConnectorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LocatorConnector locatorconnector;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LocatorConnectorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LocatorConnectorTest(String name) {
-		// JUnitDoclet begin method LocatorConnectorTest
-		super(name);
-		// JUnitDoclet end method LocatorConnectorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public LocatorConnector createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new LocatorConnector();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		locatorconnector = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		locatorconnector = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see org.jhotdraw.standard.LocatorConnector#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.standard.LocatorConnector#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.standard.LocatorConnector#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.standard.LocatorConnector#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.standard.LocatorConnector#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method getLocator()
-	/**
-	 * Method testGetLocator is testing getLocator
-	 * @see org.jhotdraw.standard.LocatorConnector#getLocator()
-	 */
-	// JUnitDoclet end javadoc_method getLocator()
-	public void testGetLocator() throws Exception {
-		// JUnitDoclet begin method getLocator
-		// JUnitDoclet end method getLocator
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/LocatorHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/LocatorHandleTest.java
deleted file mode 100644
index b1f8a238b..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/LocatorHandleTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.LocatorHandle;
-import org.jhotdraw.standard.RelativeLocator;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase LocatorHandleTest is generated by
- * JUnitDoclet to hold the tests for LocatorHandle.
- * @see org.jhotdraw.standard.LocatorHandle
- */
-// JUnitDoclet end javadoc_class
-public class LocatorHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private LocatorHandle locatorhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor LocatorHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public LocatorHandleTest(String name) {
-		// JUnitDoclet begin method LocatorHandleTest
-		super(name);
-		// JUnitDoclet end method LocatorHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public LocatorHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new LocatorHandle(new RectangleFigure(new Point(), new Point()), new RelativeLocator(1.0, 2.0));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		locatorhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		locatorhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getLocator()
-	/**
-	 * Method testGetLocator is testing getLocator
-	 * @see org.jhotdraw.standard.LocatorHandle#getLocator()
-	 */
-	// JUnitDoclet end javadoc_method getLocator()
-	public void testGetLocator() throws Exception {
-		// JUnitDoclet begin method getLocator
-		// JUnitDoclet end method getLocator
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see org.jhotdraw.standard.LocatorHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullDrawingViewTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullDrawingViewTest.java
deleted file mode 100644
index d66c9e38b..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullDrawingViewTest.java
+++ /dev/null
@@ -1,650 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.NullDrawingView;
-import org.jhotdraw.standard.SimpleUpdateStrategy;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullDrawingViewTest is generated by
- * JUnitDoclet to hold the tests for NullDrawingView.
- * @see org.jhotdraw.standard.NullDrawingView
- */
-// JUnitDoclet end javadoc_class
-public class NullDrawingViewTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullDrawingView nulldrawingview;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullDrawingViewTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullDrawingViewTest(String name) {
-		// JUnitDoclet begin method NullDrawingViewTest
-		super(name);
-		// JUnitDoclet end method NullDrawingViewTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NullDrawingView createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return (NullDrawingView)NullDrawingView.getManagedDrawingView(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nulldrawingview = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nulldrawingview = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setEditor()
-	/**
-	 * Method testSetEditor is testing setEditor
-	 * @see org.jhotdraw.standard.NullDrawingView#setEditor(org.jhotdraw.framework.DrawingEditor)
-	 */
-	// JUnitDoclet end javadoc_method setEditor()
-	public void testSetEditor() throws Exception {
-		// JUnitDoclet begin method setEditor
-		// JUnitDoclet end method setEditor
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see org.jhotdraw.standard.NullDrawingView#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method drawing()
-	/**
-	 * Method testDrawing is testing drawing
-	 * @see org.jhotdraw.standard.NullDrawingView#drawing()
-	 */
-	// JUnitDoclet end javadoc_method drawing()
-	public void testDrawing() throws Exception {
-		// JUnitDoclet begin method drawing
-		// JUnitDoclet end method drawing
-	}
-
-	// JUnitDoclet begin javadoc_method setDrawing()
-	/**
-	 * Method testSetDrawing is testing setDrawing
-	 * @see org.jhotdraw.standard.NullDrawingView#setDrawing(org.jhotdraw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method setDrawing()
-	public void testSetDrawing() throws Exception {
-		// JUnitDoclet begin method setDrawing
-		// JUnitDoclet end method setDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method editor()
-	/**
-	 * Method testEditor is testing editor
-	 * @see org.jhotdraw.standard.NullDrawingView#editor()
-	 */
-	// JUnitDoclet end javadoc_method editor()
-	public void testEditor() throws Exception {
-		// JUnitDoclet begin method editor
-		// JUnitDoclet end method editor
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.standard.NullDrawingView#add(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.standard.NullDrawingView#remove(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see org.jhotdraw.standard.NullDrawingView#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method getSize()
-	/**
-	 * Method testGetSize is testing getSize
-	 * @see org.jhotdraw.standard.NullDrawingView#getSize()
-	 */
-	// JUnitDoclet end javadoc_method getSize()
-	public void testGetSize() throws Exception {
-		// JUnitDoclet begin method getSize
-		// JUnitDoclet end method getSize
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see org.jhotdraw.standard.NullDrawingView#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see org.jhotdraw.standard.NullDrawingView#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method setDisplayUpdate()
-	/**
-	 * Method testSetGetDisplayUpdate is testing setDisplayUpdate
-	 * and getDisplayUpdate together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.standard.NullDrawingView#setDisplayUpdate(org.jhotdraw.framework.Painter)
-	 * @see org.jhotdraw.standard.NullDrawingView#getDisplayUpdate()
-	 */
-	// JUnitDoclet end javadoc_method setDisplayUpdate()
-	public void testSetGetDisplayUpdate() throws Exception {
-		// JUnitDoclet begin method setDisplayUpdate getDisplayUpdate
-		org.jhotdraw.framework.Painter[] tests = { new SimpleUpdateStrategy(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			nulldrawingview.setDisplayUpdate(tests[i]);
-			assertEquals(tests[i], nulldrawingview.getDisplayUpdate());
-		}
-		// JUnitDoclet end method setDisplayUpdate getDisplayUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method selection()
-	/**
-	 * Method testSelection is testing selection
-	 * @see org.jhotdraw.standard.NullDrawingView#selection()
-	 */
-	// JUnitDoclet end javadoc_method selection()
-	public void testSelection() throws Exception {
-		// JUnitDoclet begin method selection
-		// JUnitDoclet end method selection
-	}
-
-	// JUnitDoclet begin javadoc_method selectionZOrdered()
-	/**
-	 * Method testSelectionZOrdered is testing selectionZOrdered
-	 * @see org.jhotdraw.standard.NullDrawingView#selectionZOrdered()
-	 */
-	// JUnitDoclet end javadoc_method selectionZOrdered()
-	public void testSelectionZOrdered() throws Exception {
-		// JUnitDoclet begin method selectionZOrdered
-		// JUnitDoclet end method selectionZOrdered
-	}
-
-	// JUnitDoclet begin javadoc_method selectionCount()
-	/**
-	 * Method testSelectionCount is testing selectionCount
-	 * @see org.jhotdraw.standard.NullDrawingView#selectionCount()
-	 */
-	// JUnitDoclet end javadoc_method selectionCount()
-	public void testSelectionCount() throws Exception {
-		// JUnitDoclet begin method selectionCount
-		// JUnitDoclet end method selectionCount
-	}
-
-	// JUnitDoclet begin javadoc_method isFigureSelected()
-	/**
-	 * Method testIsFigureSelected is testing isFigureSelected
-	 * @see org.jhotdraw.standard.NullDrawingView#isFigureSelected(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method isFigureSelected()
-	public void testIsFigureSelected() throws Exception {
-		// JUnitDoclet begin method isFigureSelected
-		// JUnitDoclet end method isFigureSelected
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelection()
-	/**
-	 * Method testAddToSelection is testing addToSelection
-	 * @see org.jhotdraw.standard.NullDrawingView#addToSelection(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method addToSelection()
-	public void testAddToSelection() throws Exception {
-		// JUnitDoclet begin method addToSelection
-		// JUnitDoclet end method addToSelection
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelectionAll()
-	/**
-	 * Method testAddToSelectionAll is testing addToSelectionAll
-	 * @see org.jhotdraw.standard.NullDrawingView#addToSelectionAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addToSelectionAll()
-	public void testAddToSelectionAll() throws Exception {
-		// JUnitDoclet begin method addToSelectionAll
-		// JUnitDoclet end method addToSelectionAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromSelection()
-	/**
-	 * Method testRemoveFromSelection is testing removeFromSelection
-	 * @see org.jhotdraw.standard.NullDrawingView#removeFromSelection(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method removeFromSelection()
-	public void testRemoveFromSelection() throws Exception {
-		// JUnitDoclet begin method removeFromSelection
-		// JUnitDoclet end method removeFromSelection
-	}
-
-	// JUnitDoclet begin javadoc_method toggleSelection()
-	/**
-	 * Method testToggleSelection is testing toggleSelection
-	 * @see org.jhotdraw.standard.NullDrawingView#toggleSelection(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method toggleSelection()
-	public void testToggleSelection() throws Exception {
-		// JUnitDoclet begin method toggleSelection
-		// JUnitDoclet end method toggleSelection
-	}
-
-	// JUnitDoclet begin javadoc_method clearSelection()
-	/**
-	 * Method testClearSelection is testing clearSelection
-	 * @see org.jhotdraw.standard.NullDrawingView#clearSelection()
-	 */
-	// JUnitDoclet end javadoc_method clearSelection()
-	public void testClearSelection() throws Exception {
-		// JUnitDoclet begin method clearSelection
-		// JUnitDoclet end method clearSelection
-	}
-
-	// JUnitDoclet begin javadoc_method getFigureSelection()
-	/**
-	 * Method testGetFigureSelection is testing getFigureSelection
-	 * @see org.jhotdraw.standard.NullDrawingView#getFigureSelection()
-	 */
-	// JUnitDoclet end javadoc_method getFigureSelection()
-	public void testGetFigureSelection() throws Exception {
-		// JUnitDoclet begin method getFigureSelection
-		// JUnitDoclet end method getFigureSelection
-	}
-
-	// JUnitDoclet begin javadoc_method findHandle()
-	/**
-	 * Method testFindHandle is testing findHandle
-	 * @see org.jhotdraw.standard.NullDrawingView#findHandle(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findHandle()
-	public void testFindHandle() throws Exception {
-		// JUnitDoclet begin method findHandle
-		// JUnitDoclet end method findHandle
-	}
-
-	// JUnitDoclet begin javadoc_method lastClick()
-	/**
-	 * Method testLastClick is testing lastClick
-	 * @see org.jhotdraw.standard.NullDrawingView#lastClick()
-	 */
-	// JUnitDoclet end javadoc_method lastClick()
-	public void testLastClick() throws Exception {
-		// JUnitDoclet begin method lastClick
-		// JUnitDoclet end method lastClick
-	}
-
-	// JUnitDoclet begin javadoc_method setConstrainer()
-	/**
-	 * NullDrawingView.setConstrainer is a no-op.
-	 *   
-	 * @see org.jhotdraw.standard.NullDrawingView#setConstrainer(org.jhotdraw.framework.PointConstrainer)
-	 * @see org.jhotdraw.standard.NullDrawingView#getConstrainer()
-	 */
-	// JUnitDoclet end javadoc_method setConstrainer()
-	public void testSetGetConstrainer() throws Exception {
-		// JUnitDoclet begin method setConstrainer getConstrainer
-		// Do nothing: NullDrawingView.setConstrainer is a no-op.
-		// JUnitDoclet end method setConstrainer getConstrainer
-	}
-
-	// JUnitDoclet begin javadoc_method checkDamage()
-	/**
-	 * Method testCheckDamage is testing checkDamage
-	 * @see org.jhotdraw.standard.NullDrawingView#checkDamage()
-	 */
-	// JUnitDoclet end javadoc_method checkDamage()
-	public void testCheckDamage() throws Exception {
-		// JUnitDoclet begin method checkDamage
-		// JUnitDoclet end method checkDamage
-	}
-
-	// JUnitDoclet begin javadoc_method repairDamage()
-	/**
-	 * Method testRepairDamage is testing repairDamage
-	 * @see org.jhotdraw.standard.NullDrawingView#repairDamage()
-	 */
-	// JUnitDoclet end javadoc_method repairDamage()
-	public void testRepairDamage() throws Exception {
-		// JUnitDoclet begin method repairDamage
-		// JUnitDoclet end method repairDamage
-	}
-
-	// JUnitDoclet begin javadoc_method paint()
-	/**
-	 * Method testPaint is testing paint
-	 * @see org.jhotdraw.standard.NullDrawingView#paint(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paint()
-	public void testPaint() throws Exception {
-		// JUnitDoclet begin method paint
-		// JUnitDoclet end method paint
-	}
-
-	// JUnitDoclet begin javadoc_method createImage()
-	/**
-	 * Method testCreateImage is testing createImage
-	 * @see org.jhotdraw.standard.NullDrawingView#createImage(int, int)
-	 */
-	// JUnitDoclet end javadoc_method createImage()
-	public void testCreateImage() throws Exception {
-		// JUnitDoclet begin method createImage
-		// JUnitDoclet end method createImage
-	}
-
-	// JUnitDoclet begin javadoc_method getGraphics()
-	/**
-	 * Method testGetGraphics is testing getGraphics
-	 * @see org.jhotdraw.standard.NullDrawingView#getGraphics()
-	 */
-	// JUnitDoclet end javadoc_method getGraphics()
-	public void testGetGraphics() throws Exception {
-		// JUnitDoclet begin method getGraphics
-		// JUnitDoclet end method getGraphics
-	}
-
-	// JUnitDoclet begin javadoc_method setBackground()
-	/**
-	 * Method testSetGetBackground is testing setBackground
-	 * and getBackground together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.standard.NullDrawingView#setBackground(java.awt.Color)
-	 * @see org.jhotdraw.standard.NullDrawingView#getBackground()
-	 */
-	// JUnitDoclet end javadoc_method setBackground()
-	public void testSetGetBackground() throws Exception {
-		// JUnitDoclet begin method setBackground getBackground
-		java.awt.Color[] tests = { java.awt.Color.BLACK, null };
-
-		for (int i = 0; i < tests.length; i++) {
-			nulldrawingview.setBackground(tests[i]);
-			assertEquals(tests[i], nulldrawingview.getBackground());
-		}
-		// JUnitDoclet end method setBackground getBackground
-	}
-
-	// JUnitDoclet begin javadoc_method drawAll()
-	/**
-	 * Method testDrawAll is testing drawAll
-	 * @see org.jhotdraw.standard.NullDrawingView#drawAll(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawAll()
-	public void testDrawAll() throws Exception {
-		// JUnitDoclet begin method drawAll
-		// JUnitDoclet end method drawAll
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.standard.NullDrawingView#draw(java.awt.Graphics, org.jhotdraw.framework.FigureEnumeration)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method drawHandles()
-	/**
-	 * Method testDrawHandles is testing drawHandles
-	 * @see org.jhotdraw.standard.NullDrawingView#drawHandles(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawHandles()
-	public void testDrawHandles() throws Exception {
-		// JUnitDoclet begin method drawHandles
-		// JUnitDoclet end method drawHandles
-	}
-
-	// JUnitDoclet begin javadoc_method drawDrawing()
-	/**
-	 * Method testDrawDrawing is testing drawDrawing
-	 * @see org.jhotdraw.standard.NullDrawingView#drawDrawing(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawDrawing()
-	public void testDrawDrawing() throws Exception {
-		// JUnitDoclet begin method drawDrawing
-		// JUnitDoclet end method drawDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see org.jhotdraw.standard.NullDrawingView#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method setCursor()
-	/**
-	 * Method testSetCursor is testing setCursor
-	 * @see org.jhotdraw.standard.NullDrawingView#setCursor(java.awt.Cursor)
-	 */
-	// JUnitDoclet end javadoc_method setCursor()
-	public void testSetCursor() throws Exception {
-		// JUnitDoclet begin method setCursor
-		// JUnitDoclet end method setCursor
-	}
-
-	// JUnitDoclet begin javadoc_method freezeView()
-	/**
-	 * Method testFreezeView is testing freezeView
-	 * @see org.jhotdraw.standard.NullDrawingView#freezeView()
-	 */
-	// JUnitDoclet end javadoc_method freezeView()
-	public void testFreezeView() throws Exception {
-		// JUnitDoclet begin method freezeView
-		// JUnitDoclet end method freezeView
-	}
-
-	// JUnitDoclet begin javadoc_method unfreezeView()
-	/**
-	 * Method testUnfreezeView is testing unfreezeView
-	 * @see org.jhotdraw.standard.NullDrawingView#unfreezeView()
-	 */
-	// JUnitDoclet end javadoc_method unfreezeView()
-	public void testUnfreezeView() throws Exception {
-		// JUnitDoclet begin method unfreezeView
-		// JUnitDoclet end method unfreezeView
-	}
-
-	// JUnitDoclet begin javadoc_method addFigureSelectionListener()
-	/**
-	 * Method testAddFigureSelectionListener is testing addFigureSelectionListener
-	 * @see org.jhotdraw.standard.NullDrawingView#addFigureSelectionListener(org.jhotdraw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method addFigureSelectionListener()
-	public void testAddFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method addFigureSelectionListener
-		// JUnitDoclet end method addFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeFigureSelectionListener()
-	/**
-	 * Method testRemoveFigureSelectionListener is testing removeFigureSelectionListener
-	 * @see org.jhotdraw.standard.NullDrawingView#removeFigureSelectionListener(org.jhotdraw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method removeFigureSelectionListener()
-	public void testRemoveFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method removeFigureSelectionListener
-		// JUnitDoclet end method removeFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method getConnectionFigures()
-	/**
-	 * Method testGetConnectionFigures is testing getConnectionFigures
-	 * @see org.jhotdraw.standard.NullDrawingView#getConnectionFigures(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method getConnectionFigures()
-	public void testGetConnectionFigures() throws Exception {
-		// JUnitDoclet begin method getConnectionFigures
-		// JUnitDoclet end method getConnectionFigures
-	}
-
-	// JUnitDoclet begin javadoc_method insertFigures()
-	/**
-	 * Method testInsertFigures is testing insertFigures
-	 * @see org.jhotdraw.standard.NullDrawingView#insertFigures(org.jhotdraw.framework.FigureEnumeration, int, int, boolean)
-	 */
-	// JUnitDoclet end javadoc_method insertFigures()
-	public void testInsertFigures() throws Exception {
-		// JUnitDoclet begin method insertFigures
-		// JUnitDoclet end method insertFigures
-	}
-
-	// JUnitDoclet begin javadoc_method drawingInvalidated()
-	/**
-	 * Method testDrawingInvalidated is testing drawingInvalidated
-	 * @see org.jhotdraw.standard.NullDrawingView#drawingInvalidated(org.jhotdraw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingInvalidated()
-	public void testDrawingInvalidated() throws Exception {
-		// JUnitDoclet begin method drawingInvalidated
-		// JUnitDoclet end method drawingInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method drawingRequestUpdate()
-	/**
-	 * Method testDrawingRequestUpdate is testing drawingRequestUpdate
-	 * @see org.jhotdraw.standard.NullDrawingView#drawingRequestUpdate(org.jhotdraw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingRequestUpdate()
-	public void testDrawingRequestUpdate() throws Exception {
-		// JUnitDoclet begin method drawingRequestUpdate
-		// JUnitDoclet end method drawingRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method drawingTitleChanged()
-	/**
-	 * Method testDrawingTitleChanged is testing drawingTitleChanged
-	 * @see org.jhotdraw.standard.NullDrawingView#drawingTitleChanged(org.jhotdraw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingTitleChanged()
-	public void testDrawingTitleChanged() throws Exception {
-		// JUnitDoclet begin method drawingTitleChanged
-		// JUnitDoclet end method drawingTitleChanged
-	}
-
-	// JUnitDoclet begin javadoc_method isInteractive()
-	/**
-	 * Method testIsInteractive is testing isInteractive
-	 * @see org.jhotdraw.standard.NullDrawingView#isInteractive()
-	 */
-	// JUnitDoclet end javadoc_method isInteractive()
-	public void testIsInteractive() throws Exception {
-		// JUnitDoclet begin method isInteractive
-		// JUnitDoclet end method isInteractive
-	}
-
-	// JUnitDoclet begin javadoc_method getManagedDrawingView()
-	/**
-	 * Method testGetManagedDrawingView is testing getManagedDrawingView
-	 * @see org.jhotdraw.standard.NullDrawingView#getManagedDrawingView(org.jhotdraw.framework.DrawingEditor)
-	 */
-	// JUnitDoclet end javadoc_method getManagedDrawingView()
-	public void testGetManagedDrawingView() throws Exception {
-		// JUnitDoclet begin method getManagedDrawingView
-		// JUnitDoclet end method getManagedDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullHandleTest.java
deleted file mode 100644
index 7f0daa41c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullHandleTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.NullHandle;
-import org.jhotdraw.standard.RelativeLocator;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullHandleTest is generated by
- * JUnitDoclet to hold the tests for NullHandle.
- * @see org.jhotdraw.standard.NullHandle
- */
-// JUnitDoclet end javadoc_class
-public class NullHandleTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullHandle nullhandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullHandleTest(String name) {
-		// JUnitDoclet begin method NullHandleTest
-		super(name);
-		// JUnitDoclet end method NullHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NullHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NullHandle(new RectangleFigure(new Point(5, 5), new Point(100, 100)), new RelativeLocator());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nullhandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nullhandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.standard.NullHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullToolTest.java
deleted file mode 100644
index 013df9ed2..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/NullToolTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.NullTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase NullToolTest is generated by
- * JUnitDoclet to hold the tests for NullTool.
- * @see org.jhotdraw.standard.NullTool
- */
-// JUnitDoclet end javadoc_class
-public class NullToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private NullTool nulltool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor NullToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public NullToolTest(String name) {
-		// JUnitDoclet begin method NullToolTest
-		super(name);
-		// JUnitDoclet end method NullToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public NullTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new NullTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		nulltool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		nulltool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see org.jhotdraw.standard.NullTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see org.jhotdraw.standard.NullTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/OffsetLocatorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/OffsetLocatorTest.java
deleted file mode 100644
index eb3398ce3..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/OffsetLocatorTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.OffsetLocator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase OffsetLocatorTest is generated by
- * JUnitDoclet to hold the tests for OffsetLocator.
- * @see org.jhotdraw.standard.OffsetLocator
- */
-// JUnitDoclet end javadoc_class
-public class OffsetLocatorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private OffsetLocator offsetlocator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor OffsetLocatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public OffsetLocatorTest(String name) {
-		// JUnitDoclet begin method OffsetLocatorTest
-		super(name);
-		// JUnitDoclet end method OffsetLocatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public OffsetLocator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new OffsetLocator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		offsetlocator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		offsetlocator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see org.jhotdraw.standard.OffsetLocator#locate(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method moveBy()
-	/**
-	 * Method testMoveBy is testing moveBy
-	 * @see org.jhotdraw.standard.OffsetLocator#moveBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method moveBy()
-	public void testMoveBy() throws Exception {
-		// JUnitDoclet begin method moveBy
-		// JUnitDoclet end method moveBy
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.standard.OffsetLocator#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.standard.OffsetLocator#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/PasteCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/PasteCommandTest.java
deleted file mode 100644
index 6064a6415..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/PasteCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.PasteCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PasteCommandTest is generated by
- * JUnitDoclet to hold the tests for PasteCommand.
- * @see org.jhotdraw.standard.PasteCommand
- */
-// JUnitDoclet end javadoc_class
-public class PasteCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PasteCommand pastecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PasteCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PasteCommandTest(String name) {
-		// JUnitDoclet begin method PasteCommandTest
-		super(name);
-		// JUnitDoclet end method PasteCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PasteCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PasteCommand("TestPaste", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		pastecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		pastecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.PasteCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see org.jhotdraw.standard.PasteCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/PeripheralLocatorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/PeripheralLocatorTest.java
deleted file mode 100644
index 58df611d6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/PeripheralLocatorTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.PeripheralLocator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PeripheralLocatorTest is generated by
- * JUnitDoclet to hold the tests for PeripheralLocator.
- * @see org.jhotdraw.standard.PeripheralLocator
- */
-// JUnitDoclet end javadoc_class
-public class PeripheralLocatorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PeripheralLocator peripherallocator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PeripheralLocatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PeripheralLocatorTest(String name) {
-		// JUnitDoclet begin method PeripheralLocatorTest
-		super(name);
-		// JUnitDoclet end method PeripheralLocatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PeripheralLocator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PeripheralLocator(5, 10);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		peripherallocator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		peripherallocator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see org.jhotdraw.standard.PeripheralLocator#locate(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/RelativeLocatorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/RelativeLocatorTest.java
deleted file mode 100644
index 50117ed47..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/RelativeLocatorTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.RelativeLocator;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RelativeLocatorTest is generated by
- * JUnitDoclet to hold the tests for RelativeLocator.
- * @see org.jhotdraw.standard.RelativeLocator
- */
-// JUnitDoclet end javadoc_class
-public class RelativeLocatorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RelativeLocator relativelocator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RelativeLocatorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RelativeLocatorTest(String name) {
-		// JUnitDoclet begin method RelativeLocatorTest
-		super(name);
-		// JUnitDoclet end method RelativeLocatorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public RelativeLocator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new RelativeLocator();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		relativelocator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		relativelocator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see org.jhotdraw.standard.RelativeLocator#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see org.jhotdraw.standard.RelativeLocator#locate(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method write()
-	/**
-	 * Method testWrite is testing write
-	 * @see org.jhotdraw.standard.RelativeLocator#write(org.jhotdraw.util.StorableOutput)
-	 */
-	// JUnitDoclet end javadoc_method write()
-	public void testWrite() throws Exception {
-		// JUnitDoclet begin method write
-		// JUnitDoclet end method write
-	}
-
-	// JUnitDoclet begin javadoc_method read()
-	/**
-	 * Method testRead is testing read
-	 * @see org.jhotdraw.standard.RelativeLocator#read(org.jhotdraw.util.StorableInput)
-	 */
-	// JUnitDoclet end javadoc_method read()
-	public void testRead() throws Exception {
-		// JUnitDoclet begin method read
-		// JUnitDoclet end method read
-	}
-
-	// JUnitDoclet begin javadoc_method east()
-	/**
-	 * Method testEast is testing east
-	 * @see org.jhotdraw.standard.RelativeLocator#east()
-	 */
-	// JUnitDoclet end javadoc_method east()
-	public void testEast() throws Exception {
-		// JUnitDoclet begin method east
-		// JUnitDoclet end method east
-	}
-
-	// JUnitDoclet begin javadoc_method north()
-	/**
-	 * Method testNorth is testing north
-	 * @see org.jhotdraw.standard.RelativeLocator#north()
-	 */
-	// JUnitDoclet end javadoc_method north()
-	public void testNorth() throws Exception {
-		// JUnitDoclet begin method north
-		// JUnitDoclet end method north
-	}
-
-	// JUnitDoclet begin javadoc_method west()
-	/**
-	 * Method testWest is testing west
-	 * @see org.jhotdraw.standard.RelativeLocator#west()
-	 */
-	// JUnitDoclet end javadoc_method west()
-	public void testWest() throws Exception {
-		// JUnitDoclet begin method west
-		// JUnitDoclet end method west
-	}
-
-	// JUnitDoclet begin javadoc_method northEast()
-	/**
-	 * Method testNorthEast is testing northEast
-	 * @see org.jhotdraw.standard.RelativeLocator#northEast()
-	 */
-	// JUnitDoclet end javadoc_method northEast()
-	public void testNorthEast() throws Exception {
-		// JUnitDoclet begin method northEast
-		// JUnitDoclet end method northEast
-	}
-
-	// JUnitDoclet begin javadoc_method northWest()
-	/**
-	 * Method testNorthWest is testing northWest
-	 * @see org.jhotdraw.standard.RelativeLocator#northWest()
-	 */
-	// JUnitDoclet end javadoc_method northWest()
-	public void testNorthWest() throws Exception {
-		// JUnitDoclet begin method northWest
-		// JUnitDoclet end method northWest
-	}
-
-	// JUnitDoclet begin javadoc_method south()
-	/**
-	 * Method testSouth is testing south
-	 * @see org.jhotdraw.standard.RelativeLocator#south()
-	 */
-	// JUnitDoclet end javadoc_method south()
-	public void testSouth() throws Exception {
-		// JUnitDoclet begin method south
-		// JUnitDoclet end method south
-	}
-
-	// JUnitDoclet begin javadoc_method southEast()
-	/**
-	 * Method testSouthEast is testing southEast
-	 * @see org.jhotdraw.standard.RelativeLocator#southEast()
-	 */
-	// JUnitDoclet end javadoc_method southEast()
-	public void testSouthEast() throws Exception {
-		// JUnitDoclet begin method southEast
-		// JUnitDoclet end method southEast
-	}
-
-	// JUnitDoclet begin javadoc_method southWest()
-	/**
-	 * Method testSouthWest is testing southWest
-	 * @see org.jhotdraw.standard.RelativeLocator#southWest()
-	 */
-	// JUnitDoclet end javadoc_method southWest()
-	public void testSouthWest() throws Exception {
-		// JUnitDoclet begin method southWest
-		// JUnitDoclet end method southWest
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see org.jhotdraw.standard.RelativeLocator#center()
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ReverseFigureEnumeratorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ReverseFigureEnumeratorTest.java
deleted file mode 100644
index bd0c8f2a6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ReverseFigureEnumeratorTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.PolyLineFigure;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.ReverseFigureEnumerator;
-import org.jhotdraw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ReverseFigureEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for ReverseFigureEnumerator.
- * @see org.jhotdraw.standard.ReverseFigureEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class ReverseFigureEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ReverseFigureEnumerator reversefigureenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ReverseFigureEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ReverseFigureEnumeratorTest(String name) {
-		// JUnitDoclet begin method ReverseFigureEnumeratorTest
-		super(name);
-		// JUnitDoclet end method ReverseFigureEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ReverseFigureEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add(new RectangleFigure(new Point(10, 10), new Point(50, 50)));
-		l.add(new PolyLineFigure());
-		return new ReverseFigureEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		reversefigureenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		reversefigureenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see org.jhotdraw.standard.ReverseFigureEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see org.jhotdraw.standard.ReverseFigureEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see org.jhotdraw.standard.ReverseFigureEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectAllCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectAllCommandTest.java
deleted file mode 100644
index 6de88f465..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectAllCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.SelectAllCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SelectAllCommandTest is generated by
- * JUnitDoclet to hold the tests for SelectAllCommand.
- * @see org.jhotdraw.standard.SelectAllCommand
- */
-// JUnitDoclet end javadoc_class
-public class SelectAllCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SelectAllCommand selectallcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SelectAllCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SelectAllCommandTest(String name) {
-		// JUnitDoclet begin method SelectAllCommandTest
-		super(name);
-		// JUnitDoclet end method SelectAllCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SelectAllCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SelectAllCommand("TestSelectAll", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		selectallcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		selectallcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.SelectAllCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see org.jhotdraw.standard.SelectAllCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectAreaTrackerTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectAreaTrackerTest.java
deleted file mode 100644
index 6de92eb28..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectAreaTrackerTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.SelectAreaTracker;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SelectAreaTrackerTest is generated by
- * JUnitDoclet to hold the tests for SelectAreaTracker.
- * @see org.jhotdraw.standard.SelectAreaTracker
- */
-// JUnitDoclet end javadoc_class
-public class SelectAreaTrackerTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SelectAreaTracker selectareatracker;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SelectAreaTrackerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SelectAreaTrackerTest(String name) {
-		// JUnitDoclet begin method SelectAreaTrackerTest
-		super(name);
-		// JUnitDoclet end method SelectAreaTrackerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SelectAreaTracker createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SelectAreaTracker(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		selectareatracker = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		selectareatracker = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.standard.SelectAreaTracker#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.standard.SelectAreaTracker#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.standard.SelectAreaTracker#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectionToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectionToolTest.java
deleted file mode 100644
index 18ed7a601..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SelectionToolTest.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.SelectionTool;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SelectionToolTest is generated by
- * JUnitDoclet to hold the tests for SelectionTool.
- * @see org.jhotdraw.standard.SelectionTool
- */
-// JUnitDoclet end javadoc_class
-public class SelectionToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SelectionTool selectiontool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SelectionToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SelectionToolTest(String name) {
-		// JUnitDoclet begin method SelectionToolTest
-		super(name);
-		// JUnitDoclet end method SelectionToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SelectionTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SelectionTool(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		selectiontool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		selectiontool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.standard.SelectionTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see org.jhotdraw.standard.SelectionTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.standard.SelectionTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.standard.SelectionTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SendToBackCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SendToBackCommandTest.java
deleted file mode 100644
index aae620087..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SendToBackCommandTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.SendToBackCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SendToBackCommandTest is generated by
- * JUnitDoclet to hold the tests for SendToBackCommand.
- * @see org.jhotdraw.standard.SendToBackCommand
- */
-// JUnitDoclet end javadoc_class
-public class SendToBackCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SendToBackCommand sendtobackcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SendToBackCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SendToBackCommandTest(String name) {
-		// JUnitDoclet begin method SendToBackCommandTest
-		super(name);
-		// JUnitDoclet end method SendToBackCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SendToBackCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SendToBackCommand("TestSendToBack", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		sendtobackcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		sendtobackcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.SendToBackCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SimpleUpdateStrategyTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SimpleUpdateStrategyTest.java
deleted file mode 100644
index 20a48779b..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SimpleUpdateStrategyTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.SimpleUpdateStrategy;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SimpleUpdateStrategyTest is generated by
- * JUnitDoclet to hold the tests for SimpleUpdateStrategy.
- * @see org.jhotdraw.standard.SimpleUpdateStrategy
- */
-// JUnitDoclet end javadoc_class
-public class SimpleUpdateStrategyTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SimpleUpdateStrategy simpleupdatestrategy;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SimpleUpdateStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SimpleUpdateStrategyTest(String name) {
-		// JUnitDoclet begin method SimpleUpdateStrategyTest
-		super(name);
-		// JUnitDoclet end method SimpleUpdateStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SimpleUpdateStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SimpleUpdateStrategy();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		simpleupdatestrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		simpleupdatestrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.standard.SimpleUpdateStrategy#draw(java.awt.Graphics, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SingleFigureEnumeratorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SingleFigureEnumeratorTest.java
deleted file mode 100644
index 51afc6752..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/SingleFigureEnumeratorTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.SingleFigureEnumerator;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SingleFigureEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for SingleFigureEnumerator.
- * @see org.jhotdraw.standard.SingleFigureEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class SingleFigureEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SingleFigureEnumerator singlefigureenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SingleFigureEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SingleFigureEnumeratorTest(String name) {
-		// JUnitDoclet begin method SingleFigureEnumeratorTest
-		super(name);
-		// JUnitDoclet end method SingleFigureEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SingleFigureEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SingleFigureEnumerator(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		singlefigureenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		singlefigureenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNextFigure()
-	/**
-	 * Method testHasNextFigure is testing hasNextFigure
-	 * @see org.jhotdraw.standard.SingleFigureEnumerator#hasNextFigure()
-	 */
-	// JUnitDoclet end javadoc_method hasNextFigure()
-	public void testHasNextFigure() throws Exception {
-		// JUnitDoclet begin method hasNextFigure
-		// JUnitDoclet end method hasNextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method nextFigure()
-	/**
-	 * Method testNextFigure is testing nextFigure
-	 * @see org.jhotdraw.standard.SingleFigureEnumerator#nextFigure()
-	 */
-	// JUnitDoclet end javadoc_method nextFigure()
-	public void testNextFigure() throws Exception {
-		// JUnitDoclet begin method nextFigure
-		// JUnitDoclet end method nextFigure
-	}
-
-	// JUnitDoclet begin javadoc_method reset()
-	/**
-	 * Method testReset is testing reset
-	 * @see org.jhotdraw.standard.SingleFigureEnumerator#reset()
-	 */
-	// JUnitDoclet end javadoc_method reset()
-	public void testReset() throws Exception {
-		// JUnitDoclet begin method reset
-		// JUnitDoclet end method reset
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardDrawingTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardDrawingTest.java
deleted file mode 100644
index b336ffd5f..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardDrawingTest.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import org.jhotdraw.standard.StandardDrawing;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardDrawingTest is generated by
- * JUnitDoclet to hold the tests for StandardDrawing.
- * @see org.jhotdraw.standard.StandardDrawing
- */
-// JUnitDoclet end javadoc_class
-public class StandardDrawingTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardDrawing standarddrawing;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardDrawingTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardDrawingTest(String name) {
-		// JUnitDoclet begin method StandardDrawingTest
-		super(name);
-		// JUnitDoclet end method StandardDrawingTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public StandardDrawing createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new StandardDrawing();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standarddrawing = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standarddrawing = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addDrawingChangeListener()
-	/**
-	 * Method testAddDrawingChangeListener is testing addDrawingChangeListener
-	 * @see org.jhotdraw.standard.StandardDrawing#addDrawingChangeListener(org.jhotdraw.framework.DrawingChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method addDrawingChangeListener()
-	public void testAddDrawingChangeListener() throws Exception {
-		// JUnitDoclet begin method addDrawingChangeListener
-		// JUnitDoclet end method addDrawingChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeDrawingChangeListener()
-	/**
-	 * Method testRemoveDrawingChangeListener is testing removeDrawingChangeListener
-	 * @see org.jhotdraw.standard.StandardDrawing#removeDrawingChangeListener(org.jhotdraw.framework.DrawingChangeListener)
-	 */
-	// JUnitDoclet end javadoc_method removeDrawingChangeListener()
-	public void testRemoveDrawingChangeListener() throws Exception {
-		// JUnitDoclet begin method removeDrawingChangeListener
-		// JUnitDoclet end method removeDrawingChangeListener
-	}
-
-	// JUnitDoclet begin javadoc_method drawingChangeListeners()
-	/**
-	 * Method testDrawingChangeListeners is testing drawingChangeListeners
-	 * @see org.jhotdraw.standard.StandardDrawing#drawingChangeListeners()
-	 */
-	// JUnitDoclet end javadoc_method drawingChangeListeners()
-	public void testDrawingChangeListeners() throws Exception {
-		// JUnitDoclet begin method drawingChangeListeners
-		// JUnitDoclet end method drawingChangeListeners
-	}
-
-	// JUnitDoclet begin javadoc_method orphan()
-	/**
-	 * Method testOrphan is testing orphan
-	 * @see org.jhotdraw.standard.StandardDrawing#orphan(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method orphan()
-	public void testOrphan() throws Exception {
-		// JUnitDoclet begin method orphan
-		// JUnitDoclet end method orphan
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.standard.StandardDrawing#add(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method figureInvalidated()
-	/**
-	 * Method testFigureInvalidated is testing figureInvalidated
-	 * @see org.jhotdraw.standard.StandardDrawing#figureInvalidated(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureInvalidated()
-	public void testFigureInvalidated() throws Exception {
-		// JUnitDoclet begin method figureInvalidated
-		// JUnitDoclet end method figureInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method fireDrawingTitleChanged()
-	/**
-	 * Method testFireDrawingTitleChanged is testing fireDrawingTitleChanged
-	 * @see org.jhotdraw.standard.StandardDrawing#fireDrawingTitleChanged()
-	 */
-	// JUnitDoclet end javadoc_method fireDrawingTitleChanged()
-	public void testFireDrawingTitleChanged() throws Exception {
-		// JUnitDoclet begin method fireDrawingTitleChanged
-		// JUnitDoclet end method fireDrawingTitleChanged
-	}
-
-	// JUnitDoclet begin javadoc_method figureRequestUpdate()
-	/**
-	 * Method testFigureRequestUpdate is testing figureRequestUpdate
-	 * @see org.jhotdraw.standard.StandardDrawing#figureRequestUpdate(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureRequestUpdate()
-	public void testFigureRequestUpdate() throws Exception {
-		// JUnitDoclet begin method figureRequestUpdate
-		// JUnitDoclet end method figureRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method handles()
-	/**
-	 * Method testHandles is testing handles
-	 * @see org.jhotdraw.standard.StandardDrawing#handles()
-	 */
-	// JUnitDoclet end javadoc_method handles()
-	public void testHandles() throws Exception {
-		// JUnitDoclet begin method handles
-		// JUnitDoclet end method handles
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.standard.StandardDrawing#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method basicDisplayBox()
-	/**
-	 * Method testBasicDisplayBox is testing basicDisplayBox
-	 * @see org.jhotdraw.standard.StandardDrawing#basicDisplayBox(java.awt.Point, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method basicDisplayBox()
-	public void testBasicDisplayBox() throws Exception {
-		// JUnitDoclet begin method basicDisplayBox
-		// JUnitDoclet end method basicDisplayBox
-	}
-
-	// JUnitDoclet begin javadoc_method lock()
-	/**
-	 * Method testLock is testing lock
-	 * @see org.jhotdraw.standard.StandardDrawing#lock()
-	 */
-	// JUnitDoclet end javadoc_method lock()
-	public void testLock() throws Exception {
-		// JUnitDoclet begin method lock
-		// JUnitDoclet end method lock
-	}
-
-	// JUnitDoclet begin javadoc_method unlock()
-	/**
-	 * Method testUnlock is testing unlock
-	 * @see org.jhotdraw.standard.StandardDrawing#unlock()
-	 */
-	// JUnitDoclet end javadoc_method unlock()
-	public void testUnlock() throws Exception {
-		// JUnitDoclet begin method unlock
-		// JUnitDoclet end method unlock
-	}
-
-	// JUnitDoclet begin javadoc_method setTitle()
-	/**
-	 * Method testSetGetTitle is testing setTitle
-	 * and getTitle together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.standard.StandardDrawing#setTitle(java.lang.String)
-	 * @see org.jhotdraw.standard.StandardDrawing#getTitle()
-	 */
-	// JUnitDoclet end javadoc_method setTitle()
-	public void testSetGetTitle() throws Exception {
-		// JUnitDoclet begin method setTitle getTitle
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standarddrawing.setTitle(tests[i]);
-			assertEquals(tests[i], standarddrawing.getTitle());
-		}
-		// JUnitDoclet end method setTitle getTitle
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardDrawingViewTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardDrawingViewTest.java
deleted file mode 100644
index 51ce9e7c7..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardDrawingViewTest.java
+++ /dev/null
@@ -1,728 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.*;
-import org.jhotdraw.standard.GridConstrainer;
-import org.jhotdraw.standard.SimpleUpdateStrategy;
-import org.jhotdraw.standard.StandardDrawingView;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardDrawingViewTest is generated by
- * JUnitDoclet to hold the tests for StandardDrawingView.
- * @see org.jhotdraw.standard.StandardDrawingView
- */
-// JUnitDoclet end javadoc_class
-public class StandardDrawingViewTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardDrawingView standarddrawingview;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardDrawingViewTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardDrawingViewTest(String name) {
-		// JUnitDoclet begin method StandardDrawingViewTest
-		super(name);
-		// JUnitDoclet end method StandardDrawingViewTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public StandardDrawingView createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return (StandardDrawingView)getDrawingEditor().view();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		getDrawingEditor().open();
-		getDrawingEditor().newWindow(new StandardDrawing());
-		standarddrawingview = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standarddrawingview = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setEditor()
-	/**
-	 * Method testSetEditor is testing setEditor
-	 * @see org.jhotdraw.standard.StandardDrawingView#setEditor(org.jhotdraw.framework.DrawingEditor)
-	 */
-	// JUnitDoclet end javadoc_method setEditor()
-	public void testSetEditor() throws Exception {
-		// JUnitDoclet begin method setEditor
-		// JUnitDoclet end method setEditor
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see org.jhotdraw.standard.StandardDrawingView#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method drawing()
-	/**
-	 * Method testDrawing is testing drawing
-	 * @see org.jhotdraw.standard.StandardDrawingView#drawing()
-	 */
-	// JUnitDoclet end javadoc_method drawing()
-	public void testDrawing() throws Exception {
-		// JUnitDoclet begin method drawing
-		// JUnitDoclet end method drawing
-	}
-
-	// JUnitDoclet begin javadoc_method setDrawing()
-	/**
-	 * Method testSetDrawing is testing setDrawing
-	 * @see org.jhotdraw.standard.StandardDrawingView#setDrawing(org.jhotdraw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method setDrawing()
-	public void testSetDrawing() throws Exception {
-		// JUnitDoclet begin method setDrawing
-		// JUnitDoclet end method setDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method editor()
-	/**
-	 * Method testEditor is testing editor
-	 * @see org.jhotdraw.standard.StandardDrawingView#editor()
-	 */
-	// JUnitDoclet end javadoc_method editor()
-	public void testEditor() throws Exception {
-		// JUnitDoclet begin method editor
-		// JUnitDoclet end method editor
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.standard.StandardDrawingView#add(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.standard.StandardDrawingView#remove(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see org.jhotdraw.standard.StandardDrawingView#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method figureExists()
-	/**
-	 * Method testFigureExists is testing figureExists
-	 * @see org.jhotdraw.standard.StandardDrawingView#figureExists(org.jhotdraw.framework.Figure, org.jhotdraw.framework.FigureEnumeration)
-	 */
-	// JUnitDoclet end javadoc_method figureExists()
-	public void testFigureExists() throws Exception {
-		// JUnitDoclet begin method figureExists
-		// JUnitDoclet end method figureExists
-	}
-
-	// JUnitDoclet begin javadoc_method insertFigures()
-	/**
-	 * Method testInsertFigures is testing insertFigures
-	 * @see org.jhotdraw.standard.StandardDrawingView#insertFigures(org.jhotdraw.framework.FigureEnumeration, int, int, boolean)
-	 */
-	// JUnitDoclet end javadoc_method insertFigures()
-	public void testInsertFigures() throws Exception {
-		// JUnitDoclet begin method insertFigures
-		// JUnitDoclet end method insertFigures
-	}
-
-	// JUnitDoclet begin javadoc_method getConnectionFigures()
-	/**
-	 * Method testGetConnectionFigures is testing getConnectionFigures
-	 * @see org.jhotdraw.standard.StandardDrawingView#getConnectionFigures(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method getConnectionFigures()
-	public void testGetConnectionFigures() throws Exception {
-		// JUnitDoclet begin method getConnectionFigures
-		// JUnitDoclet end method getConnectionFigures
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see org.jhotdraw.standard.StandardDrawingView#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see org.jhotdraw.standard.StandardDrawingView#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method setDisplayUpdate()
-	/**
-	 * Method testSetGetDisplayUpdate is testing setDisplayUpdate
-	 * and getDisplayUpdate together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.standard.StandardDrawingView#setDisplayUpdate(org.jhotdraw.framework.Painter)
-	 * @see org.jhotdraw.standard.StandardDrawingView#getDisplayUpdate()
-	 */
-	// JUnitDoclet end javadoc_method setDisplayUpdate()
-	public void testSetGetDisplayUpdate() throws Exception {
-		// JUnitDoclet begin method setDisplayUpdate getDisplayUpdate
-		org.jhotdraw.framework.Painter[] tests = { new SimpleUpdateStrategy(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standarddrawingview.setDisplayUpdate(tests[i]);
-			assertEquals(tests[i], standarddrawingview.getDisplayUpdate());
-		}
-		// JUnitDoclet end method setDisplayUpdate getDisplayUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method selection()
-	/**
-	 * Method testSelection is testing selection
-	 * @see org.jhotdraw.standard.StandardDrawingView#selection()
-	 */
-	// JUnitDoclet end javadoc_method selection()
-	public void testSelection() throws Exception {
-		// JUnitDoclet begin method selection
-		// JUnitDoclet end method selection
-	}
-
-	// JUnitDoclet begin javadoc_method selectionZOrdered()
-	/**
-	 * Method testSelectionZOrdered is testing selectionZOrdered
-	 * @see org.jhotdraw.standard.StandardDrawingView#selectionZOrdered()
-	 */
-	// JUnitDoclet end javadoc_method selectionZOrdered()
-	public void testSelectionZOrdered() throws Exception {
-		// JUnitDoclet begin method selectionZOrdered
-		// JUnitDoclet end method selectionZOrdered
-	}
-
-	// JUnitDoclet begin javadoc_method selectionCount()
-	/**
-	 * Method testSelectionCount is testing selectionCount
-	 * @see org.jhotdraw.standard.StandardDrawingView#selectionCount()
-	 */
-	// JUnitDoclet end javadoc_method selectionCount()
-	public void testSelectionCount() throws Exception {
-		// JUnitDoclet begin method selectionCount
-		// JUnitDoclet end method selectionCount
-	}
-
-	// JUnitDoclet begin javadoc_method isFigureSelected()
-	/**
-	 * Method testIsFigureSelected is testing isFigureSelected
-	 * @see org.jhotdraw.standard.StandardDrawingView#isFigureSelected(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method isFigureSelected()
-	public void testIsFigureSelected() throws Exception {
-		// JUnitDoclet begin method isFigureSelected
-		// JUnitDoclet end method isFigureSelected
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelection()
-	/**
-	 * Method testAddToSelection is testing addToSelection
-	 * @see org.jhotdraw.standard.StandardDrawingView#addToSelection(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method addToSelection()
-	public void testAddToSelection() throws Exception {
-		// JUnitDoclet begin method addToSelection
-		// JUnitDoclet end method addToSelection
-	}
-
-	// JUnitDoclet begin javadoc_method addToSelectionAll()
-	/**
-	 * Method testAddToSelectionAll is testing addToSelectionAll
-	 * @see org.jhotdraw.standard.StandardDrawingView#addToSelectionAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addToSelectionAll()
-	public void testAddToSelectionAll() throws Exception {
-		// JUnitDoclet begin method addToSelectionAll
-		// JUnitDoclet end method addToSelectionAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeFromSelection()
-	/**
-	 * Method testRemoveFromSelection is testing removeFromSelection
-	 * @see org.jhotdraw.standard.StandardDrawingView#removeFromSelection(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method removeFromSelection()
-	public void testRemoveFromSelection() throws Exception {
-		// JUnitDoclet begin method removeFromSelection
-		// JUnitDoclet end method removeFromSelection
-	}
-
-	// JUnitDoclet begin javadoc_method toggleSelection()
-	/**
-	 * Method testToggleSelection is testing toggleSelection
-	 * @see org.jhotdraw.standard.StandardDrawingView#toggleSelection(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method toggleSelection()
-	public void testToggleSelection() throws Exception {
-		// JUnitDoclet begin method toggleSelection
-		// JUnitDoclet end method toggleSelection
-	}
-
-	// JUnitDoclet begin javadoc_method clearSelection()
-	/**
-	 * Method testClearSelection is testing clearSelection
-	 * @see org.jhotdraw.standard.StandardDrawingView#clearSelection()
-	 */
-	// JUnitDoclet end javadoc_method clearSelection()
-	public void testClearSelection() throws Exception {
-		// JUnitDoclet begin method clearSelection
-		// JUnitDoclet end method clearSelection
-	}
-
-	// JUnitDoclet begin javadoc_method getFigureSelection()
-	/**
-	 * Method testGetFigureSelection is testing getFigureSelection
-	 * @see org.jhotdraw.standard.StandardDrawingView#getFigureSelection()
-	 */
-	// JUnitDoclet end javadoc_method getFigureSelection()
-	public void testGetFigureSelection() throws Exception {
-		// JUnitDoclet begin method getFigureSelection
-		// JUnitDoclet end method getFigureSelection
-	}
-
-	// JUnitDoclet begin javadoc_method findHandle()
-	/**
-	 * Method testFindHandle is testing findHandle
-	 * @see org.jhotdraw.standard.StandardDrawingView#findHandle(int, int)
-	 */
-	// JUnitDoclet end javadoc_method findHandle()
-	public void testFindHandle() throws Exception {
-		// JUnitDoclet begin method findHandle
-		// JUnitDoclet end method findHandle
-	}
-
-	// JUnitDoclet begin javadoc_method lastClick()
-	/**
-	 * Method testLastClick is testing lastClick
-	 * @see org.jhotdraw.standard.StandardDrawingView#lastClick()
-	 */
-	// JUnitDoclet end javadoc_method lastClick()
-	public void testLastClick() throws Exception {
-		// JUnitDoclet begin method lastClick
-		// JUnitDoclet end method lastClick
-	}
-
-	// JUnitDoclet begin javadoc_method setConstrainer()
-	/**
-	 * Method testSetGetConstrainer is testing setConstrainer
-	 * and getConstrainer together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.standard.StandardDrawingView#setConstrainer(org.jhotdraw.framework.PointConstrainer)
-	 * @see org.jhotdraw.standard.StandardDrawingView#getConstrainer()
-	 */
-	// JUnitDoclet end javadoc_method setConstrainer()
-	public void testSetGetConstrainer() throws Exception {
-		// JUnitDoclet begin method setConstrainer getConstrainer
-		org.jhotdraw.framework.PointConstrainer[] tests = { new GridConstrainer(5, 5), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standarddrawingview.setConstrainer(tests[i]);
-			assertEquals(tests[i], standarddrawingview.getConstrainer());
-		}
-		// JUnitDoclet end method setConstrainer getConstrainer
-	}
-
-	// JUnitDoclet begin javadoc_method checkDamage()
-	/**
-	 * Method testCheckDamage is testing checkDamage
-	 * @see org.jhotdraw.standard.StandardDrawingView#checkDamage()
-	 */
-	// JUnitDoclet end javadoc_method checkDamage()
-	public void testCheckDamage() throws Exception {
-		// JUnitDoclet begin method checkDamage
-		// JUnitDoclet end method checkDamage
-	}
-
-	// JUnitDoclet begin javadoc_method repairDamage()
-	/**
-	 * Method testRepairDamage is testing repairDamage
-	 * @see org.jhotdraw.standard.StandardDrawingView#repairDamage()
-	 */
-	// JUnitDoclet end javadoc_method repairDamage()
-	public void testRepairDamage() throws Exception {
-		// JUnitDoclet begin method repairDamage
-		// JUnitDoclet end method repairDamage
-	}
-
-	// JUnitDoclet begin javadoc_method drawingInvalidated()
-	/**
-	 * Method testDrawingInvalidated is testing drawingInvalidated
-	 * @see org.jhotdraw.standard.StandardDrawingView#drawingInvalidated(org.jhotdraw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingInvalidated()
-	public void testDrawingInvalidated() throws Exception {
-		// JUnitDoclet begin method drawingInvalidated
-		// JUnitDoclet end method drawingInvalidated
-	}
-
-	// JUnitDoclet begin javadoc_method drawingRequestUpdate()
-	/**
-	 * Method testDrawingRequestUpdate is testing drawingRequestUpdate
-	 * @see org.jhotdraw.standard.StandardDrawingView#drawingRequestUpdate(org.jhotdraw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingRequestUpdate()
-	public void testDrawingRequestUpdate() throws Exception {
-		// JUnitDoclet begin method drawingRequestUpdate
-		// JUnitDoclet end method drawingRequestUpdate
-	}
-
-	// JUnitDoclet begin javadoc_method drawingTitleChanged()
-	/**
-	 * Method testDrawingTitleChanged is testing drawingTitleChanged
-	 * @see org.jhotdraw.standard.StandardDrawingView#drawingTitleChanged(org.jhotdraw.framework.DrawingChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method drawingTitleChanged()
-	public void testDrawingTitleChanged() throws Exception {
-		// JUnitDoclet begin method drawingTitleChanged
-		// JUnitDoclet end method drawingTitleChanged
-	}
-
-	// JUnitDoclet begin javadoc_method drawAll()
-	/**
-	 * Method testDrawAll is testing drawAll
-	 * @see org.jhotdraw.standard.StandardDrawingView#drawAll(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawAll()
-	public void testDrawAll() throws Exception {
-		// JUnitDoclet begin method drawAll
-		// JUnitDoclet end method drawAll
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.standard.StandardDrawingView#draw(java.awt.Graphics, org.jhotdraw.framework.FigureEnumeration)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method drawHandles()
-	/**
-	 * Method testDrawHandles is testing drawHandles
-	 * @see org.jhotdraw.standard.StandardDrawingView#drawHandles(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawHandles()
-	public void testDrawHandles() throws Exception {
-		// JUnitDoclet begin method drawHandles
-		// JUnitDoclet end method drawHandles
-	}
-
-	// JUnitDoclet begin javadoc_method drawDrawing()
-	/**
-	 * Method testDrawDrawing is testing drawDrawing
-	 * @see org.jhotdraw.standard.StandardDrawingView#drawDrawing(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawDrawing()
-	public void testDrawDrawing() throws Exception {
-		// JUnitDoclet begin method drawDrawing
-		// JUnitDoclet end method drawDrawing
-	}
-
-	// JUnitDoclet begin javadoc_method drawBackground()
-	/**
-	 * Method testDrawBackground is testing drawBackground
-	 * @see org.jhotdraw.standard.StandardDrawingView#drawBackground(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method drawBackground()
-	public void testDrawBackground() throws Exception {
-		// JUnitDoclet begin method drawBackground
-		// JUnitDoclet end method drawBackground
-	}
-
-	// JUnitDoclet begin javadoc_method addBackground()
-	/**
-	 * Method testAddBackground is testing addBackground
-	 * @see org.jhotdraw.standard.StandardDrawingView#addBackground(org.jhotdraw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method addBackground()
-	public void testAddBackground() throws Exception {
-		// JUnitDoclet begin method addBackground
-		// JUnitDoclet end method addBackground
-	}
-
-	// JUnitDoclet begin javadoc_method removeBackground()
-	/**
-	 * Method testRemoveBackground is testing removeBackground
-	 * @see org.jhotdraw.standard.StandardDrawingView#removeBackground(org.jhotdraw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method removeBackground()
-	public void testRemoveBackground() throws Exception {
-		// JUnitDoclet begin method removeBackground
-		// JUnitDoclet end method removeBackground
-	}
-
-	// JUnitDoclet begin javadoc_method removeForeground()
-	/**
-	 * Method testRemoveForeground is testing removeForeground
-	 * @see org.jhotdraw.standard.StandardDrawingView#removeForeground(org.jhotdraw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method removeForeground()
-	public void testRemoveForeground() throws Exception {
-		// JUnitDoclet begin method removeForeground
-		// JUnitDoclet end method removeForeground
-	}
-
-	// JUnitDoclet begin javadoc_method addForeground()
-	/**
-	 * Method testAddForeground is testing addForeground
-	 * @see org.jhotdraw.standard.StandardDrawingView#addForeground(org.jhotdraw.framework.Painter)
-	 */
-	// JUnitDoclet end javadoc_method addForeground()
-	public void testAddForeground() throws Exception {
-		// JUnitDoclet begin method addForeground
-		// JUnitDoclet end method addForeground
-	}
-
-	// JUnitDoclet begin javadoc_method freezeView()
-	/**
-	 * Method testFreezeView is testing freezeView
-	 * @see org.jhotdraw.standard.StandardDrawingView#freezeView()
-	 */
-	// JUnitDoclet end javadoc_method freezeView()
-	public void testFreezeView() throws Exception {
-		// JUnitDoclet begin method freezeView
-		// JUnitDoclet end method freezeView
-	}
-
-	// JUnitDoclet begin javadoc_method unfreezeView()
-	/**
-	 * Method testUnfreezeView is testing unfreezeView
-	 * @see org.jhotdraw.standard.StandardDrawingView#unfreezeView()
-	 */
-	// JUnitDoclet end javadoc_method unfreezeView()
-	public void testUnfreezeView() throws Exception {
-		// JUnitDoclet begin method unfreezeView
-		// JUnitDoclet end method unfreezeView
-	}
-
-	// JUnitDoclet begin javadoc_method isFocusTraversable()
-	/**
-	 * Method testIsFocusTraversable is testing isFocusTraversable
-	 * @see org.jhotdraw.standard.StandardDrawingView#isFocusTraversable()
-	 */
-	// JUnitDoclet end javadoc_method isFocusTraversable()
-	public void testIsFocusTraversable() throws Exception {
-		// JUnitDoclet begin method isFocusTraversable
-		// JUnitDoclet end method isFocusTraversable
-	}
-
-	// JUnitDoclet begin javadoc_method isInteractive()
-	/**
-	 * Method testIsInteractive is testing isInteractive
-	 * @see org.jhotdraw.standard.StandardDrawingView#isInteractive()
-	 */
-	// JUnitDoclet end javadoc_method isInteractive()
-	public void testIsInteractive() throws Exception {
-		// JUnitDoclet begin method isInteractive
-		// JUnitDoclet end method isInteractive
-	}
-
-	// JUnitDoclet begin javadoc_method keyTyped()
-	/**
-	 * Method testKeyTyped is testing keyTyped
-	 * @see org.jhotdraw.standard.StandardDrawingView#keyTyped(java.awt.event.KeyEvent)
-	 */
-	// JUnitDoclet end javadoc_method keyTyped()
-	public void testKeyTyped() throws Exception {
-		// JUnitDoclet begin method keyTyped
-		// JUnitDoclet end method keyTyped
-	}
-
-	// JUnitDoclet begin javadoc_method keyReleased()
-	/**
-	 * Method testKeyReleased is testing keyReleased
-	 * @see org.jhotdraw.standard.StandardDrawingView#keyReleased(java.awt.event.KeyEvent)
-	 */
-	// JUnitDoclet end javadoc_method keyReleased()
-	public void testKeyReleased() throws Exception {
-		// JUnitDoclet begin method keyReleased
-		// JUnitDoclet end method keyReleased
-	}
-
-	// JUnitDoclet begin javadoc_method addFigureSelectionListener()
-	/**
-	 * Method testAddFigureSelectionListener is testing addFigureSelectionListener
-	 * @see org.jhotdraw.standard.StandardDrawingView#addFigureSelectionListener(org.jhotdraw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method addFigureSelectionListener()
-	public void testAddFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method addFigureSelectionListener
-		// JUnitDoclet end method addFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeFigureSelectionListener()
-	/**
-	 * Method testRemoveFigureSelectionListener is testing removeFigureSelectionListener
-	 * @see org.jhotdraw.standard.StandardDrawingView#removeFigureSelectionListener(org.jhotdraw.framework.FigureSelectionListener)
-	 */
-	// JUnitDoclet end javadoc_method removeFigureSelectionListener()
-	public void testRemoveFigureSelectionListener() throws Exception {
-		// JUnitDoclet begin method removeFigureSelectionListener
-		// JUnitDoclet end method removeFigureSelectionListener
-	}
-
-	// JUnitDoclet begin javadoc_method getDefaultDNDActions()
-	/**
-	 * Method testGetDefaultDNDActions is testing getDefaultDNDActions
-	 * @see org.jhotdraw.standard.StandardDrawingView#getDefaultDNDActions()
-	 */
-	// JUnitDoclet end javadoc_method getDefaultDNDActions()
-	public void testGetDefaultDNDActions() throws Exception {
-		// JUnitDoclet begin method getDefaultDNDActions
-		// JUnitDoclet end method getDefaultDNDActions
-	}
-
-	// JUnitDoclet begin javadoc_method autoscroll()
-	/**
-	 * Method testAutoscroll is testing autoscroll
-	 * @see org.jhotdraw.standard.StandardDrawingView#autoscroll(java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method autoscroll()
-	public void testAutoscroll() throws Exception {
-		// JUnitDoclet begin method autoscroll
-		// JUnitDoclet end method autoscroll
-	}
-
-	// JUnitDoclet begin javadoc_method getAutoscrollInsets()
-	/**
-	 * Method testGetAutoscrollInsets is testing getAutoscrollInsets
-	 * @see org.jhotdraw.standard.StandardDrawingView#getAutoscrollInsets()
-	 */
-	// JUnitDoclet end javadoc_method getAutoscrollInsets()
-	public void testGetAutoscrollInsets() throws Exception {
-		// JUnitDoclet begin method getAutoscrollInsets
-		// JUnitDoclet end method getAutoscrollInsets
-	}
-
-	// JUnitDoclet begin javadoc_method toString()
-	/**
-	 * Method testToString is testing toString
-	 * @see org.jhotdraw.standard.StandardDrawingView#toString()
-	 */
-	// JUnitDoclet end javadoc_method toString()
-	public void testToString() throws Exception {
-		// JUnitDoclet begin method toString
-		// JUnitDoclet end method toString
-	}
-
-	// JUnitDoclet begin javadoc_method setDragSourceActive()
-	/**
-	 * Method testSetDragSourceActive is testing setDragSourceActive
-	 * @see org.jhotdraw.standard.StandardDrawingView#setDragSourceActive(boolean)
-	 */
-	// JUnitDoclet end javadoc_method setDragSourceActive()
-	public void testSetDragSourceActive() throws Exception {
-		// JUnitDoclet begin method setDragSourceActive
-		// JUnitDoclet end method setDragSourceActive
-	}
-
-	// JUnitDoclet begin javadoc_method setDropTargetActive()
-	/**
-	 * Method testSetDropTargetActive is testing setDropTargetActive
-	 * @see org.jhotdraw.standard.StandardDrawingView#setDropTargetActive(boolean)
-	 */
-	// JUnitDoclet end javadoc_method setDropTargetActive()
-	public void testSetDropTargetActive() throws Exception {
-		// JUnitDoclet begin method setDropTargetActive
-		// JUnitDoclet end method setDropTargetActive
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardFigureSelectionTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardFigureSelectionTest.java
deleted file mode 100644
index 686eafabe..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardFigureSelectionTest.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.PolyLineFigure;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.standard.FigureEnumerator;
-import org.jhotdraw.standard.StandardFigureSelection;
-import org.jhotdraw.util.CollectionsFactory;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardFigureSelectionTest is generated by
- * JUnitDoclet to hold the tests for StandardFigureSelection.
- * @see org.jhotdraw.standard.StandardFigureSelection
- */
-// JUnitDoclet end javadoc_class
-public class StandardFigureSelectionTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardFigureSelection standardfigureselection;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardFigureSelectionTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardFigureSelectionTest(String name) {
-		// JUnitDoclet begin method StandardFigureSelectionTest
-		super(name);
-		// JUnitDoclet end method StandardFigureSelectionTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public StandardFigureSelection createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		l.add(new PolyLineFigure(20, 20));
-		FigureEnumeration fenum = new FigureEnumerator(l);
-		return new StandardFigureSelection(fenum, l.size());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardfigureselection = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardfigureselection = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getType()
-	/**
-	 * Method testGetType is testing getType
-	 * @see org.jhotdraw.standard.StandardFigureSelection#getType()
-	 */
-	// JUnitDoclet end javadoc_method getType()
-	public void testGetType() throws Exception {
-		// JUnitDoclet begin method getType
-		// JUnitDoclet end method getType
-	}
-
-	// JUnitDoclet begin javadoc_method getData()
-	/**
-	 * Method testGetData is testing getData
-	 * @see org.jhotdraw.standard.StandardFigureSelection#getData(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getData()
-	public void testGetData() throws Exception {
-		// JUnitDoclet begin method getData
-		// JUnitDoclet end method getData
-	}
-
-	// JUnitDoclet begin javadoc_method duplicateFigures()
-	/**
-	 * Method testDuplicateFigures is testing duplicateFigures
-	 * @see org.jhotdraw.standard.StandardFigureSelection#duplicateFigures(org.jhotdraw.framework.FigureEnumeration, int)
-	 */
-	// JUnitDoclet end javadoc_method duplicateFigures()
-	public void testDuplicateFigures() throws Exception {
-		// JUnitDoclet begin method duplicateFigures
-		// JUnitDoclet end method duplicateFigures
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardSuite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardSuite.java
deleted file mode 100644
index 83f524721..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/StandardSuite.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite StandardSuite
-*/
-// JUnitDoclet end javadoc_class
-public class StandardSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.standard");
-
-		suite.addTestSuite(org.jhotdraw.test.standard.PeripheralLocatorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.SingleFigureEnumeratorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.NullDrawingViewTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.NullToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.HandleAndEnumeratorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.InsertIntoDrawingVisitorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.DeleteFromDrawingVisitorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.SelectAllCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.FigureAndEnumeratorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.HandleEnumeratorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.StandardFigureSelectionTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.FastBufferedUpdateStrategyTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.ToolButtonTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.ToggleGridCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.StandardDrawingViewTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.StandardDrawingTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.SimpleUpdateStrategyTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.SelectionToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.SelectAreaTrackerTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.ReverseFigureEnumeratorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.RelativeLocatorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.PasteCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.OffsetLocatorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.NullHandleTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.LocatorConnectorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.HandleTrackerTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.GridConstrainerTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.FigureEnumeratorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.FigureChangeEventMulticasterTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.DuplicateCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.DragTrackerTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.DeleteCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.CutCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.CreationToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.CopyCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.ConnectionToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.ConnectionHandleTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.ChopBoxConnectorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.ChangeConnectionStartHandleTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.ChangeConnectionEndHandleTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.ChangeAttributeCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.BufferedUpdateStrategyTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.SendToBackCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.BringToFrontCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.LocatorHandleTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.BoxHandleKitTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.AlignCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.standard.FigureChangeAdapterTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ToggleGridCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ToggleGridCommandTest.java
deleted file mode 100644
index 35a6998b9..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ToggleGridCommandTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.ToggleGridCommand;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ToggleGridCommandTest is generated by
- * JUnitDoclet to hold the tests for ToggleGridCommand.
- * @see org.jhotdraw.standard.ToggleGridCommand
- */
-// JUnitDoclet end javadoc_class
-public class ToggleGridCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ToggleGridCommand togglegridcommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ToggleGridCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ToggleGridCommandTest(String name) {
-		// JUnitDoclet begin method ToggleGridCommandTest
-		super(name);
-		// JUnitDoclet end method ToggleGridCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ToggleGridCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ToggleGridCommand("TestToggle", getDrawingEditor(), new Point(5, 5));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		togglegridcommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		togglegridcommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.standard.ToggleGridCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ToolButtonTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ToolButtonTest.java
deleted file mode 100644
index ccab144cb..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/standard/ToolButtonTest.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.standard;
-
-// JUnitDoclet begin import
-import org.jhotdraw.application.DrawApplication;
-import org.jhotdraw.framework.Tool;
-import org.jhotdraw.standard.SelectionTool;
-import org.jhotdraw.standard.ToolButton;
-import org.jhotdraw.test.JHDTestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ToolButtonTest is generated by
- * JUnitDoclet to hold the tests for ToolButton.
- * @see org.jhotdraw.standard.ToolButton
- */
-// JUnitDoclet end javadoc_class
-public class ToolButtonTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ToolButton toolbutton;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ToolButtonTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ToolButtonTest(String name) {
-		// JUnitDoclet begin method ToolButtonTest
-		super(name);
-		// JUnitDoclet end method ToolButtonTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ToolButton createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Tool tool = new SelectionTool(getDrawingEditor());
-		return new ToolButton(getDrawingEditor(), DrawApplication.IMAGES + "SEL", "Selection Tool", tool);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		toolbutton = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		toolbutton = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method tool()
-	/**
-	 * Method testTool is testing tool
-	 * @see org.jhotdraw.standard.ToolButton#tool()
-	 */
-	// JUnitDoclet end javadoc_method tool()
-	public void testTool() throws Exception {
-		// JUnitDoclet begin method tool
-		// JUnitDoclet end method tool
-	}
-
-	// JUnitDoclet begin javadoc_method name()
-	/**
-	 * Method testName is testing name
-	 * @see org.jhotdraw.standard.ToolButton#name()
-	 */
-	// JUnitDoclet end javadoc_method name()
-	public void testName() throws Exception {
-		// JUnitDoclet begin method name
-		// JUnitDoclet end method name
-	}
-
-	// JUnitDoclet begin javadoc_method attributeValue()
-	/**
-	 * Method testAttributeValue is testing attributeValue
-	 * @see org.jhotdraw.standard.ToolButton#attributeValue()
-	 */
-	// JUnitDoclet end javadoc_method attributeValue()
-	public void testAttributeValue() throws Exception {
-		// JUnitDoclet begin method attributeValue
-		// JUnitDoclet end method attributeValue
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see org.jhotdraw.standard.ToolButton#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see org.jhotdraw.standard.ToolButton#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method getMaximumSize()
-	/**
-	 * Method testGetMaximumSize is testing getMaximumSize
-	 * @see org.jhotdraw.standard.ToolButton#getMaximumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMaximumSize()
-	public void testGetMaximumSize() throws Exception {
-		// JUnitDoclet begin method getMaximumSize
-		// JUnitDoclet end method getMaximumSize
-	}
-
-	// JUnitDoclet begin javadoc_method paintSelected()
-	/**
-	 * Method testPaintSelected is testing paintSelected
-	 * @see org.jhotdraw.standard.ToolButton#paintSelected(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paintSelected()
-	public void testPaintSelected() throws Exception {
-		// JUnitDoclet begin method paintSelected
-		// JUnitDoclet end method paintSelected
-	}
-
-	// JUnitDoclet begin javadoc_method paint()
-	/**
-	 * Method testPaint is testing paint
-	 * @see org.jhotdraw.standard.ToolButton#paint(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method paint()
-	public void testPaint() throws Exception {
-		// JUnitDoclet begin method paint
-		// JUnitDoclet end method paint
-	}
-
-	// JUnitDoclet begin javadoc_method toolUsable()
-	/**
-	 * Method testToolUsable is testing toolUsable
-	 * @see org.jhotdraw.standard.ToolButton#toolUsable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUsable()
-	public void testToolUsable() throws Exception {
-		// JUnitDoclet begin method toolUsable
-		// JUnitDoclet end method toolUsable
-	}
-
-	// JUnitDoclet begin javadoc_method toolUnusable()
-	/**
-	 * Method testToolUnusable is testing toolUnusable
-	 * @see org.jhotdraw.standard.ToolButton#toolUnusable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUnusable()
-	public void testToolUnusable() throws Exception {
-		// JUnitDoclet begin method toolUnusable
-		// JUnitDoclet end method toolUnusable
-	}
-
-	// JUnitDoclet begin javadoc_method toolActivated()
-	/**
-	 * Method testToolActivated is testing toolActivated
-	 * @see org.jhotdraw.standard.ToolButton#toolActivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolActivated()
-	public void testToolActivated() throws Exception {
-		// JUnitDoclet begin method toolActivated
-		// JUnitDoclet end method toolActivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolDeactivated()
-	/**
-	 * Method testToolDeactivated is testing toolDeactivated
-	 * @see org.jhotdraw.standard.ToolButton#toolDeactivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDeactivated()
-	public void testToolDeactivated() throws Exception {
-		// JUnitDoclet begin method toolDeactivated
-		// JUnitDoclet end method toolDeactivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolEnabled()
-	/**
-	 * Method testToolEnabled is testing toolEnabled
-	 * @see org.jhotdraw.standard.ToolButton#toolEnabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolEnabled()
-	public void testToolEnabled() throws Exception {
-		// JUnitDoclet begin method toolEnabled
-		// JUnitDoclet end method toolEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method toolDisabled()
-	/**
-	 * Method testToolDisabled is testing toolDisabled
-	 * @see org.jhotdraw.standard.ToolButton#toolDisabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDisabled()
-	public void testToolDisabled() throws Exception {
-		// JUnitDoclet begin method toolDisabled
-		// JUnitDoclet end method toolDisabled
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/AllTests.java
deleted file mode 100644
index 02807c4c7..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/AllTests.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.util");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(BoundsTest.class));
-		suite.addTest(new TestSuite(ClipboardTest.class));
-		suite.addTest(new TestSuite(ColorMapTest.class));
-		suite.addTest(new TestSuite(CommandButtonTest.class));
-		suite.addTest(new TestSuite(CommandChoiceTest.class));
-		suite.addTest(new TestSuite(CommandMenuTest.class));
-		suite.addTest(new TestSuite(FillerTest.class));
-		suite.addTest(new TestSuite(FloatingTextFieldTest.class));
-		suite.addTest(new TestSuite(GeomTest.class));
-		suite.addTest(new TestSuite(GraphLayoutTest.class));
-		suite.addTest(new TestSuite(IconkitTest.class));
-		suite.addTest(new TestSuite(PaletteIconTest.class));
-		suite.addTest(new TestSuite(PaletteLayoutTest.class));
-		suite.addTest(new TestSuite(RedoCommandTest.class));
-		suite.addTest(new TestSuite(ReverseListEnumeratorTest.class));
-		suite.addTest(new TestSuite(SerializationStorageFormatTest.class));
-		suite.addTest(new TestSuite(StandardStorageFormatTest.class));
-		suite.addTest(new TestSuite(StandardVersionControlStrategyTest.class));
-		suite.addTest(new TestSuite(StorableInputTest.class));
-		suite.addTest(new TestSuite(StorableOutputTest.class));
-		suite.addTest(new TestSuite(StorageFormatManagerTest.class));
-		suite.addTest(new TestSuite(UndoCommandTest.class));
-		suite.addTest(new TestSuite(UndoManagerTest.class));
-		suite.addTest(new TestSuite(UndoRedoActivityTest.class));
-		suite.addTest(new TestSuite(UndoableAdapterTest.class));
-		suite.addTest(new TestSuite(UndoableCommandTest.class));
-		suite.addTest(new TestSuite(UndoableHandleTest.class));
-		suite.addTest(new TestSuite(UndoableToolTest.class));
-		suite.addTest(new TestSuite(VersionManagementTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/BoundsTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/BoundsTest.java
deleted file mode 100644
index c1234bd68..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/BoundsTest.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import java.awt.Dimension;
-import java.awt.geom.Point2D;
-
-import org.jhotdraw.util.Bounds;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase BoundsTest is generated by
- * JUnitDoclet to hold the tests for Bounds.
- * @see org.jhotdraw.util.Bounds
- */
-// JUnitDoclet end javadoc_class
-public class BoundsTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Bounds bounds;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor BoundsTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public BoundsTest(String name) {
-		// JUnitDoclet begin method BoundsTest
-		super(name);
-		// JUnitDoclet end method BoundsTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public Bounds createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new Bounds(new Dimension(100, 100));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		bounds = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		bounds = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getLesserX()
-	/**
-	 * Method testGetLesserX is testing getLesserX
-	 * @see org.jhotdraw.util.Bounds#getLesserX()
-	 */
-	// JUnitDoclet end javadoc_method getLesserX()
-	public void testGetLesserX() throws Exception {
-		// JUnitDoclet begin method getLesserX
-		// JUnitDoclet end method getLesserX
-	}
-
-	// JUnitDoclet begin javadoc_method getGreaterX()
-	/**
-	 * Method testGetGreaterX is testing getGreaterX
-	 * @see org.jhotdraw.util.Bounds#getGreaterX()
-	 */
-	// JUnitDoclet end javadoc_method getGreaterX()
-	public void testGetGreaterX() throws Exception {
-		// JUnitDoclet begin method getGreaterX
-		// JUnitDoclet end method getGreaterX
-	}
-
-	// JUnitDoclet begin javadoc_method getLesserY()
-	/**
-	 * Method testGetLesserY is testing getLesserY
-	 * @see org.jhotdraw.util.Bounds#getLesserY()
-	 */
-	// JUnitDoclet end javadoc_method getLesserY()
-	public void testGetLesserY() throws Exception {
-		// JUnitDoclet begin method getLesserY
-		// JUnitDoclet end method getLesserY
-	}
-
-	// JUnitDoclet begin javadoc_method getGreaterY()
-	/**
-	 * Method testGetGreaterY is testing getGreaterY
-	 * @see org.jhotdraw.util.Bounds#getGreaterY()
-	 */
-	// JUnitDoclet end javadoc_method getGreaterY()
-	public void testGetGreaterY() throws Exception {
-		// JUnitDoclet begin method getGreaterY
-		// JUnitDoclet end method getGreaterY
-	}
-
-	// JUnitDoclet begin javadoc_method getWest()
-	/**
-	 * Method testGetWest is testing getWest
-	 * @see org.jhotdraw.util.Bounds#getWest()
-	 */
-	// JUnitDoclet end javadoc_method getWest()
-	public void testGetWest() throws Exception {
-		// JUnitDoclet begin method getWest
-		// JUnitDoclet end method getWest
-	}
-
-	// JUnitDoclet begin javadoc_method getEast()
-	/**
-	 * Method testGetEast is testing getEast
-	 * @see org.jhotdraw.util.Bounds#getEast()
-	 */
-	// JUnitDoclet end javadoc_method getEast()
-	public void testGetEast() throws Exception {
-		// JUnitDoclet begin method getEast
-		// JUnitDoclet end method getEast
-	}
-
-	// JUnitDoclet begin javadoc_method getSouth()
-	/**
-	 * Method testGetSouth is testing getSouth
-	 * @see org.jhotdraw.util.Bounds#getSouth()
-	 */
-	// JUnitDoclet end javadoc_method getSouth()
-	public void testGetSouth() throws Exception {
-		// JUnitDoclet begin method getSouth
-		// JUnitDoclet end method getSouth
-	}
-
-	// JUnitDoclet begin javadoc_method getNorth()
-	/**
-	 * Method testGetNorth is testing getNorth
-	 * @see org.jhotdraw.util.Bounds#getNorth()
-	 */
-	// JUnitDoclet end javadoc_method getNorth()
-	public void testGetNorth() throws Exception {
-		// JUnitDoclet begin method getNorth
-		// JUnitDoclet end method getNorth
-	}
-
-	// JUnitDoclet begin javadoc_method getWidth()
-	/**
-	 * Method testGetWidth is testing getWidth
-	 * @see org.jhotdraw.util.Bounds#getWidth()
-	 */
-	// JUnitDoclet end javadoc_method getWidth()
-	public void testGetWidth() throws Exception {
-		// JUnitDoclet begin method getWidth
-		// JUnitDoclet end method getWidth
-	}
-
-	// JUnitDoclet begin javadoc_method getHeight()
-	/**
-	 * Method testGetHeight is testing getHeight
-	 * @see org.jhotdraw.util.Bounds#getHeight()
-	 */
-	// JUnitDoclet end javadoc_method getHeight()
-	public void testGetHeight() throws Exception {
-		// JUnitDoclet begin method getHeight
-		// JUnitDoclet end method getHeight
-	}
-
-	// JUnitDoclet begin javadoc_method asRectangle2D()
-	/**
-	 * Method testAsRectangle2D is testing asRectangle2D
-	 * @see org.jhotdraw.util.Bounds#asRectangle2D()
-	 */
-	// JUnitDoclet end javadoc_method asRectangle2D()
-	public void testAsRectangle2D() throws Exception {
-		// JUnitDoclet begin method asRectangle2D
-		// JUnitDoclet end method asRectangle2D
-	}
-
-	// JUnitDoclet begin javadoc_method setCenter()
-	/**
-	 * Method testSetGetCenter is testing setCenter
-	 * and getCenter together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.Bounds#setCenter(java.awt.geom.Point2D)
-	 * @see org.jhotdraw.util.Bounds#getCenter()
-	 */
-	// JUnitDoclet end javadoc_method setCenter()
-	public void testSetGetCenter() throws Exception {
-		// JUnitDoclet begin method setCenter getCenter
-		Point2D[] tests = { new Point2D.Double(2.0, 3.0)};
-
-		for (int i = 0; i < tests.length; i++) {
-			bounds.setCenter(tests[i]);
-			assertEquals(tests[i], bounds.getCenter());
-		}
-		// JUnitDoclet end method setCenter getCenter
-	}
-
-	// JUnitDoclet begin method setNullCenter()
-	/**
-	  * Test a null argument to setCenter.  Expect an IllegalArgumentException
-	  * 
-	  * @see org.jhotdraw.util.Bounds#setCenter(java.awt.geom.Point2D)
-	  */
-	public void testSetNullCenter() throws Exception {
-		Point2D original = bounds.getCenter();
-
-		try {
-			bounds.setCenter(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-			assertEquals("setCenter(null) altered property value", original, bounds.getCenter());
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method zoomBy()
-	/**
-	 * Method testZoomBy is testing zoomBy
-	 * @see org.jhotdraw.util.Bounds#zoomBy(double)
-	 */
-	// JUnitDoclet end javadoc_method zoomBy()
-	public void testZoomBy() throws Exception {
-		// JUnitDoclet begin method zoomBy
-		// JUnitDoclet end method zoomBy
-	}
-
-	// JUnitDoclet begin javadoc_method shiftBy()
-	/**
-	 * Method testShiftBy is testing shiftBy
-	 * @see org.jhotdraw.util.Bounds#shiftBy(int, int)
-	 */
-	// JUnitDoclet end javadoc_method shiftBy()
-	public void testShiftBy() throws Exception {
-		// JUnitDoclet begin method shiftBy
-		// JUnitDoclet end method shiftBy
-	}
-
-	// JUnitDoclet begin javadoc_method offset()
-	/**
-	 * Method testOffset is testing offset
-	 * @see org.jhotdraw.util.Bounds#offset(double, double)
-	 */
-	// JUnitDoclet end javadoc_method offset()
-	public void testOffset() throws Exception {
-		// JUnitDoclet begin method offset
-		// JUnitDoclet end method offset
-	}
-
-	// JUnitDoclet begin javadoc_method expandToRatio()
-	/**
-	 * Method testExpandToRatio is testing expandToRatio
-	 * @see org.jhotdraw.util.Bounds#expandToRatio(double)
-	 */
-	// JUnitDoclet end javadoc_method expandToRatio()
-	public void testExpandToRatio() throws Exception {
-		// JUnitDoclet begin method expandToRatio
-		// JUnitDoclet end method expandToRatio
-	}
-
-	// JUnitDoclet begin javadoc_method includeXCoordinate()
-	/**
-	 * Method testIncludeXCoordinate is testing includeXCoordinate
-	 * @see org.jhotdraw.util.Bounds#includeXCoordinate(double)
-	 */
-	// JUnitDoclet end javadoc_method includeXCoordinate()
-	public void testIncludeXCoordinate() throws Exception {
-		// JUnitDoclet begin method includeXCoordinate
-		// JUnitDoclet end method includeXCoordinate
-	}
-
-	// JUnitDoclet begin javadoc_method includeYCoordinate()
-	/**
-	 * Method testIncludeYCoordinate is testing includeYCoordinate
-	 * @see org.jhotdraw.util.Bounds#includeYCoordinate(double)
-	 */
-	// JUnitDoclet end javadoc_method includeYCoordinate()
-	public void testIncludeYCoordinate() throws Exception {
-		// JUnitDoclet begin method includeYCoordinate
-		// JUnitDoclet end method includeYCoordinate
-	}
-
-	// JUnitDoclet begin javadoc_method includePoint()
-	/**
-	 * Method testIncludePoint is testing includePoint
-	 * @see org.jhotdraw.util.Bounds#includePoint(double, double)
-	 */
-	// JUnitDoclet end javadoc_method includePoint()
-	public void testIncludePoint() throws Exception {
-		// JUnitDoclet begin method includePoint
-		// JUnitDoclet end method includePoint
-	}
-
-	// JUnitDoclet begin javadoc_method includeLine()
-	/**
-	 * Method testIncludeLine is testing includeLine
-	 * @see org.jhotdraw.util.Bounds#includeLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method includeLine()
-	public void testIncludeLine() throws Exception {
-		// JUnitDoclet begin method includeLine
-		// JUnitDoclet end method includeLine
-	}
-
-	// JUnitDoclet begin javadoc_method includeBounds()
-	/**
-	 * Method testIncludeBounds is testing includeBounds
-	 * @see org.jhotdraw.util.Bounds#includeBounds(org.jhotdraw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method includeBounds()
-	public void testIncludeBounds() throws Exception {
-		// JUnitDoclet begin method includeBounds
-		// JUnitDoclet end method includeBounds
-	}
-
-	// JUnitDoclet begin javadoc_method includeRectangle2D()
-	/**
-	 * Method testIncludeRectangle2D is testing includeRectangle2D
-	 * @see org.jhotdraw.util.Bounds#includeRectangle2D(java.awt.geom.Rectangle2D)
-	 */
-	// JUnitDoclet end javadoc_method includeRectangle2D()
-	public void testIncludeRectangle2D() throws Exception {
-		// JUnitDoclet begin method includeRectangle2D
-		// JUnitDoclet end method includeRectangle2D
-	}
-
-	// JUnitDoclet begin javadoc_method intersect()
-	/**
-	 * Method testIntersect is testing intersect
-	 * @see org.jhotdraw.util.Bounds#intersect(org.jhotdraw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method intersect()
-	public void testIntersect() throws Exception {
-		// JUnitDoclet begin method intersect
-		// JUnitDoclet end method intersect
-	}
-
-	// JUnitDoclet begin javadoc_method intersectsPoint()
-	/**
-	 * Method testIntersectsPoint is testing intersectsPoint
-	 * @see org.jhotdraw.util.Bounds#intersectsPoint(double, double)
-	 */
-	// JUnitDoclet end javadoc_method intersectsPoint()
-	public void testIntersectsPoint() throws Exception {
-		// JUnitDoclet begin method intersectsPoint
-		// JUnitDoclet end method intersectsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method intersectsLine()
-	/**
-	 * Method testIntersectsLine is testing intersectsLine
-	 * @see org.jhotdraw.util.Bounds#intersectsLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method intersectsLine()
-	public void testIntersectsLine() throws Exception {
-		// JUnitDoclet begin method intersectsLine
-		// JUnitDoclet end method intersectsLine
-	}
-
-	// JUnitDoclet begin javadoc_method intersectsBounds()
-	/**
-	 * Method testIntersectsBounds is testing intersectsBounds
-	 * @see org.jhotdraw.util.Bounds#intersectsBounds(org.jhotdraw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method intersectsBounds()
-	public void testIntersectsBounds() throws Exception {
-		// JUnitDoclet begin method intersectsBounds
-		// JUnitDoclet end method intersectsBounds
-	}
-
-	// JUnitDoclet begin javadoc_method completelyContainsLine()
-	/**
-	 * Method testCompletelyContainsLine is testing completelyContainsLine
-	 * @see org.jhotdraw.util.Bounds#completelyContainsLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method completelyContainsLine()
-	public void testCompletelyContainsLine() throws Exception {
-		// JUnitDoclet begin method completelyContainsLine
-		// JUnitDoclet end method completelyContainsLine
-	}
-
-	// JUnitDoclet begin javadoc_method isCompletelyInside()
-	/**
-	 * Method testIsCompletelyInside is testing isCompletelyInside
-	 * @see org.jhotdraw.util.Bounds#isCompletelyInside(org.jhotdraw.util.Bounds)
-	 */
-	// JUnitDoclet end javadoc_method isCompletelyInside()
-	public void testIsCompletelyInside() throws Exception {
-		// JUnitDoclet begin method isCompletelyInside
-		// JUnitDoclet end method isCompletelyInside
-	}
-
-	// JUnitDoclet begin javadoc_method cropLine()
-	/**
-	 * Method testCropLine is testing cropLine
-	 * @see org.jhotdraw.util.Bounds#cropLine(double, double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method cropLine()
-	public void testCropLine() throws Exception {
-		// JUnitDoclet begin method cropLine
-		// JUnitDoclet end method cropLine
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see org.jhotdraw.util.Bounds#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method hashCode()
-	/**
-	 * Method testHashCode is testing hashCode
-	 * @see org.jhotdraw.util.Bounds#hashCode()
-	 */
-	// JUnitDoclet end javadoc_method hashCode()
-	public void testHashCode() throws Exception {
-		// JUnitDoclet begin method hashCode
-		// JUnitDoclet end method hashCode
-	}
-
-	// JUnitDoclet begin javadoc_method toString()
-	/**
-	 * Method testToString is testing toString
-	 * @see org.jhotdraw.util.Bounds#toString()
-	 */
-	// JUnitDoclet end javadoc_method toString()
-	public void testToString() throws Exception {
-		// JUnitDoclet begin method toString
-		// JUnitDoclet end method toString
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/ClipboardTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/ClipboardTest.java
deleted file mode 100644
index 4faec7a40..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/ClipboardTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import org.jhotdraw.util.Clipboard;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ClipboardTest is generated by
- * JUnitDoclet to hold the tests for Clipboard.
- * @see org.jhotdraw.util.Clipboard
- */
-// JUnitDoclet end javadoc_class
-public class ClipboardTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Clipboard clipboard;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ClipboardTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ClipboardTest(String name) {
-		// JUnitDoclet begin method ClipboardTest
-		super(name);
-		// JUnitDoclet end method ClipboardTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public Clipboard createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return Clipboard.getClipboard();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		clipboard = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		clipboard = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getClipboard()
-	/**
-	 * Method testGetClipboard is testing getClipboard
-	 * @see org.jhotdraw.util.Clipboard#getClipboard()
-	 */
-	// JUnitDoclet end javadoc_method getClipboard()
-	public void testGetClipboard() throws Exception {
-		// JUnitDoclet begin method getClipboard
-		// JUnitDoclet end method getClipboard
-	}
-
-	// JUnitDoclet begin javadoc_method setContents()
-	/**
-	 * Method testSetGetContents is testing setContents
-	 * and getContents together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.Clipboard#setContents(java.lang.Object)
-	 * @see org.jhotdraw.util.Clipboard#getContents()
-	 */
-	// JUnitDoclet end javadoc_method setContents()
-	public void testSetGetContents() throws Exception {
-		// JUnitDoclet begin method setContents getContents
-		java.lang.Object[] tests = { new java.lang.Object(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			clipboard.setContents(tests[i]);
-			assertEquals(tests[i], clipboard.getContents());
-		}
-		// JUnitDoclet end method setContents getContents
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/ColorMapTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/ColorMapTest.java
deleted file mode 100644
index 0f1fd9c39..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/ColorMapTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.util.ColorMap;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ColorMapTest is generated by
- * JUnitDoclet to hold the tests for ColorMap.
- * @see org.jhotdraw.util.ColorMap
- */
-// JUnitDoclet end javadoc_class
-public class ColorMapTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ColorMap colormap;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ColorMapTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ColorMapTest(String name) {
-		// JUnitDoclet begin method ColorMapTest
-		super(name);
-		// JUnitDoclet end method ColorMapTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ColorMap createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ColorMap();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		colormap = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		colormap = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see org.jhotdraw.util.ColorMap#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method color()
-	/**
-	 * Method testColor is testing color
-	 * @see org.jhotdraw.util.ColorMap#color(int)
-	 */
-	// JUnitDoclet end javadoc_method color()
-	public void testColor() throws Exception {
-		// JUnitDoclet begin method color
-		// JUnitDoclet end method color
-	}
-
-	// JUnitDoclet begin javadoc_method name()
-	/**
-	 * Method testName is testing name
-	 * @see org.jhotdraw.util.ColorMap#name(int)
-	 */
-	// JUnitDoclet end javadoc_method name()
-	public void testName() throws Exception {
-		// JUnitDoclet begin method name
-		// JUnitDoclet end method name
-	}
-
-	// JUnitDoclet begin javadoc_method colorIndex()
-	/**
-	 * Method testColorIndex is testing colorIndex
-	 * @see org.jhotdraw.util.ColorMap#colorIndex(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method colorIndex()
-	public void testColorIndex() throws Exception {
-		// JUnitDoclet begin method colorIndex
-		// JUnitDoclet end method colorIndex
-	}
-
-	// JUnitDoclet begin javadoc_method isTransparent()
-	/**
-	 * Method testIsTransparent is testing isTransparent
-	 * @see org.jhotdraw.util.ColorMap#isTransparent(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method isTransparent()
-	public void testIsTransparent() throws Exception {
-		// JUnitDoclet begin method isTransparent
-		// JUnitDoclet end method isTransparent
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandButtonTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandButtonTest.java
deleted file mode 100644
index aebe0578d..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandButtonTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.DuplicateCommand;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.CommandButton;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandButtonTest is generated by
- * JUnitDoclet to hold the tests for CommandButton.
- * @see org.jhotdraw.util.CommandButton
- */
-// JUnitDoclet end javadoc_class
-public class CommandButtonTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandButton commandbutton;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandButtonTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandButtonTest(String name) {
-		// JUnitDoclet begin method CommandButtonTest
-		super(name);
-		// JUnitDoclet end method CommandButtonTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CommandButton createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CommandButton(new DuplicateCommand("Duplicate", getDrawingEditor()));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandbutton = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandbutton = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see org.jhotdraw.util.CommandButton#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandChoiceTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandChoiceTest.java
deleted file mode 100644
index f2dd7aecb..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandChoiceTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import org.jhotdraw.util.CommandChoice;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandChoiceTest is generated by
- * JUnitDoclet to hold the tests for CommandChoice.
- * @see org.jhotdraw.util.CommandChoice
- */
-// JUnitDoclet end javadoc_class
-public class CommandChoiceTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandChoice commandchoice;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandChoiceTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandChoiceTest(String name) {
-		// JUnitDoclet begin method CommandChoiceTest
-		super(name);
-		// JUnitDoclet end method CommandChoiceTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CommandChoice createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CommandChoice();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandchoice = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandchoice = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addItem()
-	/**
-	 * Method testAddItem is testing addItem
-	 * @see org.jhotdraw.util.CommandChoice#addItem(org.jhotdraw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method addItem()
-	public void testAddItem() throws Exception {
-		// JUnitDoclet begin method addItem
-		// JUnitDoclet end method addItem
-	}
-
-	// JUnitDoclet begin javadoc_method itemStateChanged()
-	/**
-	 * Method testItemStateChanged is testing itemStateChanged
-	 * @see org.jhotdraw.util.CommandChoice#itemStateChanged(java.awt.event.ItemEvent)
-	 */
-	// JUnitDoclet end javadoc_method itemStateChanged()
-	public void testItemStateChanged() throws Exception {
-		// JUnitDoclet begin method itemStateChanged
-		// JUnitDoclet end method itemStateChanged
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandMenuTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandMenuTest.java
deleted file mode 100644
index 5dfe5be5d..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/CommandMenuTest.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import org.jhotdraw.util.CommandMenu;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CommandMenuTest is generated by
- * JUnitDoclet to hold the tests for CommandMenu.
- * @see org.jhotdraw.util.CommandMenu
- */
-// JUnitDoclet end javadoc_class
-public class CommandMenuTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CommandMenu commandmenu;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CommandMenuTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CommandMenuTest(String name) {
-		// JUnitDoclet begin method CommandMenuTest
-		super(name);
-		// JUnitDoclet end method CommandMenuTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CommandMenu createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CommandMenu("TestCommandMenu");
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		commandmenu = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		commandmenu = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.util.CommandMenu#add(org.jhotdraw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method addCheckItem()
-	/**
-	 * Method testAddCheckItem is testing addCheckItem
-	 * @see org.jhotdraw.util.CommandMenu#addCheckItem(org.jhotdraw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method addCheckItem()
-	public void testAddCheckItem() throws Exception {
-		// JUnitDoclet begin method addCheckItem
-		// JUnitDoclet end method addCheckItem
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.util.CommandMenu#remove(org.jhotdraw.util.Command)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method enable()
-	/**
-	 * Method testEnable is testing enable
-	 * @see org.jhotdraw.util.CommandMenu#enable(java.lang.String, boolean)
-	 */
-	// JUnitDoclet end javadoc_method enable()
-	public void testEnable() throws Exception {
-		// JUnitDoclet begin method enable
-		// JUnitDoclet end method enable
-	}
-
-	// JUnitDoclet begin javadoc_method checkEnabled()
-	/**
-	 * Method testCheckEnabled is testing checkEnabled
-	 * @see org.jhotdraw.util.CommandMenu#checkEnabled()
-	 */
-	// JUnitDoclet end javadoc_method checkEnabled()
-	public void testCheckEnabled() throws Exception {
-		// JUnitDoclet begin method checkEnabled
-		// JUnitDoclet end method checkEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method actionPerformed()
-	/**
-	 * Method testActionPerformed is testing actionPerformed
-	 * @see org.jhotdraw.util.CommandMenu#actionPerformed(java.awt.event.ActionEvent)
-	 */
-	// JUnitDoclet end javadoc_method actionPerformed()
-	public void testActionPerformed() throws Exception {
-		// JUnitDoclet begin method actionPerformed
-		// JUnitDoclet end method actionPerformed
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecuted()
-	/**
-	 * Method testCommandExecuted is testing commandExecuted
-	 * @see org.jhotdraw.util.CommandMenu#commandExecuted(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecuted()
-	public void testCommandExecuted() throws Exception {
-		// JUnitDoclet begin method commandExecuted
-		// JUnitDoclet end method commandExecuted
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecutable()
-	/**
-	 * Method testCommandExecutable is testing commandExecutable
-	 * @see org.jhotdraw.util.CommandMenu#commandExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecutable()
-	public void testCommandExecutable() throws Exception {
-		// JUnitDoclet begin method commandExecutable
-		// JUnitDoclet end method commandExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method commandNotExecutable()
-	/**
-	 * Method testCommandNotExecutable is testing commandNotExecutable
-	 * @see org.jhotdraw.util.CommandMenu#commandNotExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandNotExecutable()
-	public void testCommandNotExecutable() throws Exception {
-		// JUnitDoclet begin method commandNotExecutable
-		// JUnitDoclet end method commandNotExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/FillerTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/FillerTest.java
deleted file mode 100644
index 617591e0c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/FillerTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import org.jhotdraw.util.Filler;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FillerTest is generated by
- * JUnitDoclet to hold the tests for Filler.
- * @see org.jhotdraw.util.Filler
- */
-// JUnitDoclet end javadoc_class
-public class FillerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Filler filler;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FillerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FillerTest(String name) {
-		// JUnitDoclet begin method FillerTest
-		super(name);
-		// JUnitDoclet end method FillerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public Filler createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new Filler(10, 10);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		filler = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		filler = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getMinimumSize()
-	/**
-	 * Method testGetMinimumSize is testing getMinimumSize
-	 * @see org.jhotdraw.util.Filler#getMinimumSize()
-	 */
-	// JUnitDoclet end javadoc_method getMinimumSize()
-	public void testGetMinimumSize() throws Exception {
-		// JUnitDoclet begin method getMinimumSize
-		// JUnitDoclet end method getMinimumSize
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see org.jhotdraw.util.Filler#getPreferredSize()
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method getBackground()
-	/**
-	 * Method testGetBackground is testing getBackground
-	 * @see org.jhotdraw.util.Filler#getBackground()
-	 */
-	// JUnitDoclet end javadoc_method getBackground()
-	public void testGetBackground() throws Exception {
-		// JUnitDoclet begin method getBackground
-		// JUnitDoclet end method getBackground
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/FloatingTextFieldTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/FloatingTextFieldTest.java
deleted file mode 100644
index 0300485d4..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/FloatingTextFieldTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import org.jhotdraw.util.FloatingTextField;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase FloatingTextFieldTest is generated by
- * JUnitDoclet to hold the tests for FloatingTextField.
- * @see org.jhotdraw.util.FloatingTextField
- */
-// JUnitDoclet end javadoc_class
-public class FloatingTextFieldTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private FloatingTextField floatingtextfield;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor FloatingTextFieldTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public FloatingTextFieldTest(String name) {
-		// JUnitDoclet begin method FloatingTextFieldTest
-		super(name);
-		// JUnitDoclet end method FloatingTextFieldTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public FloatingTextField createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new FloatingTextField();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		floatingtextfield = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		floatingtextfield = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createOverlay()
-	/**
-	 * Method testCreateOverlay is testing createOverlay
-	 * @see org.jhotdraw.util.FloatingTextField#createOverlay(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method createOverlay()
-	public void testCreateOverlay() throws Exception {
-		// JUnitDoclet begin method createOverlay
-		// JUnitDoclet end method createOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method addActionListener()
-	/**
-	 * Method testAddActionListener is testing addActionListener
-	 * @see org.jhotdraw.util.FloatingTextField#addActionListener(java.awt.event.ActionListener)
-	 */
-	// JUnitDoclet end javadoc_method addActionListener()
-	public void testAddActionListener() throws Exception {
-		// JUnitDoclet begin method addActionListener
-		// JUnitDoclet end method addActionListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeActionListener()
-	/**
-	 * Method testRemoveActionListener is testing removeActionListener
-	 * @see org.jhotdraw.util.FloatingTextField#removeActionListener(java.awt.event.ActionListener)
-	 */
-	// JUnitDoclet end javadoc_method removeActionListener()
-	public void testRemoveActionListener() throws Exception {
-		// JUnitDoclet begin method removeActionListener
-		// JUnitDoclet end method removeActionListener
-	}
-
-	// JUnitDoclet begin javadoc_method setBounds()
-	/**
-	 * Method testSetBounds is testing setBounds
-	 * @see org.jhotdraw.util.FloatingTextField#setBounds(java.awt.Rectangle, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method setBounds()
-	public void testSetBounds() throws Exception {
-		// JUnitDoclet begin method setBounds
-		// JUnitDoclet end method setBounds
-	}
-
-	// JUnitDoclet begin javadoc_method getText()
-	/**
-	 * Method testGetText is testing getText
-	 * @see org.jhotdraw.util.FloatingTextField#getText()
-	 */
-	// JUnitDoclet end javadoc_method getText()
-	public void testGetText() throws Exception {
-		// JUnitDoclet begin method getText
-		// JUnitDoclet end method getText
-	}
-
-	// JUnitDoclet begin javadoc_method getPreferredSize()
-	/**
-	 * Method testGetPreferredSize is testing getPreferredSize
-	 * @see org.jhotdraw.util.FloatingTextField#getPreferredSize(int)
-	 */
-	// JUnitDoclet end javadoc_method getPreferredSize()
-	public void testGetPreferredSize() throws Exception {
-		// JUnitDoclet begin method getPreferredSize
-		// JUnitDoclet end method getPreferredSize
-	}
-
-	// JUnitDoclet begin javadoc_method endOverlay()
-	/**
-	 * Method testEndOverlay is testing endOverlay
-	 * @see org.jhotdraw.util.FloatingTextField#endOverlay()
-	 */
-	// JUnitDoclet end javadoc_method endOverlay()
-	public void testEndOverlay() throws Exception {
-		// JUnitDoclet begin method endOverlay
-		// JUnitDoclet end method endOverlay
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/GeomTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/GeomTest.java
deleted file mode 100644
index 19a4602a6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/GeomTest.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import org.jhotdraw.util.Geom;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GeomTest is generated by
- * JUnitDoclet to hold the tests for Geom.
- * @see org.jhotdraw.util.Geom
- */
-// JUnitDoclet end javadoc_class
-public class GeomTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Geom geom;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GeomTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GeomTest(String name) {
-		// JUnitDoclet begin method GeomTest
-		super(name);
-		// JUnitDoclet end method GeomTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public Geom createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		// Geom has static methods and cannot be instantiated.
-		return null;
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		geom = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		geom = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method lineContainsPoint()
-	/**
-	 * Method testLineContainsPoint is testing lineContainsPoint
-	 * @see org.jhotdraw.util.Geom#lineContainsPoint(int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method lineContainsPoint()
-	public void testLineContainsPoint() throws Exception {
-		// JUnitDoclet begin method lineContainsPoint
-		// JUnitDoclet end method lineContainsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method direction()
-	/**
-	 * Method testDirection is testing direction
-	 * @see org.jhotdraw.util.Geom#direction(int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method direction()
-	public void testDirection() throws Exception {
-		// JUnitDoclet begin method direction
-		// JUnitDoclet end method direction
-	}
-
-	// JUnitDoclet begin javadoc_method south()
-	/**
-	 * Method testSouth is testing south
-	 * @see org.jhotdraw.util.Geom#south(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method south()
-	public void testSouth() throws Exception {
-		// JUnitDoclet begin method south
-		// JUnitDoclet end method south
-	}
-
-	// JUnitDoclet begin javadoc_method center()
-	/**
-	 * Method testCenter is testing center
-	 * @see org.jhotdraw.util.Geom#center(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method center()
-	public void testCenter() throws Exception {
-		// JUnitDoclet begin method center
-		// JUnitDoclet end method center
-	}
-
-	// JUnitDoclet begin javadoc_method west()
-	/**
-	 * Method testWest is testing west
-	 * @see org.jhotdraw.util.Geom#west(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method west()
-	public void testWest() throws Exception {
-		// JUnitDoclet begin method west
-		// JUnitDoclet end method west
-	}
-
-	// JUnitDoclet begin javadoc_method east()
-	/**
-	 * Method testEast is testing east
-	 * @see org.jhotdraw.util.Geom#east(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method east()
-	public void testEast() throws Exception {
-		// JUnitDoclet begin method east
-		// JUnitDoclet end method east
-	}
-
-	// JUnitDoclet begin javadoc_method north()
-	/**
-	 * Method testNorth is testing north
-	 * @see org.jhotdraw.util.Geom#north(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method north()
-	public void testNorth() throws Exception {
-		// JUnitDoclet begin method north
-		// JUnitDoclet end method north
-	}
-
-	// JUnitDoclet begin javadoc_method corner()
-	/**
-	 * Method testCorner is testing corner
-	 * @see org.jhotdraw.util.Geom#corner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method corner()
-	public void testCorner() throws Exception {
-		// JUnitDoclet begin method corner
-		// JUnitDoclet end method corner
-	}
-
-	// JUnitDoclet begin javadoc_method topLeftCorner()
-	/**
-	 * Method testTopLeftCorner is testing topLeftCorner
-	 * @see org.jhotdraw.util.Geom#topLeftCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method topLeftCorner()
-	public void testTopLeftCorner() throws Exception {
-		// JUnitDoclet begin method topLeftCorner
-		// JUnitDoclet end method topLeftCorner
-	}
-
-	// JUnitDoclet begin javadoc_method topRightCorner()
-	/**
-	 * Method testTopRightCorner is testing topRightCorner
-	 * @see org.jhotdraw.util.Geom#topRightCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method topRightCorner()
-	public void testTopRightCorner() throws Exception {
-		// JUnitDoclet begin method topRightCorner
-		// JUnitDoclet end method topRightCorner
-	}
-
-	// JUnitDoclet begin javadoc_method bottomLeftCorner()
-	/**
-	 * Method testBottomLeftCorner is testing bottomLeftCorner
-	 * @see org.jhotdraw.util.Geom#bottomLeftCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method bottomLeftCorner()
-	public void testBottomLeftCorner() throws Exception {
-		// JUnitDoclet begin method bottomLeftCorner
-		// JUnitDoclet end method bottomLeftCorner
-	}
-
-	// JUnitDoclet begin javadoc_method bottomRightCorner()
-	/**
-	 * Method testBottomRightCorner is testing bottomRightCorner
-	 * @see org.jhotdraw.util.Geom#bottomRightCorner(java.awt.Rectangle)
-	 */
-	// JUnitDoclet end javadoc_method bottomRightCorner()
-	public void testBottomRightCorner() throws Exception {
-		// JUnitDoclet begin method bottomRightCorner
-		// JUnitDoclet end method bottomRightCorner
-	}
-
-	// JUnitDoclet begin javadoc_method range()
-	/**
-	 * Method testRange is testing range
-	 * @see org.jhotdraw.util.Geom#range(int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method range()
-	public void testRange() throws Exception {
-		// JUnitDoclet begin method range
-		// JUnitDoclet end method range
-	}
-
-	// JUnitDoclet begin javadoc_method length2()
-	/**
-	 * Method testLength2 is testing length2
-	 * @see org.jhotdraw.util.Geom#length2(int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method length2()
-	public void testLength2() throws Exception {
-		// JUnitDoclet begin method length2
-		// JUnitDoclet end method length2
-	}
-
-	// JUnitDoclet begin javadoc_method length()
-	/**
-	 * Method testLength is testing length
-	 * @see org.jhotdraw.util.Geom#length(int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method length()
-	public void testLength() throws Exception {
-		// JUnitDoclet begin method length
-		// JUnitDoclet end method length
-	}
-
-	// JUnitDoclet begin javadoc_method pointToAngle()
-	/**
-	 * Method testPointToAngle is testing pointToAngle
-	 * @see org.jhotdraw.util.Geom#pointToAngle(java.awt.Rectangle, java.awt.Point)
-	 */
-	// JUnitDoclet end javadoc_method pointToAngle()
-	public void testPointToAngle() throws Exception {
-		// JUnitDoclet begin method pointToAngle
-		// JUnitDoclet end method pointToAngle
-	}
-
-	// JUnitDoclet begin javadoc_method angleToPoint()
-	/**
-	 * Method testAngleToPoint is testing angleToPoint
-	 * @see org.jhotdraw.util.Geom#angleToPoint(java.awt.Rectangle, double)
-	 */
-	// JUnitDoclet end javadoc_method angleToPoint()
-	public void testAngleToPoint() throws Exception {
-		// JUnitDoclet begin method angleToPoint
-		// JUnitDoclet end method angleToPoint
-	}
-
-	// JUnitDoclet begin javadoc_method polarToPoint()
-	/**
-	 * Method testPolarToPoint is testing polarToPoint
-	 * @see org.jhotdraw.util.Geom#polarToPoint(double, double, double)
-	 */
-	// JUnitDoclet end javadoc_method polarToPoint()
-	public void testPolarToPoint() throws Exception {
-		// JUnitDoclet begin method polarToPoint
-		// JUnitDoclet end method polarToPoint
-	}
-
-	// JUnitDoclet begin javadoc_method ovalAngleToPoint()
-	/**
-	 * Method testOvalAngleToPoint is testing ovalAngleToPoint
-	 * @see org.jhotdraw.util.Geom#ovalAngleToPoint(java.awt.Rectangle, double)
-	 */
-	// JUnitDoclet end javadoc_method ovalAngleToPoint()
-	public void testOvalAngleToPoint() throws Exception {
-		// JUnitDoclet begin method ovalAngleToPoint
-		// JUnitDoclet end method ovalAngleToPoint
-	}
-
-	// JUnitDoclet begin javadoc_method intersect()
-	/**
-	 * Method testIntersect is testing intersect
-	 * @see org.jhotdraw.util.Geom#intersect(int, int, int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method intersect()
-	public void testIntersect() throws Exception {
-		// JUnitDoclet begin method intersect
-		// JUnitDoclet end method intersect
-	}
-
-	// JUnitDoclet begin javadoc_method distanceFromLine()
-	/**
-	 * Method testDistanceFromLine is testing distanceFromLine
-	 * @see org.jhotdraw.util.Geom#distanceFromLine(int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method distanceFromLine()
-	public void testDistanceFromLine() throws Exception {
-		// JUnitDoclet begin method distanceFromLine
-		// JUnitDoclet end method distanceFromLine
-	}
-
-	// JUnitDoclet begin javadoc_method distanceFromLine2D()
-	/**
-	 * Method testDistanceFromLine2D is testing distanceFromLine2D
-	 * @see org.jhotdraw.util.Geom#distanceFromLine2D(int, int, int, int, int, int)
-	 */
-	// JUnitDoclet end javadoc_method distanceFromLine2D()
-	public void testDistanceFromLine2D() throws Exception {
-		// JUnitDoclet begin method distanceFromLine2D
-		// JUnitDoclet end method distanceFromLine2D
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/GraphLayoutTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/GraphLayoutTest.java
deleted file mode 100644
index 8f6178e91..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/GraphLayoutTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import org.jhotdraw.util.GraphLayout;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase GraphLayoutTest is generated by
- * JUnitDoclet to hold the tests for GraphLayout.
- * @see org.jhotdraw.util.GraphLayout
- */
-// JUnitDoclet end javadoc_class
-public class GraphLayoutTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private GraphLayout graphlayout;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor GraphLayoutTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public GraphLayoutTest(String name) {
-		// JUnitDoclet begin method GraphLayoutTest
-		super(name);
-		// JUnitDoclet end method GraphLayoutTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public GraphLayout createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new GraphLayout();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		graphlayout = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		graphlayout = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addNode()
-	/**
-	 * Method testAddNode is testing addNode
-	 * @see org.jhotdraw.util.GraphLayout#addNode(org.jhotdraw.framework.Figure)
-	 */
-	// JUnitDoclet end javadoc_method addNode()
-	public void testAddNode() throws Exception {
-		// JUnitDoclet begin method addNode
-		// JUnitDoclet end method addNode
-	}
-
-	// JUnitDoclet begin javadoc_method addEdge()
-	/**
-	 * Method testAddEdge is testing addEdge
-	 * @see org.jhotdraw.util.GraphLayout#addEdge(org.jhotdraw.framework.ConnectionFigure, int)
-	 */
-	// JUnitDoclet end javadoc_method addEdge()
-	public void testAddEdge() throws Exception {
-		// JUnitDoclet begin method addEdge
-		// JUnitDoclet end method addEdge
-	}
-
-	// JUnitDoclet begin javadoc_method relax()
-	/**
-	 * Method testRelax is testing relax
-	 * @see org.jhotdraw.util.GraphLayout#relax()
-	 */
-	// JUnitDoclet end javadoc_method relax()
-	public void testRelax() throws Exception {
-		// JUnitDoclet begin method relax
-		// JUnitDoclet end method relax
-	}
-
-	// JUnitDoclet begin javadoc_method figureChanged()
-	/**
-	 * Method testFigureChanged is testing figureChanged
-	 * @see org.jhotdraw.util.GraphLayout#figureChanged(org.jhotdraw.framework.FigureChangeEvent)
-	 */
-	// JUnitDoclet end javadoc_method figureChanged()
-	public void testFigureChanged() throws Exception {
-		// JUnitDoclet begin method figureChanged
-		// JUnitDoclet end method figureChanged
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.util.GraphLayout#remove()
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/IconkitTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/IconkitTest.java
deleted file mode 100644
index f0ca1a2ff..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/IconkitTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.Iconkit;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase IconkitTest is generated by
- * JUnitDoclet to hold the tests for Iconkit.
- * @see org.jhotdraw.util.Iconkit
- */
-// JUnitDoclet end javadoc_class
-public class IconkitTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private Iconkit iconkit;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor IconkitTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public IconkitTest(String name) {
-		// JUnitDoclet begin method IconkitTest
-		super(name);
-		// JUnitDoclet end method IconkitTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public Iconkit createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new Iconkit(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		iconkit = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		iconkit = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method instance()
-	/**
-	 * Method testInstance is testing instance
-	 * @see org.jhotdraw.util.Iconkit#instance()
-	 */
-	// JUnitDoclet end javadoc_method instance()
-	public void testInstance() throws Exception {
-		// JUnitDoclet begin method instance
-		// JUnitDoclet end method instance
-	}
-
-	// JUnitDoclet begin javadoc_method loadRegisteredImages()
-	/**
-	 * Method testLoadRegisteredImages is testing loadRegisteredImages
-	 * @see org.jhotdraw.util.Iconkit#loadRegisteredImages(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method loadRegisteredImages()
-	public void testLoadRegisteredImages() throws Exception {
-		// JUnitDoclet begin method loadRegisteredImages
-		// JUnitDoclet end method loadRegisteredImages
-	}
-
-	// JUnitDoclet begin javadoc_method registerImage()
-	/**
-	 * Method testRegisterImage is testing registerImage
-	 * @see org.jhotdraw.util.Iconkit#registerImage(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method registerImage()
-	public void testRegisterImage() throws Exception {
-		// JUnitDoclet begin method registerImage
-		// JUnitDoclet end method registerImage
-	}
-
-	// JUnitDoclet begin javadoc_method registerAndLoadImage()
-	/**
-	 * Method testRegisterAndLoadImage is testing registerAndLoadImage
-	 * @see org.jhotdraw.util.Iconkit#registerAndLoadImage(java.awt.Component, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method registerAndLoadImage()
-	public void testRegisterAndLoadImage() throws Exception {
-		// JUnitDoclet begin method registerAndLoadImage
-		// JUnitDoclet end method registerAndLoadImage
-	}
-
-	// JUnitDoclet begin javadoc_method loadImage()
-	/**
-	 * Method testLoadImage is testing loadImage
-	 * @see org.jhotdraw.util.Iconkit#loadImage(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method loadImage()
-	public void testLoadImage() throws Exception {
-		// JUnitDoclet begin method loadImage
-		// JUnitDoclet end method loadImage
-	}
-
-	// JUnitDoclet begin javadoc_method loadImageResource()
-	/**
-	 * Method testLoadImageResource is testing loadImageResource
-	 * @see org.jhotdraw.util.Iconkit#loadImageResource(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method loadImageResource()
-	public void testLoadImageResource() throws Exception {
-		// JUnitDoclet begin method loadImageResource
-		// JUnitDoclet end method loadImageResource
-	}
-
-	// JUnitDoclet begin javadoc_method getImage()
-	/**
-	 * Method testGetImage is testing getImage
-	 * @see org.jhotdraw.util.Iconkit#getImage(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method getImage()
-	public void testGetImage() throws Exception {
-		// JUnitDoclet begin method getImage
-		// JUnitDoclet end method getImage
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/JDOStorageFormatTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/JDOStorageFormatTest.java
deleted file mode 100644
index e1638c1b9..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/JDOStorageFormatTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import org.jhotdraw.util.JDOStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestCase JDOStorageFormatTest is generated by
-* JUnitDoclet to hold the tests for JDOStorageFormat.
-* @see org.jhotdraw.util.JDOStorageFormat
-*/
-// JUnitDoclet end javadoc_class
-public class JDOStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private JDOStorageFormat jdostorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor JDOStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public JDOStorageFormatTest(String name) {
-		// JUnitDoclet begin method JDOStorageFormatTest
-		super(name);
-		// JUnitDoclet end method JDOStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public JDOStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new JDOStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		jdostorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		jdostorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see org.jhotdraw.util.JDOStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see org.jhotdraw.util.JDOStorageFormat#store(java.lang.String, org.jhotdraw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see org.jhotdraw.util.JDOStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method main()
-	/**
-	 * Method testMain is testing main
-	 * @see org.jhotdraw.util.JDOStorageFormat#main(java.lang.String[])
-	 */
-	// JUnitDoclet end javadoc_method main()
-	public void testMain() throws Exception {
-		// JUnitDoclet begin method main
-		// JUnitDoclet end method main
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/PaletteIconTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/PaletteIconTest.java
deleted file mode 100644
index 86db2c2da..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/PaletteIconTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.util.PaletteIcon;
-import org.jhotdraw.util.Iconkit;
-import org.jhotdraw.application.DrawApplication;
-import org.jhotdraw.framework.JHotDrawRuntimeException;
-import org.jhotdraw.test.JHDTestCase;
-
-import java.awt.*;
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestCase PaletteIconTest is generated by
-* JUnitDoclet to hold the tests for PaletteIcon.
-* @see org.jhotdraw.util.PaletteIcon
-*/
-// JUnitDoclet end javadoc_class
-public class PaletteIconTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PaletteIcon paletteicon;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PaletteIconTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PaletteIconTest(String name) {
-		// JUnitDoclet begin method PaletteIconTest
-		super(name);
-		// JUnitDoclet end method PaletteIconTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PaletteIcon createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Iconkit kit = Iconkit.instance();
-		if (kit == null) {
-			throw new JHotDrawRuntimeException("Iconkit instance isn't set");
-		}
-
-		String iconName = DrawApplication.IMAGES + "SEL";
-		Image im[] = new Image[3];
-		im[0] = kit.loadImageResource(iconName + "1.gif");
-		im[1] = kit.loadImageResource(iconName + "2.gif");
-		im[2] = kit.loadImageResource(iconName + "3.gif");
-
-		MediaTracker tracker = new MediaTracker(getDrawingEditor());
-		for (int i = 0; i < 3; i++) {
-			tracker.addImage(im[i], i);
-		}
-		try {
-			tracker.waitForAll();
-		}
-		catch (Exception e) {
-			// ignore exception
-		}
-
-		return new PaletteIcon(new Dimension(24, 24), im[0], im[1], im[2]);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		paletteicon = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		paletteicon = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method normal()
-	/**
-	 * Method testNormal is testing normal
-	 * @see org.jhotdraw.util.PaletteIcon#normal()
-	 */
-	// JUnitDoclet end javadoc_method normal()
-	public void testNormal() throws Exception {
-		// JUnitDoclet begin method normal
-		// JUnitDoclet end method normal
-	}
-
-	// JUnitDoclet begin javadoc_method pressed()
-	/**
-	 * Method testPressed is testing pressed
-	 * @see org.jhotdraw.util.PaletteIcon#pressed()
-	 */
-	// JUnitDoclet end javadoc_method pressed()
-	public void testPressed() throws Exception {
-		// JUnitDoclet begin method pressed
-		// JUnitDoclet end method pressed
-	}
-
-	// JUnitDoclet begin javadoc_method selected()
-	/**
-	 * Method testSelected is testing selected
-	 * @see org.jhotdraw.util.PaletteIcon#selected()
-	 */
-	// JUnitDoclet end javadoc_method selected()
-	public void testSelected() throws Exception {
-		// JUnitDoclet begin method selected
-		// JUnitDoclet end method selected
-	}
-
-	// JUnitDoclet begin javadoc_method getWidth()
-	/**
-	 * Method testGetWidth is testing getWidth
-	 * @see org.jhotdraw.util.PaletteIcon#getWidth()
-	 */
-	// JUnitDoclet end javadoc_method getWidth()
-	public void testGetWidth() throws Exception {
-		// JUnitDoclet begin method getWidth
-		// JUnitDoclet end method getWidth
-	}
-
-	// JUnitDoclet begin javadoc_method getHeight()
-	/**
-	 * Method testGetHeight is testing getHeight
-	 * @see org.jhotdraw.util.PaletteIcon#getHeight()
-	 */
-	// JUnitDoclet end javadoc_method getHeight()
-	public void testGetHeight() throws Exception {
-		// JUnitDoclet begin method getHeight
-		// JUnitDoclet end method getHeight
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/PaletteLayoutTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/PaletteLayoutTest.java
deleted file mode 100644
index 70b55ea03..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/PaletteLayoutTest.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import java.awt.Point;
-
-import org.jhotdraw.util.PaletteLayout;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase PaletteLayoutTest is generated by
- * JUnitDoclet to hold the tests for PaletteLayout.
- * @see org.jhotdraw.util.PaletteLayout
- */
-// JUnitDoclet end javadoc_class
-public class PaletteLayoutTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private PaletteLayout palettelayout;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor PaletteLayoutTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public PaletteLayoutTest(String name) {
-		// JUnitDoclet begin method PaletteLayoutTest
-		super(name);
-		// JUnitDoclet end method PaletteLayoutTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public PaletteLayout createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new PaletteLayout(10, new Point(5, 5));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		palettelayout = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		palettelayout = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addLayoutComponent()
-	/**
-	 * Method testAddLayoutComponent is testing addLayoutComponent
-	 * @see org.jhotdraw.util.PaletteLayout#addLayoutComponent(java.lang.String, java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method addLayoutComponent()
-	public void testAddLayoutComponent() throws Exception {
-		// JUnitDoclet begin method addLayoutComponent
-		// JUnitDoclet end method addLayoutComponent
-	}
-
-	// JUnitDoclet begin javadoc_method removeLayoutComponent()
-	/**
-	 * Method testRemoveLayoutComponent is testing removeLayoutComponent
-	 * @see org.jhotdraw.util.PaletteLayout#removeLayoutComponent(java.awt.Component)
-	 */
-	// JUnitDoclet end javadoc_method removeLayoutComponent()
-	public void testRemoveLayoutComponent() throws Exception {
-		// JUnitDoclet begin method removeLayoutComponent
-		// JUnitDoclet end method removeLayoutComponent
-	}
-
-	// JUnitDoclet begin javadoc_method preferredLayoutSize()
-	/**
-	 * Method testPreferredLayoutSize is testing preferredLayoutSize
-	 * @see org.jhotdraw.util.PaletteLayout#preferredLayoutSize(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method preferredLayoutSize()
-	public void testPreferredLayoutSize() throws Exception {
-		// JUnitDoclet begin method preferredLayoutSize
-		// JUnitDoclet end method preferredLayoutSize
-	}
-
-	// JUnitDoclet begin javadoc_method minimumLayoutSize()
-	/**
-	 * Method testMinimumLayoutSize is testing minimumLayoutSize
-	 * @see org.jhotdraw.util.PaletteLayout#minimumLayoutSize(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method minimumLayoutSize()
-	public void testMinimumLayoutSize() throws Exception {
-		// JUnitDoclet begin method minimumLayoutSize
-		// JUnitDoclet end method minimumLayoutSize
-	}
-
-	// JUnitDoclet begin javadoc_method layoutContainer()
-	/**
-	 * Method testLayoutContainer is testing layoutContainer
-	 * @see org.jhotdraw.util.PaletteLayout#layoutContainer(java.awt.Container)
-	 */
-	// JUnitDoclet end javadoc_method layoutContainer()
-	public void testLayoutContainer() throws Exception {
-		// JUnitDoclet begin method layoutContainer
-		// JUnitDoclet end method layoutContainer
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/RedoCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/RedoCommandTest.java
deleted file mode 100644
index 9271528c5..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/RedoCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.RedoCommand;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase RedoCommandTest is generated by
- * JUnitDoclet to hold the tests for RedoCommand.
- * @see org.jhotdraw.util.RedoCommand
- */
-// JUnitDoclet end javadoc_class
-public class RedoCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private RedoCommand redocommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor RedoCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public RedoCommandTest(String name) {
-		// JUnitDoclet begin method RedoCommandTest
-		super(name);
-		// JUnitDoclet end method RedoCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public RedoCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new RedoCommand("TestRedo", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		redocommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		redocommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.util.RedoCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see org.jhotdraw.util.RedoCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/ReverseListEnumeratorTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/ReverseListEnumeratorTest.java
deleted file mode 100644
index 8e68c9e8c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/ReverseListEnumeratorTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.ReverseListEnumerator;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ReverseListEnumeratorTest is generated by
- * JUnitDoclet to hold the tests for ReverseListEnumerator.
- * @see org.jhotdraw.util.ReverseListEnumerator
- */
-// JUnitDoclet end javadoc_class
-public class ReverseListEnumeratorTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ReverseListEnumerator reverselistenumerator;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ReverseListEnumeratorTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ReverseListEnumeratorTest(String name) {
-		// JUnitDoclet begin method ReverseListEnumeratorTest
-		super(name);
-		// JUnitDoclet end method ReverseListEnumeratorTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ReverseListEnumerator createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		List l = CollectionsFactory.current().createList();
-		l.add("TestString1");
-		l.add("TestString2");
-		return new ReverseListEnumerator(l);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		reverselistenumerator = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		reverselistenumerator = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNext()
-	/**
-	 * Method testHasNext is testing hasNext
-	 * @see org.jhotdraw.util.ReverseListEnumerator#hasNext()
-	 */
-	// JUnitDoclet end javadoc_method hasNext()
-	public void testHasNext() throws Exception {
-		// JUnitDoclet begin method hasNext
-		// JUnitDoclet end method hasNext
-	}
-
-	// JUnitDoclet begin javadoc_method next()
-	/**
-	 * Method testNext is testing next
-	 * @see org.jhotdraw.util.ReverseListEnumerator#next()
-	 */
-	// JUnitDoclet end javadoc_method next()
-	public void testNext() throws Exception {
-		// JUnitDoclet begin method next
-		// JUnitDoclet end method next
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.util.ReverseListEnumerator#remove()
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/SerializationStorageFormatTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/SerializationStorageFormatTest.java
deleted file mode 100644
index 966634121..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/SerializationStorageFormatTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import org.jhotdraw.util.SerializationStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SerializationStorageFormatTest is generated by
- * JUnitDoclet to hold the tests for SerializationStorageFormat.
- * @see org.jhotdraw.util.SerializationStorageFormat
- */
-// JUnitDoclet end javadoc_class
-public class SerializationStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SerializationStorageFormat serializationstorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SerializationStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SerializationStorageFormatTest(String name) {
-		// JUnitDoclet begin method SerializationStorageFormatTest
-		super(name);
-		// JUnitDoclet end method SerializationStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SerializationStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SerializationStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		serializationstorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		serializationstorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see org.jhotdraw.util.SerializationStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see org.jhotdraw.util.SerializationStorageFormat#store(java.lang.String, org.jhotdraw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see org.jhotdraw.util.SerializationStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StandardStorageFormatTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/StandardStorageFormatTest.java
deleted file mode 100644
index 56b9b9e11..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StandardStorageFormatTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.util.StandardStorageFormat;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardStorageFormatTest is generated by
- * JUnitDoclet to hold the tests for StandardStorageFormat.
- * @see org.jhotdraw.util.StandardStorageFormat
- */
-// JUnitDoclet end javadoc_class
-public class StandardStorageFormatTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardStorageFormat standardstorageformat;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StandardStorageFormatTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardStorageFormatTest(String name) {
-		// JUnitDoclet begin method StandardStorageFormatTest
-		super(name);
-		// JUnitDoclet end method StandardStorageFormatTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public StandardStorageFormat createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new StandardStorageFormat();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardstorageformat = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardstorageformat = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method setFileExtension()
-	/**
-	 * Method testSetGetFileExtension is testing setFileExtension
-	 * and getFileExtension together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.StandardStorageFormat#setFileExtension(java.lang.String)
-	 * @see org.jhotdraw.util.StandardStorageFormat#getFileExtension()
-	 */
-	// JUnitDoclet end javadoc_method setFileExtension()
-	public void testSetGetFileExtension() throws Exception {
-		// JUnitDoclet begin method setFileExtension getFileExtension
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standardstorageformat.setFileExtension(tests[i]);
-			assertEquals(tests[i], standardstorageformat.getFileExtension());
-		}
-		// JUnitDoclet end method setFileExtension getFileExtension
-	}
-
-	// JUnitDoclet begin javadoc_method createFileDescription()
-	/**
-	 * Method testCreateFileDescription is testing createFileDescription
-	 * @see org.jhotdraw.util.StandardStorageFormat#createFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method createFileDescription()
-	public void testCreateFileDescription() throws Exception {
-		// JUnitDoclet begin method createFileDescription
-		// JUnitDoclet end method createFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method setFileDescription()
-	/**
-	 * Method testSetGetFileDescription is testing setFileDescription
-	 * and getFileDescription together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.StandardStorageFormat#setFileDescription(java.lang.String)
-	 * @see org.jhotdraw.util.StandardStorageFormat#getFileDescription()
-	 */
-	// JUnitDoclet end javadoc_method setFileDescription()
-	public void testSetGetFileDescription() throws Exception {
-		// JUnitDoclet begin method setFileDescription getFileDescription
-		java.lang.String[] tests = { "", " ", "a", "A", "�", "�", "0123456789", "012345678901234567890", "\n", null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standardstorageformat.setFileDescription(tests[i]);
-			assertEquals(tests[i], standardstorageformat.getFileDescription());
-		}
-		// JUnitDoclet end method setFileDescription getFileDescription
-	}
-
-	// JUnitDoclet begin javadoc_method setFileFilter()
-	/**
-	 * Method testSetGetFileFilter is testing setFileFilter
-	 * and getFileFilter together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.StandardStorageFormat#setFileFilter(javax.swing.filechooser.FileFilter)
-	 * @see org.jhotdraw.util.StandardStorageFormat#getFileFilter()
-	 */
-	// JUnitDoclet end javadoc_method setFileFilter()
-	public void testSetGetFileFilter() throws Exception {
-		// JUnitDoclet begin method setFileFilter getFileFilter
-		javax.swing.filechooser.FileFilter[] tests = { null, null };
-
-		for (int i = 0; i < tests.length; i++) {
-			standardstorageformat.setFileFilter(tests[i]);
-			assertEquals(tests[i], standardstorageformat.getFileFilter());
-		}
-		// JUnitDoclet end method setFileFilter getFileFilter
-	}
-
-	// JUnitDoclet begin javadoc_method store()
-	/**
-	 * Method testStore is testing store
-	 * @see org.jhotdraw.util.StandardStorageFormat#store(java.lang.String, org.jhotdraw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method store()
-	public void testStore() throws Exception {
-		// JUnitDoclet begin method store
-		// JUnitDoclet end method store
-	}
-
-	// JUnitDoclet begin javadoc_method restore()
-	/**
-	 * Method testRestore is testing restore
-	 * @see org.jhotdraw.util.StandardStorageFormat#restore(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method restore()
-	public void testRestore() throws Exception {
-		// JUnitDoclet begin method restore
-		// JUnitDoclet end method restore
-	}
-
-	// JUnitDoclet begin javadoc_method equals()
-	/**
-	 * Method testEquals is testing equals
-	 * @see org.jhotdraw.util.StandardStorageFormat#equals(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method equals()
-	public void testEquals() throws Exception {
-		// JUnitDoclet begin method equals
-		// JUnitDoclet end method equals
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StandardVersionControlStrategyTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/StandardVersionControlStrategyTest.java
deleted file mode 100644
index fbf711321..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StandardVersionControlStrategyTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.StandardVersionControlStrategy;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StandardVersionControlStrategyTest is generated by
- * JUnitDoclet to hold the tests for StandardVersionControlStrategy.
- * @see org.jhotdraw.util.StandardVersionControlStrategy
- */
-// JUnitDoclet end javadoc_class
-public class StandardVersionControlStrategyTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StandardVersionControlStrategy standardversioncontrolstrategy;
-	// JUnitDoclet end class
-	/**
-	 * Constructor StandardVersionControlStrategyTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StandardVersionControlStrategyTest(String name) {
-		// JUnitDoclet begin method StandardVersionControlStrategyTest
-		super(name);
-		// JUnitDoclet end method StandardVersionControlStrategyTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public StandardVersionControlStrategy createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new StandardVersionControlStrategy(getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		standardversioncontrolstrategy = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		standardversioncontrolstrategy = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method assertCompatibleVersion()
-	/**
-	 * Method testAssertCompatibleVersion is testing assertCompatibleVersion
-	 * @see org.jhotdraw.util.StandardVersionControlStrategy#assertCompatibleVersion()
-	 */
-	// JUnitDoclet end javadoc_method assertCompatibleVersion()
-	public void testAssertCompatibleVersion() throws Exception {
-		// JUnitDoclet begin method assertCompatibleVersion
-		// JUnitDoclet end method assertCompatibleVersion
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StorableInputTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/StorableInputTest.java
deleted file mode 100644
index 17f581ef7..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StorableInputTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-
-import org.jhotdraw.util.StorableInput;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StorableInputTest is generated by
- * JUnitDoclet to hold the tests for StorableInput.
- * @see org.jhotdraw.util.StorableInput
- */
-// JUnitDoclet end javadoc_class
-public class StorableInputTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StorableInput storableinput;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StorableInputTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StorableInputTest(String name) {
-		// JUnitDoclet begin method StorableInputTest
-		super(name);
-		// JUnitDoclet end method StorableInputTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public StorableInput createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		File tempFile = File.createTempFile("StorableInputTest", "dat");
-		FileInputStream stream = new FileInputStream(tempFile);
-		tempFile.deleteOnExit();
-		return new StorableInput(stream);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		storableinput = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		storableinput = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method readStorable()
-	/**
-	 * Method testReadStorable is testing readStorable
-	 * @see org.jhotdraw.util.StorableInput#readStorable()
-	 */
-	// JUnitDoclet end javadoc_method readStorable()
-	public void testReadStorable() throws Exception {
-		// JUnitDoclet begin method readStorable
-		// JUnitDoclet end method readStorable
-	}
-
-	// JUnitDoclet begin javadoc_method readString()
-	/**
-	 * Method testReadString is testing readString
-	 * @see org.jhotdraw.util.StorableInput#readString()
-	 */
-	// JUnitDoclet end javadoc_method readString()
-	public void testReadString() throws Exception {
-		// JUnitDoclet begin method readString
-		// JUnitDoclet end method readString
-	}
-
-	// JUnitDoclet begin javadoc_method readInt()
-	/**
-	 * Method testReadInt is testing readInt
-	 * @see org.jhotdraw.util.StorableInput#readInt()
-	 */
-	// JUnitDoclet end javadoc_method readInt()
-	public void testReadInt() throws Exception {
-		// JUnitDoclet begin method readInt
-		// JUnitDoclet end method readInt
-	}
-
-	// JUnitDoclet begin javadoc_method readLong()
-	/**
-	 * Method testReadLong is testing readLong
-	 * @see org.jhotdraw.util.StorableInput#readLong()
-	 */
-	// JUnitDoclet end javadoc_method readLong()
-	public void testReadLong() throws Exception {
-		// JUnitDoclet begin method readLong
-		// JUnitDoclet end method readLong
-	}
-
-	// JUnitDoclet begin javadoc_method readColor()
-	/**
-	 * Method testReadColor is testing readColor
-	 * @see org.jhotdraw.util.StorableInput#readColor()
-	 */
-	// JUnitDoclet end javadoc_method readColor()
-	public void testReadColor() throws Exception {
-		// JUnitDoclet begin method readColor
-		// JUnitDoclet end method readColor
-	}
-
-	// JUnitDoclet begin javadoc_method readDouble()
-	/**
-	 * Method testReadDouble is testing readDouble
-	 * @see org.jhotdraw.util.StorableInput#readDouble()
-	 */
-	// JUnitDoclet end javadoc_method readDouble()
-	public void testReadDouble() throws Exception {
-		// JUnitDoclet begin method readDouble
-		// JUnitDoclet end method readDouble
-	}
-
-	// JUnitDoclet begin javadoc_method readBoolean()
-	/**
-	 * Method testReadBoolean is testing readBoolean
-	 * @see org.jhotdraw.util.StorableInput#readBoolean()
-	 */
-	// JUnitDoclet end javadoc_method readBoolean()
-	public void testReadBoolean() throws Exception {
-		// JUnitDoclet begin method readBoolean
-		// JUnitDoclet end method readBoolean
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StorableOutputTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/StorableOutputTest.java
deleted file mode 100644
index 94f7cad19..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StorableOutputTest.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import java.io.File;
-import java.io.FileOutputStream;
-
-import org.jhotdraw.util.StorableOutput;
-
-// JUnitDoclet begin import
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StorableOutputTest is generated by
- * JUnitDoclet to hold the tests for StorableOutput.
- * @see org.jhotdraw.util.StorableOutput
- */
-// JUnitDoclet end javadoc_class
-public class StorableOutputTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StorableOutput storableoutput;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StorableOutputTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StorableOutputTest(String name) {
-		// JUnitDoclet begin method StorableOutputTest
-		super(name);
-		// JUnitDoclet end method StorableOutputTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public StorableOutput createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		File tempFile = File.createTempFile("StorableOutputTest", "dat");
-		FileOutputStream stream = new FileOutputStream(tempFile);
-		tempFile.deleteOnExit();
-		return new StorableOutput(stream);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		storableoutput = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		storableoutput = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method writeStorable()
-	/**
-	 * Method testWriteStorable is testing writeStorable
-	 * @see org.jhotdraw.util.StorableOutput#writeStorable(org.jhotdraw.util.Storable)
-	 */
-	// JUnitDoclet end javadoc_method writeStorable()
-	public void testWriteStorable() throws Exception {
-		// JUnitDoclet begin method writeStorable
-		// JUnitDoclet end method writeStorable
-	}
-
-	// JUnitDoclet begin javadoc_method writeInt()
-	/**
-	 * Method testWriteInt is testing writeInt
-	 * @see org.jhotdraw.util.StorableOutput#writeInt(int)
-	 */
-	// JUnitDoclet end javadoc_method writeInt()
-	public void testWriteInt() throws Exception {
-		// JUnitDoclet begin method writeInt
-		// JUnitDoclet end method writeInt
-	}
-
-	// JUnitDoclet begin javadoc_method writeLong()
-	/**
-	 * Method testWriteLong is testing writeLong
-	 * @see org.jhotdraw.util.StorableOutput#writeLong(long)
-	 */
-	// JUnitDoclet end javadoc_method writeLong()
-	public void testWriteLong() throws Exception {
-		// JUnitDoclet begin method writeLong
-		// JUnitDoclet end method writeLong
-	}
-
-	// JUnitDoclet begin javadoc_method writeColor()
-	/**
-	 * Method testWriteColor is testing writeColor
-	 * @see org.jhotdraw.util.StorableOutput#writeColor(java.awt.Color)
-	 */
-	// JUnitDoclet end javadoc_method writeColor()
-	public void testWriteColor() throws Exception {
-		// JUnitDoclet begin method writeColor
-		// JUnitDoclet end method writeColor
-	}
-
-	// JUnitDoclet begin javadoc_method writeDouble()
-	/**
-	 * Method testWriteDouble is testing writeDouble
-	 * @see org.jhotdraw.util.StorableOutput#writeDouble(double)
-	 */
-	// JUnitDoclet end javadoc_method writeDouble()
-	public void testWriteDouble() throws Exception {
-		// JUnitDoclet begin method writeDouble
-		// JUnitDoclet end method writeDouble
-	}
-
-	// JUnitDoclet begin javadoc_method writeBoolean()
-	/**
-	 * Method testWriteBoolean is testing writeBoolean
-	 * @see org.jhotdraw.util.StorableOutput#writeBoolean(boolean)
-	 */
-	// JUnitDoclet end javadoc_method writeBoolean()
-	public void testWriteBoolean() throws Exception {
-		// JUnitDoclet begin method writeBoolean
-		// JUnitDoclet end method writeBoolean
-	}
-
-	// JUnitDoclet begin javadoc_method writeString()
-	/**
-	 * Method testWriteString is testing writeString
-	 * @see org.jhotdraw.util.StorableOutput#writeString(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method writeString()
-	public void testWriteString() throws Exception {
-		// JUnitDoclet begin method writeString
-		// JUnitDoclet end method writeString
-	}
-
-	// JUnitDoclet begin javadoc_method close()
-	/**
-	 * Method testClose is testing close
-	 * @see org.jhotdraw.util.StorableOutput#close()
-	 */
-	// JUnitDoclet end javadoc_method close()
-	public void testClose() throws Exception {
-		// JUnitDoclet begin method close
-		// JUnitDoclet end method close
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StorageFormatManagerTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/StorageFormatManagerTest.java
deleted file mode 100644
index e2e17144c..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/StorageFormatManagerTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import junit.framework.TestCase;
-
-// JUnitDoclet begin import
-import org.jhotdraw.util.StandardStorageFormat;
-import org.jhotdraw.util.StorageFormatManager;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase StorageFormatManagerTest is generated by
- * JUnitDoclet to hold the tests for StorageFormatManager.
- * @see org.jhotdraw.util.StorageFormatManager
- */
-// JUnitDoclet end javadoc_class
-public class StorageFormatManagerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private StorageFormatManager storageformatmanager;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor StorageFormatManagerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public StorageFormatManagerTest(String name) {
-		// JUnitDoclet begin method StorageFormatManagerTest
-		super(name);
-		// JUnitDoclet end method StorageFormatManagerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public StorageFormatManager createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new StorageFormatManager();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		storageformatmanager = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		storageformatmanager = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method addStorageFormat()
-	/**
-	 * Method testAddStorageFormat is testing addStorageFormat
-	 * @see org.jhotdraw.util.StorageFormatManager#addStorageFormat(org.jhotdraw.util.StorageFormat)
-	 */
-	// JUnitDoclet end javadoc_method addStorageFormat()
-	public void testAddStorageFormat() throws Exception {
-		// JUnitDoclet begin method addStorageFormat
-		// JUnitDoclet end method addStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method removeStorageFormat()
-	/**
-	 * Method testRemoveStorageFormat is testing removeStorageFormat
-	 * @see org.jhotdraw.util.StorageFormatManager#removeStorageFormat(org.jhotdraw.util.StorageFormat)
-	 */
-	// JUnitDoclet end javadoc_method removeStorageFormat()
-	public void testRemoveStorageFormat() throws Exception {
-		// JUnitDoclet begin method removeStorageFormat
-		// JUnitDoclet end method removeStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method containsStorageFormat()
-	/**
-	 * Method testContainsStorageFormat is testing containsStorageFormat
-	 * @see org.jhotdraw.util.StorageFormatManager#containsStorageFormat(org.jhotdraw.util.StorageFormat)
-	 */
-	// JUnitDoclet end javadoc_method containsStorageFormat()
-	public void testContainsStorageFormat() throws Exception {
-		// JUnitDoclet begin method containsStorageFormat
-		// JUnitDoclet end method containsStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method setDefaultStorageFormat()
-	/**
-	 * Method testSetGetDefaultStorageFormat is testing setDefaultStorageFormat
-	 * and getDefaultStorageFormat together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.StorageFormatManager#setDefaultStorageFormat(org.jhotdraw.util.StorageFormat)
-	 * @see org.jhotdraw.util.StorageFormatManager#getDefaultStorageFormat()
-	 */
-	// JUnitDoclet end javadoc_method setDefaultStorageFormat()
-	public void testSetGetDefaultStorageFormat() throws Exception {
-		// JUnitDoclet begin method setDefaultStorageFormat getDefaultStorageFormat
-		org.jhotdraw.util.StorageFormat[] tests = { new StandardStorageFormat(), null };
-
-		for (int i = 0; i < tests.length; i++) {
-			storageformatmanager.setDefaultStorageFormat(tests[i]);
-			assertEquals(tests[i], storageformatmanager.getDefaultStorageFormat());
-		}
-		// JUnitDoclet end method setDefaultStorageFormat getDefaultStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method registerFileFilters()
-	/**
-	 * Method testRegisterFileFilters is testing registerFileFilters
-	 * @see org.jhotdraw.util.StorageFormatManager#registerFileFilters(javax.swing.JFileChooser)
-	 */
-	// JUnitDoclet end javadoc_method registerFileFilters()
-	public void testRegisterFileFilters() throws Exception {
-		// JUnitDoclet begin method registerFileFilters
-		// JUnitDoclet end method registerFileFilters
-	}
-
-	// JUnitDoclet begin javadoc_method findStorageFormat()
-	/**
-	 * Method testFindStorageFormat is testing findStorageFormat
-	 * @see org.jhotdraw.util.StorageFormatManager#findStorageFormat(javax.swing.filechooser.FileFilter)
-	 */
-	// JUnitDoclet end javadoc_method findStorageFormat()
-	public void testFindStorageFormat() throws Exception {
-		// JUnitDoclet begin method findStorageFormat
-		// JUnitDoclet end method findStorageFormat
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoCommandTest.java
deleted file mode 100644
index bb055e3bf..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoCommandTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.UndoCommand;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoCommandTest is generated by
- * JUnitDoclet to hold the tests for UndoCommand.
- * @see org.jhotdraw.util.UndoCommand
- */
-// JUnitDoclet end javadoc_class
-public class UndoCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoCommand undocommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoCommandTest(String name) {
-		// JUnitDoclet begin method UndoCommandTest
-		super(name);
-		// JUnitDoclet end method UndoCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UndoCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new UndoCommand("TestUndo", getDrawingEditor());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undocommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undocommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.util.UndoCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutableWithView()
-	/**
-	 * Method testIsExecutableWithView is testing isExecutableWithView
-	 * @see org.jhotdraw.util.UndoCommand#isExecutableWithView()
-	 */
-	// JUnitDoclet end javadoc_method isExecutableWithView()
-	public void testIsExecutableWithView() throws Exception {
-		// JUnitDoclet begin method isExecutableWithView
-		// JUnitDoclet end method isExecutableWithView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoManagerTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoManagerTest.java
deleted file mode 100644
index 2ae653a0b..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoManagerTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.util.UndoManager;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoManagerTest is generated by
- * JUnitDoclet to hold the tests for UndoManager.
- * @see org.jhotdraw.util.UndoManager
- */
-// JUnitDoclet end javadoc_class
-public class UndoManagerTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoManager undomanager;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoManagerTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoManagerTest(String name) {
-		// JUnitDoclet begin method UndoManagerTest
-		super(name);
-		// JUnitDoclet end method UndoManagerTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UndoManager createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new UndoManager();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undomanager = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undomanager = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method pushUndo()
-	/**
-	 * Method testPushUndo is testing pushUndo
-	 * @see org.jhotdraw.util.UndoManager#pushUndo(org.jhotdraw.util.Undoable)
-	 */
-	// JUnitDoclet end javadoc_method pushUndo()
-	public void testPushUndo() throws Exception {
-		// JUnitDoclet begin method pushUndo
-		// JUnitDoclet end method pushUndo
-	}
-
-	// JUnitDoclet begin javadoc_method pushRedo()
-	/**
-	 * Method testPushRedo is testing pushRedo
-	 * @see org.jhotdraw.util.UndoManager#pushRedo(org.jhotdraw.util.Undoable)
-	 */
-	// JUnitDoclet end javadoc_method pushRedo()
-	public void testPushRedo() throws Exception {
-		// JUnitDoclet begin method pushRedo
-		// JUnitDoclet end method pushRedo
-	}
-
-	// JUnitDoclet begin javadoc_method isUndoable()
-	/**
-	 * Method testIsUndoable is testing isUndoable
-	 * @see org.jhotdraw.util.UndoManager#isUndoable()
-	 */
-	// JUnitDoclet end javadoc_method isUndoable()
-	public void testIsUndoable() throws Exception {
-		// JUnitDoclet begin method isUndoable
-		// JUnitDoclet end method isUndoable
-	}
-
-	// JUnitDoclet begin javadoc_method isRedoable()
-	/**
-	 * Method testIsRedoable is testing isRedoable
-	 * @see org.jhotdraw.util.UndoManager#isRedoable()
-	 */
-	// JUnitDoclet end javadoc_method isRedoable()
-	public void testIsRedoable() throws Exception {
-		// JUnitDoclet begin method isRedoable
-		// JUnitDoclet end method isRedoable
-	}
-
-	// JUnitDoclet begin javadoc_method getUndoSize()
-	/**
-	 * Method testGetUndoSize is testing getUndoSize
-	 * @see org.jhotdraw.util.UndoManager#getUndoSize()
-	 */
-	// JUnitDoclet end javadoc_method getUndoSize()
-	public void testGetUndoSize() throws Exception {
-		// JUnitDoclet begin method getUndoSize
-		// JUnitDoclet end method getUndoSize
-	}
-
-	// JUnitDoclet begin javadoc_method getRedoSize()
-	/**
-	 * Method testGetRedoSize is testing getRedoSize
-	 * @see org.jhotdraw.util.UndoManager#getRedoSize()
-	 */
-	// JUnitDoclet end javadoc_method getRedoSize()
-	public void testGetRedoSize() throws Exception {
-		// JUnitDoclet begin method getRedoSize
-		// JUnitDoclet end method getRedoSize
-	}
-
-	// JUnitDoclet begin javadoc_method popUndo()
-	/**
-	 * Method testPopUndo is testing popUndo
-	 * @see org.jhotdraw.util.UndoManager#popUndo()
-	 */
-	// JUnitDoclet end javadoc_method popUndo()
-	public void testPopUndo() throws Exception {
-		// JUnitDoclet begin method popUndo
-		// JUnitDoclet end method popUndo
-	}
-
-	// JUnitDoclet begin javadoc_method popRedo()
-	/**
-	 * Method testPopRedo is testing popRedo
-	 * @see org.jhotdraw.util.UndoManager#popRedo()
-	 */
-	// JUnitDoclet end javadoc_method popRedo()
-	public void testPopRedo() throws Exception {
-		// JUnitDoclet begin method popRedo
-		// JUnitDoclet end method popRedo
-	}
-
-	// JUnitDoclet begin javadoc_method clearUndos()
-	/**
-	 * Method testClearUndos is testing clearUndos
-	 * @see org.jhotdraw.util.UndoManager#clearUndos()
-	 */
-	// JUnitDoclet end javadoc_method clearUndos()
-	public void testClearUndos() throws Exception {
-		// JUnitDoclet begin method clearUndos
-		// JUnitDoclet end method clearUndos
-	}
-
-	// JUnitDoclet begin javadoc_method clearRedos()
-	/**
-	 * Method testClearRedos is testing clearRedos
-	 * @see org.jhotdraw.util.UndoManager#clearRedos()
-	 */
-	// JUnitDoclet end javadoc_method clearRedos()
-	public void testClearRedos() throws Exception {
-		// JUnitDoclet begin method clearRedos
-		// JUnitDoclet end method clearRedos
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoRedoActivityTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoRedoActivityTest.java
deleted file mode 100644
index d5b0c2c93..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoRedoActivityTest.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import java.awt.Point;
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.framework.FigureEnumeration;
-import org.jhotdraw.standard.PasteCommand;
-import org.jhotdraw.standard.SingleFigureEnumerator;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.UndoRedoActivity;
-import org.jhotdraw.util.Undoable;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoRedoActivityTest is generated by
- * JUnitDoclet to hold the tests for UndoRedoActivity.
- * @see org.jhotdraw.util.UndoRedoActivity
- */
-// JUnitDoclet end javadoc_class
-public class UndoRedoActivityTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoRedoActivity undoredoactivity;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoRedoActivityTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoRedoActivityTest(String name) {
-		// JUnitDoclet begin method UndoRedoActivityTest
-		super(name);
-		// JUnitDoclet end method UndoRedoActivityTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UndoRedoActivity createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Undoable undoActivity = new PasteCommand.UndoActivity(getDrawingEditor().view());
-		undoActivity.setAffectedFigures(new SingleFigureEnumerator(new RectangleFigure(new Point(33, 33), new Point(44, 44))));
-		return (UndoRedoActivity)UndoRedoActivity.createUndoRedoActivity(undoActivity);
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoredoactivity = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoredoactivity = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method undo()
-	/**
-	 * Method testUndo is testing undo
-	 * @see org.jhotdraw.util.UndoRedoActivity#undo()
-	 */
-	// JUnitDoclet end javadoc_method undo()
-	public void testUndo() throws Exception {
-		// JUnitDoclet begin method undo
-		// JUnitDoclet end method undo
-	}
-
-	// JUnitDoclet begin javadoc_method redo()
-	/**
-	 * Method testRedo is testing redo
-	 * @see org.jhotdraw.util.UndoRedoActivity#redo()
-	 */
-	// JUnitDoclet end javadoc_method redo()
-	public void testRedo() throws Exception {
-		// JUnitDoclet begin method redo
-		// JUnitDoclet end method redo
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoable()
-	/**
-	 * Method testSetIsUndoable is testing setUndoable
-	 * and isUndoable together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoRedoActivity#setUndoable(boolean)
-	 * @see org.jhotdraw.util.UndoRedoActivity#isUndoable()
-	 */
-	// JUnitDoclet end javadoc_method setUndoable()
-	public void testSetIsUndoable() throws Exception {
-		// JUnitDoclet begin method setUndoable isUndoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoredoactivity.setUndoable(tests[i]);
-			assertEquals(tests[i], undoredoactivity.isUndoable());
-		}
-		// JUnitDoclet end method setUndoable isUndoable
-	}
-
-	// JUnitDoclet begin javadoc_method setRedoable()
-	/**
-	 * Method testSetIsRedoable is testing setRedoable
-	 * and isRedoable together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoRedoActivity#setRedoable(boolean)
-	 * @see org.jhotdraw.util.UndoRedoActivity#isRedoable()
-	 */
-	// JUnitDoclet end javadoc_method setRedoable()
-	public void testSetIsRedoable() throws Exception {
-		// JUnitDoclet begin method setRedoable isRedoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoredoactivity.setRedoable(tests[i]);
-			assertEquals(tests[i], undoredoactivity.isRedoable());
-		}
-		// JUnitDoclet end method setRedoable isRedoable
-	}
-
-	// JUnitDoclet begin javadoc_method setAffectedFigures()
-	/**
-	 * Method testSetGetAffectedFigures is testing setAffectedFigures
-	 * and getAffectedFigures together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoRedoActivity#setAffectedFigures(org.jhotdraw.framework.FigureEnumeration)
-	 * @see org.jhotdraw.util.UndoRedoActivity#getAffectedFigures()
-	 */
-	// JUnitDoclet end javadoc_method setAffectedFigures()
-	public void testSetGetAffectedFigures() throws Exception {
-		// JUnitDoclet begin method setAffectedFigures getAffectedFigures
-		FigureEnumeration[] tests = { new SingleFigureEnumerator(new RectangleFigure(new Point(44, 44), new Point(55, 55)))};
-
-		for (int i = 0; i < tests.length; i++) {
-			undoredoactivity.setAffectedFigures(tests[i]);
-			FigureEnumeration returned = undoredoactivity.getAffectedFigures();
-			tests[i].reset();
-			while (returned.hasNextFigure()) {
-				assertTrue(tests[i].hasNextFigure());
-				assertEquals(tests[i].nextFigure(), returned.nextFigure());
-			}
-			assertFalse(tests[i].hasNextFigure());
-		}
-		// JUnitDoclet end method setAffectedFigures getAffectedFigures
-	}
-
-	// JUnitDoclet begin method testSetNullAffectedFigures()
-	/**
-	  * Test a null argument to setAffectedFigures.  Expect an IllegalArgumentException
-	  * 
-	  * @see org.jhotdraw.util.UndoRedoActivity#setAffectedFigures(org.jhotdraw.framework.PointConstrainer)
-	  */
-	public void testSetNullAffectedFigures() throws Exception {
-		FigureEnumeration original = undoredoactivity.getAffectedFigures();
-
-		try {
-			undoredoactivity.setAffectedFigures(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method getAffectedFiguresCount()
-	/**
-	 * Method testGetAffectedFiguresCount is testing getAffectedFiguresCount
-	 * @see org.jhotdraw.util.UndoRedoActivity#getAffectedFiguresCount()
-	 */
-	// JUnitDoclet end javadoc_method getAffectedFiguresCount()
-	public void testGetAffectedFiguresCount() throws Exception {
-		// JUnitDoclet begin method getAffectedFiguresCount
-		// JUnitDoclet end method getAffectedFiguresCount
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see org.jhotdraw.util.UndoRedoActivity#getDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see org.jhotdraw.util.UndoRedoActivity#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method getReversedActivity()
-	/**
-	 * Method testGetReversedActivity is testing getReversedActivity
-	 * @see org.jhotdraw.util.UndoRedoActivity#getReversedActivity()
-	 */
-	// JUnitDoclet end javadoc_method getReversedActivity()
-	public void testGetReversedActivity() throws Exception {
-		// JUnitDoclet begin method getReversedActivity
-		// JUnitDoclet end method getReversedActivity
-	}
-
-	// JUnitDoclet begin javadoc_method createUndoRedoActivity()
-	/**
-	 * Method testCreateUndoRedoActivity is testing createUndoRedoActivity
-	 * @see org.jhotdraw.util.UndoRedoActivity#createUndoRedoActivity(org.jhotdraw.util.Undoable)
-	 */
-	// JUnitDoclet end javadoc_method createUndoRedoActivity()
-	public void testCreateUndoRedoActivity() throws Exception {
-		// JUnitDoclet begin method createUndoRedoActivity
-		// JUnitDoclet end method createUndoRedoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableAdapterTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableAdapterTest.java
deleted file mode 100644
index 357b685f7..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableAdapterTest.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.UndoableAdapter;
-import org.jhotdraw.standard.SingleFigureEnumerator;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.framework.FigureEnumeration;
-
-import java.awt.*;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableAdapterTest is generated by
- * JUnitDoclet to hold the tests for UndoableAdapter.
- * @see org.jhotdraw.util.UndoableAdapter
- */
-// JUnitDoclet end javadoc_class
-public class UndoableAdapterTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableAdapter undoableadapter;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableAdapterTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableAdapterTest(String name) {
-		// JUnitDoclet begin method UndoableAdapterTest
-		super(name);
-		// JUnitDoclet end method UndoableAdapterTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UndoableAdapter createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new UndoableAdapter(getDrawingEditor().view());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoableadapter = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoableadapter = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method undo()
-	/**
-	 * Method testUndo is testing undo
-	 * @see org.jhotdraw.util.UndoableAdapter#undo()
-	 */
-	// JUnitDoclet end javadoc_method undo()
-	public void testUndo() throws Exception {
-		// JUnitDoclet begin method undo
-		// JUnitDoclet end method undo
-	}
-
-	// JUnitDoclet begin javadoc_method redo()
-	/**
-	 * Method testRedo is testing redo
-	 * @see org.jhotdraw.util.UndoableAdapter#redo()
-	 */
-	// JUnitDoclet end javadoc_method redo()
-	public void testRedo() throws Exception {
-		// JUnitDoclet begin method redo
-		// JUnitDoclet end method redo
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoable()
-	/**
-	 * Method testSetIsUndoable is testing setUndoable
-	 * and isUndoable together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoableAdapter#setUndoable(boolean)
-	 * @see org.jhotdraw.util.UndoableAdapter#isUndoable()
-	 */
-	// JUnitDoclet end javadoc_method setUndoable()
-	public void testSetIsUndoable() throws Exception {
-		// JUnitDoclet begin method setUndoable isUndoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoableadapter.setUndoable(tests[i]);
-			assertEquals(tests[i], undoableadapter.isUndoable());
-		}
-		// JUnitDoclet end method setUndoable isUndoable
-	}
-
-	// JUnitDoclet begin javadoc_method setRedoable()
-	/**
-	 * Method testSetIsRedoable is testing setRedoable
-	 * and isRedoable together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoableAdapter#setRedoable(boolean)
-	 * @see org.jhotdraw.util.UndoableAdapter#isRedoable()
-	 */
-	// JUnitDoclet end javadoc_method setRedoable()
-	public void testSetIsRedoable() throws Exception {
-		// JUnitDoclet begin method setRedoable isRedoable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoableadapter.setRedoable(tests[i]);
-			assertEquals(tests[i], undoableadapter.isRedoable());
-		}
-		// JUnitDoclet end method setRedoable isRedoable
-	}
-
-	// JUnitDoclet begin javadoc_method setAffectedFigures()
-	/**
-	 * Method testSetGetAffectedFigures is testing setAffectedFigures
-	 * and getAffectedFigures together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoableAdapter#setAffectedFigures(org.jhotdraw.framework.FigureEnumeration)
-	 * @see org.jhotdraw.util.UndoableAdapter#getAffectedFigures()
-	 */
-	// JUnitDoclet end javadoc_method setAffectedFigures()
-	public void testSetGetAffectedFigures() throws Exception {
-		// JUnitDoclet begin method setAffectedFigures getAffectedFigures
-		FigureEnumeration[] tests = { new SingleFigureEnumerator(new RectangleFigure(new Point(30, 30), new Point(60, 60)))};
-
-		for (int i = 0; i < tests.length; i++) {
-			undoableadapter.setAffectedFigures(tests[i]);
-			FigureEnumeration returned = undoableadapter.getAffectedFigures();
-			tests[i].reset();
-			while (returned.hasNextFigure()) {
-				assertTrue(tests[i].hasNextFigure());
-				assertEquals(tests[i].nextFigure(), returned.nextFigure());
-			}
-			assertFalse(tests[i].hasNextFigure());
-		}
-		// JUnitDoclet end method setAffectedFigures getAffectedFigures
-	}
-
-	// JUnitDoclet begin method testSetNullAffectedFigures()
-	/**
-		* Test a null argument to setAffectedFigures.  Expect an IllegalArgumentException
-		* 
-		* @see org.jhotdraw.util.UndoRedoActivity#setAffectedFigures(org.jhotdraw.framework.PointConstrainer)
-		*/
-	public void testSetNullAffectedFigures() throws Exception {
-		FigureEnumeration original = undoableadapter.getAffectedFigures();
-
-		try {
-			undoableadapter.setAffectedFigures(null);
-			fail("IllegalArgumentException expected");
-		}
-		catch (IllegalArgumentException ok) {
-		}
-	}
-	// JUnitDoclet end method
-
-	// JUnitDoclet begin javadoc_method getAffectedFiguresCount()
-	/**
-	 * Method testGetAffectedFiguresCount is testing getAffectedFiguresCount
-	 * @see org.jhotdraw.util.UndoableAdapter#getAffectedFiguresCount()
-	 */
-	// JUnitDoclet end javadoc_method getAffectedFiguresCount()
-	public void testGetAffectedFiguresCount() throws Exception {
-		// JUnitDoclet begin method getAffectedFiguresCount
-		// JUnitDoclet end method getAffectedFiguresCount
-	}
-
-	// JUnitDoclet begin javadoc_method release()
-	/**
-	 * Method testRelease is testing release
-	 * @see org.jhotdraw.util.UndoableAdapter#release()
-	 */
-	// JUnitDoclet end javadoc_method release()
-	public void testRelease() throws Exception {
-		// JUnitDoclet begin method release
-		// JUnitDoclet end method release
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see org.jhotdraw.util.UndoableAdapter#getDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableCommandTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableCommandTest.java
deleted file mode 100644
index 28aef01f6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableCommandTest.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.standard.DeleteCommand;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.UndoableCommand;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableCommandTest is generated by
- * JUnitDoclet to hold the tests for UndoableCommand.
- * @see org.jhotdraw.util.UndoableCommand
- */
-// JUnitDoclet end javadoc_class
-public class UndoableCommandTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableCommand undoablecommand;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableCommandTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableCommandTest(String name) {
-		// JUnitDoclet begin method UndoableCommandTest
-		super(name);
-		// JUnitDoclet end method UndoableCommandTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UndoableCommand createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new UndoableCommand(new DeleteCommand("Delete", getDrawingEditor()));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoablecommand = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoablecommand = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method execute()
-	/**
-	 * Method testExecute is testing execute
-	 * @see org.jhotdraw.util.UndoableCommand#execute()
-	 */
-	// JUnitDoclet end javadoc_method execute()
-	public void testExecute() throws Exception {
-		// JUnitDoclet begin method execute
-		// JUnitDoclet end method execute
-	}
-
-	// JUnitDoclet begin javadoc_method isExecutable()
-	/**
-	 * Method testIsExecutable is testing isExecutable
-	 * @see org.jhotdraw.util.UndoableCommand#isExecutable()
-	 */
-	// JUnitDoclet end javadoc_method isExecutable()
-	public void testIsExecutable() throws Exception {
-		// JUnitDoclet begin method isExecutable
-		// JUnitDoclet end method isExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method name()
-	/**
-	 * Method testName is testing name
-	 * @see org.jhotdraw.util.UndoableCommand#name()
-	 */
-	// JUnitDoclet end javadoc_method name()
-	public void testName() throws Exception {
-		// JUnitDoclet begin method name
-		// JUnitDoclet end method name
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingEditor()
-	/**
-	 * Method testGetDrawingEditor is testing getDrawingEditor
-	 * @see org.jhotdraw.util.UndoableCommand#getDrawingEditor()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingEditor()
-	public void testGetDrawingEditor() throws Exception {
-		// JUnitDoclet begin method getDrawingEditor
-		// JUnitDoclet end method getDrawingEditor
-	}
-
-	// JUnitDoclet begin javadoc_method view()
-	/**
-	 * Method testView is testing view
-	 * @see org.jhotdraw.util.UndoableCommand#view()
-	 */
-	// JUnitDoclet end javadoc_method view()
-	public void testView() throws Exception {
-		// JUnitDoclet begin method view
-		// JUnitDoclet end method view
-	}
-
-	// JUnitDoclet begin javadoc_method figureSelectionChanged()
-	/**
-	 * Method testFigureSelectionChanged is testing figureSelectionChanged
-	 * @see org.jhotdraw.util.UndoableCommand#figureSelectionChanged(org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method figureSelectionChanged()
-	public void testFigureSelectionChanged() throws Exception {
-		// JUnitDoclet begin method figureSelectionChanged
-		// JUnitDoclet end method figureSelectionChanged
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoActivity()
-	/**
-	 * Method testSetGetUndoActivity is testing setUndoActivity
-	 * and getUndoActivity together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoableCommand#setUndoActivity(org.jhotdraw.util.Undoable)
-	 * @see org.jhotdraw.util.UndoableCommand#getUndoActivity()
-	 */
-	// JUnitDoclet end javadoc_method setUndoActivity()
-	public void testSetGetUndoActivity() throws Exception {
-		// JUnitDoclet begin method setUndoActivity getUndoActivity
-		// Do nothing: UndoCommand.setUndoActivity() is a no-op
-		// JUnitDoclet end method setUndoActivity getUndoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method addCommandListener()
-	/**
-	 * Method testAddCommandListener is testing addCommandListener
-	 * @see org.jhotdraw.util.UndoableCommand#addCommandListener(org.jhotdraw.util.CommandListener)
-	 */
-	// JUnitDoclet end javadoc_method addCommandListener()
-	public void testAddCommandListener() throws Exception {
-		// JUnitDoclet begin method addCommandListener
-		// JUnitDoclet end method addCommandListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeCommandListener()
-	/**
-	 * Method testRemoveCommandListener is testing removeCommandListener
-	 * @see org.jhotdraw.util.UndoableCommand#removeCommandListener(org.jhotdraw.util.CommandListener)
-	 */
-	// JUnitDoclet end javadoc_method removeCommandListener()
-	public void testRemoveCommandListener() throws Exception {
-		// JUnitDoclet begin method removeCommandListener
-		// JUnitDoclet end method removeCommandListener
-	}
-
-	// JUnitDoclet begin javadoc_method createEventDispatcher()
-	/**
-	 * Method testCreateEventDispatcher is testing createEventDispatcher
-	 * @see org.jhotdraw.util.UndoableCommand#createEventDispatcher()
-	 */
-	// JUnitDoclet end javadoc_method createEventDispatcher()
-	public void testCreateEventDispatcher() throws Exception {
-		// JUnitDoclet begin method createEventDispatcher
-		// JUnitDoclet end method createEventDispatcher
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecuted()
-	/**
-	 * Method testCommandExecuted is testing commandExecuted
-	 * @see org.jhotdraw.util.UndoableCommand#commandExecuted(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecuted()
-	public void testCommandExecuted() throws Exception {
-		// JUnitDoclet begin method commandExecuted
-		// JUnitDoclet end method commandExecuted
-	}
-
-	// JUnitDoclet begin javadoc_method commandExecutable()
-	/**
-	 * Method testCommandExecutable is testing commandExecutable
-	 * @see org.jhotdraw.util.UndoableCommand#commandExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandExecutable()
-	public void testCommandExecutable() throws Exception {
-		// JUnitDoclet begin method commandExecutable
-		// JUnitDoclet end method commandExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method commandNotExecutable()
-	/**
-	 * Method testCommandNotExecutable is testing commandNotExecutable
-	 * @see org.jhotdraw.util.UndoableCommand#commandNotExecutable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method commandNotExecutable()
-	public void testCommandNotExecutable() throws Exception {
-		// JUnitDoclet begin method commandNotExecutable
-		// JUnitDoclet end method commandNotExecutable
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableHandleTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableHandleTest.java
deleted file mode 100644
index 7fb322de6..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableHandleTest.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import java.awt.Point;
-
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.standard.BoxHandleKit;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.UndoableHandle;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableHandleTest is generated by
- * JUnitDoclet to hold the tests for UndoableHandle.
- * @see org.jhotdraw.util.UndoableHandle
- */
-// JUnitDoclet end javadoc_class
-public class UndoableHandleTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableHandle undoablehandle;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableHandleTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableHandleTest(String name) {
-		// JUnitDoclet begin method UndoableHandleTest
-		super(name);
-		// JUnitDoclet end method UndoableHandleTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UndoableHandle createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new UndoableHandle(BoxHandleKit.south(new RectangleFigure(new Point(44, 44), new Point(88, 88))));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoablehandle = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoablehandle = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method locate()
-	/**
-	 * Method testLocate is testing locate
-	 * @see org.jhotdraw.util.UndoableHandle#locate()
-	 */
-	// JUnitDoclet end javadoc_method locate()
-	public void testLocate() throws Exception {
-		// JUnitDoclet begin method locate
-		// JUnitDoclet end method locate
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStart()
-	/**
-	 * Method testInvokeStart is testing invokeStart
-	 * @see org.jhotdraw.util.UndoableHandle#invokeStart(int, int, org.jhotdraw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method invokeStart()
-	public void testInvokeStart() throws Exception {
-		// JUnitDoclet begin method invokeStart
-		// JUnitDoclet end method invokeStart
-	}
-
-	// JUnitDoclet begin javadoc_method invokeStep()
-	/**
-	 * Method testInvokeStep is testing invokeStep
-	 * @see org.jhotdraw.util.UndoableHandle#invokeStep(int, int, org.jhotdraw.framework.Drawing)
-	 */
-	// JUnitDoclet end javadoc_method invokeStep()
-	public void testInvokeStep() throws Exception {
-		// JUnitDoclet begin method invokeStep
-		// JUnitDoclet end method invokeStep
-	}
-
-	// JUnitDoclet begin javadoc_method invokeEnd()
-	/**
-	 * Method testInvokeEnd is testing invokeEnd
-	 * @see org.jhotdraw.util.UndoableHandle#invokeEnd(int, int, int, int, org.jhotdraw.framework.DrawingView)
-	 */
-	// JUnitDoclet end javadoc_method invokeEnd()
-	public void testInvokeEnd() throws Exception {
-		// JUnitDoclet begin method invokeEnd
-		// JUnitDoclet end method invokeEnd
-	}
-
-	// JUnitDoclet begin javadoc_method owner()
-	/**
-	 * Method testOwner is testing owner
-	 * @see org.jhotdraw.util.UndoableHandle#owner()
-	 */
-	// JUnitDoclet end javadoc_method owner()
-	public void testOwner() throws Exception {
-		// JUnitDoclet begin method owner
-		// JUnitDoclet end method owner
-	}
-
-	// JUnitDoclet begin javadoc_method displayBox()
-	/**
-	 * Method testDisplayBox is testing displayBox
-	 * @see org.jhotdraw.util.UndoableHandle#displayBox()
-	 */
-	// JUnitDoclet end javadoc_method displayBox()
-	public void testDisplayBox() throws Exception {
-		// JUnitDoclet begin method displayBox
-		// JUnitDoclet end method displayBox
-	}
-
-	// JUnitDoclet begin javadoc_method containsPoint()
-	/**
-	 * Method testContainsPoint is testing containsPoint
-	 * @see org.jhotdraw.util.UndoableHandle#containsPoint(int, int)
-	 */
-	// JUnitDoclet end javadoc_method containsPoint()
-	public void testContainsPoint() throws Exception {
-		// JUnitDoclet begin method containsPoint
-		// JUnitDoclet end method containsPoint
-	}
-
-	// JUnitDoclet begin javadoc_method draw()
-	/**
-	 * Method testDraw is testing draw
-	 * @see org.jhotdraw.util.UndoableHandle#draw(java.awt.Graphics)
-	 */
-	// JUnitDoclet end javadoc_method draw()
-	public void testDraw() throws Exception {
-		// JUnitDoclet begin method draw
-		// JUnitDoclet end method draw
-	}
-
-	// JUnitDoclet begin javadoc_method getDrawingView()
-	/**
-	 * Method testGetDrawingView is testing getDrawingView
-	 * @see org.jhotdraw.util.UndoableHandle#getDrawingView()
-	 */
-	// JUnitDoclet end javadoc_method getDrawingView()
-	public void testGetDrawingView() throws Exception {
-		// JUnitDoclet begin method getDrawingView
-		// JUnitDoclet end method getDrawingView
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoActivity()
-	/**
-	 * Method testSetGetUndoActivity is testing setUndoActivity
-	 * and getUndoActivity together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoableHandle#setUndoActivity(org.jhotdraw.util.Undoable)
-	 * @see org.jhotdraw.util.UndoableHandle#getUndoActivity()
-	 */
-	// JUnitDoclet end javadoc_method setUndoActivity()
-	public void testSetGetUndoActivity() throws Exception {
-		// JUnitDoclet begin method setUndoActivity getUndoActivity
-		// Do nothing: UndoableHandle.setUndoActivity() is a no-op.
-		// JUnitDoclet end method setUndoActivity getUndoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableToolTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableToolTest.java
deleted file mode 100644
index 34b5acfb8..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UndoableToolTest.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.contrib.DiamondFigure;
-import org.jhotdraw.standard.CreationTool;
-import org.jhotdraw.test.JHDTestCase;
-import org.jhotdraw.util.UndoableTool;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase UndoableToolTest is generated by
- * JUnitDoclet to hold the tests for UndoableTool.
- * @see org.jhotdraw.util.UndoableTool
- */
-// JUnitDoclet end javadoc_class
-public class UndoableToolTest
-// JUnitDoclet begin extends_implements
-extends JHDTestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private UndoableTool undoabletool;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor UndoableToolTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public UndoableToolTest(String name) {
-		// JUnitDoclet begin method UndoableToolTest
-		super(name);
-		// JUnitDoclet end method UndoableToolTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public UndoableTool createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new UndoableTool(new UndoableTool(new CreationTool(getDrawingEditor(), new DiamondFigure())));
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		undoabletool = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		undoabletool = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method activate()
-	/**
-	 * Method testActivate is testing activate
-	 * @see org.jhotdraw.util.UndoableTool#activate()
-	 */
-	// JUnitDoclet end javadoc_method activate()
-	public void testActivate() throws Exception {
-		// JUnitDoclet begin method activate
-		// JUnitDoclet end method activate
-	}
-
-	// JUnitDoclet begin javadoc_method deactivate()
-	/**
-	 * Method testDeactivate is testing deactivate
-	 * @see org.jhotdraw.util.UndoableTool#deactivate()
-	 */
-	// JUnitDoclet end javadoc_method deactivate()
-	public void testDeactivate() throws Exception {
-		// JUnitDoclet begin method deactivate
-		// JUnitDoclet end method deactivate
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDown()
-	/**
-	 * Method testMouseDown is testing mouseDown
-	 * @see org.jhotdraw.util.UndoableTool#mouseDown(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDown()
-	public void testMouseDown() throws Exception {
-		// JUnitDoclet begin method mouseDown
-		// JUnitDoclet end method mouseDown
-	}
-
-	// JUnitDoclet begin javadoc_method mouseDrag()
-	/**
-	 * Method testMouseDrag is testing mouseDrag
-	 * @see org.jhotdraw.util.UndoableTool#mouseDrag(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseDrag()
-	public void testMouseDrag() throws Exception {
-		// JUnitDoclet begin method mouseDrag
-		// JUnitDoclet end method mouseDrag
-	}
-
-	// JUnitDoclet begin javadoc_method mouseUp()
-	/**
-	 * Method testMouseUp is testing mouseUp
-	 * @see org.jhotdraw.util.UndoableTool#mouseUp(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseUp()
-	public void testMouseUp() throws Exception {
-		// JUnitDoclet begin method mouseUp
-		// JUnitDoclet end method mouseUp
-	}
-
-	// JUnitDoclet begin javadoc_method mouseMove()
-	/**
-	 * Method testMouseMove is testing mouseMove
-	 * @see org.jhotdraw.util.UndoableTool#mouseMove(java.awt.event.MouseEvent, int, int)
-	 */
-	// JUnitDoclet end javadoc_method mouseMove()
-	public void testMouseMove() throws Exception {
-		// JUnitDoclet begin method mouseMove
-		// JUnitDoclet end method mouseMove
-	}
-
-	// JUnitDoclet begin javadoc_method keyDown()
-	/**
-	 * Method testKeyDown is testing keyDown
-	 * @see org.jhotdraw.util.UndoableTool#keyDown(java.awt.event.KeyEvent, int)
-	 */
-	// JUnitDoclet end javadoc_method keyDown()
-	public void testKeyDown() throws Exception {
-		// JUnitDoclet begin method keyDown
-		// JUnitDoclet end method keyDown
-	}
-
-	// JUnitDoclet begin javadoc_method isActive()
-	/**
-	 * Method testIsActive is testing isActive
-	 * @see org.jhotdraw.util.UndoableTool#isActive()
-	 */
-	// JUnitDoclet end javadoc_method isActive()
-	public void testIsActive() throws Exception {
-		// JUnitDoclet begin method isActive
-		// JUnitDoclet end method isActive
-	}
-
-	// JUnitDoclet begin javadoc_method setUsable()
-	/**
-	 * Method testSetIsUsable is testing setUsable
-	 * and isUsable together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoableTool#setUsable(boolean)
-	 * @see org.jhotdraw.util.UndoableTool#isUsable()
-	 */
-	// JUnitDoclet end javadoc_method setUsable()
-	public void testSetIsUsable() throws Exception {
-		// JUnitDoclet begin method setUsable isUsable
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoabletool.setUsable(tests[i]);
-			assertEquals(tests[i], undoabletool.isUsable());
-		}
-		// JUnitDoclet end method setUsable isUsable
-	}
-
-	// JUnitDoclet begin javadoc_method setEnabled()
-	/**
-	 * Method testSetIsEnabled is testing setEnabled
-	 * and isEnabled together by setting some value
-	 * and verifying it by reading.
-	 * @see org.jhotdraw.util.UndoableTool#setEnabled(boolean)
-	 * @see org.jhotdraw.util.UndoableTool#isEnabled()
-	 */
-	// JUnitDoclet end javadoc_method setEnabled()
-	public void testSetIsEnabled() throws Exception {
-		// JUnitDoclet begin method setEnabled isEnabled
-		boolean[] tests = { true, false };
-
-		for (int i = 0; i < tests.length; i++) {
-			undoabletool.setEnabled(tests[i]);
-			assertEquals(tests[i], undoabletool.isEnabled());
-		}
-		// JUnitDoclet end method setEnabled isEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method editor()
-	/**
-	 * Method testEditor is testing editor
-	 * @see org.jhotdraw.util.UndoableTool#editor()
-	 */
-	// JUnitDoclet end javadoc_method editor()
-	public void testEditor() throws Exception {
-		// JUnitDoclet begin method editor
-		// JUnitDoclet end method editor
-	}
-
-	// JUnitDoclet begin javadoc_method view()
-	/**
-	 * Method testView is testing view
-	 * @see org.jhotdraw.util.UndoableTool#view()
-	 */
-	// JUnitDoclet end javadoc_method view()
-	public void testView() throws Exception {
-		// JUnitDoclet begin method view
-		// JUnitDoclet end method view
-	}
-
-	// JUnitDoclet begin javadoc_method setUndoActivity()
-	/**
-	 * @see org.jhotdraw.util.UndoableTool#setUndoActivity(org.jhotdraw.util.Undoable)
-	 * @see org.jhotdraw.util.UndoableTool#getUndoActivity()
-	 */
-	// JUnitDoclet end javadoc_method setUndoActivity()
-	public void testSetGetUndoActivity() throws Exception {
-		// JUnitDoclet begin method setUndoActivity getUndoActivity
-		// Do nothing: UndoableTool.setUndoActivity is a no-op
-		// JUnitDoclet end method setUndoActivity getUndoActivity
-	}
-
-	// JUnitDoclet begin javadoc_method toolUsable()
-	/**
-	 * Method testToolUsable is testing toolUsable
-	 * @see org.jhotdraw.util.UndoableTool#toolUsable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUsable()
-	public void testToolUsable() throws Exception {
-		// JUnitDoclet begin method toolUsable
-		// JUnitDoclet end method toolUsable
-	}
-
-	// JUnitDoclet begin javadoc_method toolUnusable()
-	/**
-	 * Method testToolUnusable is testing toolUnusable
-	 * @see org.jhotdraw.util.UndoableTool#toolUnusable(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolUnusable()
-	public void testToolUnusable() throws Exception {
-		// JUnitDoclet begin method toolUnusable
-		// JUnitDoclet end method toolUnusable
-	}
-
-	// JUnitDoclet begin javadoc_method toolActivated()
-	/**
-	 * Method testToolActivated is testing toolActivated
-	 * @see org.jhotdraw.util.UndoableTool#toolActivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolActivated()
-	public void testToolActivated() throws Exception {
-		// JUnitDoclet begin method toolActivated
-		// JUnitDoclet end method toolActivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolDeactivated()
-	/**
-	 * Method testToolDeactivated is testing toolDeactivated
-	 * @see org.jhotdraw.util.UndoableTool#toolDeactivated(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDeactivated()
-	public void testToolDeactivated() throws Exception {
-		// JUnitDoclet begin method toolDeactivated
-		// JUnitDoclet end method toolDeactivated
-	}
-
-	// JUnitDoclet begin javadoc_method toolEnabled()
-	/**
-	 * Method testToolEnabled is testing toolEnabled
-	 * @see org.jhotdraw.util.UndoableTool#toolEnabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolEnabled()
-	public void testToolEnabled() throws Exception {
-		// JUnitDoclet begin method toolEnabled
-		// JUnitDoclet end method toolEnabled
-	}
-
-	// JUnitDoclet begin javadoc_method toolDisabled()
-	/**
-	 * Method testToolDisabled is testing toolDisabled
-	 * @see org.jhotdraw.util.UndoableTool#toolDisabled(java.util.EventObject)
-	 */
-	// JUnitDoclet end javadoc_method toolDisabled()
-	public void testToolDisabled() throws Exception {
-		// JUnitDoclet begin method toolDisabled
-		// JUnitDoclet end method toolDisabled
-	}
-
-	// JUnitDoclet begin javadoc_method addToolListener()
-	/**
-	 * Method testAddToolListener is testing addToolListener
-	 * @see org.jhotdraw.util.UndoableTool#addToolListener(org.jhotdraw.framework.ToolListener)
-	 */
-	// JUnitDoclet end javadoc_method addToolListener()
-	public void testAddToolListener() throws Exception {
-		// JUnitDoclet begin method addToolListener
-		// JUnitDoclet end method addToolListener
-	}
-
-	// JUnitDoclet begin javadoc_method removeToolListener()
-	/**
-	 * Method testRemoveToolListener is testing removeToolListener
-	 * @see org.jhotdraw.util.UndoableTool#removeToolListener(org.jhotdraw.framework.ToolListener)
-	 */
-	// JUnitDoclet end javadoc_method removeToolListener()
-	public void testRemoveToolListener() throws Exception {
-		// JUnitDoclet begin method removeToolListener
-		// JUnitDoclet end method removeToolListener
-	}
-
-	// JUnitDoclet begin javadoc_method createEventDispatcher()
-	/**
-	 * Method testCreateEventDispatcher is testing createEventDispatcher
-	 * @see org.jhotdraw.util.UndoableTool#createEventDispatcher()
-	 */
-	// JUnitDoclet end javadoc_method createEventDispatcher()
-	public void testCreateEventDispatcher() throws Exception {
-		// JUnitDoclet begin method createEventDispatcher
-		// JUnitDoclet end method createEventDispatcher
-	}
-
-	// JUnitDoclet begin javadoc_method getActiveView()
-	/**
-	 * Method testGetActiveView is testing getActiveView
-	 * @see org.jhotdraw.util.UndoableTool#getActiveView()
-	 */
-	// JUnitDoclet end javadoc_method getActiveView()
-	public void testGetActiveView() throws Exception {
-		// JUnitDoclet begin method getActiveView
-		// JUnitDoclet end method getActiveView
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UtilSuite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/UtilSuite.java
deleted file mode 100644
index 293917f46..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/UtilSuite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite UtilSuite
-*/
-// JUnitDoclet end javadoc_class
-public class UtilSuite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.util");
-
-		suite.addTestSuite(org.jhotdraw.test.util.ReverseListEnumeratorTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.StandardVersionControlStrategyTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.VersionManagementTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.UndoableHandleTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.UndoRedoActivityTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.UndoableAdapterTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.UndoableToolTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.RedoCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.UndoCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.UndoableCommandTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.GraphLayoutTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.BoundsTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.StorageFormatManagerTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.SerializationStorageFormatTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.StandardStorageFormatTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.PaletteLayoutTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.PaletteIconTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.IconkitTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.GeomTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.FloatingTextFieldTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.FillerTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.CommandMenuTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.CommandChoiceTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.CommandButtonTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.StorableInputTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.StorableOutputTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.UndoManagerTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.ColorMapTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.ClipboardTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/VersionManagementTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/VersionManagementTest.java
deleted file mode 100644
index a64ed6137..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/VersionManagementTest.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util;
-
-// JUnitDoclet begin import
-import org.jhotdraw.util.VersionManagement;
-import junit.framework.TestCase;
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase VersionManagementTest is generated by
- * JUnitDoclet to hold the tests for VersionManagement.
- * @see org.jhotdraw.util.VersionManagement
- */
-// JUnitDoclet end javadoc_class
-public class VersionManagementTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private VersionManagement versionmanagement;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor VersionManagementTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public VersionManagementTest(String name) {
-		// JUnitDoclet begin method VersionManagementTest
-		super(name);
-		// JUnitDoclet end method VersionManagementTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public VersionManagement createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new VersionManagement();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		versionmanagement = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		versionmanagement = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method getJHotDrawVersion()
-	/**
-	 * Method testGetJHotDrawVersion is testing getJHotDrawVersion
-	 * @see org.jhotdraw.util.VersionManagement#getJHotDrawVersion()
-	 */
-	// JUnitDoclet end javadoc_method getJHotDrawVersion()
-	public void testGetJHotDrawVersion() throws Exception {
-		// JUnitDoclet begin method getJHotDrawVersion
-		// JUnitDoclet end method getJHotDrawVersion
-	}
-
-	// JUnitDoclet begin javadoc_method getPackageVersion()
-	/**
-	 * Method testGetPackageVersion is testing getPackageVersion
-	 * @see org.jhotdraw.util.VersionManagement#getPackageVersion(java.lang.Package)
-	 */
-	// JUnitDoclet end javadoc_method getPackageVersion()
-	public void testGetPackageVersion() throws Exception {
-		// JUnitDoclet begin method getPackageVersion
-		// JUnitDoclet end method getPackageVersion
-	}
-
-	// JUnitDoclet begin javadoc_method isCompatibleVersion()
-	/**
-	 * Method testIsCompatibleVersion is testing isCompatibleVersion
-	 * @see org.jhotdraw.util.VersionManagement#isCompatibleVersion(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method isCompatibleVersion()
-	public void testIsCompatibleVersion() throws Exception {
-		// JUnitDoclet begin method isCompatibleVersion
-		// JUnitDoclet end method isCompatibleVersion
-	}
-
-	// JUnitDoclet begin javadoc_method readVersionFromFile()
-	/**
-	 * Method testReadVersionFromFile is testing readVersionFromFile
-	 * @see org.jhotdraw.util.VersionManagement#readVersionFromFile(java.lang.String, java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method readVersionFromFile()
-	public void testReadVersionFromFile() throws Exception {
-		// JUnitDoclet begin method readVersionFromFile
-		// JUnitDoclet end method readVersionFromFile
-	}
-
-	// JUnitDoclet begin javadoc_method normalizePackageName()
-	/**
-	 * Method testNormalizePackageName is testing normalizePackageName
-	 * @see org.jhotdraw.util.VersionManagement#normalizePackageName(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method normalizePackageName()
-	public void testNormalizePackageName() throws Exception {
-		// JUnitDoclet begin method normalizePackageName
-		// JUnitDoclet end method normalizePackageName
-	}
-
-	// JUnitDoclet begin javadoc_method extractVersionInfo()
-	/**
-	 * Method testExtractVersionInfo is testing extractVersionInfo
-	 * @see org.jhotdraw.util.VersionManagement#extractVersionInfo(java.lang.String)
-	 */
-	// JUnitDoclet end javadoc_method extractVersionInfo()
-	public void testExtractVersionInfo() throws Exception {
-		// JUnitDoclet begin method extractVersionInfo
-		// JUnitDoclet end method extractVersionInfo
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/AllTests.java
deleted file mode 100644
index 2e6ad2fd0..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/AllTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util.collections.jdk11;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.util.collections.jdk11");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(CollectionsFactoryJDK11Test.class));
-		suite.addTest(new TestSuite(IteratorWrapperTest.class));
-		suite.addTest(new TestSuite(ListWrapperTest.class));
-		suite.addTest(new TestSuite(MapWrapperTest.class));
-		suite.addTest(new TestSuite(SetWrapperTest.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java
deleted file mode 100644
index 2ac7507a5..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/CollectionsFactoryJDK11Test.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util.collections.jdk11;
-
-import org.jhotdraw.util.collections.jdk11.CollectionsFactoryJDK11;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CollectionsFactoryJDK11Test is generated by
- * JUnitDoclet to hold the tests for CollectionsFactoryJDK11.
- * @see org.jhotdraw.util.collections.jdk11.CollectionsFactoryJDK11
- */
-// JUnitDoclet end javadoc_class
-public class CollectionsFactoryJDK11Test
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CollectionsFactoryJDK11 collectionsfactoryjdk11;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CollectionsFactoryJDK11Test is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CollectionsFactoryJDK11Test(String name) {
-		// JUnitDoclet begin method CollectionsFactoryJDK11Test
-		super(name);
-		// JUnitDoclet end method CollectionsFactoryJDK11Test
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CollectionsFactoryJDK11 createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CollectionsFactoryJDK11();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		collectionsfactoryjdk11 = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		collectionsfactoryjdk11 = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createList()
-	/**
-	 * Method testCreateList is testing createList
-	 * @see org.jhotdraw.util.collections.jdk11.CollectionsFactoryJDK11#createList()
-	 */
-	// JUnitDoclet end javadoc_method createList()
-	public void testCreateList() throws Exception {
-		// JUnitDoclet begin method createList
-		// JUnitDoclet end method createList
-	}
-
-	// JUnitDoclet begin javadoc_method createMap()
-	/**
-	 * Method testCreateMap is testing createMap
-	 * @see org.jhotdraw.util.collections.jdk11.CollectionsFactoryJDK11#createMap()
-	 */
-	// JUnitDoclet end javadoc_method createMap()
-	public void testCreateMap() throws Exception {
-		// JUnitDoclet begin method createMap
-		// JUnitDoclet end method createMap
-	}
-
-	// JUnitDoclet begin javadoc_method createSet()
-	/**
-	 * Method testCreateSet is testing createSet
-	 * @see org.jhotdraw.util.collections.jdk11.CollectionsFactoryJDK11#createSet()
-	 */
-	// JUnitDoclet end javadoc_method createSet()
-	public void testCreateSet() throws Exception {
-		// JUnitDoclet begin method createSet
-		// JUnitDoclet end method createSet
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/IteratorWrapperTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/IteratorWrapperTest.java
deleted file mode 100644
index 86a5925a8..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/IteratorWrapperTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util.collections.jdk11;
-
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.figures.PolyLineFigure;
-import org.jhotdraw.util.collections.jdk11.IteratorWrapper;
-
-import java.util.Vector;
-import java.awt.*;
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestCase IteratorWrapperTest is generated by
-* JUnitDoclet to hold the tests for IteratorWrapper.
-* @see org.jhotdraw.util.collections.jdk11.IteratorWrapper
-*/
-// JUnitDoclet end javadoc_class
-public class IteratorWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private IteratorWrapper iteratorwrapper;
-	// JUnitDoclet end class
-
-	/**
-	* Constructor IteratorWrapperTest is
-	* basically calling the inherited constructor to
-	* initiate the TestCase for use by the Framework.
-	*/
-	public IteratorWrapperTest(String name) {
-		// JUnitDoclet begin method IteratorWrapperTest
-		super(name);
-		// JUnitDoclet end method IteratorWrapperTest
-	}
-
-	/**
-	* Factory method for instances of the class to be tested.
-	*/
-	public IteratorWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		Vector v = new Vector();
-		v.add(new RectangleFigure(new Point(10, 10), new Point(100, 100)));
-		v.add(new PolyLineFigure(20, 20));
-		v.add(new RectangleFigure(new Point(100, 10), new Point(150, 100)));
-		return new IteratorWrapper(v.elements());
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	* Method setUp is overwriting the framework method to
-	* prepare an instance of this TestCase for a single test.
-	* It's called from the JUnit framework only.
-	*/
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		iteratorwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	* Method tearDown is overwriting the framework method to
-	* clean up after each single test of this TestCase.
-	* It's called from the JUnit framework only.
-	*/
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		iteratorwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method hasNext()
-	/**
-	* Method testHasNext is testing hasNext
-	* @see org.jhotdraw.util.collections.jdk11.IteratorWrapper#hasNext()
-	*/
-	// JUnitDoclet end javadoc_method hasNext()
-	public void testHasNext() throws Exception {
-		// JUnitDoclet begin method hasNext
-		// JUnitDoclet end method hasNext
-	}
-
-	// JUnitDoclet begin javadoc_method next()
-	/**
-	* Method testNext is testing next
-	* @see org.jhotdraw.util.collections.jdk11.IteratorWrapper#next()
-	*/
-	// JUnitDoclet end javadoc_method next()
-	public void testNext() throws Exception {
-		// JUnitDoclet begin method next
-		// JUnitDoclet end method next
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	* Method testRemove is testing remove
-	* @see org.jhotdraw.util.collections.jdk11.IteratorWrapper#remove()
-	*/
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	* JUnitDoclet moves marker to this method, if there is not match
-	* for them in the regenerated code and if the marker is not empty.
-	* This way, no test gets lost when regenerating after renaming.
-	* <b>Method testVault is supposed to be empty.</b>
-	*/
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/Jdk11Suite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/Jdk11Suite.java
deleted file mode 100644
index 4e5de4aeb..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/Jdk11Suite.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util.collections.jdk11;
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite Jdk11Suite
-*/
-// JUnitDoclet end javadoc_class
-public class Jdk11Suite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// JUnitDoclet end class
-
-	public static TestSuite suite() {
-
-		TestSuite suite;
-
-		suite = new TestSuite("org.jhotdraw.test.util.collections.jdk11");
-
-		suite.addTestSuite(org.jhotdraw.test.util.collections.jdk11.SetWrapperTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.collections.jdk11.CollectionsFactoryJDK11Test.class);
-		suite.addTestSuite(org.jhotdraw.test.util.collections.jdk11.MapWrapperTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.collections.jdk11.ListWrapperTest.class);
-		suite.addTestSuite(org.jhotdraw.test.util.collections.jdk11.IteratorWrapperTest.class);
-
-		// JUnitDoclet begin method suite()
-		// JUnitDoclet end method suite()
-
-		return suite;
-	}
-
-	/**
-	* Method to execute the TestSuite from command line
-	* using JUnit's textui.TestRunner .
-	*/
-	public static void main(String[] args) {
-		// JUnitDoclet begin method testsuite.main
-		junit.textui.TestRunner.run(suite());
-		// JUnitDoclet end method testsuite.main
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/ListWrapperTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/ListWrapperTest.java
deleted file mode 100644
index ec1456bef..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/ListWrapperTest.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util.collections.jdk11;
-
-import org.jhotdraw.util.collections.jdk11.ListWrapper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase ListWrapperTest is generated by
- * JUnitDoclet to hold the tests for ListWrapper.
- * @see org.jhotdraw.util.collections.jdk11.ListWrapper
- */
-// JUnitDoclet end javadoc_class
-public class ListWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private ListWrapper listwrapper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor ListWrapperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public ListWrapperTest(String name) {
-		// JUnitDoclet begin method ListWrapperTest
-		super(name);
-		// JUnitDoclet end method ListWrapperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public ListWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new ListWrapper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		listwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		listwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method contains()
-	/**
-	 * Method testContains is testing contains
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#contains(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method contains()
-	public void testContains() throws Exception {
-		// JUnitDoclet begin method contains
-		// JUnitDoclet end method contains
-	}
-
-	// JUnitDoclet begin javadoc_method iterator()
-	/**
-	 * Method testIterator is testing iterator
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#iterator()
-	 */
-	// JUnitDoclet end javadoc_method iterator()
-	public void testIterator() throws Exception {
-		// JUnitDoclet begin method iterator
-		// JUnitDoclet end method iterator
-	}
-
-	// JUnitDoclet begin javadoc_method toArray()
-	/**
-	 * Method testToArray is testing toArray
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#toArray()
-	 */
-	// JUnitDoclet end javadoc_method toArray()
-	public void testToArray() throws Exception {
-		// JUnitDoclet begin method toArray
-		// JUnitDoclet end method toArray
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#add(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#remove(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method containsAll()
-	/**
-	 * Method testContainsAll is testing containsAll
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#containsAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method containsAll()
-	public void testContainsAll() throws Exception {
-		// JUnitDoclet begin method containsAll
-		// JUnitDoclet end method containsAll
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeAll()
-	/**
-	 * Method testRemoveAll is testing removeAll
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#removeAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method removeAll()
-	public void testRemoveAll() throws Exception {
-		// JUnitDoclet begin method removeAll
-		// JUnitDoclet end method removeAll
-	}
-
-	// JUnitDoclet begin javadoc_method retainAll()
-	/**
-	 * Method testRetainAll is testing retainAll
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#retainAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method retainAll()
-	public void testRetainAll() throws Exception {
-		// JUnitDoclet begin method retainAll
-		// JUnitDoclet end method retainAll
-	}
-
-	// JUnitDoclet begin javadoc_method clear()
-	/**
-	 * Method testClear is testing clear
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#clear()
-	 */
-	// JUnitDoclet end javadoc_method clear()
-	public void testClear() throws Exception {
-		// JUnitDoclet begin method clear
-		// JUnitDoclet end method clear
-	}
-
-	// JUnitDoclet begin javadoc_method get()
-	/**
-	 * Method testGet is testing get
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#get(int)
-	 */
-	// JUnitDoclet end javadoc_method get()
-	public void testGet() throws Exception {
-		// JUnitDoclet begin method get
-		// JUnitDoclet end method get
-	}
-
-	// JUnitDoclet begin javadoc_method set()
-	/**
-	 * Method testSet is testing set
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#set(int, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method set()
-	public void testSet() throws Exception {
-		// JUnitDoclet begin method set
-		// JUnitDoclet end method set
-	}
-
-	// JUnitDoclet begin javadoc_method indexOf()
-	/**
-	 * Method testIndexOf is testing indexOf
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#indexOf(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method indexOf()
-	public void testIndexOf() throws Exception {
-		// JUnitDoclet begin method indexOf
-		// JUnitDoclet end method indexOf
-	}
-
-	// JUnitDoclet begin javadoc_method lastIndexOf()
-	/**
-	 * Method testLastIndexOf is testing lastIndexOf
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#lastIndexOf(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method lastIndexOf()
-	public void testLastIndexOf() throws Exception {
-		// JUnitDoclet begin method lastIndexOf
-		// JUnitDoclet end method lastIndexOf
-	}
-
-	// JUnitDoclet begin javadoc_method listIterator()
-	/**
-	 * Method testListIterator is testing listIterator
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#listIterator()
-	 */
-	// JUnitDoclet end javadoc_method listIterator()
-	public void testListIterator() throws Exception {
-		// JUnitDoclet begin method listIterator
-		// JUnitDoclet end method listIterator
-	}
-
-	// JUnitDoclet begin javadoc_method subList()
-	/**
-	 * Method testSubList is testing subList
-	 * @see org.jhotdraw.util.collections.jdk11.ListWrapper#subList(int, int)
-	 */
-	// JUnitDoclet end javadoc_method subList()
-	public void testSubList() throws Exception {
-		// JUnitDoclet begin method subList
-		// JUnitDoclet end method subList
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/MapWrapperTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/MapWrapperTest.java
deleted file mode 100644
index 369c288e3..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/MapWrapperTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util.collections.jdk11;
-
-import org.jhotdraw.util.collections.jdk11.MapWrapper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase MapWrapperTest is generated by
- * JUnitDoclet to hold the tests for MapWrapper.
- * @see org.jhotdraw.util.collections.jdk11.MapWrapper
- */
-// JUnitDoclet end javadoc_class
-public class MapWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private MapWrapper mapwrapper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor MapWrapperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public MapWrapperTest(String name) {
-		// JUnitDoclet begin method MapWrapperTest
-		super(name);
-		// JUnitDoclet end method MapWrapperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public MapWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new MapWrapper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		mapwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		mapwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method containsKey()
-	/**
-	 * Method testContainsKey is testing containsKey
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#containsKey(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method containsKey()
-	public void testContainsKey() throws Exception {
-		// JUnitDoclet begin method containsKey
-		// JUnitDoclet end method containsKey
-	}
-
-	// JUnitDoclet begin javadoc_method containsValue()
-	/**
-	 * Method testContainsValue is testing containsValue
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#containsValue(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method containsValue()
-	public void testContainsValue() throws Exception {
-		// JUnitDoclet begin method containsValue
-		// JUnitDoclet end method containsValue
-	}
-
-	// JUnitDoclet begin javadoc_method get()
-	/**
-	 * Method testGet is testing get
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#get(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method get()
-	public void testGet() throws Exception {
-		// JUnitDoclet begin method get
-		// JUnitDoclet end method get
-	}
-
-	// JUnitDoclet begin javadoc_method put()
-	/**
-	 * Method testPut is testing put
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#put(java.lang.Object, java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method put()
-	public void testPut() throws Exception {
-		// JUnitDoclet begin method put
-		// JUnitDoclet end method put
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#remove(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method putAll()
-	/**
-	 * Method testPutAll is testing putAll
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#putAll(java.util.Map)
-	 */
-	// JUnitDoclet end javadoc_method putAll()
-	public void testPutAll() throws Exception {
-		// JUnitDoclet begin method putAll
-		// JUnitDoclet end method putAll
-	}
-
-	// JUnitDoclet begin javadoc_method clear()
-	/**
-	 * Method testClear is testing clear
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#clear()
-	 */
-	// JUnitDoclet end javadoc_method clear()
-	public void testClear() throws Exception {
-		// JUnitDoclet begin method clear
-		// JUnitDoclet end method clear
-	}
-
-	// JUnitDoclet begin javadoc_method keySet()
-	/**
-	 * Method testKeySet is testing keySet
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#keySet()
-	 */
-	// JUnitDoclet end javadoc_method keySet()
-	public void testKeySet() throws Exception {
-		// JUnitDoclet begin method keySet
-		// JUnitDoclet end method keySet
-	}
-
-	// JUnitDoclet begin javadoc_method values()
-	/**
-	 * Method testValues is testing values
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#values()
-	 */
-	// JUnitDoclet end javadoc_method values()
-	public void testValues() throws Exception {
-		// JUnitDoclet begin method values
-		// JUnitDoclet end method values
-	}
-
-	// JUnitDoclet begin javadoc_method entrySet()
-	/**
-	 * Method testEntrySet is testing entrySet
-	 * @see org.jhotdraw.util.collections.jdk11.MapWrapper#entrySet()
-	 */
-	// JUnitDoclet end javadoc_method entrySet()
-	public void testEntrySet() throws Exception {
-		// JUnitDoclet begin method entrySet
-		// JUnitDoclet end method entrySet
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/SetWrapperTest.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/SetWrapperTest.java
deleted file mode 100644
index ba21f4606..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk11/SetWrapperTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util.collections.jdk11;
-
-import org.jhotdraw.util.collections.jdk11.SetWrapper;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase SetWrapperTest is generated by
- * JUnitDoclet to hold the tests for SetWrapper.
- * @see org.jhotdraw.util.collections.jdk11.SetWrapper
- */
-// JUnitDoclet end javadoc_class
-public class SetWrapperTest
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private SetWrapper setwrapper;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor SetWrapperTest is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public SetWrapperTest(String name) {
-		// JUnitDoclet begin method SetWrapperTest
-		super(name);
-		// JUnitDoclet end method SetWrapperTest
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public SetWrapper createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new SetWrapper();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		setwrapper = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		setwrapper = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method size()
-	/**
-	 * Method testSize is testing size
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#size()
-	 */
-	// JUnitDoclet end javadoc_method size()
-	public void testSize() throws Exception {
-		// JUnitDoclet begin method size
-		// JUnitDoclet end method size
-	}
-
-	// JUnitDoclet begin javadoc_method isEmpty()
-	/**
-	 * Method testIsEmpty is testing isEmpty
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#isEmpty()
-	 */
-	// JUnitDoclet end javadoc_method isEmpty()
-	public void testIsEmpty() throws Exception {
-		// JUnitDoclet begin method isEmpty
-		// JUnitDoclet end method isEmpty
-	}
-
-	// JUnitDoclet begin javadoc_method contains()
-	/**
-	 * Method testContains is testing contains
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#contains(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method contains()
-	public void testContains() throws Exception {
-		// JUnitDoclet begin method contains
-		// JUnitDoclet end method contains
-	}
-
-	// JUnitDoclet begin javadoc_method iterator()
-	/**
-	 * Method testIterator is testing iterator
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#iterator()
-	 */
-	// JUnitDoclet end javadoc_method iterator()
-	public void testIterator() throws Exception {
-		// JUnitDoclet begin method iterator
-		// JUnitDoclet end method iterator
-	}
-
-	// JUnitDoclet begin javadoc_method toArray()
-	/**
-	 * Method testToArray is testing toArray
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#toArray()
-	 */
-	// JUnitDoclet end javadoc_method toArray()
-	public void testToArray() throws Exception {
-		// JUnitDoclet begin method toArray
-		// JUnitDoclet end method toArray
-	}
-
-	// JUnitDoclet begin javadoc_method add()
-	/**
-	 * Method testAdd is testing add
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#add(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method add()
-	public void testAdd() throws Exception {
-		// JUnitDoclet begin method add
-		// JUnitDoclet end method add
-	}
-
-	// JUnitDoclet begin javadoc_method remove()
-	/**
-	 * Method testRemove is testing remove
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#remove(java.lang.Object)
-	 */
-	// JUnitDoclet end javadoc_method remove()
-	public void testRemove() throws Exception {
-		// JUnitDoclet begin method remove
-		// JUnitDoclet end method remove
-	}
-
-	// JUnitDoclet begin javadoc_method containsAll()
-	/**
-	 * Method testContainsAll is testing containsAll
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#containsAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method containsAll()
-	public void testContainsAll() throws Exception {
-		// JUnitDoclet begin method containsAll
-		// JUnitDoclet end method containsAll
-	}
-
-	// JUnitDoclet begin javadoc_method addAll()
-	/**
-	 * Method testAddAll is testing addAll
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#addAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method addAll()
-	public void testAddAll() throws Exception {
-		// JUnitDoclet begin method addAll
-		// JUnitDoclet end method addAll
-	}
-
-	// JUnitDoclet begin javadoc_method retainAll()
-	/**
-	 * Method testRetainAll is testing retainAll
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#retainAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method retainAll()
-	public void testRetainAll() throws Exception {
-		// JUnitDoclet begin method retainAll
-		// JUnitDoclet end method retainAll
-	}
-
-	// JUnitDoclet begin javadoc_method removeAll()
-	/**
-	 * Method testRemoveAll is testing removeAll
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#removeAll(java.util.Collection)
-	 */
-	// JUnitDoclet end javadoc_method removeAll()
-	public void testRemoveAll() throws Exception {
-		// JUnitDoclet begin method removeAll
-		// JUnitDoclet end method removeAll
-	}
-
-	// JUnitDoclet begin javadoc_method clear()
-	/**
-	 * Method testClear is testing clear
-	 * @see org.jhotdraw.util.collections.jdk11.SetWrapper#clear()
-	 */
-	// JUnitDoclet end javadoc_method clear()
-	public void testClear() throws Exception {
-		// JUnitDoclet begin method clear
-		// JUnitDoclet end method clear
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/AllTests.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/AllTests.java
deleted file mode 100644
index 183b6f169..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/AllTests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util.collections.jdk12;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author <a href="mailto:mtnygard@charter.net">Michael T. Nygard</a>
- * @version $Revision: 231 $
- */
-public class AllTests {
-
-	public static void main(String[] args) {
-		junit.textui.TestRunner.run(AllTests.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test for org.jhotdraw.test.util.collections.jdk12");
-		//$JUnit-BEGIN$
-		suite.addTest(new TestSuite(CollectionsFactoryJDK12Test.class));
-		//$JUnit-END$
-		return suite;
-	}
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java
deleted file mode 100644
index 8d499cb11..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/CollectionsFactoryJDK12Test.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * @(#)Test.java
- *
- * Project:		JHotdraw - a GUI framework for technical drawings
- *				http://www.jhotdraw.org
- *				http://jhotdraw.sourceforge.net
- * Copyright:	� by the original author(s) and all contributors
- * License:		Lesser GNU Public License (LGPL)
- *				http://www.opensource.org/licenses/lgpl-license.html
- */
-package org.jhotdraw.test.util.collections.jdk12;
-
-import org.jhotdraw.util.collections.jdk12.CollectionsFactoryJDK12;
-import junit.framework.TestCase;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
- * Generated by JUnitDoclet, a tool provided by
- * ObjectFab GmbH under LGPL.
- * Please see www.junitdoclet.org, www.gnu.org
- * and www.objectfab.de for informations about
- * the tool, the licence and the authors.
- */
-
-// JUnitDoclet begin javadoc_class
-/**
- * TestCase CollectionsFactoryJDK12Test is generated by
- * JUnitDoclet to hold the tests for CollectionsFactoryJDK12.
- * @see org.jhotdraw.util.collections.jdk12.CollectionsFactoryJDK12
- */
-// JUnitDoclet end javadoc_class
-public class CollectionsFactoryJDK12Test
-// JUnitDoclet begin extends_implements
-extends TestCase
-// JUnitDoclet end extends_implements
-{
-	// JUnitDoclet begin class
-	// instance variables, helper methods, ... put them in this marker
-	private CollectionsFactoryJDK12 collectionsfactoryjdk12;
-	// JUnitDoclet end class
-
-	/**
-	 * Constructor CollectionsFactoryJDK12Test is
-	 * basically calling the inherited constructor to
-	 * initiate the TestCase for use by the Framework.
-	 */
-	public CollectionsFactoryJDK12Test(String name) {
-		// JUnitDoclet begin method CollectionsFactoryJDK12Test
-		super(name);
-		// JUnitDoclet end method CollectionsFactoryJDK12Test
-	}
-
-	/**
-	 * Factory method for instances of the class to be tested.
-	 */
-	public CollectionsFactoryJDK12 createInstance() throws Exception {
-		// JUnitDoclet begin method testcase.createInstance
-		return new CollectionsFactoryJDK12();
-		// JUnitDoclet end method testcase.createInstance
-	}
-
-	/**
-	 * Method setUp is overwriting the framework method to
-	 * prepare an instance of this TestCase for a single test.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void setUp() throws Exception {
-		// JUnitDoclet begin method testcase.setUp
-		super.setUp();
-		collectionsfactoryjdk12 = createInstance();
-		// JUnitDoclet end method testcase.setUp
-	}
-
-	/**
-	 * Method tearDown is overwriting the framework method to
-	 * clean up after each single test of this TestCase.
-	 * It's called from the JUnit framework only.
-	 */
-	protected void tearDown() throws Exception {
-		// JUnitDoclet begin method testcase.tearDown
-		collectionsfactoryjdk12 = null;
-		super.tearDown();
-		// JUnitDoclet end method testcase.tearDown
-	}
-
-	// JUnitDoclet begin javadoc_method createList()
-	/**
-	 * Method testCreateList is testing createList
-	 * @see org.jhotdraw.util.collections.jdk12.CollectionsFactoryJDK12#createList()
-	 */
-	// JUnitDoclet end javadoc_method createList()
-	public void testCreateList() throws Exception {
-		// JUnitDoclet begin method createList
-		// JUnitDoclet end method createList
-	}
-
-	// JUnitDoclet begin javadoc_method createMap()
-	/**
-	 * Method testCreateMap is testing createMap
-	 * @see org.jhotdraw.util.collections.jdk12.CollectionsFactoryJDK12#createMap()
-	 */
-	// JUnitDoclet end javadoc_method createMap()
-	public void testCreateMap() throws Exception {
-		// JUnitDoclet begin method createMap
-		// JUnitDoclet end method createMap
-	}
-
-	// JUnitDoclet begin javadoc_method createSet()
-	/**
-	 * Method testCreateSet is testing createSet
-	 * @see org.jhotdraw.util.collections.jdk12.CollectionsFactoryJDK12#createSet()
-	 */
-	// JUnitDoclet end javadoc_method createSet()
-	public void testCreateSet() throws Exception {
-		// JUnitDoclet begin method createSet
-		// JUnitDoclet end method createSet
-	}
-
-	// JUnitDoclet begin javadoc_method testVault
-	/**
-	 * JUnitDoclet moves marker to this method, if there is not match
-	 * for them in the regenerated code and if the marker is not empty.
-	 * This way, no test gets lost when regenerating after renaming.
-	 * <b>Method testVault is supposed to be empty.</b>
-	 */
-	// JUnitDoclet end javadoc_method testVault
-	public void testVault() throws Exception {
-		// JUnitDoclet begin method testcase.testVault
-		// JUnitDoclet end method testcase.testVault
-	}
-
-}
diff --git a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/Jdk12Suite.java b/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/Jdk12Suite.java
deleted file mode 100644
index 3e6026ff1..000000000
--- a/jhotdraw6/src/test/java/org/jhotdraw/test/util/collections/jdk12/Jdk12Suite.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.jhotdraw.test.util.collections.jdk12;
-
-
-
-import junit.framework.TestSuite;
-// JUnitDoclet begin import
-// JUnitDoclet end import
-
-/*
-* Generated by JUnitDoclet, a tool provided by
-* ObjectFab GmbH under LGPL.
-* Please see www.junitdoclet.org, www.gnu.org
-* and www.objectfab.de for informations about
-* the tool, the licence and the authors.
-*/
-
-
-// JUnitDoclet begin javadoc_class
-/**
-* TestSuite Jdk12Suite
-*/
-// JUnitDoclet end javadoc_class
-public class Jdk12Suite
-// JUnitDoclet begin extends_implements
-// JUnitDoclet end extends_implements
-{
-  // JUnitDoclet begin class
-  // JUnitDoclet end class
-  
-  public static TestSuite suite() {
-    
-    TestSuite suite;
-    
-    suite = new TestSuite("org.jhotdraw.test.util.collections.jdk12");
-    
-    suite.addTestSuite(org.jhotdraw.test.util.collections.jdk12.CollectionsFactoryJDK12Test.class);
-    
-    
-    
-    // JUnitDoclet begin method suite()
-    // JUnitDoclet end method suite()
-    
-    return suite;
-  }
-  
-  /**
-  * Method to execute the TestSuite from command line
-  * using JUnit's textui.TestRunner .
-  */
-  public static void main(String[] args) {
-    // JUnitDoclet begin method testsuite.main
-    junit.textui.TestRunner.run(suite());
-    // JUnitDoclet end method testsuite.main
-  }
-}
diff --git a/jhotdraw7/manifest.mf b/jhotdraw7/manifest.mf
deleted file mode 100644
index 328e8e5bc..000000000
--- a/jhotdraw7/manifest.mf
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-X-COMMENT: Main-Class will be added automatically by build
-
diff --git a/jhotdraw7/pom.xml b/jhotdraw7/pom.xml
deleted file mode 100644
index efb2c93c4..000000000
--- a/jhotdraw7/pom.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><project>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.jhotdraw</groupId>
-  <artifactId>jhotdraw</artifactId>
-  <version>6.2.0</version>
-  <description></description>
-  <scm>
-    <connection>scm:https://svn.sourceforge.net/svnroot/jhotdraw/trunk</connection>
-    <developerConnection>scm:https://svn.sourceforge.net/svnroot/jhotdraw/trunk</developerConnection>
-  </scm>
-  <build>
-    <sourceDirectory>src/main/java</sourceDirectory>
-    <testSourceDirectory>src/test/java</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>src/test/resources</directory>
-      </testResource>
-    </testResources>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <configuration>
-            <skip>true</skip>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-  <dependencies>
-    <dependency>
-      <groupId>javax.jdo</groupId>
-      <artifactId>jdo</artifactId>
-      <version>1.0.1</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>batik</groupId>
-      <artifactId>batik-awt-util</artifactId>
-      <version>1.6</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>batik</groupId>
-      <artifactId>batik-dom</artifactId>
-      <version>1.6</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>batik</groupId>
-      <artifactId>batik-svggen</artifactId>
-      <version>1.6</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>batik</groupId>
-      <artifactId>batik-util</artifactId>
-      <version>1.6</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.2</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-  <reporting>
-    <plugins>
-      <plugin>
-        <artifactId>maven-surefire-report-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <artifactId>maven-jxr-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <artifactId>maven-javadoc-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <artifactId>maven-pmd-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>clirr-maven-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>cobertura-maven-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <artifactId>maven-clover-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </reporting>
-</project>
\ No newline at end of file
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/PERT1.gif b/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/PERT1.gif
deleted file mode 100644
index f69744556b8a98b0f903febf45498dd09fcde923..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 186
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK-K>bM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF1(sB5u8|!Jh*P2E`k`vPmdj
z>=3r9_m<Nuzj;!{KmE(A(`?(#buKO1(zZKp#m^aG;!Be>mi~FR?XC~!)lJLJeyY=G
ZXw<aPYVYXm((dl<maLvADagQJ4FJ?UQ3?P6

diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/PERT2.gif b/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/PERT2.gif
deleted file mode 100644
index eb9f10ef03f573d2d7c08a805dee7264cabd6ef1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 178
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlK!E=bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW_0GOA^<6__frm_*&x-pD
z!8T0Y0SiB~{Qg>VVwDQlT(#{ni^8R2qGnyox76{SeADf_ua9H;^AAh!RIPneY#h>H
Qq}1GEQyb1M$iQF?0Mukk*8l(j

diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/PERT3.gif b/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/PERT3.gif
deleted file mode 100644
index aac7c5e3ad403e29fb246df6eb318f71ef45be0c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 188
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQuv|4bM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6aqI*=!x51P2|dZUzy5
zqXRO=duM<0P*rO+U+{j>QO?y@vUP4V+wZ=-?CDAs<Fg)L#Pf3dPkEfOeARpLbws&Y
av}lo)rFXlrW0ygv$pp!k$&!K$4AubpX-<Lw

diff --git a/jmodeller/.classpath b/jmodeller/.classpath
deleted file mode 100644
index 2157b343f..000000000
--- a/jmodeller/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry sourcepath="/JHOTDRAW6_HOME/src" kind="var" path="JHOTDRAW6_HOME/jhotdraw.jar"/>
-	<classpathentry kind="src" path="/JHotDraw6-Sourceforge"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jmodeller/DifferenceReporter.java b/jmodeller/DifferenceReporter.java
deleted file mode 100644
index 853f6f4ad..000000000
--- a/jmodeller/DifferenceReporter.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.jhotdraw.tools.libchecker;
-
-public interface DifferenceReporter extends DifferenceCollector {
-	public void startLibrary();
-	public void endLibrary();
-	public void startPackage();
-	public void endPackage();
-	public void startClass();
-	public void endClass();
-}
\ No newline at end of file
diff --git a/jmodeller/compile.bat b/jmodeller/compile.bat
deleted file mode 100644
index 31e6f6942..000000000
--- a/jmodeller/compile.bat
+++ /dev/null
@@ -1 +0,0 @@
-javac -d classes -classpath c:\source\java\JHotDraw;. src\*.java
\ No newline at end of file
diff --git a/jmodeller/compile_g.bat b/jmodeller/compile_g.bat
deleted file mode 100644
index 80be73946..000000000
--- a/jmodeller/compile_g.bat
+++ /dev/null
@@ -1 +0,0 @@
-javac -g -d classes -classpath c:\source\java\JHotDraw;. src\*.java
\ No newline at end of file
diff --git a/jmodeller/run.bat b/jmodeller/run.bat
deleted file mode 100644
index 013359b47..000000000
--- a/jmodeller/run.bat
+++ /dev/null
@@ -1 +0,0 @@
-java -classpath c:\source\java\JHotDraw;.\classes JModellerApplication
\ No newline at end of file
diff --git a/jmodeller/src/AggregationDecoration.java b/jmodeller/src/AggregationDecoration.java
deleted file mode 100644
index 2575fe196..000000000
--- a/jmodeller/src/AggregationDecoration.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * JModeller
- *
- * @version 1.0     15.01.2001
- * @author Wolfram Kaiser (�2001)
- */
-
-import java.awt.Color;
-import java.awt.Polygon;
-import java.io.IOException;
-
-import org.jhotdraw.figures.AbstractLineDecoration;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * An AggregationDecoration draws a diamond at the starting ClassFigure
- * of a AssociationLineConnection to indicate that the starting ClassFigure
- * is an aggregration of the end ClassFigure
- */
-public class AggregationDecoration extends AbstractLineDecoration {
-
-    /**
-     * Size of the diamond (measured as a diagonal line)
-     */
-    private int     mySize;
-
-    static final long serialVersionUID = 5949131894547260707L;
-
-    /**
-     * Create a new instance of AggregationDecoration with a default
-     * diamond size of 20
-     */
-    public AggregationDecoration() {
-        this(20);
-    }
-
-    /**
-     * Create a new instance of AggregationDecoration with a given
-     * diamond size
-     *
-     * @param newSize size of the diamond
-     */
-    public AggregationDecoration(int newSize) {
-        setSize(newSize);
-        setFillColor(Color.white);
-        setBorderColor(Color.black);
-    }
-    
-   /**
-    * Calculates the outline of an arrow tip.
-    */
-    public Polygon outline(int x1, int y1, int x2, int y2) {
-        Polygon shape = new Polygon();
-
-        // calculate direction vector
-        double xDir = (double)(x2 - x1);
-        double yDir = (double)(y2 - y1);
-        
-        // calculate direction vector length
-        double vLength = Math.sqrt(xDir*xDir + yDir*yDir);
-        if (vLength == 0.0) {
-            return shape;
-        }
-
-        if (xDir == 0.0) {
-            xDir = 1.0;
-        }
-
-        // normalize direction vector
-        xDir = xDir / vLength;
-        yDir = yDir / vLength;
-
-        double endX = x1 + xDir * getSize();
-        double endY = y1 + yDir * getSize();
-
-        // calculate vector length
-        double h = Math.sqrt(getSize());
-        
-        // calculate orthogonal vector
-        double v1y = 1.0;
-        double v1x = -(yDir * v1y) / xDir;
-        // calculate orthogonal vector length
-        double v1Length = Math.sqrt(v1x*v1x + v1y*v1y);
-        // normalize orthogonal vector
-        v1y = v1y / v1Length;
-        v1x = v1x / v1Length;
-        double p1y = (endY + y1)/2 + v1y * h;
-        double p1x = (endX + x1)/2 + v1x * h;
-        double p2y = (endY + y1)/2 - v1y * h;
-        double p2x = (endX + x1)/2 - v1x * h;
-
-        shape.addPoint(x1, y1);
-
-        shape.addPoint((int)p1x, (int)p1y);
-        shape.addPoint((int)endX, (int)endY);
-        shape.addPoint((int)p2x, (int)p2y);
-                
-        shape.addPoint(x1, y1);
-        
-        return shape;
-
-    }
-
-    /**
-     * Stores the arrow tip to a StorableOutput.
-     */
-    public void write(StorableOutput dw) {
-        super.write(dw);
-        dw.writeInt(getSize());
-    }
-    
-    /**
-     * Reads the arrow tip from a StorableInput.
-     */
-    public void read(StorableInput dr) throws IOException {
-        super.read(dr);
-        setSize(dr.readInt());
-    }
-    
-    /**
-     * Set the size of the diamond. The size is measured as diagonal line.
-     *
-     * @param newSize size of the diamond
-     */
-    public void setSize(int newSize) {
-        mySize = newSize;
-    }
-    
-    /**
-     * Return the size of the diamond. The size is measured as diagonal line.
-     *
-     * @return diamond size
-     */
-    public int getSize() {
-        return mySize;
-    }
-}
\ No newline at end of file
diff --git a/jmodeller/src/AssociationLineConnection.java b/jmodeller/src/AssociationLineConnection.java
deleted file mode 100644
index 415ce7ccf..000000000
--- a/jmodeller/src/AssociationLineConnection.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/**
- * JModeller
- *
- * @version 1.0     15.01.2001
- * @author Wolfram Kaiser (�2001)
- */
-
-import java.awt.Color;
-import java.awt.event.ActionEvent;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-
-import javax.swing.AbstractAction;
-import javax.swing.JMenuItem;
-import javax.swing.JPopupMenu;
-
-import org.jhotdraw.figures.ArrowTip;
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.FigureAttributeConstant;
-import org.jhotdraw.framework.FigureChangeEvent;
-
-/**
- * An AssociationLineConnection represents an association relationship (has-a)
- * between two classes (represented by their ClassFigures). An association
- * can either be bi-directional or uni-directional. An association can
- * be turned into an aggregation which can be regard a special kind of association.
- */
-public class AssociationLineConnection extends LineConnection {
-
-    /**
-     * PopupMenu for an associations which allows to switch between
-     * directed and not directed associations and associations and
-     * aggregations
-     */
-    private transient JPopupMenu myPopupMenu;
-
-    static final long serialVersionUID = 6492295462615980490L;
-    
-    /*
-     * Create a new un-directed AssociationLineConnection
-     */
-    public AssociationLineConnection() {
-        super();
-
-        setStartDecoration(null);
-        setEndDecoration(null);
-    
-        setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-    }
-    
-    /**
-     * Hook method to plug in application behaviour into
-     * a template method. This method is called when a
-     * connection between two objects has been established.
-     */
-    protected void handleConnect(Figure start, Figure end) {
-        super.handleConnect(start, end);
-        JModellerClass startClass = ((ClassFigure)start).getModellerClass();
-        JModellerClass endClass = ((ClassFigure)end).getModellerClass();
-        startClass.addAssociation(endClass);
-        endClass.addAssociation(startClass);
-    }
-
-    /**
-     * Hook method to plug in application behaviour into
-     * a template method. This method is called when a 
-     * connection between two objects has been cancelled.
-     */
-    protected void handleDisconnect(Figure start, Figure end) {
-        super.handleDisconnect(start, end);
-        if ((start != null) && (end!= null)) {
-            JModellerClass startClass = ((ClassFigure)start).getModellerClass();
-            JModellerClass endClass = ((ClassFigure)end).getModellerClass();
-            startClass.removeAssociation(endClass);
-            endClass.removeAssociation(startClass);
-        }
-    }
-
-    /**
-     * Sets the named attribute to the new value.
-     * Intercept to enable popup menus.
-     */
-    public void setAttribute(FigureAttributeConstant constant, Object value) {
-        if ((constant != null) && (constant.equals(FigureAttributeConstant.POPUP_MENU))) {
-            myPopupMenu = (JPopupMenu)value;
-        }
-        else {
-            super.setAttribute(constant, value);
-        }
-    }
-
-    /**
-     * Return the named attribute or null if a
-     * a figure doesn't have an attribute.
-     * All figures support the attribute names
-     * FillColor and FrameColor
-     */
-    public Object getAttribute(FigureAttributeConstant constant) {
-        if ((constant != null) && (constant.equals(FigureAttributeConstant.POPUP_MENU))) {
-            return myPopupMenu;
-        }
-        else {
-            return super.getAttribute(constant);
-        }
-    }
-
-    /**
-     * Factory method to create the associated popup menu.
-     * It allows switching between associations and aggregation
-     * and directed and not-directed associations depending
-     * on the current kind of association. For uni-directional
-     * associations the reference from the target class to
-     * the start class is removed, while for bi-directional
-     * associations, this relation is established again.
-     *
-     * @return newly created popup menu
-     */
-    protected JPopupMenu createPopupMenu() {
-        JPopupMenu popupMenu = new JPopupMenu();
-        popupMenu.add(new AbstractAction("aggregation") {
-                public void actionPerformed(ActionEvent event) {
-                    setAggregation(!isAggregation());
-                    if (isAggregation()) {
-                        ((JMenuItem)event.getSource()).setText("no aggregation");
-                    }
-                    else {
-                        ((JMenuItem)event.getSource()).setText("aggregation");
-                    }
-                }
-            });
-        popupMenu.add(new AbstractAction("uni-directional") {
-                public void actionPerformed(ActionEvent event) {
-                    setUniDirectional(!isUniDirectional());
-                    if (isUniDirectional()) {
-                        ((JMenuItem)event.getSource()).setText("bi-directional");
-                        JModellerClass startClass = ((ClassFigure)startFigure()).getModellerClass();
-                        JModellerClass endClass = ((ClassFigure)endFigure()).getModellerClass();
-                        endClass.addAssociation(startClass);
-                    }
-                    else {
-                        ((JMenuItem)event.getSource()).setText("uni-directional");
-                        JModellerClass startClass = ((ClassFigure)startFigure()).getModellerClass();
-                        JModellerClass endClass = ((ClassFigure)endFigure()).getModellerClass();
-                        endClass.removeAssociation(startClass);
-                    }
-                }
-            });
-            
-        popupMenu.setLightWeightPopupEnabled(true);
-        return popupMenu;
-    }
-
-    /**
-     * Turn an association into an aggregation or vice versa.
-     * Whether an association is an aggregation is determined
-     * by an internal flag that can be set with this method.
-     *
-     * @param isAggregation true to turn an association into an aggregation, false for the opposite effect
-     */
-    protected void setAggregation(boolean isAggregation) {
-        willChange();
-        if (isAggregation) {
-            setStartDecoration(new AggregationDecoration());
-        }
-        else {
-            setStartDecoration(null);
-        }
-        change();
-        changed();
-    }
-
-    /**
-     * Test whether an association is an aggregation or not
-     *
-     * @return true if the association is an aggregation, false otherwise
-     */
-    protected boolean isAggregation() {
-        return getStartDecoration() != null;
-    }
-
-    /**
-     * Make an association directed or not directed.
-     *
-     * @param isDirected true for a directed association, false otherwise
-     */
-    protected void setUniDirectional(boolean isDirected) {
-        willChange();
-        if (isDirected) {
-            ArrowTip arrow = new ArrowTip(0.4, 12.0, 0.0);
-            arrow.setBorderColor(Color.black);
-            setEndDecoration(arrow);
-        }
-        else {
-            setEndDecoration(null);
-        }
-        change();
-        changed();
-    }
-
-    /**
-     * Test whether an associations is directed or not
-     *
-     * @return true, if the association is directed, false otherwise
-     */    
-    protected boolean isUniDirectional() {
-        return getEndDecoration() != null;
-    }
-
-    /**
-     * Notify listeners about a change
-     */
-    protected void change() {
-        if (listener() != null) {
-            listener().figureRequestUpdate(new FigureChangeEvent(this));
-        }
-    }   
-
-    /**
-     * Read a serialized AssociationLineConnection from an input stream and activate the
-     * popup menu again.
-     */
-    private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
-        // call superclass' private readObject() indirectly
-        s.defaultReadObject();
-        
-        setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-    }
-}
\ No newline at end of file
diff --git a/jmodeller/src/ClassFigure.java b/jmodeller/src/ClassFigure.java
deleted file mode 100644
index 8299b4e42..000000000
--- a/jmodeller/src/ClassFigure.java
+++ /dev/null
@@ -1,438 +0,0 @@
-/**
- * JModeller
- *
- * @version 1.0     15.01.2001
- * @author Wolfram Kaiser (�2001)
- */
-
-import java.awt.Font;
-import java.awt.Insets;
-import java.awt.event.ActionEvent;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.swing.AbstractAction;
-import javax.swing.JPopupMenu;
-
-import org.jhotdraw.contrib.GraphicalCompositeFigure;
-import org.jhotdraw.figures.RectangleFigure;
-import org.jhotdraw.figures.TextFigure;
-import org.jhotdraw.framework.Figure;
-import org.jhotdraw.framework.FigureAttributeConstant;
-import org.jhotdraw.framework.FigureChangeEvent;
-import org.jhotdraw.framework.HandleEnumeration;
-import org.jhotdraw.standard.HandleEnumerator;
-import org.jhotdraw.standard.NullHandle;
-import org.jhotdraw.standard.RelativeLocator;
-import org.jhotdraw.util.CollectionsFactory;
-import org.jhotdraw.util.StorableInput;
-import org.jhotdraw.util.StorableOutput;
-
-/**
- * A ClassFigure is a graphical representation for a class
- * in a class diagramm. A ClassFigure separates the graphical
- * representation from the data model. A class has a class
- * name, attributes and methods. Accordingly, a ClassFigure 
- * consists of other parts to edit the class names, attributes
- * and methods respectively.
- *
- * @author Wolfram Kaiser
- */
-public class ClassFigure extends GraphicalCompositeFigure {
-
-    /**
-     * Class in the model which is represented by this figure graphically
-     */
-    private JModellerClass  myClass;
-
-    /**
-     * Font used for attribute names
-     */
-    private Font            attributeFont;
-
-    /**
-     * Font used for method names
-     */
-    private Font            methodFont;
-
-    /**
-     * Direct reference to a composite figure which stores text figures for attribute names.
-     * This figure is also part of this composite container.
-     */
-    private GraphicalCompositeFigure    myAttributesFigure;
-
-    /**
-     * Direct reference to a composite figure which stores text figures for method names.
-     * This figure is also part of this composite container.
-     */
-    private GraphicalCompositeFigure    myMethodsFigure;
-
-    /**
-     * TextFigure for editing the class name
-     */
-    private TextFigure myClassNameFigure;
-
-  /**
-   * Default Font for classname.
-   */
-  private final static Font CLASSNAME_FONT = new Font( "Helvetica", Font.BOLD, 12 );
-
-  /**
-   * Default Font for attribut and operations.
-   */
-  private final static Font DEFAULT_FONT   = new Font( "Helvetica", Font.PLAIN, 12 );
-
-  /**
-   * Some insets.
-   */
-  private final static Insets INSETS0400 = new Insets( 0, 4, 0, 0 );
-
-  private final static Insets INSETS4440 = new Insets( 4, 4, 4, 0 );
-
-
-    static final long serialVersionUID = 6098176631854387694L;
-
-    /**
-     * Create a new instance of ClassFigure with a RectangleFigure as presentation figure
-     */    
-    public ClassFigure() {
-        this(new RectangleFigure());
-    }
-
-    /**
-     * Create a new instance of ClassFigure with a given presentation figure
-     *
-     * @param newPresentationFigure presentation figure
-     */    
-    public ClassFigure(Figure newPresentationFigure) {
-        super(newPresentationFigure);
-    }
-
-    /**
-     * Hook method called to initizialize a ClassFigure.
-     * It is called from the constructors and the clone() method.
-     */
-    protected void initialize() {
-        // start with an empty Composite
-        removeAll();
-
-        // set the fonts used to print attributes and methods
-		attributeFont = DEFAULT_FONT;
-		methodFont    = DEFAULT_FONT;
-
-        // create a new Model object associated with this View figure
-        setModellerClass(new JModellerClass());
-
-        // create a TextFigure responsible for the class name
-        setClassNameFigure(new TextFigure() {
-            public void setText(String newText) {
-                super.setText(newText);
-                getModellerClass().setName(newText);
-                update();
-            }
-        });
-    
-		getClassNameFigure().setFont(CLASSNAME_FONT);
-        getClassNameFigure().setText(getModellerClass().getName());
-        
-        // add the TextFigure to the Composite
-        GraphicalCompositeFigure nameFigure = new GraphicalCompositeFigure(new SeparatorFigure());
-        nameFigure.add(getClassNameFigure());
-		nameFigure.getLayouter().setInsets(INSETS0400);
-        add(nameFigure);
-
-        // create a figure responsible for maintaining attributes
-        setAttributesFigure(new GraphicalCompositeFigure(new SeparatorFigure()));
-		getAttributesFigure().getLayouter().setInsets(INSETS4440);
-        // add the figure to the Composite
-        add(getAttributesFigure());
-
-        // create a figure responsible for maintaining methods
-        setMethodsFigure(new GraphicalCompositeFigure(new SeparatorFigure()));
-		getMethodsFigure().getLayouter().setInsets(INSETS4440);
-        // add the figure to the Composite
-        add(getMethodsFigure());
-
-        setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-
-        super.initialize();
-    }
-
-    /**
-     * Factory method to create a popup menu which allows to add attributes and methods.
-     *
-     * @return newly created popup menu
-     */
-    protected JPopupMenu createPopupMenu() {
-        JPopupMenu popupMenu = new JPopupMenu();
-        popupMenu.add(new AbstractAction("add attribute") {
-                public void actionPerformed(ActionEvent event) {
-                    addAttribute("attribute");
-                }
-            });
-        popupMenu.add(new AbstractAction("add method") {
-                public void actionPerformed(ActionEvent event) {
-                    addMethod("method()");
-                }
-            });
-
-        popupMenu.setLightWeightPopupEnabled(true);
-        return popupMenu;
-    }
-
-    /**
-     * Set the figure which containes all figures representing attribute names.
-     *
-     * @param newAttributesFigure container for other figures
-     */
-    protected void setAttributesFigure(GraphicalCompositeFigure newAttributesFigure) {
-        myAttributesFigure = newAttributesFigure;
-    }
-
-    /**
-     * Return the figure which containes all figures representing attribute names.
-     *
-     * @return container for other figures
-     */
-    public GraphicalCompositeFigure getAttributesFigure() {
-        return myAttributesFigure;
-    }
-
-    /**
-     * Set the figure which containes all figures representing methods names.
-     *
-     * @param newMethodsFigure container for other figures
-     */
-    protected void setMethodsFigure(GraphicalCompositeFigure newMethodsFigure) {
-        myMethodsFigure = newMethodsFigure;
-    }
-
-    /**
-     * Return the figure which containes all figures representing method names.
-     *
-     * @return container for other figures
-     */
-    public GraphicalCompositeFigure getMethodsFigure() {
-        return myMethodsFigure;
-    }
-
-    /**
-     * Set the class name text figure responsible for handling user input
-     *
-     * @param newClassNameFigure text figure for the class name
-     */
-    protected void setClassNameFigure(TextFigure newClassNameFigure) {
-        myClassNameFigure = newClassNameFigure;
-    }
-    
-    /**
-     * Return the text figure for the class name
-     *
-     * @return text figure for the class name
-     */
-    public TextFigure getClassNameFigure() {
-        return myClassNameFigure;
-    }
-
-    /**
-     * Add a name for an attribute. The underlying class in the model is updated as well.
-     * to hold the attribute name.
-     *
-     * @param newAttribute name of the new attribute
-     */
-    protected void addAttribute(String newAttribute) {
-        getModellerClass().addAttribute(newAttribute);
-        TextFigure classFigureAttribute = new TextFigure() {
-            public void setText(String newString) {
-                if (!getText().equals(newString)) {
-                    getModellerClass().renameAttribute(getText(), newString);
-                }
-                super.setText(newString);
-                updateAttributeFigure();
-            }
-        };
-        classFigureAttribute.setText(newAttribute);
-        classFigureAttribute.setFont(attributeFont);
-        getAttributesFigure().add(classFigureAttribute);
-        updateAttributeFigure();
-    }
-
-    /**
-     * Remove an attribute with a given name. The underlying class in the model is updated
-     * as well to exclude the attribute name.
-     *
-     * @param oldAttribute name of the attribute to be removed.
-     */
-    protected void removeAttribute(Figure oldAttribute) {
-        getModellerClass().removeAttribute(((TextFigure)oldAttribute).getText());
-        getAttributesFigure().remove(oldAttribute);
-        updateAttributeFigure();
-    }
-
-    /**
-     * Update the attribute figure and the ClassFigure itself as well. This causes calculating
-     * the layout of contained figures.
-     */
-    protected void updateAttributeFigure() {
-        getAttributesFigure().update();
-        update();
-    }
-
-    /**
-     * Add a name for a method. The underlying class in the model is updated as well
-     * to hold the method name.
-     *
-     * @param newMethod name of the new method
-     */    
-    protected void addMethod(String newMethod) {
-        getModellerClass().addMethod(newMethod);
-        TextFigure classFigureMethod = new TextFigure() {
-            public void setText(String newString) {
-                if (!getText().equals(newString)) {
-                    getModellerClass().renameMethod(getText(), newString);
-                }
-                super.setText(newString);
-                updateMethodFigure();
-            }
-        };
-        classFigureMethod.setText(newMethod);
-        classFigureMethod.setFont(methodFont);
-        getMethodsFigure().add(classFigureMethod);
-        updateMethodFigure();
-    }
-
-    /**
-     * Remove an method with a given name. The underlying class in the model is updated
-     * as well to exclude the method name.
-     *
-     * @param oldMethod name of the method to be removed.
-     */
-    protected void removeMethod(Figure oldMethod) {
-        getModellerClass().removeMethod(((TextFigure)oldMethod).getText());
-        getMethodsFigure().remove(oldMethod);
-        updateMethodFigure();
-    }
-
-    /**
-     * Update the method figure and the ClassFigure itself as well. This causes calculating
-     * the layout of contained figures.
-     */
-    protected void updateMethodFigure() {
-        getMethodsFigure().update();
-        update();
-    }
-
-    /**
-     * Set the class in the model which should be represented by this ClassFigure
-     *
-     * @param newClass class in the model
-     */
-    protected void setModellerClass(JModellerClass newClass) {
-        myClass = newClass;
-    }
-
-    /**
-     * Return the class from the model which is represented by this ClassFigure
-     *
-     * @return class from the model
-     */
-    public JModellerClass getModellerClass() {
-        return myClass;
-    }
-    
-    /**
-     * Propagate the removeFromDrawing request up to the container.
-     * A ClassFigure should not be removed just because one of its childern
-     * is removed.
-     */
-    public void figureRequestRemove(FigureChangeEvent e) {
-        Figure removeFigure = e.getFigure();
-        if (getAttributesFigure().includes(removeFigure)) {
-            removeAttribute(removeFigure);
-        }
-        else if (getMethodsFigure().includes(removeFigure)) {
-            removeMethod(removeFigure);
-        }
-        else {
-            // remove itself
-            listener().figureRequestRemove(new FigureChangeEvent(this, displayBox()));
-        }
-    }
-
-    /**
-     * Return default handles on all four edges for this figure.
-     */
-    public HandleEnumeration handles() {
-        List handles = CollectionsFactory.current().createList(4);
-
-        handles.add(new NullHandle(getPresentationFigure(), RelativeLocator.northWest()));
-        handles.add(new NullHandle(getPresentationFigure(), RelativeLocator.northEast()));
-        handles.add(new NullHandle(getPresentationFigure(), RelativeLocator.southWest()));
-        handles.add(new NullHandle(getPresentationFigure(), RelativeLocator.southEast()));
-
-        return new HandleEnumerator(handles);
-    }
- 
-    /**
-     * Test whether this figure has child figures.
-     *
-     * @return true, if there are no child figures, false otherwise
-     */
-    public boolean isEmpty() {
-        return figureCount() == 0;
-    }
-
-    /**
-     * Read the figure and its contained elements from the StorableOutput and sets
-     * the presentation figure and creates the popup menu.
-     */
-    public void read(StorableInput dr) throws IOException {
-        getClassNameFigure().setText(dr.readString());
-
-        int attributesCount = dr.readInt();
-        for (int attributeIndex = 0; attributeIndex < attributesCount; attributeIndex++) {
-            addAttribute(dr.readString());
-        }
-
-        int methodsCount = dr.readInt();
-        for (int methodIndex = 0; methodIndex < methodsCount; methodIndex++) {
-            addMethod(dr.readString());
-        }
-        setPresentationFigure((Figure)dr.readStorable());
-        setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-        update();
-    }
-    
-    /**
-     * Write the figure and its contained elements to the StorableOutput.
-     */
-    public void write(StorableOutput dw) {
-        dw.writeString(getModellerClass().getName());
-        dw.writeInt(getModellerClass().getNumberOfAttributes());
-
-        Iterator attributeIterator = getModellerClass().getAttributes();
-        while (attributeIterator.hasNext()) {
-            dw.writeString((String)attributeIterator.next());
-        }
-        dw.writeInt(getModellerClass().getNumberOfMethods());
-
-        Iterator methodIterator = getModellerClass().getMethods();
-        while (methodIterator.hasNext()) {
-            dw.writeString((String)methodIterator.next());
-        }
-        dw.writeStorable(getPresentationFigure());
-    }
-
-    /**
-     * Read the serialized figure and its contained elements from the input stream and
-     * creates the popup menu
-     */
-    private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException {
-        // call superclass' private readObject() indirectly
-        s.defaultReadObject();
-        
-        setAttribute(FigureAttributeConstant.POPUP_MENU, createPopupMenu());
-    }
-}
diff --git a/jmodeller/src/DelegationSelectionTool.java b/jmodeller/src/DelegationSelectionTool.java
deleted file mode 100644
index a66ad5c63..000000000
--- a/jmodeller/src/DelegationSelectionTool.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * JModeller
- *
- * @version 1.0     15.01.2001
- * @author Wolfram Kaiser (�2001)
- */
-
-import java.awt.event.MouseEvent;
-
-import org.jhotdraw.contrib.CustomSelectionTool;
-import org.jhotdraw.figures.TextFigure;
-import org.jhotdraw.figures.TextTool;
-import org.jhotdraw.framework.DrawingEditor;
-import org.jhotdraw.framework.Figure;
-
-/**
- * Delegate mouse selection to a specific TextTool if
- * the figure selected inside a CompositeFigure is a 
- * TextFigure
- */
-public class DelegationSelectionTool extends CustomSelectionTool {
-
-    /**
-     * TextTool which will be invoked at the top level container.
-     */
-    private TextTool myTextTool;
-    
-    public DelegationSelectionTool(DrawingEditor newEditor) {
-        super(newEditor);
-        setTextTool(new TextTool(newEditor, new TextFigure()));
-    }
-    
-    /**
-     * Hook method which can be overriden by subclasses to provide
-     * specialised behaviour in the event of a mouse double click.
-     */
-    protected void handleMouseDoubleClick(MouseEvent e, int x, int y) {
-        Figure figure = drawing().findFigureInside(e.getX(), e.getY());
-        if ((figure != null) && (figure instanceof TextFigure)) {
-            getTextTool().activate();
-            getTextTool().mouseDown(e, x, y);
-        }
-    }
-
-    /**
-     * Hook method which can be overriden by subclasses to provide
-     * specialised behaviour in the event of a mouse down.
-     */
-    protected void handleMouseClick(MouseEvent e, int x, int y) {
-        deactivate();
-    }
-
-    /**
-     * Terminates the editing of a text figure.
-     */
-    public void deactivate() {
-        super.deactivate();
-        if (getTextTool().isActive()) {
-    	    getTextTool().deactivate();
-        }
-    }
-
-    /**
-     * Set the text tool to which double clicks should be delegated. The text tool is shared by
-     * all figures upon which this selection tool operates.
-     *
-     * @param newTextTool delegate text tool
-     */
-    protected void setTextTool(TextTool newTextTool) {
-        myTextTool = newTextTool;
-    }
-
-    /**
-     * Return the text tool to which double clicks are delegated. The text tool is shared by
-     * all figures upon which this selection tool operates.
-     *
-     * @return delegate text tool
-     */    
-    protected TextTool getTextTool() {
-       return myTextTool;
-    }
-}
\ No newline at end of file
diff --git a/jmodeller/src/DependencyLineConnection.java b/jmodeller/src/DependencyLineConnection.java
deleted file mode 100644
index 1f84b9eeb..000000000
--- a/jmodeller/src/DependencyLineConnection.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * JModeller
- *
- * @version 1.0     15.01.2001
- * @author Wolfram Kaiser (�2001)
- */
-
-import java.awt.Color;
-import java.awt.Graphics;
-
-import org.jhotdraw.figures.ArrowTip;
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.framework.Figure;
-
-/**
- * Draw a dependency line between two classes. A dependency relation is a
- * uses-a relation with a direction where the connection points to the class
- * used by another one. The start class is dependend on the end class. A
- * DependencyLineConnection has an arrow at the end point and is dotted.
- * Currently, classes keep track themselves about other dependend classes
- */
-public class DependencyLineConnection extends LineConnection {
-
-    static final long serialVersionUID = -2964321053621789632L;
-
-    /**
-     * Create a new instance
-     */
-    public DependencyLineConnection() {
-        super();
-
-        setStartDecoration(null);
-        ArrowTip arrow = new ArrowTip(0.4, 12.0, 0.0);
-        arrow.setBorderColor(Color.black);
-        setEndDecoration(arrow);
-        setEndDecoration(arrow);
-    }
-
-    /**
-     * Hook method to plug in application behaviour into
-     * a template method. This method is called when a
-     * connection between two objects has been established.
-     *
-     * @param start figure representing the start class which is dependend on the end class
-     * @param end   figure representing the end class
-     */
-    protected void handleConnect(Figure start, Figure end) {
-        super.handleConnect(start, end);
-
-        JModellerClass startClass = ((ClassFigure)start).getModellerClass();
-        JModellerClass endClass = ((ClassFigure)end).getModellerClass();
-
-        startClass.addDependency(endClass);
-    }
-
-    /**
-     * Hook method to plug in application behaviour into
-     * a template method. This method is called when a 
-     * connection between two objects has been cancelled.
-     *
-     * @param start figure representing the start class which is dependend on the end class
-     * @param end   figure representing the end class
-     */
-    protected void handleDisconnect(Figure start, Figure end) {
-        super.handleDisconnect(start, end);
-        if ((start != null) && (end != null)) {
-            JModellerClass startClass = ((ClassFigure)start).getModellerClass();
-            JModellerClass endClass = ((ClassFigure)end).getModellerClass();
-            startClass.removeDependency(endClass);
-        }
-    }
-
-    /*
-     * Draw the line which is a dotted line for a dependency connection. Instead
-     * of drawing one line from start point to end point, the line is divided into
-     * several small lines each 5 pixels long and 5 pixels away from the previous
-     * line. Some minor inaccuracy are possible due to rounding errors or incomplete
-     * last lines.
-     *
-     * @param g  graphics context into which the line is drawn
-     * @param x1 start x point
-     * @param y1 start y point
-     * @param x2 end x point
-     * @param y2 end y point
-     */
-    protected void drawLine(Graphics g, int x1, int y1, int x2, int y2) {
-        int xDistance = x2 - x1;
-        int yDistance = y2 - y1;
-        double direction = Math.PI/2 - Math.atan2(xDistance, yDistance);
-        
-        double xAngle = Math.cos(direction);
-        double yAngle = Math.sin(direction);
-        int lineLength = (int)Math.sqrt(xDistance*xDistance + yDistance*yDistance);
-
-        for (int i = 0; i + 5 < lineLength; i = i + 10) {
-            int p1x = x1 + (int)(i * xAngle);
-            int p1y = y1 + (int)(i * yAngle);
-            int p2x = x1 + (int)((i + 5) * xAngle);
-            int p2y = y1 + (int)((i + 5) * yAngle);
-            g.drawLine(p1x, p1y, p2x, p2y);
-        }
-    }
-}
\ No newline at end of file
diff --git a/jmodeller/src/InheritanceLineConnection.java b/jmodeller/src/InheritanceLineConnection.java
deleted file mode 100644
index 3c896c35c..000000000
--- a/jmodeller/src/InheritanceLineConnection.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**
- * JModeller
- *
- * @version 1.0     15.01.2001
- * @author Wolfram Kaiser (�2001)
- */
-
-import java.awt.Color;
-
-import org.jhotdraw.figures.ArrowTip;
-import org.jhotdraw.figures.LineConnection;
-import org.jhotdraw.framework.Figure;
-
-/**
- * An InheritanceLineConnection is a graphical representation for
- * an inheritance relationship (is-a) between two classes (represented
- * by ClassFigures).
- */
-public class InheritanceLineConnection extends LineConnection {
-
-    static final long serialVersionUID = 3140686678671889499L;
-
-    /**
-     * Create a new instance with a predefined arrow
-     */
-    public InheritanceLineConnection() {
-        setStartDecoration(null);
-        ArrowTip arrow = new ArrowTip(0.35, 20.0 , 20.0);
-        arrow.setFillColor(Color.white);
-        arrow.setBorderColor(Color.black);
-        setEndDecoration(arrow);
-    }
-        
-    /**
-     * Hook method to plug in application behaviour into
-     * a template method. This method is called when a
-     * connection between two objects has been established.
-     */
-    protected void handleConnect(Figure start, Figure end) {
-        super.handleConnect(start, end);
-
-        JModellerClass startClass = ((ClassFigure)start).getModellerClass();
-        JModellerClass endClass = ((ClassFigure)end).getModellerClass();
-
-        startClass.addSuperclass(endClass);
-    }
-
-    /**
-     * Hook method to plug in application behaviour into
-     * a template method. This method is called when a 
-     * connection between two objects has been cancelled.
-     */
-    protected void handleDisconnect(Figure start, Figure end) {
-        super.handleDisconnect(start, end);
-        if ((start != null) && (end!= null)) {
-            JModellerClass startClass = ((ClassFigure)start).getModellerClass();
-            JModellerClass endClass = ((ClassFigure)end).getModellerClass();
-            startClass.removeSuperclass(endClass);
-        }
-    }
-
-    /**
-     * Test whether an inheritance relationship between two ClassFigures can
-     * be established. An inheritance relationshop can be established if
-     * there is no cyclic inheritance graph. This method is called before
-     * the two classes are connected in the diagram.
-     *
-     * @param   start   subclass
-     * @param   end     superclass
-     * @return  true, if an inheritance relationship can be established, false otherwise
-     */
-    public boolean canConnect(Figure start, Figure end) {
-        JModellerClass startClass = ((ClassFigure)start).getModellerClass();
-        JModellerClass endClass = ((ClassFigure)end).getModellerClass();
-
-        return !endClass.hasInheritanceCycle(startClass);
-    }
-}
\ No newline at end of file
diff --git a/jmodeller/src/JModellerApplication.java b/jmodeller/src/JModellerApplication.java
deleted file mode 100644
index b541efb90..000000000
--- a/jmodeller/src/JModellerApplication.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/**
- * JModeller
- *
- * @version 1.1     25.02.2002
- * @author Wolfram Kaiser (�2002)
- */
-
-import java.awt.Color;
-import java.awt.Point;
-import java.awt.event.ActionEvent;
-import java.awt.event.MouseEvent;
-
-import javax.swing.AbstractAction;
-import javax.swing.JMenu;
-import javax.swing.JMenuBar;
-import javax.swing.JToolBar;
-
-import org.jhotdraw.contrib.MDI_DrawApplication;
-import org.jhotdraw.figures.ConnectedTextTool;
-import org.jhotdraw.figures.TextFigure;
-import org.jhotdraw.framework.DrawingView;
-import org.jhotdraw.framework.FigureAttributeConstant;
-import org.jhotdraw.framework.Tool;
-import org.jhotdraw.standard.ConnectionTool;
-import org.jhotdraw.standard.CreationTool;
-import org.jhotdraw.standard.ToggleGridCommand;
-import org.jhotdraw.util.CommandMenu;
-import org.jhotdraw.util.UndoableTool;
-
-/**
- * This is the main class to start the JModeller application. The actual main() method
- * is already defined in CH.ifa.draw.application.DrawApplication
- *
- * @see CH.ifa.draw.application.DrawApplication
- */
-public class JModellerApplication extends MDI_DrawApplication {
-
-    /**
-     * Path where to find the pictures (relatively to where the class files are stored)
-     */
-    public static final String DIAGRAM_IMAGES = "/images/";
-
-    /**
-     * Create a new instance of JModellerApplication
-     */
-    public JModellerApplication() {
-        super("JModeller - Class Diagram Editor");
-    }
-
-    /**
-     * Create the tools for the toolbar. The tools are
-     * a selection tool, a tool to create a new class and
-     * two tools to create association and inheritance
-     * relationships between classes.
-     *
-     * @param   palette toolbar to which the tools should be added
-     */
-    protected void createTools(JToolBar palette) {
-        super.createTools(palette);
-
-        Tool tool = new UndoableTool(new ConnectedTextTool(this, new TextFigure()));
-        palette.add(createToolButton(IMAGES+"ATEXT", "Label", tool));
-
-        tool = new UndoableTool(new CreationTool(this, new ClassFigure()) {
-             public void mouseDrag(MouseEvent e, int x, int y) {
-                 // don't track drag events during creation: figure size is
-                 //  calculated and independent of current size
-             }
-        });
-        palette.add(createToolButton(DIAGRAM_IMAGES+"CLASS", "New Class", tool));
-
-        tool = new UndoableTool(new ConnectionTool(this, new AssociationLineConnection()));
-        palette.add(createToolButton(IMAGES+"LINE", "Association Tool", tool));
-
-        tool = new UndoableTool(new ConnectionTool(this, new DependencyLineConnection()));
-        palette.add(createToolButton(DIAGRAM_IMAGES+"DEPENDENCY", "Dependency Tool", tool));
-
-        tool = new UndoableTool(new ConnectionTool(this, new InheritanceLineConnection()));
-        palette.add(createToolButton(DIAGRAM_IMAGES+"INHERITANCE", "Inheritance Tool", tool));
-    }
-
-    /**
-     * Create a special selection tool which reacts on the right mouse button
-     * to show a popup menu.
-     *
-     * @return  selection tool with special behaviour for the right mouse button
-     */
-    protected Tool createSelectionTool() {
-        return new DelegationSelectionTool(this);
-    }
-
-    /**
-     * Create the menues for a given menu bar.
-     *
-     * @param   mb  menu bar to which the menus should be added
-     */
-    protected void createMenus(JMenuBar mb) {
-        mb.add(createFileMenu());
-        mb.add(createEditMenu());
-        mb.add(createAlignmentMenu());
-        mb.add(createAttributesMenu());
-        mb.add(createLookAndFeelMenu());
-    }
-
-    /**
-     * Create an attribute menu hiding some special menu entries from
-     * the superclass. The attribute menu contains actions which can be
-     * performed if a figure is selected in a drawing. For this figure
-     * some attributes can be set such as fill and pen colour.
-     *
-     *  @return newly create attribute menu
-     */
-    protected JMenu createAttributesMenu() {
-        JMenu menu = new JMenu("Attributes");
-        menu.add(createColorMenu("Fill Color", FigureAttributeConstant.FILL_COLOR));
-        menu.add(createColorMenu("Pen Color", FigureAttributeConstant.FRAME_COLOR));
-        return menu;
-    }
-
-    /**
-     * Create an alignment menu hiding some special menu entries from
-     * the superclass. The alignment menu contains actions for aligning
-     * figures within the drawing in this case to arrange them in a grid
-     * or not.
-     *
-     * @return  newly created alignment menu
-     */
-    protected JMenu createAlignmentMenu() {
-        CommandMenu menu = new CommandMenu("Align");
-        menu.add(new ToggleGridCommand("Toggle Snap to Grid", this, new Point(4,4)));
-        return menu;
-    }
-
-    /**
-     * Create an internal window menu, so several drawing cans be manipulated
-     * at the same time.
-     *
-     * @return  newly created alignment menu
-     */
-    protected JMenu createFileMenu() {
-        JMenu menu = super.createFileMenu();
-        menu.insert(
-            new AbstractAction("New Window") {
-                public void actionPerformed(ActionEvent event) {
-                    newWindow(createDrawing());
-                }
-            }, 5);
-
-		menu.insertSeparator( 6 );
-
-        return menu;
-    }
-
-    /**
-     * Creates the drawing view used in this application.
-     * You need to override this method to use a DrawingView
-     * subclass in your application. By default a standard
-     * DrawingView is returned.
-     */
-    protected DrawingView createDrawingView() {
-        DrawingView newView = super.createDrawingView();
-        newView.setBackground(Color.white);
-        return newView;
-    }
-
-    /**
-     * Start the application by creating an instance and open
-     * the editor window.
-     */
-    public static void main(String[] args) {
-        JModellerApplication window = new JModellerApplication();
-        window.open();
-    }
-}
\ No newline at end of file
diff --git a/jmodeller/src/JModellerClass.java b/jmodeller/src/JModellerClass.java
deleted file mode 100644
index 5db7aa54b..000000000
--- a/jmodeller/src/JModellerClass.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/**
- * JModeller
- *
- * @version 1.0     15.01.2001
- * @author Wolfram Kaiser (�2001)
- */
-
-import java.util.*;
-import java.io.Serializable;
-
-/**
- * A JModellerClass represents a class in a class diagram. It is known by its name
- * and has attributes and methods and keeps track of its superclasses, associations
- * and dependencies.
- */
-public class JModellerClass implements Serializable {
-
-    /**
-     * Name of the class to represent
-     */
-    private String myName;
-    
-    /**
-     * Names of attribute in the class
-     */
-    private Vector myAttributes;
-    
-    /**
-     * Names of methods in the class
-     */
-    private Vector myMethods;
-    
-    /**
-     * Associated classes
-     */
-    private Vector myAssociatedClasses;
-    
-    /**
-     * Direct superclasses (multiple inheritance is possible)
-     */
-    private Vector mySuperclasses;
-    
-    /**
-     * Classes upon which the current class is dependend
-     */
-    private Vector myDependClasses;
-
-    static final long serialVersionUID = -3748332488864682801L;
-
-    /**
-     * Create a new JModellerClass instance
-     */
-    public JModellerClass() {
-        this("Class");
-    }
-
-    /**
-     * Create a new JModellerClass instance with a given name
-     *
-     * @param newClassName name of the class
-     */    
-    public JModellerClass(String newClassName) {
-        setName(newClassName);
-        myAttributes = new Vector();
-        myMethods = new Vector();
-        myAssociatedClasses = new Vector();
-        mySuperclasses = new Vector();
-        myDependClasses = new Vector();
-    }
-
-    /**
-     * Set the name of the class. The name can be altered after a JModellerClass
-     * has been created.
-     *
-     * @param newName new name of the class
-     */    
-    public void setName(String newName) {
-        myName = newName;
-    }
-    
-    /**
-     * Return the name of the class
-     *
-     * @return name of the class
-     */
-    public String getName() {
-        return myName;
-    }
-    
-    /**
-     * Add an attribute with a given name
-     *
-     * @param newAttribute name of an attribute to be added
-     */
-    public void addAttribute(String newAttribute) {
-        myAttributes.addElement(newAttribute);
-    }
-    
-    /**
-     * Remove an attribute with a given name
-     *
-     * @param oldAttribute name of the attribute to be removed
-     */
-    public void removeAttribute(String oldAttribute) {
-        myAttributes.removeElement(oldAttribute);
-    }
-
-    /**
-     * Rename an attribute with a given name if the attribute exists.
-     *
-     * @param oldAttribute name of the attribute to be renamed
-     * @param newAttribute new attribute name
-     */
-    public void renameAttribute(String oldAttribute, String newAttribute) {
-        int attributeIndex = myAttributes.indexOf(oldAttribute);
-        if (attributeIndex >= 0) {
-            myAttributes.removeElementAt(attributeIndex);
-            myAttributes.insertElementAt(newAttribute, attributeIndex);
-        }
-    }
-
-    /**
-     * Return an iterator over all attribute names
-     *
-     * @return iterator over all attribute names
-     */
-    public Iterator getAttributes() {
-        return myAttributes.iterator();
-    }
-
-    /**
-     * Return the number of attributes in this class
-     *
-     * @return number of attributes
-     */
-    public int getNumberOfAttributes() {
-        return myAttributes.size();
-    }
-
-    /**
-     * Test whether an attribute with a specific name exists in this class already
-     *
-     * @return true, if the attribute exists, false otherwise
-     */
-    public boolean hasAttribute(String checkAttributeName) {
-        return myAttributes.contains(checkAttributeName);
-    }
-
-    /**
-     * Add a method with a given name
-     *
-     * @param newMethod name of a method to be added
-     */        
-    public void addMethod(String newMethod) {
-        myMethods.addElement(newMethod);
-    }
-
-    /**
-     * Remove an method with a given name
-     *
-     * @param oldMethod name of the method to be removed
-     */    
-    public void removeMethod(String oldMethod) {
-        myMethods.removeElement(oldMethod);
-    }
-
-    /**
-     * Rename an method with a given name if the method exists.
-     *
-     * @param oldMethod name of the method to be renamed
-     * @param newMethod new method name
-     */    
-    public void renameMethod(String oldMethod, String newMethod) {
-        int methodIndex = myMethods.indexOf(oldMethod);
-        if (methodIndex >= 0) {
-            myMethods.removeElementAt(methodIndex);
-            myMethods.insertElementAt(newMethod, methodIndex);
-        }
-    }
-
-    /**
-     * Return an iterator over all method names
-     *
-     * @return iterator over all method names
-     */
-    public Iterator getMethods() {
-        return myMethods.iterator();
-    }
-
-    /**
-     * Return the number of methods in this class
-     *
-     * @return number of methods
-     */
-    public int getNumberOfMethods() {
-        return myMethods.size();
-    }
-
-    /**
-     * Test whether an method with a specific name exists in this class already
-     *
-     * @return true, if the method exists, false otherwise
-     */
-    public boolean hasMethod(String checkMethodName) {
-        return myMethods.contains(checkMethodName);
-    }
-
-    /**
-     * Add another class as associated class.
-     *
-     * @param newAssociatedClass associated class
-     */
-    public void addAssociation(JModellerClass newAssociatedClass) {
-        myAssociatedClasses.add(newAssociatedClass);
-    }
-
-    /**
-     * Remove an associated class.
-     *
-     * @param oldAssociatedClass associated class to be removed
-     */    
-    public void removeAssociation(JModellerClass oldAssociatedClass) {
-        myAssociatedClasses.remove(oldAssociatedClass);
-    }
-
-    /**
-     * Test whether another class is an associated class
-     *
-     * @return true, if the class is associated, false otherwise
-     */
-    public boolean hasAssociation(JModellerClass checkAssociatedClass) {
-        return myAssociatedClasses.contains(checkAssociatedClass);
-    }
-
-    /**
-     * Return an iterator containing all associated classes
-     *
-     * @return iterator over associated classes
-     */    
-    public Iterator getAssociations() {
-        return myAssociatedClasses.iterator();
-    }
-
-    /**
-     * Add another class as superclass. This class becomes a subclass of
-     * the other class.
-     *
-     * @param newSuperclass superclass to be added
-     */    
-    public void addSuperclass(JModellerClass newSuperclass) {
-        mySuperclasses.add(newSuperclass);
-    }
-    
-    /**
-     * Remove a superclass so this class is not longer a subclass of the other class
-     *
-     * @param oldSuperclass superclass to be removed
-     */
-    public void removeSuperclass(JModellerClass oldSuperclass) {
-        mySuperclasses.remove(oldSuperclass);
-    }
-
-    /**
-     * Return an iterator containing all superclasses
-     *
-     * @return iterator over superclasses
-     */
-    public Iterator getSuperclasses() {
-        return mySuperclasses.iterator();
-    }   
-
-    /**
-     * Checks whether class has an inheritance cycle. A inheritance
-     * cycle is encountered
-     * - if the possible subclass it the same as the current class
-     * - if the possible subrclass is already a superclass of the current class
-     *
-     * @param   possibleSuperclass  class to which should
-     */
-    public boolean hasInheritanceCycle(JModellerClass possibleSubclass) {
-        if (possibleSubclass == this) {
-            return true;
-        }
-
-        return possibleSubclass.isSuperclass(this);
-
-    }
-
-    /**
-     * Checks whether this class is the superclass of the class to test
-     *
-     * @param   possibleSubclass    class which should be subclass to this class or its superclasses
-     */
-    public boolean isSuperclass(JModellerClass possibleSubclass) {
-        if (possibleSubclass.mySuperclasses.contains(this)) {
-            return true;
-        }
-        
-        Iterator i = possibleSubclass.getSuperclasses();
-        while (i.hasNext()) {
-            Object currentObject = i.next();
-            if (isSuperclass((JModellerClass) currentObject)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Add another class so this class becomes a dependend class of the other
-     *
-     * @param newDependency class upon which this class should depend
-     */    
-    public void addDependency(JModellerClass newDependency) {
-        myDependClasses.add(newDependency);
-    }
-    
-    /**
-     * Remove a class on which this class is dependend
-     *
-     * @param oldDependency dependency class to be removed
-     */
-    public void removeDependency(JModellerClass oldDependency) {
-        myDependClasses.remove(oldDependency);
-    }
-    
-    /**
-     * Test whether this class is dependend on the given class
-     *
-     * @return true, if this class is dependend, false otherwise
-     */
-    public boolean hasDependency(JModellerClass checkDependency) {
-        return myDependClasses.contains(checkDependency);
-    }
-    
-    /**
-     * Return an iterator containing all classes on which this class is dependend
-     *
-     * @return iterator over all classes on which this class depends
-     */
-    public Iterator getDependencies() {
-        return myDependClasses.iterator();
-    }
-}
\ No newline at end of file
diff --git a/jmodeller/src/SeparatorFigure.java b/jmodeller/src/SeparatorFigure.java
deleted file mode 100644
index ae0b4f1e0..000000000
--- a/jmodeller/src/SeparatorFigure.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * JModeller
- *
- * @version 1.0     15.01.2001
- * @author Wolfram Kaiser (�2001)
- */
-
-import java.awt.Graphics;
-
-import org.jhotdraw.figures.LineFigure;
-
-/**
- * A SeparatorFigure is a similar to a LineFigure
- * but draws only a horizontal line and separates
- * from other figures beneath
- */
-public class SeparatorFigure extends LineFigure {
-
-    static final long serialVersionUID = 7110919055213080660L;
-
-    /**
-     * Create a new SeparatorFigure
-     */
-    public SeparatorFigure() {
-        super();
-    }
-
-    /**
-     * Draw the separation line and to hold some space free
-     */
-    public void draw(Graphics g) {
-        g.setColor(getFrameColor());
-        g.drawLine(startPoint().x, startPoint().y, endPoint().x - 1, startPoint().y);
-    }
-}
\ No newline at end of file
diff --git a/jmodeller/src/images/CLASS1.gif b/jmodeller/src/images/CLASS1.gif
deleted file mode 100644
index fe729a40fdf07dcdd0f9776e4de98baec8697aaf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 185
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlJ}v(bM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF1(sB5u8|!Jh*P2E`k`vPmdj
z>=3r9_m<Nuzj;!{KmE(A=4TVGNt;RE=~{VpQHf7mTYuc?4|j8RUyUhg^{Y1gtykY*
XV58O6-qESu)zc+eRmCpIz+epkdy-Gv

diff --git a/jmodeller/src/images/CLASS2.gif b/jmodeller/src/images/CLASS2.gif
deleted file mode 100644
index 6b26a6caa7f825a5ded6e41ee4845d581a596788..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 175
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBlJcR!bM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)MQbmW_0GOA^<6__frm_*&x-pD
z!8T0Y0SiB~{Qg>VVwDQlT(#|&?p^xDThtl%R`j=x^vSHpPv`F4`SL(1>%7Z>zm1d{
N8f~g<*##LGtN~2iOius+

diff --git a/jmodeller/src/images/CLASS3.gif b/jmodeller/src/images/CLASS3.gif
deleted file mode 100644
index 08a2ee428b70731ecadf89c630adc795f8f01572..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 187
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FBQt+X{bM;<_MQ3;aKhYw?pE>Qt%C5}SyZV2e+rXkwT6aqI*=!x51P2|dZUzy5
zqXRO=duM<0P*rO+U+{j>QO?y@vUP56&YOK#^M*!T-p;`MoU>t*X8JBS{kt^!t#V+#
ZNR5@Hcbl<er$L8FzhrYWyC4IDH2|T6O^pBm

diff --git a/jmodeller/src/images/DEPENDENCY1.gif b/jmodeller/src/images/DEPENDENCY1.gif
deleted file mode 100644
index 7a5533bfc25be699bed493923b68f4b4d9326f07..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 170
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|F8Iy
zg^_`QgFy$R6J!PhOZbNd&((V!_MP4R|HK!Wl+1Z*LQKl9=B@g1F6GRn&37k>uA40x
zle=}YM6Jt$0*zwU`2DInmeqc<F9l6WOTD)#YSo2ZtkXBAXI8BY-g*DS4==yz=>`>N
I6qy*T0p`a?asU7T

diff --git a/jmodeller/src/images/DEPENDENCY2.gif b/jmodeller/src/images/DEPENDENCY2.gif
deleted file mode 100644
index 699b586c64aab1c5b9124a742199fc1f968791dc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 163
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|F8Iy
zg^_`QgFy$R6J!PhOTdQ)&((V!7M<Pw{{&0le3l&dRqJ%Lm2zeF7p=Wi*8BW3=lZF4
z^rk+X8Q{Q~zrw_5veo>J?N?6D3(i^1F~u)7E`9qi)wa{e<$vwiH`Actv?3FOH2}mm
BL!STu

diff --git a/jmodeller/src/images/DEPENDENCY3.gif b/jmodeller/src/images/DEPENDENCY3.gif
deleted file mode 100644
index 300dbd4ccfa1d7ffb6447e998a5e4444123381d7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 172
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|F8Iy
zg^_`QgFy$R6J!PhOXP<J&((V!7M<Pw|3r%nf9A9oE4wmR@9O_?ZUc)#Y2B#|*Y(>&
z+^#>G$Y8jrbL*djJ+7+3KlfNp+`n=%+tX`XuFRd<CCavaXWkALw{G`rg>$j3m&46^
L?iF<~FjxZs>Mu$<

diff --git a/jmodeller/src/images/INHERITANCE1.gif b/jmodeller/src/images/INHERITANCE1.gif
deleted file mode 100644
index 7d5e12cb27752ce14a47694fae7fa06eac63c826..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 168
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB68oXSbM;<_eP?(7Kk-E-C3Bvd5R>w&d8>Y$OF47yX7=`sX^X9|zn>oU(aVMN
zLd7AUgfrorG$x;G3X2V?xchBa=sL4MviCRXt+9B!)bV7VmbdHr+wZma$h|NArOhtL
Hz+epk`XEcW

diff --git a/jmodeller/src/images/INHERITANCE2.gif b/jmodeller/src/images/INHERITANCE2.gif
deleted file mode 100644
index 967650d19d8df5e8b82c8e4113c84698781e14f8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 158
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|E~km
z0n*FB68xdTbM;<_MQ3;aKf%&BpC!kA)jAz*rCgc)n?h#4$T?jyd#U|>&SzR&#ad^c
wcwD(!<#+ExW%I99!E$1iwP}kt=ZBv%oiuxUf#u#!n{F@P9_G1SMv1{10BX%d+5i9m

diff --git a/jmodeller/src/images/INHERITANCE3.gif b/jmodeller/src/images/INHERITANCE3.gif
deleted file mode 100644
index 20acf1d75b5f7878699280ab749837ba85e09ace..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 173
zcmZ?wbhEHblwgox*vtR|`xzJ*_A~4UQ~SZJ0|yQ?G&KBYU|{&q@E=V52ebbF|F8Iy
zg^_`QgFy$R6J!PhOVo!3&((V!7M<Pw|3r%nf9A9oE4wmR@9O_?ZUc)#>CC4^bKe?=
zU0})i8s;(GpmpY+J_CnyZHqnEY?Kbmish?}x_4#uowm%F`?)!Cox8JhqV4+p59a;a
LaB{nh5`#4W2pvjC

diff --git a/jhotdraw7/lib/annotations.jar b/lib/annotations.jar
similarity index 100%
rename from jhotdraw7/lib/annotations.jar
rename to lib/annotations.jar
diff --git a/jhotdraw7/lib/java_30.zip b/lib/java_30.zip
similarity index 100%
rename from jhotdraw7/lib/java_30.zip
rename to lib/java_30.zip
diff --git a/jhotdraw7/lib/jsr305.jar b/lib/jsr305.jar
similarity index 100%
rename from jhotdraw7/lib/jsr305.jar
rename to lib/jsr305.jar
diff --git a/jhotdraw7/lib/libquaqua.jnilib b/lib/libquaqua.jnilib
similarity index 100%
rename from jhotdraw7/lib/libquaqua.jnilib
rename to lib/libquaqua.jnilib
diff --git a/jhotdraw7/lib/libquaqua64.jnilib b/lib/libquaqua64.jnilib
similarity index 100%
rename from jhotdraw7/lib/libquaqua64.jnilib
rename to lib/libquaqua64.jnilib
diff --git a/jhotdraw7/lib/quaqua.jar b/lib/quaqua.jar
similarity index 100%
rename from jhotdraw7/lib/quaqua.jar
rename to lib/quaqua.jar
diff --git a/jhotdraw6/manifest.mf b/manifest.mf
similarity index 100%
rename from jhotdraw6/manifest.mf
rename to manifest.mf
diff --git a/jhotdraw7/nbproject/build-impl.xml b/nbproject/build-impl.xml
similarity index 100%
rename from jhotdraw7/nbproject/build-impl.xml
rename to nbproject/build-impl.xml
diff --git a/jhotdraw7/nbproject/genfiles.properties b/nbproject/genfiles.properties
similarity index 100%
rename from jhotdraw7/nbproject/genfiles.properties
rename to nbproject/genfiles.properties
diff --git a/jhotdraw7/nbproject/private/private.properties b/nbproject/private/private.properties
similarity index 100%
rename from jhotdraw7/nbproject/private/private.properties
rename to nbproject/private/private.properties
diff --git a/jhotdraw7/nbproject/private/private.xml b/nbproject/private/private.xml
similarity index 100%
rename from jhotdraw7/nbproject/private/private.xml
rename to nbproject/private/private.xml
diff --git a/jhotdraw7/nbproject/profiler-build-impl.xml b/nbproject/profiler-build-impl.xml
similarity index 100%
rename from jhotdraw7/nbproject/profiler-build-impl.xml
rename to nbproject/profiler-build-impl.xml
diff --git a/jhotdraw7/nbproject/project.properties b/nbproject/project.properties
similarity index 100%
rename from jhotdraw7/nbproject/project.properties
rename to nbproject/project.properties
diff --git a/jhotdraw7/nbproject/project.xml b/nbproject/project.xml
similarity index 100%
rename from jhotdraw7/nbproject/project.xml
rename to nbproject/project.xml
diff --git a/jhotdraw6/pom.xml b/pom.xml
similarity index 100%
rename from jhotdraw6/pom.xml
rename to pom.xml
diff --git a/jhotdraw7/src/documentation/changes.html b/src/documentation/changes.html
similarity index 100%
rename from jhotdraw7/src/documentation/changes.html
rename to src/documentation/changes.html
diff --git a/jhotdraw7/src/documentation/getting_started.html b/src/documentation/getting_started.html
similarity index 100%
rename from jhotdraw7/src/documentation/getting_started.html
rename to src/documentation/getting_started.html
diff --git a/jhotdraw7/src/documentation/images/draw_mdi.png b/src/documentation/images/draw_mdi.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/draw_mdi.png
rename to src/documentation/images/draw_mdi.png
diff --git a/jhotdraw7/src/documentation/images/draw_mdi_small.png b/src/documentation/images/draw_mdi_small.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/draw_mdi_small.png
rename to src/documentation/images/draw_mdi_small.png
diff --git a/jhotdraw7/src/documentation/images/draw_osx.png b/src/documentation/images/draw_osx.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/draw_osx.png
rename to src/documentation/images/draw_osx.png
diff --git a/jhotdraw7/src/documentation/images/draw_osx_small.png b/src/documentation/images/draw_osx_small.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/draw_osx_small.png
rename to src/documentation/images/draw_osx_small.png
diff --git a/jhotdraw7/src/documentation/images/jhotdraw-duked.xml b/src/documentation/images/jhotdraw-duked.xml
similarity index 100%
rename from jhotdraw7/src/documentation/images/jhotdraw-duked.xml
rename to src/documentation/images/jhotdraw-duked.xml
diff --git a/jhotdraw7/src/documentation/images/jhotdraw-seven.xml b/src/documentation/images/jhotdraw-seven.xml
similarity index 100%
rename from jhotdraw7/src/documentation/images/jhotdraw-seven.xml
rename to src/documentation/images/jhotdraw-seven.xml
diff --git a/jhotdraw7/src/documentation/images/lion.svg b/src/documentation/images/lion.svg
similarity index 100%
rename from jhotdraw7/src/documentation/images/lion.svg
rename to src/documentation/images/lion.svg
diff --git a/jhotdraw7/src/documentation/images/lion.svgz b/src/documentation/images/lion.svgz
similarity index 100%
rename from jhotdraw7/src/documentation/images/lion.svgz
rename to src/documentation/images/lion.svgz
diff --git a/jhotdraw7/src/documentation/images/net.xml b/src/documentation/images/net.xml
similarity index 100%
rename from jhotdraw7/src/documentation/images/net.xml
rename to src/documentation/images/net.xml
diff --git a/jhotdraw7/src/documentation/images/net_osx.png b/src/documentation/images/net_osx.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/net_osx.png
rename to src/documentation/images/net_osx.png
diff --git a/jhotdraw7/src/documentation/images/net_osx_small.png b/src/documentation/images/net_osx_small.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/net_osx_small.png
rename to src/documentation/images/net_osx_small.png
diff --git a/jhotdraw7/src/documentation/images/pert.xml b/src/documentation/images/pert.xml
similarity index 100%
rename from jhotdraw7/src/documentation/images/pert.xml
rename to src/documentation/images/pert.xml
diff --git a/jhotdraw7/src/documentation/images/pert_osx.png b/src/documentation/images/pert_osx.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/pert_osx.png
rename to src/documentation/images/pert_osx.png
diff --git a/jhotdraw7/src/documentation/images/pert_osx_small.png b/src/documentation/images/pert_osx_small.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/pert_osx_small.png
rename to src/documentation/images/pert_osx_small.png
diff --git a/jhotdraw7/src/documentation/images/svg_osx.png b/src/documentation/images/svg_osx.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/svg_osx.png
rename to src/documentation/images/svg_osx.png
diff --git a/jhotdraw7/src/documentation/images/svg_osx_small.png b/src/documentation/images/svg_osx_small.png
similarity index 100%
rename from jhotdraw7/src/documentation/images/svg_osx_small.png
rename to src/documentation/images/svg_osx_small.png
diff --git a/jhotdraw7/src/documentation/images/webstart.small.gif b/src/documentation/images/webstart.small.gif
similarity index 100%
rename from jhotdraw7/src/documentation/images/webstart.small.gif
rename to src/documentation/images/webstart.small.gif
diff --git a/jhotdraw7/src/documentation/index.html b/src/documentation/index.html
similarity index 100%
rename from jhotdraw7/src/documentation/index.html
rename to src/documentation/index.html
diff --git a/jhotdraw7/src/documentation/jws/draw.jnlp b/src/documentation/jws/draw.jnlp
similarity index 100%
rename from jhotdraw7/src/documentation/jws/draw.jnlp
rename to src/documentation/jws/draw.jnlp
diff --git a/jhotdraw7/src/documentation/jws/net.jnlp b/src/documentation/jws/net.jnlp
similarity index 100%
rename from jhotdraw7/src/documentation/jws/net.jnlp
rename to src/documentation/jws/net.jnlp
diff --git a/jhotdraw7/src/documentation/jws/pert.jnlp b/src/documentation/jws/pert.jnlp
similarity index 100%
rename from jhotdraw7/src/documentation/jws/pert.jnlp
rename to src/documentation/jws/pert.jnlp
diff --git a/jhotdraw7/src/documentation/jws/svg.jnlp b/src/documentation/jws/svg.jnlp
similarity index 100%
rename from jhotdraw7/src/documentation/jws/svg.jnlp
rename to src/documentation/jws/svg.jnlp
diff --git a/jhotdraw7/src/documentation/jws/teddy.jnlp b/src/documentation/jws/teddy.jnlp
similarity index 100%
rename from jhotdraw7/src/documentation/jws/teddy.jnlp
rename to src/documentation/jws/teddy.jnlp
diff --git a/jhotdraw7/src/documentation/license.html b/src/documentation/license.html
similarity index 100%
rename from jhotdraw7/src/documentation/license.html
rename to src/documentation/license.html
diff --git a/jhotdraw7/src/documentation/license_terms_ccby.html b/src/documentation/license_terms_ccby.html
similarity index 100%
rename from jhotdraw7/src/documentation/license_terms_ccby.html
rename to src/documentation/license_terms_ccby.html
diff --git a/jhotdraw7/src/documentation/license_terms_lgpl.html b/src/documentation/license_terms_lgpl.html
similarity index 100%
rename from jhotdraw7/src/documentation/license_terms_lgpl.html
rename to src/documentation/license_terms_lgpl.html
diff --git a/jhotdraw7/src/documentation/release_notes.html b/src/documentation/release_notes.html
similarity index 100%
rename from jhotdraw7/src/documentation/release_notes.html
rename to src/documentation/release_notes.html
diff --git a/jhotdraw7/src/documentation/sample_draw_applet.html b/src/documentation/sample_draw_applet.html
similarity index 100%
rename from jhotdraw7/src/documentation/sample_draw_applet.html
rename to src/documentation/sample_draw_applet.html
diff --git a/jhotdraw7/src/documentation/sample_draw_application.html b/src/documentation/sample_draw_application.html
similarity index 100%
rename from jhotdraw7/src/documentation/sample_draw_application.html
rename to src/documentation/sample_draw_application.html
diff --git a/jhotdraw7/src/documentation/sample_net_applet.html b/src/documentation/sample_net_applet.html
similarity index 100%
rename from jhotdraw7/src/documentation/sample_net_applet.html
rename to src/documentation/sample_net_applet.html
diff --git a/jhotdraw7/src/documentation/sample_net_application.html b/src/documentation/sample_net_application.html
similarity index 100%
rename from jhotdraw7/src/documentation/sample_net_application.html
rename to src/documentation/sample_net_application.html
diff --git a/jhotdraw7/src/documentation/sample_pert_applet.html b/src/documentation/sample_pert_applet.html
similarity index 100%
rename from jhotdraw7/src/documentation/sample_pert_applet.html
rename to src/documentation/sample_pert_applet.html
diff --git a/jhotdraw7/src/documentation/sample_pert_application.html b/src/documentation/sample_pert_application.html
similarity index 100%
rename from jhotdraw7/src/documentation/sample_pert_application.html
rename to src/documentation/sample_pert_application.html
diff --git a/jhotdraw7/src/documentation/sample_svg_applet.html b/src/documentation/sample_svg_applet.html
similarity index 100%
rename from jhotdraw7/src/documentation/sample_svg_applet.html
rename to src/documentation/sample_svg_applet.html
diff --git a/jhotdraw7/src/documentation/sample_svg_application.html b/src/documentation/sample_svg_application.html
similarity index 100%
rename from jhotdraw7/src/documentation/sample_svg_application.html
rename to src/documentation/sample_svg_application.html
diff --git a/jhotdraw7/src/documentation/sample_teddy_application.html b/src/documentation/sample_teddy_application.html
similarity index 100%
rename from jhotdraw7/src/documentation/sample_teddy_application.html
rename to src/documentation/sample_teddy_application.html
diff --git a/jhotdraw7/src/documentation/stylesheet.css b/src/documentation/stylesheet.css
similarity index 100%
rename from jhotdraw7/src/documentation/stylesheet.css
rename to src/documentation/stylesheet.css
diff --git a/jhotdraw7/src/documentation/toc.html b/src/documentation/toc.html
similarity index 100%
rename from jhotdraw7/src/documentation/toc.html
rename to src/documentation/toc.html
diff --git a/jhotdraw7/src/documentation/tutorial/index.html b/src/documentation/tutorial/index.html
similarity index 100%
rename from jhotdraw7/src/documentation/tutorial/index.html
rename to src/documentation/tutorial/index.html
diff --git a/jhotdraw7/src/documentation/tutorial/purpose.html b/src/documentation/tutorial/purpose.html
similarity index 100%
rename from jhotdraw7/src/documentation/tutorial/purpose.html
rename to src/documentation/tutorial/purpose.html
diff --git a/jhotdraw7/src/documentation/tutorial/stylesheet.css b/src/documentation/tutorial/stylesheet.css
similarity index 100%
rename from jhotdraw7/src/documentation/tutorial/stylesheet.css
rename to src/documentation/tutorial/stylesheet.css
diff --git a/jhotdraw7/src/documentation/tutorial/toc.html b/src/documentation/tutorial/toc.html
similarity index 100%
rename from jhotdraw7/src/documentation/tutorial/toc.html
rename to src/documentation/tutorial/toc.html
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/CDATAReader.java b/src/main/java/net/n3/nanoxml/CDATAReader.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/CDATAReader.java
rename to src/main/java/net/n3/nanoxml/CDATAReader.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/ContentReader.java b/src/main/java/net/n3/nanoxml/ContentReader.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/ContentReader.java
rename to src/main/java/net/n3/nanoxml/ContentReader.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/IXMLBuilder.java b/src/main/java/net/n3/nanoxml/IXMLBuilder.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/IXMLBuilder.java
rename to src/main/java/net/n3/nanoxml/IXMLBuilder.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/IXMLElement.java b/src/main/java/net/n3/nanoxml/IXMLElement.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/IXMLElement.java
rename to src/main/java/net/n3/nanoxml/IXMLElement.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/IXMLEntityResolver.java b/src/main/java/net/n3/nanoxml/IXMLEntityResolver.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/IXMLEntityResolver.java
rename to src/main/java/net/n3/nanoxml/IXMLEntityResolver.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/IXMLParser.java b/src/main/java/net/n3/nanoxml/IXMLParser.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/IXMLParser.java
rename to src/main/java/net/n3/nanoxml/IXMLParser.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/IXMLReader.java b/src/main/java/net/n3/nanoxml/IXMLReader.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/IXMLReader.java
rename to src/main/java/net/n3/nanoxml/IXMLReader.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/IXMLValidator.java b/src/main/java/net/n3/nanoxml/IXMLValidator.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/IXMLValidator.java
rename to src/main/java/net/n3/nanoxml/IXMLValidator.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/NonValidator.java b/src/main/java/net/n3/nanoxml/NonValidator.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/NonValidator.java
rename to src/main/java/net/n3/nanoxml/NonValidator.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/PIReader.java b/src/main/java/net/n3/nanoxml/PIReader.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/PIReader.java
rename to src/main/java/net/n3/nanoxml/PIReader.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/StdXMLBuilder.java b/src/main/java/net/n3/nanoxml/StdXMLBuilder.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/StdXMLBuilder.java
rename to src/main/java/net/n3/nanoxml/StdXMLBuilder.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/StdXMLParser.java b/src/main/java/net/n3/nanoxml/StdXMLParser.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/StdXMLParser.java
rename to src/main/java/net/n3/nanoxml/StdXMLParser.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/StdXMLReader.java b/src/main/java/net/n3/nanoxml/StdXMLReader.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/StdXMLReader.java
rename to src/main/java/net/n3/nanoxml/StdXMLReader.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/ValidatorPlugin.java b/src/main/java/net/n3/nanoxml/ValidatorPlugin.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/ValidatorPlugin.java
rename to src/main/java/net/n3/nanoxml/ValidatorPlugin.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/XMLAttribute.java b/src/main/java/net/n3/nanoxml/XMLAttribute.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/XMLAttribute.java
rename to src/main/java/net/n3/nanoxml/XMLAttribute.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/XMLElement.java b/src/main/java/net/n3/nanoxml/XMLElement.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/XMLElement.java
rename to src/main/java/net/n3/nanoxml/XMLElement.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/XMLEntityResolver.java b/src/main/java/net/n3/nanoxml/XMLEntityResolver.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/XMLEntityResolver.java
rename to src/main/java/net/n3/nanoxml/XMLEntityResolver.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/XMLException.java b/src/main/java/net/n3/nanoxml/XMLException.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/XMLException.java
rename to src/main/java/net/n3/nanoxml/XMLException.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/XMLParseException.java b/src/main/java/net/n3/nanoxml/XMLParseException.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/XMLParseException.java
rename to src/main/java/net/n3/nanoxml/XMLParseException.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/XMLParserFactory.java b/src/main/java/net/n3/nanoxml/XMLParserFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/XMLParserFactory.java
rename to src/main/java/net/n3/nanoxml/XMLParserFactory.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/XMLUtil.java b/src/main/java/net/n3/nanoxml/XMLUtil.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/XMLUtil.java
rename to src/main/java/net/n3/nanoxml/XMLUtil.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/XMLValidationException.java b/src/main/java/net/n3/nanoxml/XMLValidationException.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/XMLValidationException.java
rename to src/main/java/net/n3/nanoxml/XMLValidationException.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/XMLWriter.java b/src/main/java/net/n3/nanoxml/XMLWriter.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/XMLWriter.java
rename to src/main/java/net/n3/nanoxml/XMLWriter.java
diff --git a/jhotdraw7/src/main/java/net/n3/nanoxml/package-info.java b/src/main/java/net/n3/nanoxml/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/net/n3/nanoxml/package-info.java
rename to src/main/java/net/n3/nanoxml/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/AbstractApplication.java b/src/main/java/org/jhotdraw/app/AbstractApplication.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/AbstractApplication.java
rename to src/main/java/org/jhotdraw/app/AbstractApplication.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/AbstractApplicationModel.java b/src/main/java/org/jhotdraw/app/AbstractApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/AbstractApplicationModel.java
rename to src/main/java/org/jhotdraw/app/AbstractApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/AbstractView.form b/src/main/java/org/jhotdraw/app/AbstractView.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/AbstractView.form
rename to src/main/java/org/jhotdraw/app/AbstractView.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/AbstractView.java b/src/main/java/org/jhotdraw/app/AbstractView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/AbstractView.java
rename to src/main/java/org/jhotdraw/app/AbstractView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/AppletApplication.java b/src/main/java/org/jhotdraw/app/AppletApplication.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/AppletApplication.java
rename to src/main/java/org/jhotdraw/app/AppletApplication.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/Application.java b/src/main/java/org/jhotdraw/app/Application.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/Application.java
rename to src/main/java/org/jhotdraw/app/Application.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/ApplicationModel.java b/src/main/java/org/jhotdraw/app/ApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/ApplicationModel.java
rename to src/main/java/org/jhotdraw/app/ApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/DefaultApplicationModel.java b/src/main/java/org/jhotdraw/app/DefaultApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/DefaultApplicationModel.java
rename to src/main/java/org/jhotdraw/app/DefaultApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/DefaultMenuBuilder.java b/src/main/java/org/jhotdraw/app/DefaultMenuBuilder.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/DefaultMenuBuilder.java
rename to src/main/java/org/jhotdraw/app/DefaultMenuBuilder.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/Disposable.java b/src/main/java/org/jhotdraw/app/Disposable.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/Disposable.java
rename to src/main/java/org/jhotdraw/app/Disposable.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/EmptyApplicationModel.java b/src/main/java/org/jhotdraw/app/EmptyApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/EmptyApplicationModel.java
rename to src/main/java/org/jhotdraw/app/EmptyApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/EmptyMenuBuilder.java b/src/main/java/org/jhotdraw/app/EmptyMenuBuilder.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/EmptyMenuBuilder.java
rename to src/main/java/org/jhotdraw/app/EmptyMenuBuilder.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/Labels.properties b/src/main/java/org/jhotdraw/app/Labels.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/Labels.properties
rename to src/main/java/org/jhotdraw/app/Labels.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/Labels_de.properties b/src/main/java/org/jhotdraw/app/Labels_de.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/Labels_de.properties
rename to src/main/java/org/jhotdraw/app/Labels_de.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/Labels_fr.properties b/src/main/java/org/jhotdraw/app/Labels_fr.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/Labels_fr.properties
rename to src/main/java/org/jhotdraw/app/Labels_fr.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/MDIApplication.java b/src/main/java/org/jhotdraw/app/MDIApplication.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/MDIApplication.java
rename to src/main/java/org/jhotdraw/app/MDIApplication.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/MenuBuilder.java b/src/main/java/org/jhotdraw/app/MenuBuilder.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/MenuBuilder.java
rename to src/main/java/org/jhotdraw/app/MenuBuilder.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/OSXApplication.java b/src/main/java/org/jhotdraw/app/OSXApplication.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/OSXApplication.java
rename to src/main/java/org/jhotdraw/app/OSXApplication.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/PrintableView.java b/src/main/java/org/jhotdraw/app/PrintableView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/PrintableView.java
rename to src/main/java/org/jhotdraw/app/PrintableView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/SDIApplication.java b/src/main/java/org/jhotdraw/app/SDIApplication.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/SDIApplication.java
rename to src/main/java/org/jhotdraw/app/SDIApplication.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/View.java b/src/main/java/org/jhotdraw/app/View.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/View.java
rename to src/main/java/org/jhotdraw/app/View.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/AbstractApplicationAction.java b/src/main/java/org/jhotdraw/app/action/AbstractApplicationAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/AbstractApplicationAction.java
rename to src/main/java/org/jhotdraw/app/action/AbstractApplicationAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/AbstractSaveUnsavedChangesAction.java b/src/main/java/org/jhotdraw/app/action/AbstractSaveUnsavedChangesAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/AbstractSaveUnsavedChangesAction.java
rename to src/main/java/org/jhotdraw/app/action/AbstractSaveUnsavedChangesAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/AbstractViewAction.java b/src/main/java/org/jhotdraw/app/action/AbstractViewAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/AbstractViewAction.java
rename to src/main/java/org/jhotdraw/app/action/AbstractViewAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/ActionUtil.java b/src/main/java/org/jhotdraw/app/action/ActionUtil.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/ActionUtil.java
rename to src/main/java/org/jhotdraw/app/action/ActionUtil.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/app/AboutAction.java b/src/main/java/org/jhotdraw/app/action/app/AboutAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/app/AboutAction.java
rename to src/main/java/org/jhotdraw/app/action/app/AboutAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/app/AbstractPreferencesAction.java b/src/main/java/org/jhotdraw/app/action/app/AbstractPreferencesAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/app/AbstractPreferencesAction.java
rename to src/main/java/org/jhotdraw/app/action/app/AbstractPreferencesAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/app/ExitAction.java b/src/main/java/org/jhotdraw/app/action/app/ExitAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/app/ExitAction.java
rename to src/main/java/org/jhotdraw/app/action/app/ExitAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/app/OpenApplicationAction.java b/src/main/java/org/jhotdraw/app/action/app/OpenApplicationAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/app/OpenApplicationAction.java
rename to src/main/java/org/jhotdraw/app/action/app/OpenApplicationAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/app/OpenApplicationFileAction.java b/src/main/java/org/jhotdraw/app/action/app/OpenApplicationFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/app/OpenApplicationFileAction.java
rename to src/main/java/org/jhotdraw/app/action/app/OpenApplicationFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/app/PrintApplicationFileAction.java b/src/main/java/org/jhotdraw/app/action/app/PrintApplicationFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/app/PrintApplicationFileAction.java
rename to src/main/java/org/jhotdraw/app/action/app/PrintApplicationFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/app/ReOpenApplicationAction.java b/src/main/java/org/jhotdraw/app/action/app/ReOpenApplicationAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/app/ReOpenApplicationAction.java
rename to src/main/java/org/jhotdraw/app/action/app/ReOpenApplicationAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/app/package-info.java b/src/main/java/org/jhotdraw/app/action/app/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/app/package-info.java
rename to src/main/java/org/jhotdraw/app/action/app/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/AbstractFindAction.java b/src/main/java/org/jhotdraw/app/action/edit/AbstractFindAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/AbstractFindAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/AbstractFindAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/AbstractSelectionAction.java b/src/main/java/org/jhotdraw/app/action/edit/AbstractSelectionAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/AbstractSelectionAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/AbstractSelectionAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/ClearSelectionAction.java b/src/main/java/org/jhotdraw/app/action/edit/ClearSelectionAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/ClearSelectionAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/ClearSelectionAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/CopyAction.java b/src/main/java/org/jhotdraw/app/action/edit/CopyAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/CopyAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/CopyAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/CutAction.java b/src/main/java/org/jhotdraw/app/action/edit/CutAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/CutAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/CutAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/DeleteAction.java b/src/main/java/org/jhotdraw/app/action/edit/DeleteAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/DeleteAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/DeleteAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/DuplicateAction.java b/src/main/java/org/jhotdraw/app/action/edit/DuplicateAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/DuplicateAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/DuplicateAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/PasteAction.java b/src/main/java/org/jhotdraw/app/action/edit/PasteAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/PasteAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/PasteAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/RedoAction.java b/src/main/java/org/jhotdraw/app/action/edit/RedoAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/RedoAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/RedoAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/SelectAllAction.java b/src/main/java/org/jhotdraw/app/action/edit/SelectAllAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/SelectAllAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/SelectAllAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/UndoAction.java b/src/main/java/org/jhotdraw/app/action/edit/UndoAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/UndoAction.java
rename to src/main/java/org/jhotdraw/app/action/edit/UndoAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/package-info.java b/src/main/java/org/jhotdraw/app/action/edit/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/edit/package-info.java
rename to src/main/java/org/jhotdraw/app/action/edit/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/ClearFileAction.java b/src/main/java/org/jhotdraw/app/action/file/ClearFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/ClearFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/ClearFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/ClearRecentFilesMenuAction.java b/src/main/java/org/jhotdraw/app/action/file/ClearRecentFilesMenuAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/ClearRecentFilesMenuAction.java
rename to src/main/java/org/jhotdraw/app/action/file/ClearRecentFilesMenuAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/CloseFileAction.java b/src/main/java/org/jhotdraw/app/action/file/CloseFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/CloseFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/CloseFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/ExportFileAction.java b/src/main/java/org/jhotdraw/app/action/file/ExportFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/ExportFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/ExportFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/LoadDirectoryAction.java b/src/main/java/org/jhotdraw/app/action/file/LoadDirectoryAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/LoadDirectoryAction.java
rename to src/main/java/org/jhotdraw/app/action/file/LoadDirectoryAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/LoadFileAction.java b/src/main/java/org/jhotdraw/app/action/file/LoadFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/LoadFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/LoadFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/LoadRecentFileAction.java b/src/main/java/org/jhotdraw/app/action/file/LoadRecentFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/LoadRecentFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/LoadRecentFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/NewFileAction.java b/src/main/java/org/jhotdraw/app/action/file/NewFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/NewFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/NewFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/NewWindowAction.java b/src/main/java/org/jhotdraw/app/action/file/NewWindowAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/NewWindowAction.java
rename to src/main/java/org/jhotdraw/app/action/file/NewWindowAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/OpenDirectoryAction.java b/src/main/java/org/jhotdraw/app/action/file/OpenDirectoryAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/OpenDirectoryAction.java
rename to src/main/java/org/jhotdraw/app/action/file/OpenDirectoryAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/OpenFileAction.java b/src/main/java/org/jhotdraw/app/action/file/OpenFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/OpenFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/OpenFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/OpenRecentFileAction.java b/src/main/java/org/jhotdraw/app/action/file/OpenRecentFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/OpenRecentFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/OpenRecentFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/PrintFileAction.java b/src/main/java/org/jhotdraw/app/action/file/PrintFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/PrintFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/PrintFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/SaveFileAction.java b/src/main/java/org/jhotdraw/app/action/file/SaveFileAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/SaveFileAction.java
rename to src/main/java/org/jhotdraw/app/action/file/SaveFileAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/SaveFileAsAction.java b/src/main/java/org/jhotdraw/app/action/file/SaveFileAsAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/SaveFileAsAction.java
rename to src/main/java/org/jhotdraw/app/action/file/SaveFileAsAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/file/package-info.java b/src/main/java/org/jhotdraw/app/action/file/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/file/package-info.java
rename to src/main/java/org/jhotdraw/app/action/file/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editCopy.png b/src/main/java/org/jhotdraw/app/action/images/editCopy.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editCopy.png
rename to src/main/java/org/jhotdraw/app/action/images/editCopy.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editCut.png b/src/main/java/org/jhotdraw/app/action/images/editCut.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editCut.png
rename to src/main/java/org/jhotdraw/app/action/images/editCut.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editPaste.png b/src/main/java/org/jhotdraw/app/action/images/editPaste.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editPaste.png
rename to src/main/java/org/jhotdraw/app/action/images/editPaste.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editRedo.png b/src/main/java/org/jhotdraw/app/action/images/editRedo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editRedo.png
rename to src/main/java/org/jhotdraw/app/action/images/editRedo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editUndo.png b/src/main/java/org/jhotdraw/app/action/images/editUndo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/editUndo.png
rename to src/main/java/org/jhotdraw/app/action/images/editUndo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/fileNew.png b/src/main/java/org/jhotdraw/app/action/images/fileNew.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/fileNew.png
rename to src/main/java/org/jhotdraw/app/action/images/fileNew.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/fileOpen.png b/src/main/java/org/jhotdraw/app/action/images/fileOpen.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/fileOpen.png
rename to src/main/java/org/jhotdraw/app/action/images/fileOpen.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/filePrint.png b/src/main/java/org/jhotdraw/app/action/images/filePrint.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/filePrint.png
rename to src/main/java/org/jhotdraw/app/action/images/filePrint.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/fileSave.png b/src/main/java/org/jhotdraw/app/action/images/fileSave.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/fileSave.png
rename to src/main/java/org/jhotdraw/app/action/images/fileSave.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/images/spacerIcon.png b/src/main/java/org/jhotdraw/app/action/images/spacerIcon.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/images/spacerIcon.png
rename to src/main/java/org/jhotdraw/app/action/images/spacerIcon.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/package-info.java b/src/main/java/org/jhotdraw/app/action/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/package-info.java
rename to src/main/java/org/jhotdraw/app/action/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/view/ToggleViewPropertyAction.java b/src/main/java/org/jhotdraw/app/action/view/ToggleViewPropertyAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/view/ToggleViewPropertyAction.java
rename to src/main/java/org/jhotdraw/app/action/view/ToggleViewPropertyAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/view/ViewPropertyAction.java b/src/main/java/org/jhotdraw/app/action/view/ViewPropertyAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/view/ViewPropertyAction.java
rename to src/main/java/org/jhotdraw/app/action/view/ViewPropertyAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/view/package-info.java b/src/main/java/org/jhotdraw/app/action/view/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/view/package-info.java
rename to src/main/java/org/jhotdraw/app/action/view/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/window/ArrangeWindowsAction.java b/src/main/java/org/jhotdraw/app/action/window/ArrangeWindowsAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/window/ArrangeWindowsAction.java
rename to src/main/java/org/jhotdraw/app/action/window/ArrangeWindowsAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/window/FocusWindowAction.java b/src/main/java/org/jhotdraw/app/action/window/FocusWindowAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/window/FocusWindowAction.java
rename to src/main/java/org/jhotdraw/app/action/window/FocusWindowAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/window/MaximizeWindowAction.java b/src/main/java/org/jhotdraw/app/action/window/MaximizeWindowAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/window/MaximizeWindowAction.java
rename to src/main/java/org/jhotdraw/app/action/window/MaximizeWindowAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/window/MinimizeWindowAction.java b/src/main/java/org/jhotdraw/app/action/window/MinimizeWindowAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/window/MinimizeWindowAction.java
rename to src/main/java/org/jhotdraw/app/action/window/MinimizeWindowAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/window/TogglePaletteAction.java b/src/main/java/org/jhotdraw/app/action/window/TogglePaletteAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/window/TogglePaletteAction.java
rename to src/main/java/org/jhotdraw/app/action/window/TogglePaletteAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/window/ToggleToolBarAction.java b/src/main/java/org/jhotdraw/app/action/window/ToggleToolBarAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/window/ToggleToolBarAction.java
rename to src/main/java/org/jhotdraw/app/action/window/ToggleToolBarAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/window/ToggleVisibleAction.java b/src/main/java/org/jhotdraw/app/action/window/ToggleVisibleAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/window/ToggleVisibleAction.java
rename to src/main/java/org/jhotdraw/app/action/window/ToggleVisibleAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/action/window/package-info.java b/src/main/java/org/jhotdraw/app/action/window/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/action/window/package-info.java
rename to src/main/java/org/jhotdraw/app/action/window/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/osx/OSXAdapter.java b/src/main/java/org/jhotdraw/app/osx/OSXAdapter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/osx/OSXAdapter.java
rename to src/main/java/org/jhotdraw/app/osx/OSXAdapter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/osx/OSXPaletteHandler.java b/src/main/java/org/jhotdraw/app/osx/OSXPaletteHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/osx/OSXPaletteHandler.java
rename to src/main/java/org/jhotdraw/app/osx/OSXPaletteHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/osx/package-info.java b/src/main/java/org/jhotdraw/app/osx/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/osx/package-info.java
rename to src/main/java/org/jhotdraw/app/osx/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/package-info.java b/src/main/java/org/jhotdraw/app/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/package-info.java
rename to src/main/java/org/jhotdraw/app/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/editCopy.png b/src/main/java/org/jhotdraw/app/resources/editCopy.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/editCopy.png
rename to src/main/java/org/jhotdraw/app/resources/editCopy.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/editCut.png b/src/main/java/org/jhotdraw/app/resources/editCut.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/editCut.png
rename to src/main/java/org/jhotdraw/app/resources/editCut.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/editPaste.png b/src/main/java/org/jhotdraw/app/resources/editPaste.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/editPaste.png
rename to src/main/java/org/jhotdraw/app/resources/editPaste.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/editRedo.png b/src/main/java/org/jhotdraw/app/resources/editRedo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/editRedo.png
rename to src/main/java/org/jhotdraw/app/resources/editRedo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/editUndo.png b/src/main/java/org/jhotdraw/app/resources/editUndo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/editUndo.png
rename to src/main/java/org/jhotdraw/app/resources/editUndo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/fileNew.png b/src/main/java/org/jhotdraw/app/resources/fileNew.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/fileNew.png
rename to src/main/java/org/jhotdraw/app/resources/fileNew.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/fileOpen.png b/src/main/java/org/jhotdraw/app/resources/fileOpen.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/fileOpen.png
rename to src/main/java/org/jhotdraw/app/resources/fileOpen.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/filePrint.png b/src/main/java/org/jhotdraw/app/resources/filePrint.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/filePrint.png
rename to src/main/java/org/jhotdraw/app/resources/filePrint.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/fileSave.png b/src/main/java/org/jhotdraw/app/resources/fileSave.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/fileSave.png
rename to src/main/java/org/jhotdraw/app/resources/fileSave.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/app/resources/spacerIcon.png b/src/main/java/org/jhotdraw/app/resources/spacerIcon.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/app/resources/spacerIcon.png
rename to src/main/java/org/jhotdraw/app/resources/spacerIcon.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/beans/AbstractBean.java b/src/main/java/org/jhotdraw/beans/AbstractBean.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/beans/AbstractBean.java
rename to src/main/java/org/jhotdraw/beans/AbstractBean.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/beans/PropertyChangeEdit.java b/src/main/java/org/jhotdraw/beans/PropertyChangeEdit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/beans/PropertyChangeEdit.java
rename to src/main/java/org/jhotdraw/beans/PropertyChangeEdit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/beans/WeakPropertyChangeListener.java b/src/main/java/org/jhotdraw/beans/WeakPropertyChangeListener.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/beans/WeakPropertyChangeListener.java
rename to src/main/java/org/jhotdraw/beans/WeakPropertyChangeListener.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/beans/package-info.java b/src/main/java/org/jhotdraw/beans/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/beans/package-info.java
rename to src/main/java/org/jhotdraw/beans/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/AbstractColorSlidersModel.java b/src/main/java/org/jhotdraw/color/AbstractColorSlidersModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/AbstractColorSlidersModel.java
rename to src/main/java/org/jhotdraw/color/AbstractColorSlidersModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/AbstractColorWheelImageProducer.java b/src/main/java/org/jhotdraw/color/AbstractColorWheelImageProducer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/AbstractColorWheelImageProducer.java
rename to src/main/java/org/jhotdraw/color/AbstractColorWheelImageProducer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/AbstractHarmonicRule.java b/src/main/java/org/jhotdraw/color/AbstractHarmonicRule.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/AbstractHarmonicRule.java
rename to src/main/java/org/jhotdraw/color/AbstractHarmonicRule.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/CIELABColorSpace.java b/src/main/java/org/jhotdraw/color/CIELABColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/CIELABColorSpace.java
rename to src/main/java/org/jhotdraw/color/CIELABColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/CIELCHabColorSpace.java b/src/main/java/org/jhotdraw/color/CIELCHabColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/CIELCHabColorSpace.java
rename to src/main/java/org/jhotdraw/color/CIELCHabColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/CIEXYChromaticityDiagramImageProducer.java b/src/main/java/org/jhotdraw/color/CIEXYChromaticityDiagramImageProducer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/CIEXYChromaticityDiagramImageProducer.java
rename to src/main/java/org/jhotdraw/color/CIEXYChromaticityDiagramImageProducer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/CMYKGenericColorSpace.java b/src/main/java/org/jhotdraw/color/CMYKGenericColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/CMYKGenericColorSpace.java
rename to src/main/java/org/jhotdraw/color/CMYKGenericColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/CMYKNominalColorSpace.java b/src/main/java/org/jhotdraw/color/CMYKNominalColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/CMYKNominalColorSpace.java
rename to src/main/java/org/jhotdraw/color/CMYKNominalColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/ColorListCellRenderer.java b/src/main/java/org/jhotdraw/color/ColorListCellRenderer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/ColorListCellRenderer.java
rename to src/main/java/org/jhotdraw/color/ColorListCellRenderer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/ColorSliderModel.java b/src/main/java/org/jhotdraw/color/ColorSliderModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/ColorSliderModel.java
rename to src/main/java/org/jhotdraw/color/ColorSliderModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/ColorSliderUI.java b/src/main/java/org/jhotdraw/color/ColorSliderUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/ColorSliderUI.java
rename to src/main/java/org/jhotdraw/color/ColorSliderUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/ColorSquareImageProducer.java b/src/main/java/org/jhotdraw/color/ColorSquareImageProducer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/ColorSquareImageProducer.java
rename to src/main/java/org/jhotdraw/color/ColorSquareImageProducer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/ColorTrackImageProducer.java b/src/main/java/org/jhotdraw/color/ColorTrackImageProducer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/ColorTrackImageProducer.java
rename to src/main/java/org/jhotdraw/color/ColorTrackImageProducer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/ColorUtil.java b/src/main/java/org/jhotdraw/color/ColorUtil.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/ColorUtil.java
rename to src/main/java/org/jhotdraw/color/ColorUtil.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/ColorWheelChooser.form b/src/main/java/org/jhotdraw/color/ColorWheelChooser.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/ColorWheelChooser.form
rename to src/main/java/org/jhotdraw/color/ColorWheelChooser.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/ColorWheelChooser.java b/src/main/java/org/jhotdraw/color/ColorWheelChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/ColorWheelChooser.java
rename to src/main/java/org/jhotdraw/color/ColorWheelChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/ComplexColorWheelImageProducer.java b/src/main/java/org/jhotdraw/color/ComplexColorWheelImageProducer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/ComplexColorWheelImageProducer.java
rename to src/main/java/org/jhotdraw/color/ComplexColorWheelImageProducer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/CompositeColor.java b/src/main/java/org/jhotdraw/color/CompositeColor.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/CompositeColor.java
rename to src/main/java/org/jhotdraw/color/CompositeColor.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/DefaultColorSliderModel.java b/src/main/java/org/jhotdraw/color/DefaultColorSliderModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/DefaultColorSliderModel.java
rename to src/main/java/org/jhotdraw/color/DefaultColorSliderModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/DefaultHarmonicColorModel.java b/src/main/java/org/jhotdraw/color/DefaultHarmonicColorModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/DefaultHarmonicColorModel.java
rename to src/main/java/org/jhotdraw/color/DefaultHarmonicColorModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/Generic CMYK Profile.icc b/src/main/java/org/jhotdraw/color/Generic CMYK Profile.icc
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/Generic CMYK Profile.icc
rename to src/main/java/org/jhotdraw/color/Generic CMYK Profile.icc
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/HSBColorSpace.java b/src/main/java/org/jhotdraw/color/HSBColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/HSBColorSpace.java
rename to src/main/java/org/jhotdraw/color/HSBColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/HSLColorSpace.java b/src/main/java/org/jhotdraw/color/HSLColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/HSLColorSpace.java
rename to src/main/java/org/jhotdraw/color/HSLColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/HSLHarmonicColorWheelImageProducer.java b/src/main/java/org/jhotdraw/color/HSLHarmonicColorWheelImageProducer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/HSLHarmonicColorWheelImageProducer.java
rename to src/main/java/org/jhotdraw/color/HSLHarmonicColorWheelImageProducer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/HSLPhysiologicColorSpace.java b/src/main/java/org/jhotdraw/color/HSLPhysiologicColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/HSLPhysiologicColorSpace.java
rename to src/main/java/org/jhotdraw/color/HSLPhysiologicColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/HSVColorSpace.java b/src/main/java/org/jhotdraw/color/HSVColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/HSVColorSpace.java
rename to src/main/java/org/jhotdraw/color/HSVColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/HSVHarmonicColorWheelImageProducer.java b/src/main/java/org/jhotdraw/color/HSVHarmonicColorWheelImageProducer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/HSVHarmonicColorWheelImageProducer.java
rename to src/main/java/org/jhotdraw/color/HSVHarmonicColorWheelImageProducer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/HSVPhysiologicColorSpace.java b/src/main/java/org/jhotdraw/color/HSVPhysiologicColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/HSVPhysiologicColorSpace.java
rename to src/main/java/org/jhotdraw/color/HSVPhysiologicColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/HarmonicColorModel.java b/src/main/java/org/jhotdraw/color/HarmonicColorModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/HarmonicColorModel.java
rename to src/main/java/org/jhotdraw/color/HarmonicColorModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/HarmonicRule.java b/src/main/java/org/jhotdraw/color/HarmonicRule.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/HarmonicRule.java
rename to src/main/java/org/jhotdraw/color/HarmonicRule.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/JColorWheel.form b/src/main/java/org/jhotdraw/color/JColorWheel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/JColorWheel.form
rename to src/main/java/org/jhotdraw/color/JColorWheel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/JColorWheel.java b/src/main/java/org/jhotdraw/color/JColorWheel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/JColorWheel.java
rename to src/main/java/org/jhotdraw/color/JColorWheel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/JHarmonicColorWheel.form b/src/main/java/org/jhotdraw/color/JHarmonicColorWheel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/JHarmonicColorWheel.form
rename to src/main/java/org/jhotdraw/color/JHarmonicColorWheel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/JHarmonicColorWheel.java b/src/main/java/org/jhotdraw/color/JHarmonicColorWheel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/JHarmonicColorWheel.java
rename to src/main/java/org/jhotdraw/color/JHarmonicColorWheel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/NamedColorSpace.java b/src/main/java/org/jhotdraw/color/NamedColorSpace.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/NamedColorSpace.java
rename to src/main/java/org/jhotdraw/color/NamedColorSpace.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/PolarColorWheelImageProducer.java b/src/main/java/org/jhotdraw/color/PolarColorWheelImageProducer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/PolarColorWheelImageProducer.java
rename to src/main/java/org/jhotdraw/color/PolarColorWheelImageProducer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/QuantizingColorWheelImageProducer.java b/src/main/java/org/jhotdraw/color/QuantizingColorWheelImageProducer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/QuantizingColorWheelImageProducer.java
rename to src/main/java/org/jhotdraw/color/QuantizingColorWheelImageProducer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/SimpleHarmonicRule.java b/src/main/java/org/jhotdraw/color/SimpleHarmonicRule.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/SimpleHarmonicRule.java
rename to src/main/java/org/jhotdraw/color/SimpleHarmonicRule.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/images/Slider.northThumbs.small.png b/src/main/java/org/jhotdraw/color/images/Slider.northThumbs.small.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/images/Slider.northThumbs.small.png
rename to src/main/java/org/jhotdraw/color/images/Slider.northThumbs.small.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/images/Slider.westThumbs.small.png b/src/main/java/org/jhotdraw/color/images/Slider.westThumbs.small.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/images/Slider.westThumbs.small.png
rename to src/main/java/org/jhotdraw/color/images/Slider.westThumbs.small.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/color/package-info.java b/src/main/java/org/jhotdraw/color/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/color/package-info.java
rename to src/main/java/org/jhotdraw/color/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractAttributedCompositeFigure.java b/src/main/java/org/jhotdraw/draw/AbstractAttributedCompositeFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractAttributedCompositeFigure.java
rename to src/main/java/org/jhotdraw/draw/AbstractAttributedCompositeFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractAttributedDecoratedFigure.java b/src/main/java/org/jhotdraw/draw/AbstractAttributedDecoratedFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractAttributedDecoratedFigure.java
rename to src/main/java/org/jhotdraw/draw/AbstractAttributedDecoratedFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractAttributedFigure.java b/src/main/java/org/jhotdraw/draw/AbstractAttributedFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractAttributedFigure.java
rename to src/main/java/org/jhotdraw/draw/AbstractAttributedFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractCompositeFigure.java b/src/main/java/org/jhotdraw/draw/AbstractCompositeFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractCompositeFigure.java
rename to src/main/java/org/jhotdraw/draw/AbstractCompositeFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractConstrainer.java b/src/main/java/org/jhotdraw/draw/AbstractConstrainer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractConstrainer.java
rename to src/main/java/org/jhotdraw/draw/AbstractConstrainer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractDrawing.java b/src/main/java/org/jhotdraw/draw/AbstractDrawing.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractDrawing.java
rename to src/main/java/org/jhotdraw/draw/AbstractDrawing.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractFigure.java b/src/main/java/org/jhotdraw/draw/AbstractFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/AbstractFigure.java
rename to src/main/java/org/jhotdraw/draw/AbstractFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/AttributeKey.java b/src/main/java/org/jhotdraw/draw/AttributeKey.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/AttributeKey.java
rename to src/main/java/org/jhotdraw/draw/AttributeKey.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/AttributeKeys.java b/src/main/java/org/jhotdraw/draw/AttributeKeys.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/AttributeKeys.java
rename to src/main/java/org/jhotdraw/draw/AttributeKeys.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/BezierFigure.java b/src/main/java/org/jhotdraw/draw/BezierFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/BezierFigure.java
rename to src/main/java/org/jhotdraw/draw/BezierFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/CompositeFigure.java b/src/main/java/org/jhotdraw/draw/CompositeFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/CompositeFigure.java
rename to src/main/java/org/jhotdraw/draw/CompositeFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/ConnectionFigure.java b/src/main/java/org/jhotdraw/draw/ConnectionFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/ConnectionFigure.java
rename to src/main/java/org/jhotdraw/draw/ConnectionFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/Constrainer.java b/src/main/java/org/jhotdraw/draw/Constrainer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/Constrainer.java
rename to src/main/java/org/jhotdraw/draw/Constrainer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DecoratedFigure.java b/src/main/java/org/jhotdraw/draw/DecoratedFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DecoratedFigure.java
rename to src/main/java/org/jhotdraw/draw/DecoratedFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawing.java b/src/main/java/org/jhotdraw/draw/DefaultDrawing.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawing.java
rename to src/main/java/org/jhotdraw/draw/DefaultDrawing.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingEditor.java b/src/main/java/org/jhotdraw/draw/DefaultDrawingEditor.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingEditor.java
rename to src/main/java/org/jhotdraw/draw/DefaultDrawingEditor.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingView.form b/src/main/java/org/jhotdraw/draw/DefaultDrawingView.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingView.form
rename to src/main/java/org/jhotdraw/draw/DefaultDrawingView.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingView.java b/src/main/java/org/jhotdraw/draw/DefaultDrawingView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingView.java
rename to src/main/java/org/jhotdraw/draw/DefaultDrawingView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingViewBeanInfo.java b/src/main/java/org/jhotdraw/draw/DefaultDrawingViewBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingViewBeanInfo.java
rename to src/main/java/org/jhotdraw/draw/DefaultDrawingViewBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingViewTransferHandler.java b/src/main/java/org/jhotdraw/draw/DefaultDrawingViewTransferHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DefaultDrawingViewTransferHandler.java
rename to src/main/java/org/jhotdraw/draw/DefaultDrawingViewTransferHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DiamondFigure.java b/src/main/java/org/jhotdraw/draw/DiamondFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DiamondFigure.java
rename to src/main/java/org/jhotdraw/draw/DiamondFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/Drawing.java b/src/main/java/org/jhotdraw/draw/Drawing.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/Drawing.java
rename to src/main/java/org/jhotdraw/draw/Drawing.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DrawingEditor.java b/src/main/java/org/jhotdraw/draw/DrawingEditor.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DrawingEditor.java
rename to src/main/java/org/jhotdraw/draw/DrawingEditor.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DrawingEditorProxy.java b/src/main/java/org/jhotdraw/draw/DrawingEditorProxy.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DrawingEditorProxy.java
rename to src/main/java/org/jhotdraw/draw/DrawingEditorProxy.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/DrawingView.java b/src/main/java/org/jhotdraw/draw/DrawingView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/DrawingView.java
rename to src/main/java/org/jhotdraw/draw/DrawingView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/EllipseFigure.java b/src/main/java/org/jhotdraw/draw/EllipseFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/EllipseFigure.java
rename to src/main/java/org/jhotdraw/draw/EllipseFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/Figure.java b/src/main/java/org/jhotdraw/draw/Figure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/Figure.java
rename to src/main/java/org/jhotdraw/draw/Figure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/FigureLayerComparator.java b/src/main/java/org/jhotdraw/draw/FigureLayerComparator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/FigureLayerComparator.java
rename to src/main/java/org/jhotdraw/draw/FigureLayerComparator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/GraphicalCompositeFigure.java b/src/main/java/org/jhotdraw/draw/GraphicalCompositeFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/GraphicalCompositeFigure.java
rename to src/main/java/org/jhotdraw/draw/GraphicalCompositeFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/GridConstrainer.java b/src/main/java/org/jhotdraw/draw/GridConstrainer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/GridConstrainer.java
rename to src/main/java/org/jhotdraw/draw/GridConstrainer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/GroupFigure.java b/src/main/java/org/jhotdraw/draw/GroupFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/GroupFigure.java
rename to src/main/java/org/jhotdraw/draw/GroupFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/ImageFigure.java b/src/main/java/org/jhotdraw/draw/ImageFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/ImageFigure.java
rename to src/main/java/org/jhotdraw/draw/ImageFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/ImageHolderFigure.java b/src/main/java/org/jhotdraw/draw/ImageHolderFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/ImageHolderFigure.java
rename to src/main/java/org/jhotdraw/draw/ImageHolderFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/LabelFigure.java b/src/main/java/org/jhotdraw/draw/LabelFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/LabelFigure.java
rename to src/main/java/org/jhotdraw/draw/LabelFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/LabeledLineConnectionFigure.java b/src/main/java/org/jhotdraw/draw/LabeledLineConnectionFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/LabeledLineConnectionFigure.java
rename to src/main/java/org/jhotdraw/draw/LabeledLineConnectionFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/Labels.properties b/src/main/java/org/jhotdraw/draw/Labels.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/Labels.properties
rename to src/main/java/org/jhotdraw/draw/Labels.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/Labels_de.properties b/src/main/java/org/jhotdraw/draw/Labels_de.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/Labels_de.properties
rename to src/main/java/org/jhotdraw/draw/Labels_de.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/LineConnectionFigure.java b/src/main/java/org/jhotdraw/draw/LineConnectionFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/LineConnectionFigure.java
rename to src/main/java/org/jhotdraw/draw/LineConnectionFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/LineFigure.java b/src/main/java/org/jhotdraw/draw/LineFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/LineFigure.java
rename to src/main/java/org/jhotdraw/draw/LineFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/ListFigure.java b/src/main/java/org/jhotdraw/draw/ListFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/ListFigure.java
rename to src/main/java/org/jhotdraw/draw/ListFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/QuadTreeCompositeFigure.java b/src/main/java/org/jhotdraw/draw/QuadTreeCompositeFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/QuadTreeCompositeFigure.java
rename to src/main/java/org/jhotdraw/draw/QuadTreeCompositeFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/QuadTreeDrawing.java b/src/main/java/org/jhotdraw/draw/QuadTreeDrawing.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/QuadTreeDrawing.java
rename to src/main/java/org/jhotdraw/draw/QuadTreeDrawing.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/RectangleFigure.java b/src/main/java/org/jhotdraw/draw/RectangleFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/RectangleFigure.java
rename to src/main/java/org/jhotdraw/draw/RectangleFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/RotationDirection.java b/src/main/java/org/jhotdraw/draw/RotationDirection.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/RotationDirection.java
rename to src/main/java/org/jhotdraw/draw/RotationDirection.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/RoundRectangleFigure.java b/src/main/java/org/jhotdraw/draw/RoundRectangleFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/RoundRectangleFigure.java
rename to src/main/java/org/jhotdraw/draw/RoundRectangleFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/TextAreaFigure.java b/src/main/java/org/jhotdraw/draw/TextAreaFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/TextAreaFigure.java
rename to src/main/java/org/jhotdraw/draw/TextAreaFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/TextFigure.java b/src/main/java/org/jhotdraw/draw/TextFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/TextFigure.java
rename to src/main/java/org/jhotdraw/draw/TextFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/TextHolderFigure.java b/src/main/java/org/jhotdraw/draw/TextHolderFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/TextHolderFigure.java
rename to src/main/java/org/jhotdraw/draw/TextHolderFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/TranslationDirection.java b/src/main/java/org/jhotdraw/draw/TranslationDirection.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/TranslationDirection.java
rename to src/main/java/org/jhotdraw/draw/TranslationDirection.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/TriangleFigure.java b/src/main/java/org/jhotdraw/draw/TriangleFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/TriangleFigure.java
rename to src/main/java/org/jhotdraw/draw/TriangleFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/AbstractDrawingEditorAction.java b/src/main/java/org/jhotdraw/draw/action/AbstractDrawingEditorAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/AbstractDrawingEditorAction.java
rename to src/main/java/org/jhotdraw/draw/action/AbstractDrawingEditorAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/AbstractDrawingViewAction.java b/src/main/java/org/jhotdraw/draw/action/AbstractDrawingViewAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/AbstractDrawingViewAction.java
rename to src/main/java/org/jhotdraw/draw/action/AbstractDrawingViewAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/AbstractSelectedAction.java b/src/main/java/org/jhotdraw/draw/action/AbstractSelectedAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/AbstractSelectedAction.java
rename to src/main/java/org/jhotdraw/draw/action/AbstractSelectedAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/AlignAction.java b/src/main/java/org/jhotdraw/draw/action/AlignAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/AlignAction.java
rename to src/main/java/org/jhotdraw/draw/action/AlignAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/ApplyAttributesAction.java b/src/main/java/org/jhotdraw/draw/action/ApplyAttributesAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/ApplyAttributesAction.java
rename to src/main/java/org/jhotdraw/draw/action/ApplyAttributesAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/AttributeAction.java b/src/main/java/org/jhotdraw/draw/action/AttributeAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/AttributeAction.java
rename to src/main/java/org/jhotdraw/draw/action/AttributeAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/AttributeToggler.java b/src/main/java/org/jhotdraw/draw/action/AttributeToggler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/AttributeToggler.java
rename to src/main/java/org/jhotdraw/draw/action/AttributeToggler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/BringToFrontAction.java b/src/main/java/org/jhotdraw/draw/action/BringToFrontAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/BringToFrontAction.java
rename to src/main/java/org/jhotdraw/draw/action/BringToFrontAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/ButtonFactory.java b/src/main/java/org/jhotdraw/draw/action/ButtonFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/ButtonFactory.java
rename to src/main/java/org/jhotdraw/draw/action/ButtonFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/ColorIcon.java b/src/main/java/org/jhotdraw/draw/action/ColorIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/ColorIcon.java
rename to src/main/java/org/jhotdraw/draw/action/ColorIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/DefaultAttributeAction.java b/src/main/java/org/jhotdraw/draw/action/DefaultAttributeAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/DefaultAttributeAction.java
rename to src/main/java/org/jhotdraw/draw/action/DefaultAttributeAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/DrawingAttributeAction.java b/src/main/java/org/jhotdraw/draw/action/DrawingAttributeAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/DrawingAttributeAction.java
rename to src/main/java/org/jhotdraw/draw/action/DrawingAttributeAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/DrawingColorChooserAction.java b/src/main/java/org/jhotdraw/draw/action/DrawingColorChooserAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/DrawingColorChooserAction.java
rename to src/main/java/org/jhotdraw/draw/action/DrawingColorChooserAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/DrawingColorChooserHandler.java b/src/main/java/org/jhotdraw/draw/action/DrawingColorChooserHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/DrawingColorChooserHandler.java
rename to src/main/java/org/jhotdraw/draw/action/DrawingColorChooserHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/DrawingColorIcon.java b/src/main/java/org/jhotdraw/draw/action/DrawingColorIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/DrawingColorIcon.java
rename to src/main/java/org/jhotdraw/draw/action/DrawingColorIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditCanvasAction.java b/src/main/java/org/jhotdraw/draw/action/EditCanvasAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditCanvasAction.java
rename to src/main/java/org/jhotdraw/draw/action/EditCanvasAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditCanvasPanel.form b/src/main/java/org/jhotdraw/draw/action/EditCanvasPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditCanvasPanel.form
rename to src/main/java/org/jhotdraw/draw/action/EditCanvasPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditCanvasPanel.java b/src/main/java/org/jhotdraw/draw/action/EditCanvasPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditCanvasPanel.java
rename to src/main/java/org/jhotdraw/draw/action/EditCanvasPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditGridAction.java b/src/main/java/org/jhotdraw/draw/action/EditGridAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditGridAction.java
rename to src/main/java/org/jhotdraw/draw/action/EditGridAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditGridPanel.form b/src/main/java/org/jhotdraw/draw/action/EditGridPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditGridPanel.form
rename to src/main/java/org/jhotdraw/draw/action/EditGridPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditGridPanel.java b/src/main/java/org/jhotdraw/draw/action/EditGridPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditGridPanel.java
rename to src/main/java/org/jhotdraw/draw/action/EditGridPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditorColorChooserAction.java b/src/main/java/org/jhotdraw/draw/action/EditorColorChooserAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditorColorChooserAction.java
rename to src/main/java/org/jhotdraw/draw/action/EditorColorChooserAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditorColorIcon.java b/src/main/java/org/jhotdraw/draw/action/EditorColorIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/EditorColorIcon.java
rename to src/main/java/org/jhotdraw/draw/action/EditorColorIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/FontChooserHandler.java b/src/main/java/org/jhotdraw/draw/action/FontChooserHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/FontChooserHandler.java
rename to src/main/java/org/jhotdraw/draw/action/FontChooserHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/GroupAction.java b/src/main/java/org/jhotdraw/draw/action/GroupAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/GroupAction.java
rename to src/main/java/org/jhotdraw/draw/action/GroupAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/ImageBevelBorder.java b/src/main/java/org/jhotdraw/draw/action/ImageBevelBorder.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/ImageBevelBorder.java
rename to src/main/java/org/jhotdraw/draw/action/ImageBevelBorder.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/IncreaseHandleDetailLevelAction.java b/src/main/java/org/jhotdraw/draw/action/IncreaseHandleDetailLevelAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/IncreaseHandleDetailLevelAction.java
rename to src/main/java/org/jhotdraw/draw/action/IncreaseHandleDetailLevelAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/LineDecorationIcon.java b/src/main/java/org/jhotdraw/draw/action/LineDecorationIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/LineDecorationIcon.java
rename to src/main/java/org/jhotdraw/draw/action/LineDecorationIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/MoveAction.java b/src/main/java/org/jhotdraw/draw/action/MoveAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/MoveAction.java
rename to src/main/java/org/jhotdraw/draw/action/MoveAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/MoveConstrainedAction.java b/src/main/java/org/jhotdraw/draw/action/MoveConstrainedAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/MoveConstrainedAction.java
rename to src/main/java/org/jhotdraw/draw/action/MoveConstrainedAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/PickAttributesAction.java b/src/main/java/org/jhotdraw/draw/action/PickAttributesAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/PickAttributesAction.java
rename to src/main/java/org/jhotdraw/draw/action/PickAttributesAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/SelectSameAction.java b/src/main/java/org/jhotdraw/draw/action/SelectSameAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/SelectSameAction.java
rename to src/main/java/org/jhotdraw/draw/action/SelectSameAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/SelectionColorChooserAction.java b/src/main/java/org/jhotdraw/draw/action/SelectionColorChooserAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/SelectionColorChooserAction.java
rename to src/main/java/org/jhotdraw/draw/action/SelectionColorChooserAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/SelectionColorChooserHandler.java b/src/main/java/org/jhotdraw/draw/action/SelectionColorChooserHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/SelectionColorChooserHandler.java
rename to src/main/java/org/jhotdraw/draw/action/SelectionColorChooserHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/SelectionColorIcon.java b/src/main/java/org/jhotdraw/draw/action/SelectionColorIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/SelectionColorIcon.java
rename to src/main/java/org/jhotdraw/draw/action/SelectionColorIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/SendToBackAction.java b/src/main/java/org/jhotdraw/draw/action/SendToBackAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/SendToBackAction.java
rename to src/main/java/org/jhotdraw/draw/action/SendToBackAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/StrokeIcon.java b/src/main/java/org/jhotdraw/draw/action/StrokeIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/StrokeIcon.java
rename to src/main/java/org/jhotdraw/draw/action/StrokeIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/ToggleGridAction.java b/src/main/java/org/jhotdraw/draw/action/ToggleGridAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/ToggleGridAction.java
rename to src/main/java/org/jhotdraw/draw/action/ToggleGridAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/UngroupAction.java b/src/main/java/org/jhotdraw/draw/action/UngroupAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/UngroupAction.java
rename to src/main/java/org/jhotdraw/draw/action/UngroupAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/ZoomAction.java b/src/main/java/org/jhotdraw/draw/action/ZoomAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/ZoomAction.java
rename to src/main/java/org/jhotdraw/draw/action/ZoomAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/ZoomEditorAction.java b/src/main/java/org/jhotdraw/draw/action/ZoomEditorAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/ZoomEditorAction.java
rename to src/main/java/org/jhotdraw/draw/action/ZoomEditorAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/actions.png b/src/main/java/org/jhotdraw/draw/action/images/actions.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/actions.png
rename to src/main/java/org/jhotdraw/draw/action/images/actions.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignEast.png b/src/main/java/org/jhotdraw/draw/action/images/alignEast.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignEast.png
rename to src/main/java/org/jhotdraw/draw/action/images/alignEast.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignGrid.png b/src/main/java/org/jhotdraw/draw/action/images/alignGrid.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignGrid.png
rename to src/main/java/org/jhotdraw/draw/action/images/alignGrid.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignGridSmall.png b/src/main/java/org/jhotdraw/draw/action/images/alignGridSmall.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignGridSmall.png
rename to src/main/java/org/jhotdraw/draw/action/images/alignGridSmall.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignHorizontal.png b/src/main/java/org/jhotdraw/draw/action/images/alignHorizontal.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignHorizontal.png
rename to src/main/java/org/jhotdraw/draw/action/images/alignHorizontal.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignNorth.png b/src/main/java/org/jhotdraw/draw/action/images/alignNorth.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignNorth.png
rename to src/main/java/org/jhotdraw/draw/action/images/alignNorth.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignSouth.png b/src/main/java/org/jhotdraw/draw/action/images/alignSouth.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignSouth.png
rename to src/main/java/org/jhotdraw/draw/action/images/alignSouth.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignVertical.png b/src/main/java/org/jhotdraw/draw/action/images/alignVertical.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignVertical.png
rename to src/main/java/org/jhotdraw/draw/action/images/alignVertical.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignWest.png b/src/main/java/org/jhotdraw/draw/action/images/alignWest.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/alignWest.png
rename to src/main/java/org/jhotdraw/draw/action/images/alignWest.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attribute.color.colorChooser.png b/src/main/java/org/jhotdraw/draw/action/images/attribute.color.colorChooser.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attribute.color.colorChooser.png
rename to src/main/java/org/jhotdraw/draw/action/images/attribute.color.colorChooser.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attribute.color.noColor.png b/src/main/java/org/jhotdraw/draw/action/images/attribute.color.noColor.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attribute.color.noColor.png
rename to src/main/java/org/jhotdraw/draw/action/images/attribute.color.noColor.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFillColor.png b/src/main/java/org/jhotdraw/draw/action/images/attributeFillColor.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFillColor.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeFillColor.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFont.png b/src/main/java/org/jhotdraw/draw/action/images/attributeFont.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFont.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeFont.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontBold.png b/src/main/java/org/jhotdraw/draw/action/images/attributeFontBold.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontBold.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeFontBold.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontBold_de.png b/src/main/java/org/jhotdraw/draw/action/images/attributeFontBold_de.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontBold_de.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeFontBold_de.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontItalic.png b/src/main/java/org/jhotdraw/draw/action/images/attributeFontItalic.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontItalic.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeFontItalic.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontItalic_de.png b/src/main/java/org/jhotdraw/draw/action/images/attributeFontItalic_de.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontItalic_de.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeFontItalic_de.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline.png b/src/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline_de.png b/src/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline_de.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline_de.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeFontUnderline_de.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeOpacity.png b/src/main/java/org/jhotdraw/draw/action/images/attributeOpacity.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeOpacity.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeOpacity.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeCap.png b/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeCap.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeCap.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeStrokeCap.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeColor.png b/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeColor.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeColor.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeStrokeColor.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeDashes.png b/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeDashes.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeDashes.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeStrokeDashes.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeDecoration.png b/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeDecoration.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeDecoration.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeStrokeDecoration.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeJoin.png b/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeJoin.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeJoin.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeStrokeJoin.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokePlacement.png b/src/main/java/org/jhotdraw/draw/action/images/attributeStrokePlacement.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokePlacement.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeStrokePlacement.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeType.png b/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeType.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeType.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeStrokeType.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeWidth.png b/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeWidth.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeStrokeWidth.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeStrokeWidth.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeTextColor.png b/src/main/java/org/jhotdraw/draw/action/images/attributeTextColor.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributeTextColor.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributeTextColor.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributesApply.png b/src/main/java/org/jhotdraw/draw/action/images/attributesApply.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributesApply.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributesApply.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributesPick.png b/src/main/java/org/jhotdraw/draw/action/images/attributesPick.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/attributesPick.png
rename to src/main/java/org/jhotdraw/draw/action/images/attributesPick.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createArrow.png b/src/main/java/org/jhotdraw/draw/action/images/createArrow.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createArrow.png
rename to src/main/java/org/jhotdraw/draw/action/images/createArrow.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createCurvedConnection.png b/src/main/java/org/jhotdraw/draw/action/images/createCurvedConnection.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createCurvedConnection.png
rename to src/main/java/org/jhotdraw/draw/action/images/createCurvedConnection.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createDiamond.png b/src/main/java/org/jhotdraw/draw/action/images/createDiamond.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createDiamond.png
rename to src/main/java/org/jhotdraw/draw/action/images/createDiamond.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createElbowConnection.png b/src/main/java/org/jhotdraw/draw/action/images/createElbowConnection.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createElbowConnection.png
rename to src/main/java/org/jhotdraw/draw/action/images/createElbowConnection.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createEllipse.png b/src/main/java/org/jhotdraw/draw/action/images/createEllipse.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createEllipse.png
rename to src/main/java/org/jhotdraw/draw/action/images/createEllipse.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createImage.png b/src/main/java/org/jhotdraw/draw/action/images/createImage.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createImage.png
rename to src/main/java/org/jhotdraw/draw/action/images/createImage.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createLine.png b/src/main/java/org/jhotdraw/draw/action/images/createLine.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createLine.png
rename to src/main/java/org/jhotdraw/draw/action/images/createLine.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createLineConnection.png b/src/main/java/org/jhotdraw/draw/action/images/createLineConnection.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createLineConnection.png
rename to src/main/java/org/jhotdraw/draw/action/images/createLineConnection.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createPolygon.png b/src/main/java/org/jhotdraw/draw/action/images/createPolygon.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createPolygon.png
rename to src/main/java/org/jhotdraw/draw/action/images/createPolygon.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createRectangle.png b/src/main/java/org/jhotdraw/draw/action/images/createRectangle.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createRectangle.png
rename to src/main/java/org/jhotdraw/draw/action/images/createRectangle.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createRoundRectangle.png b/src/main/java/org/jhotdraw/draw/action/images/createRoundRectangle.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createRoundRectangle.png
rename to src/main/java/org/jhotdraw/draw/action/images/createRoundRectangle.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createScribble.png b/src/main/java/org/jhotdraw/draw/action/images/createScribble.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createScribble.png
rename to src/main/java/org/jhotdraw/draw/action/images/createScribble.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createText.png b/src/main/java/org/jhotdraw/draw/action/images/createText.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createText.png
rename to src/main/java/org/jhotdraw/draw/action/images/createText.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createTextArea.png b/src/main/java/org/jhotdraw/draw/action/images/createTextArea.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createTextArea.png
rename to src/main/java/org/jhotdraw/draw/action/images/createTextArea.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createTriangle.png b/src/main/java/org/jhotdraw/draw/action/images/createTriangle.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/createTriangle.png
rename to src/main/java/org/jhotdraw/draw/action/images/createTriangle.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editCopy.png b/src/main/java/org/jhotdraw/draw/action/images/editCopy.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editCopy.png
rename to src/main/java/org/jhotdraw/draw/action/images/editCopy.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editCut.png b/src/main/java/org/jhotdraw/draw/action/images/editCut.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editCut.png
rename to src/main/java/org/jhotdraw/draw/action/images/editCut.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editPaste.png b/src/main/java/org/jhotdraw/draw/action/images/editPaste.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editPaste.png
rename to src/main/java/org/jhotdraw/draw/action/images/editPaste.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editRedo.png b/src/main/java/org/jhotdraw/draw/action/images/editRedo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editRedo.png
rename to src/main/java/org/jhotdraw/draw/action/images/editRedo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editUndo.png b/src/main/java/org/jhotdraw/draw/action/images/editUndo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/editUndo.png
rename to src/main/java/org/jhotdraw/draw/action/images/editUndo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/fileNew.png b/src/main/java/org/jhotdraw/draw/action/images/fileNew.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/fileNew.png
rename to src/main/java/org/jhotdraw/draw/action/images/fileNew.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/fileOpen.png b/src/main/java/org/jhotdraw/draw/action/images/fileOpen.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/fileOpen.png
rename to src/main/java/org/jhotdraw/draw/action/images/fileOpen.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/filePrint.png b/src/main/java/org/jhotdraw/draw/action/images/filePrint.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/filePrint.png
rename to src/main/java/org/jhotdraw/draw/action/images/filePrint.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/fileSave.png b/src/main/java/org/jhotdraw/draw/action/images/fileSave.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/fileSave.png
rename to src/main/java/org/jhotdraw/draw/action/images/fileSave.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveDown.png b/src/main/java/org/jhotdraw/draw/action/images/moveDown.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveDown.png
rename to src/main/java/org/jhotdraw/draw/action/images/moveDown.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveEast.png b/src/main/java/org/jhotdraw/draw/action/images/moveEast.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveEast.png
rename to src/main/java/org/jhotdraw/draw/action/images/moveEast.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveNorth.png b/src/main/java/org/jhotdraw/draw/action/images/moveNorth.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveNorth.png
rename to src/main/java/org/jhotdraw/draw/action/images/moveNorth.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveSouth.png b/src/main/java/org/jhotdraw/draw/action/images/moveSouth.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveSouth.png
rename to src/main/java/org/jhotdraw/draw/action/images/moveSouth.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveToBack.png b/src/main/java/org/jhotdraw/draw/action/images/moveToBack.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveToBack.png
rename to src/main/java/org/jhotdraw/draw/action/images/moveToBack.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveToFront.png b/src/main/java/org/jhotdraw/draw/action/images/moveToFront.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveToFront.png
rename to src/main/java/org/jhotdraw/draw/action/images/moveToFront.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveUp.png b/src/main/java/org/jhotdraw/draw/action/images/moveUp.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveUp.png
rename to src/main/java/org/jhotdraw/draw/action/images/moveUp.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveWest.png b/src/main/java/org/jhotdraw/draw/action/images/moveWest.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/moveWest.png
rename to src/main/java/org/jhotdraw/draw/action/images/moveWest.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/popupIcon.png b/src/main/java/org/jhotdraw/draw/action/images/popupIcon.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/popupIcon.png
rename to src/main/java/org/jhotdraw/draw/action/images/popupIcon.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/selectionGroup.png b/src/main/java/org/jhotdraw/draw/action/images/selectionGroup.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/selectionGroup.png
rename to src/main/java/org/jhotdraw/draw/action/images/selectionGroup.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/selectionTool.png b/src/main/java/org/jhotdraw/draw/action/images/selectionTool.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/selectionTool.png
rename to src/main/java/org/jhotdraw/draw/action/images/selectionTool.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/selectionUngroup.png b/src/main/java/org/jhotdraw/draw/action/images/selectionUngroup.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/selectionUngroup.png
rename to src/main/java/org/jhotdraw/draw/action/images/selectionUngroup.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/spacerIcon.png b/src/main/java/org/jhotdraw/draw/action/images/spacerIcon.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/images/spacerIcon.png
rename to src/main/java/org/jhotdraw/draw/action/images/spacerIcon.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/action/package-info.java b/src/main/java/org/jhotdraw/draw/action/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/action/package-info.java
rename to src/main/java/org/jhotdraw/draw/action/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/AbstractConnector.java b/src/main/java/org/jhotdraw/draw/connector/AbstractConnector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/AbstractConnector.java
rename to src/main/java/org/jhotdraw/draw/connector/AbstractConnector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopBezierConnector.java b/src/main/java/org/jhotdraw/draw/connector/ChopBezierConnector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopBezierConnector.java
rename to src/main/java/org/jhotdraw/draw/connector/ChopBezierConnector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopDiamondConnector.java b/src/main/java/org/jhotdraw/draw/connector/ChopDiamondConnector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopDiamondConnector.java
rename to src/main/java/org/jhotdraw/draw/connector/ChopDiamondConnector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopEllipseConnector.java b/src/main/java/org/jhotdraw/draw/connector/ChopEllipseConnector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopEllipseConnector.java
rename to src/main/java/org/jhotdraw/draw/connector/ChopEllipseConnector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopRectangleConnector.java b/src/main/java/org/jhotdraw/draw/connector/ChopRectangleConnector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopRectangleConnector.java
rename to src/main/java/org/jhotdraw/draw/connector/ChopRectangleConnector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopRoundRectangleConnector.java b/src/main/java/org/jhotdraw/draw/connector/ChopRoundRectangleConnector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopRoundRectangleConnector.java
rename to src/main/java/org/jhotdraw/draw/connector/ChopRoundRectangleConnector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopTriangleConnector.java b/src/main/java/org/jhotdraw/draw/connector/ChopTriangleConnector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/ChopTriangleConnector.java
rename to src/main/java/org/jhotdraw/draw/connector/ChopTriangleConnector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/Connector.java b/src/main/java/org/jhotdraw/draw/connector/Connector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/Connector.java
rename to src/main/java/org/jhotdraw/draw/connector/Connector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/LocatorConnector.java b/src/main/java/org/jhotdraw/draw/connector/LocatorConnector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/LocatorConnector.java
rename to src/main/java/org/jhotdraw/draw/connector/LocatorConnector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/StickyRectangleConnector.java b/src/main/java/org/jhotdraw/draw/connector/StickyRectangleConnector.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/StickyRectangleConnector.java
rename to src/main/java/org/jhotdraw/draw/connector/StickyRectangleConnector.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/connector/package-info.java b/src/main/java/org/jhotdraw/draw/connector/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/connector/package-info.java
rename to src/main/java/org/jhotdraw/draw/connector/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/AbstractLineDecoration.java b/src/main/java/org/jhotdraw/draw/decoration/AbstractLineDecoration.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/AbstractLineDecoration.java
rename to src/main/java/org/jhotdraw/draw/decoration/AbstractLineDecoration.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/ArrowTip.java b/src/main/java/org/jhotdraw/draw/decoration/ArrowTip.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/ArrowTip.java
rename to src/main/java/org/jhotdraw/draw/decoration/ArrowTip.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/CompositeLineDecoration.java b/src/main/java/org/jhotdraw/draw/decoration/CompositeLineDecoration.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/CompositeLineDecoration.java
rename to src/main/java/org/jhotdraw/draw/decoration/CompositeLineDecoration.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/GeneralPathTip.java b/src/main/java/org/jhotdraw/draw/decoration/GeneralPathTip.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/GeneralPathTip.java
rename to src/main/java/org/jhotdraw/draw/decoration/GeneralPathTip.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/LineDecoration.java b/src/main/java/org/jhotdraw/draw/decoration/LineDecoration.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/LineDecoration.java
rename to src/main/java/org/jhotdraw/draw/decoration/LineDecoration.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/PerpendicularBar.java b/src/main/java/org/jhotdraw/draw/decoration/PerpendicularBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/PerpendicularBar.java
rename to src/main/java/org/jhotdraw/draw/decoration/PerpendicularBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/package-info.java b/src/main/java/org/jhotdraw/draw/decoration/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/decoration/package-info.java
rename to src/main/java/org/jhotdraw/draw/decoration/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/AbstractAttributeEditorHandler.java b/src/main/java/org/jhotdraw/draw/event/AbstractAttributeEditorHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/AbstractAttributeEditorHandler.java
rename to src/main/java/org/jhotdraw/draw/event/AbstractAttributeEditorHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/AttributeChangeEdit.java b/src/main/java/org/jhotdraw/draw/event/AttributeChangeEdit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/AttributeChangeEdit.java
rename to src/main/java/org/jhotdraw/draw/event/AttributeChangeEdit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/BezierNodeEdit.java b/src/main/java/org/jhotdraw/draw/event/BezierNodeEdit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/BezierNodeEdit.java
rename to src/main/java/org/jhotdraw/draw/event/BezierNodeEdit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/CompositeFigureEdit.java b/src/main/java/org/jhotdraw/draw/event/CompositeFigureEdit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/CompositeFigureEdit.java
rename to src/main/java/org/jhotdraw/draw/event/CompositeFigureEdit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/CompositeFigureEvent.java b/src/main/java/org/jhotdraw/draw/event/CompositeFigureEvent.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/CompositeFigureEvent.java
rename to src/main/java/org/jhotdraw/draw/event/CompositeFigureEvent.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/CompositeFigureListener.java b/src/main/java/org/jhotdraw/draw/event/CompositeFigureListener.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/CompositeFigureListener.java
rename to src/main/java/org/jhotdraw/draw/event/CompositeFigureListener.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/DrawingAttributeEditorHandler.java b/src/main/java/org/jhotdraw/draw/event/DrawingAttributeEditorHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/DrawingAttributeEditorHandler.java
rename to src/main/java/org/jhotdraw/draw/event/DrawingAttributeEditorHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/DrawingComponentRepainter.java b/src/main/java/org/jhotdraw/draw/event/DrawingComponentRepainter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/DrawingComponentRepainter.java
rename to src/main/java/org/jhotdraw/draw/event/DrawingComponentRepainter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureAdapter.java b/src/main/java/org/jhotdraw/draw/event/FigureAdapter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureAdapter.java
rename to src/main/java/org/jhotdraw/draw/event/FigureAdapter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureAttributeEditorHandler.java b/src/main/java/org/jhotdraw/draw/event/FigureAttributeEditorHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureAttributeEditorHandler.java
rename to src/main/java/org/jhotdraw/draw/event/FigureAttributeEditorHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureEvent.java b/src/main/java/org/jhotdraw/draw/event/FigureEvent.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureEvent.java
rename to src/main/java/org/jhotdraw/draw/event/FigureEvent.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureListener.java b/src/main/java/org/jhotdraw/draw/event/FigureListener.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureListener.java
rename to src/main/java/org/jhotdraw/draw/event/FigureListener.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureSelectionEvent.java b/src/main/java/org/jhotdraw/draw/event/FigureSelectionEvent.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureSelectionEvent.java
rename to src/main/java/org/jhotdraw/draw/event/FigureSelectionEvent.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureSelectionListener.java b/src/main/java/org/jhotdraw/draw/event/FigureSelectionListener.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/FigureSelectionListener.java
rename to src/main/java/org/jhotdraw/draw/event/FigureSelectionListener.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/HandleEvent.java b/src/main/java/org/jhotdraw/draw/event/HandleEvent.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/HandleEvent.java
rename to src/main/java/org/jhotdraw/draw/event/HandleEvent.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/HandleListener.java b/src/main/java/org/jhotdraw/draw/event/HandleListener.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/HandleListener.java
rename to src/main/java/org/jhotdraw/draw/event/HandleListener.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/HandleMulticaster.java b/src/main/java/org/jhotdraw/draw/event/HandleMulticaster.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/HandleMulticaster.java
rename to src/main/java/org/jhotdraw/draw/event/HandleMulticaster.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/SelectionComponentDisplayer.java b/src/main/java/org/jhotdraw/draw/event/SelectionComponentDisplayer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/SelectionComponentDisplayer.java
rename to src/main/java/org/jhotdraw/draw/event/SelectionComponentDisplayer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/SelectionComponentRepainter.java b/src/main/java/org/jhotdraw/draw/event/SelectionComponentRepainter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/SelectionComponentRepainter.java
rename to src/main/java/org/jhotdraw/draw/event/SelectionComponentRepainter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/SetBoundsEdit.java b/src/main/java/org/jhotdraw/draw/event/SetBoundsEdit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/SetBoundsEdit.java
rename to src/main/java/org/jhotdraw/draw/event/SetBoundsEdit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/ToolAdapter.java b/src/main/java/org/jhotdraw/draw/event/ToolAdapter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/ToolAdapter.java
rename to src/main/java/org/jhotdraw/draw/event/ToolAdapter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/ToolEvent.java b/src/main/java/org/jhotdraw/draw/event/ToolEvent.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/ToolEvent.java
rename to src/main/java/org/jhotdraw/draw/event/ToolEvent.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/ToolListener.java b/src/main/java/org/jhotdraw/draw/event/ToolListener.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/ToolListener.java
rename to src/main/java/org/jhotdraw/draw/event/ToolListener.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/TransformEdit.java b/src/main/java/org/jhotdraw/draw/event/TransformEdit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/TransformEdit.java
rename to src/main/java/org/jhotdraw/draw/event/TransformEdit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/TransformRestoreEdit.java b/src/main/java/org/jhotdraw/draw/event/TransformRestoreEdit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/TransformRestoreEdit.java
rename to src/main/java/org/jhotdraw/draw/event/TransformRestoreEdit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/event/package-info.java b/src/main/java/org/jhotdraw/draw/event/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/event/package-info.java
rename to src/main/java/org/jhotdraw/draw/event/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeSlider.form b/src/main/java/org/jhotdraw/draw/gui/JAttributeSlider.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeSlider.form
rename to src/main/java/org/jhotdraw/draw/gui/JAttributeSlider.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeSlider.java b/src/main/java/org/jhotdraw/draw/gui/JAttributeSlider.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeSlider.java
rename to src/main/java/org/jhotdraw/draw/gui/JAttributeSlider.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeSliderBeanInfo.java b/src/main/java/org/jhotdraw/draw/gui/JAttributeSliderBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeSliderBeanInfo.java
rename to src/main/java/org/jhotdraw/draw/gui/JAttributeSliderBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.form b/src/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.form
rename to src/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.java b/src/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.java
rename to src/main/java/org/jhotdraw/draw/gui/JAttributeTextArea.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextAreaBeanInfo.java b/src/main/java/org/jhotdraw/draw/gui/JAttributeTextAreaBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextAreaBeanInfo.java
rename to src/main/java/org/jhotdraw/draw/gui/JAttributeTextAreaBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextField.form b/src/main/java/org/jhotdraw/draw/gui/JAttributeTextField.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextField.form
rename to src/main/java/org/jhotdraw/draw/gui/JAttributeTextField.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextField.java b/src/main/java/org/jhotdraw/draw/gui/JAttributeTextField.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextField.java
rename to src/main/java/org/jhotdraw/draw/gui/JAttributeTextField.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextFieldBeanInfo.java b/src/main/java/org/jhotdraw/draw/gui/JAttributeTextFieldBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/JAttributeTextFieldBeanInfo.java
rename to src/main/java/org/jhotdraw/draw/gui/JAttributeTextFieldBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/gui/package-info.java b/src/main/java/org/jhotdraw/draw/gui/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/gui/package-info.java
rename to src/main/java/org/jhotdraw/draw/gui/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/AbstractConnectionHandle.java b/src/main/java/org/jhotdraw/draw/handle/AbstractConnectionHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/AbstractConnectionHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/AbstractConnectionHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/AbstractHandle.java b/src/main/java/org/jhotdraw/draw/handle/AbstractHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/AbstractHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/AbstractHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/AbstractRotateHandle.java b/src/main/java/org/jhotdraw/draw/handle/AbstractRotateHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/AbstractRotateHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/AbstractRotateHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BezierControlPointHandle.java b/src/main/java/org/jhotdraw/draw/handle/BezierControlPointHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BezierControlPointHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/BezierControlPointHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BezierNodeHandle.java b/src/main/java/org/jhotdraw/draw/handle/BezierNodeHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BezierNodeHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/BezierNodeHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BezierOutlineHandle.java b/src/main/java/org/jhotdraw/draw/handle/BezierOutlineHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BezierOutlineHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/BezierOutlineHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BezierScaleHandle.java b/src/main/java/org/jhotdraw/draw/handle/BezierScaleHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BezierScaleHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/BezierScaleHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BoundsOutlineHandle.java b/src/main/java/org/jhotdraw/draw/handle/BoundsOutlineHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/BoundsOutlineHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/BoundsOutlineHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/CloseHandle.java b/src/main/java/org/jhotdraw/draw/handle/CloseHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/CloseHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/CloseHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/ConnectionEndHandle.java b/src/main/java/org/jhotdraw/draw/handle/ConnectionEndHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/ConnectionEndHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/ConnectionEndHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/ConnectionStartHandle.java b/src/main/java/org/jhotdraw/draw/handle/ConnectionStartHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/ConnectionStartHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/ConnectionStartHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/ConnectorHandle.java b/src/main/java/org/jhotdraw/draw/handle/ConnectorHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/ConnectorHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/ConnectorHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/DragHandle.java b/src/main/java/org/jhotdraw/draw/handle/DragHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/DragHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/DragHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/FontSizeHandle.java b/src/main/java/org/jhotdraw/draw/handle/FontSizeHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/FontSizeHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/FontSizeHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/Handle.java b/src/main/java/org/jhotdraw/draw/handle/Handle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/Handle.java
rename to src/main/java/org/jhotdraw/draw/handle/Handle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/HandleAttributeKeys.java b/src/main/java/org/jhotdraw/draw/handle/HandleAttributeKeys.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/HandleAttributeKeys.java
rename to src/main/java/org/jhotdraw/draw/handle/HandleAttributeKeys.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/LocatorHandle.java b/src/main/java/org/jhotdraw/draw/handle/LocatorHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/LocatorHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/LocatorHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/MoveHandle.java b/src/main/java/org/jhotdraw/draw/handle/MoveHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/MoveHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/MoveHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/NullHandle.java b/src/main/java/org/jhotdraw/draw/handle/NullHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/NullHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/NullHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/OrientationHandle.java b/src/main/java/org/jhotdraw/draw/handle/OrientationHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/OrientationHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/OrientationHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/ResizeHandleKit.java b/src/main/java/org/jhotdraw/draw/handle/ResizeHandleKit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/ResizeHandleKit.java
rename to src/main/java/org/jhotdraw/draw/handle/ResizeHandleKit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/RotateHandle.java b/src/main/java/org/jhotdraw/draw/handle/RotateHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/RotateHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/RotateHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/RoundRectangleRadiusHandle.java b/src/main/java/org/jhotdraw/draw/handle/RoundRectangleRadiusHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/RoundRectangleRadiusHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/RoundRectangleRadiusHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/TextOverflowHandle.java b/src/main/java/org/jhotdraw/draw/handle/TextOverflowHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/TextOverflowHandle.java
rename to src/main/java/org/jhotdraw/draw/handle/TextOverflowHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/TransformHandleKit.java b/src/main/java/org/jhotdraw/draw/handle/TransformHandleKit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/TransformHandleKit.java
rename to src/main/java/org/jhotdraw/draw/handle/TransformHandleKit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/handle/package-info.java b/src/main/java/org/jhotdraw/draw/handle/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/handle/package-info.java
rename to src/main/java/org/jhotdraw/draw/handle/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/io/DOMStorableInputOutputFormat.java b/src/main/java/org/jhotdraw/draw/io/DOMStorableInputOutputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/io/DOMStorableInputOutputFormat.java
rename to src/main/java/org/jhotdraw/draw/io/DOMStorableInputOutputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/io/ImageInputFormat.java b/src/main/java/org/jhotdraw/draw/io/ImageInputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/io/ImageInputFormat.java
rename to src/main/java/org/jhotdraw/draw/io/ImageInputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/io/ImageOutputFormat.java b/src/main/java/org/jhotdraw/draw/io/ImageOutputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/io/ImageOutputFormat.java
rename to src/main/java/org/jhotdraw/draw/io/ImageOutputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/io/InputFormat.java b/src/main/java/org/jhotdraw/draw/io/InputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/io/InputFormat.java
rename to src/main/java/org/jhotdraw/draw/io/InputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/io/OutputFormat.java b/src/main/java/org/jhotdraw/draw/io/OutputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/io/OutputFormat.java
rename to src/main/java/org/jhotdraw/draw/io/OutputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/io/SerializationInputOutputFormat.java b/src/main/java/org/jhotdraw/draw/io/SerializationInputOutputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/io/SerializationInputOutputFormat.java
rename to src/main/java/org/jhotdraw/draw/io/SerializationInputOutputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/io/TextInputFormat.java b/src/main/java/org/jhotdraw/draw/io/TextInputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/io/TextInputFormat.java
rename to src/main/java/org/jhotdraw/draw/io/TextInputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/io/package-info.java b/src/main/java/org/jhotdraw/draw/io/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/io/package-info.java
rename to src/main/java/org/jhotdraw/draw/io/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/AbstractLayouter.java b/src/main/java/org/jhotdraw/draw/layouter/AbstractLayouter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/AbstractLayouter.java
rename to src/main/java/org/jhotdraw/draw/layouter/AbstractLayouter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/HorizontalLayouter.java b/src/main/java/org/jhotdraw/draw/layouter/HorizontalLayouter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/HorizontalLayouter.java
rename to src/main/java/org/jhotdraw/draw/layouter/HorizontalLayouter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/Layouter.java b/src/main/java/org/jhotdraw/draw/layouter/Layouter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/Layouter.java
rename to src/main/java/org/jhotdraw/draw/layouter/Layouter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/LocatorLayouter.java b/src/main/java/org/jhotdraw/draw/layouter/LocatorLayouter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/LocatorLayouter.java
rename to src/main/java/org/jhotdraw/draw/layouter/LocatorLayouter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/VerticalLayouter.java b/src/main/java/org/jhotdraw/draw/layouter/VerticalLayouter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/VerticalLayouter.java
rename to src/main/java/org/jhotdraw/draw/layouter/VerticalLayouter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/package-info.java b/src/main/java/org/jhotdraw/draw/layouter/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/layouter/package-info.java
rename to src/main/java/org/jhotdraw/draw/layouter/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/liner/CurvedLiner.java b/src/main/java/org/jhotdraw/draw/liner/CurvedLiner.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/liner/CurvedLiner.java
rename to src/main/java/org/jhotdraw/draw/liner/CurvedLiner.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/liner/ElbowLiner.java b/src/main/java/org/jhotdraw/draw/liner/ElbowLiner.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/liner/ElbowLiner.java
rename to src/main/java/org/jhotdraw/draw/liner/ElbowLiner.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/liner/Liner.java b/src/main/java/org/jhotdraw/draw/liner/Liner.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/liner/Liner.java
rename to src/main/java/org/jhotdraw/draw/liner/Liner.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/liner/SlantedLiner.java b/src/main/java/org/jhotdraw/draw/liner/SlantedLiner.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/liner/SlantedLiner.java
rename to src/main/java/org/jhotdraw/draw/liner/SlantedLiner.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/liner/package-info.java b/src/main/java/org/jhotdraw/draw/liner/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/liner/package-info.java
rename to src/main/java/org/jhotdraw/draw/liner/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/locator/AbstractLocator.java b/src/main/java/org/jhotdraw/draw/locator/AbstractLocator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/locator/AbstractLocator.java
rename to src/main/java/org/jhotdraw/draw/locator/AbstractLocator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/locator/BezierLabelLocator.java b/src/main/java/org/jhotdraw/draw/locator/BezierLabelLocator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/locator/BezierLabelLocator.java
rename to src/main/java/org/jhotdraw/draw/locator/BezierLabelLocator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/locator/BezierPointLocator.java b/src/main/java/org/jhotdraw/draw/locator/BezierPointLocator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/locator/BezierPointLocator.java
rename to src/main/java/org/jhotdraw/draw/locator/BezierPointLocator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/locator/FontSizeLocator.java b/src/main/java/org/jhotdraw/draw/locator/FontSizeLocator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/locator/FontSizeLocator.java
rename to src/main/java/org/jhotdraw/draw/locator/FontSizeLocator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/locator/Locator.java b/src/main/java/org/jhotdraw/draw/locator/Locator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/locator/Locator.java
rename to src/main/java/org/jhotdraw/draw/locator/Locator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/locator/RelativeDecoratorLocator.java b/src/main/java/org/jhotdraw/draw/locator/RelativeDecoratorLocator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/locator/RelativeDecoratorLocator.java
rename to src/main/java/org/jhotdraw/draw/locator/RelativeDecoratorLocator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/locator/RelativeLocator.java b/src/main/java/org/jhotdraw/draw/locator/RelativeLocator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/locator/RelativeLocator.java
rename to src/main/java/org/jhotdraw/draw/locator/RelativeLocator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/locator/package-info.java b/src/main/java/org/jhotdraw/draw/locator/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/locator/package-info.java
rename to src/main/java/org/jhotdraw/draw/locator/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/package-info.java b/src/main/java/org/jhotdraw/draw/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/package-info.java
rename to src/main/java/org/jhotdraw/draw/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/print/DrawingPageable.java b/src/main/java/org/jhotdraw/draw/print/DrawingPageable.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/print/DrawingPageable.java
rename to src/main/java/org/jhotdraw/draw/print/DrawingPageable.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/print/package-info.java b/src/main/java/org/jhotdraw/draw/print/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/print/package-info.java
rename to src/main/java/org/jhotdraw/draw/print/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/text/FloatingTextArea.java b/src/main/java/org/jhotdraw/draw/text/FloatingTextArea.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/text/FloatingTextArea.java
rename to src/main/java/org/jhotdraw/draw/text/FloatingTextArea.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/text/FloatingTextField.java b/src/main/java/org/jhotdraw/draw/text/FloatingTextField.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/text/FloatingTextField.java
rename to src/main/java/org/jhotdraw/draw/text/FloatingTextField.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/text/package-info.java b/src/main/java/org/jhotdraw/draw/text/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/text/package-info.java
rename to src/main/java/org/jhotdraw/draw/text/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/AbstractTool.java b/src/main/java/org/jhotdraw/draw/tool/AbstractTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/AbstractTool.java
rename to src/main/java/org/jhotdraw/draw/tool/AbstractTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/BezierTool.java b/src/main/java/org/jhotdraw/draw/tool/BezierTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/BezierTool.java
rename to src/main/java/org/jhotdraw/draw/tool/BezierTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/ConnectionTool.java b/src/main/java/org/jhotdraw/draw/tool/ConnectionTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/ConnectionTool.java
rename to src/main/java/org/jhotdraw/draw/tool/ConnectionTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/CreationTool.java b/src/main/java/org/jhotdraw/draw/tool/CreationTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/CreationTool.java
rename to src/main/java/org/jhotdraw/draw/tool/CreationTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DefaultDragTracker.java b/src/main/java/org/jhotdraw/draw/tool/DefaultDragTracker.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DefaultDragTracker.java
rename to src/main/java/org/jhotdraw/draw/tool/DefaultDragTracker.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DefaultHandleTracker.java b/src/main/java/org/jhotdraw/draw/tool/DefaultHandleTracker.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DefaultHandleTracker.java
rename to src/main/java/org/jhotdraw/draw/tool/DefaultHandleTracker.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DefaultSelectAreaTracker.java b/src/main/java/org/jhotdraw/draw/tool/DefaultSelectAreaTracker.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DefaultSelectAreaTracker.java
rename to src/main/java/org/jhotdraw/draw/tool/DefaultSelectAreaTracker.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DelegationSelectionTool.java b/src/main/java/org/jhotdraw/draw/tool/DelegationSelectionTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DelegationSelectionTool.java
rename to src/main/java/org/jhotdraw/draw/tool/DelegationSelectionTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DnDTracker.java b/src/main/java/org/jhotdraw/draw/tool/DnDTracker.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DnDTracker.java
rename to src/main/java/org/jhotdraw/draw/tool/DnDTracker.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DragTracker.java b/src/main/java/org/jhotdraw/draw/tool/DragTracker.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/DragTracker.java
rename to src/main/java/org/jhotdraw/draw/tool/DragTracker.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/HandleTracker.java b/src/main/java/org/jhotdraw/draw/tool/HandleTracker.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/HandleTracker.java
rename to src/main/java/org/jhotdraw/draw/tool/HandleTracker.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/ImageTool.java b/src/main/java/org/jhotdraw/draw/tool/ImageTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/ImageTool.java
rename to src/main/java/org/jhotdraw/draw/tool/ImageTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/SelectAreaTracker.java b/src/main/java/org/jhotdraw/draw/tool/SelectAreaTracker.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/SelectAreaTracker.java
rename to src/main/java/org/jhotdraw/draw/tool/SelectAreaTracker.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/SelectionTool.java b/src/main/java/org/jhotdraw/draw/tool/SelectionTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/SelectionTool.java
rename to src/main/java/org/jhotdraw/draw/tool/SelectionTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/TextAreaCreationTool.java b/src/main/java/org/jhotdraw/draw/tool/TextAreaCreationTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/TextAreaCreationTool.java
rename to src/main/java/org/jhotdraw/draw/tool/TextAreaCreationTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/TextAreaEditingTool.java b/src/main/java/org/jhotdraw/draw/tool/TextAreaEditingTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/TextAreaEditingTool.java
rename to src/main/java/org/jhotdraw/draw/tool/TextAreaEditingTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/TextCreationTool.java b/src/main/java/org/jhotdraw/draw/tool/TextCreationTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/TextCreationTool.java
rename to src/main/java/org/jhotdraw/draw/tool/TextCreationTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/TextEditingTool.java b/src/main/java/org/jhotdraw/draw/tool/TextEditingTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/TextEditingTool.java
rename to src/main/java/org/jhotdraw/draw/tool/TextEditingTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/Tool.java b/src/main/java/org/jhotdraw/draw/tool/Tool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/Tool.java
rename to src/main/java/org/jhotdraw/draw/tool/Tool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/draw/tool/package-info.java b/src/main/java/org/jhotdraw/draw/tool/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/draw/tool/package-info.java
rename to src/main/java/org/jhotdraw/draw/tool/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/Bezier.java b/src/main/java/org/jhotdraw/geom/Bezier.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/Bezier.java
rename to src/main/java/org/jhotdraw/geom/Bezier.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/BezierPath.java b/src/main/java/org/jhotdraw/geom/BezierPath.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/BezierPath.java
rename to src/main/java/org/jhotdraw/geom/BezierPath.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/BezierPathIterator.java b/src/main/java/org/jhotdraw/geom/BezierPathIterator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/BezierPathIterator.java
rename to src/main/java/org/jhotdraw/geom/BezierPathIterator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/ConvexHull.java b/src/main/java/org/jhotdraw/geom/ConvexHull.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/ConvexHull.java
rename to src/main/java/org/jhotdraw/geom/ConvexHull.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/Dimension2DDouble.java b/src/main/java/org/jhotdraw/geom/Dimension2DDouble.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/Dimension2DDouble.java
rename to src/main/java/org/jhotdraw/geom/Dimension2DDouble.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/DoubleStroke.java b/src/main/java/org/jhotdraw/geom/DoubleStroke.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/DoubleStroke.java
rename to src/main/java/org/jhotdraw/geom/DoubleStroke.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/Geom.java b/src/main/java/org/jhotdraw/geom/Geom.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/Geom.java
rename to src/main/java/org/jhotdraw/geom/Geom.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/GrowStroke.java b/src/main/java/org/jhotdraw/geom/GrowStroke.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/GrowStroke.java
rename to src/main/java/org/jhotdraw/geom/GrowStroke.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/Insets2D.java b/src/main/java/org/jhotdraw/geom/Insets2D.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/Insets2D.java
rename to src/main/java/org/jhotdraw/geom/Insets2D.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/Polygon2D.java b/src/main/java/org/jhotdraw/geom/Polygon2D.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/Polygon2D.java
rename to src/main/java/org/jhotdraw/geom/Polygon2D.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/QuadTree.java b/src/main/java/org/jhotdraw/geom/QuadTree.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/QuadTree.java
rename to src/main/java/org/jhotdraw/geom/QuadTree.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/Shapes.java b/src/main/java/org/jhotdraw/geom/Shapes.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/Shapes.java
rename to src/main/java/org/jhotdraw/geom/Shapes.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/geom/package-info.java b/src/main/java/org/jhotdraw/geom/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/geom/package-info.java
rename to src/main/java/org/jhotdraw/geom/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/Arrangeable.java b/src/main/java/org/jhotdraw/gui/Arrangeable.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/Arrangeable.java
rename to src/main/java/org/jhotdraw/gui/Arrangeable.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/AttributeEditor.java b/src/main/java/org/jhotdraw/gui/AttributeEditor.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/AttributeEditor.java
rename to src/main/java/org/jhotdraw/gui/AttributeEditor.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/DisclosureIcon.java b/src/main/java/org/jhotdraw/gui/DisclosureIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/DisclosureIcon.java
rename to src/main/java/org/jhotdraw/gui/DisclosureIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/EditableComponent.java b/src/main/java/org/jhotdraw/gui/EditableComponent.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/EditableComponent.java
rename to src/main/java/org/jhotdraw/gui/EditableComponent.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/EmptyIcon.java b/src/main/java/org/jhotdraw/gui/EmptyIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/EmptyIcon.java
rename to src/main/java/org/jhotdraw/gui/EmptyIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JComponentPopup.java b/src/main/java/org/jhotdraw/gui/JComponentPopup.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JComponentPopup.java
rename to src/main/java/org/jhotdraw/gui/JComponentPopup.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JDisclosureToolBar.form b/src/main/java/org/jhotdraw/gui/JDisclosureToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JDisclosureToolBar.form
rename to src/main/java/org/jhotdraw/gui/JDisclosureToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JDisclosureToolBar.java b/src/main/java/org/jhotdraw/gui/JDisclosureToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JDisclosureToolBar.java
rename to src/main/java/org/jhotdraw/gui/JDisclosureToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JDisclosureToolBarBeanInfo.java b/src/main/java/org/jhotdraw/gui/JDisclosureToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JDisclosureToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/gui/JDisclosureToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JFileURIChooser.java b/src/main/java/org/jhotdraw/gui/JFileURIChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JFileURIChooser.java
rename to src/main/java/org/jhotdraw/gui/JFileURIChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JFontChooser.form b/src/main/java/org/jhotdraw/gui/JFontChooser.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JFontChooser.form
rename to src/main/java/org/jhotdraw/gui/JFontChooser.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JFontChooser.java b/src/main/java/org/jhotdraw/gui/JFontChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JFontChooser.java
rename to src/main/java/org/jhotdraw/gui/JFontChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTexAreaBeanInfo.java b/src/main/java/org/jhotdraw/gui/JLifeFormattedTexAreaBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTexAreaBeanInfo.java
rename to src/main/java/org/jhotdraw/gui/JLifeFormattedTexAreaBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.form b/src/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.form
rename to src/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.java b/src/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.java
rename to src/main/java/org/jhotdraw/gui/JLifeFormattedTextArea.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextField.form b/src/main/java/org/jhotdraw/gui/JLifeFormattedTextField.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextField.form
rename to src/main/java/org/jhotdraw/gui/JLifeFormattedTextField.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextField.java b/src/main/java/org/jhotdraw/gui/JLifeFormattedTextField.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextField.java
rename to src/main/java/org/jhotdraw/gui/JLifeFormattedTextField.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextFieldBeanInfo.java b/src/main/java/org/jhotdraw/gui/JLifeFormattedTextFieldBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JLifeFormattedTextFieldBeanInfo.java
rename to src/main/java/org/jhotdraw/gui/JLifeFormattedTextFieldBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JMDIDesktopPane.java b/src/main/java/org/jhotdraw/gui/JMDIDesktopPane.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JMDIDesktopPane.java
rename to src/main/java/org/jhotdraw/gui/JMDIDesktopPane.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JPopupButton.form b/src/main/java/org/jhotdraw/gui/JPopupButton.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JPopupButton.form
rename to src/main/java/org/jhotdraw/gui/JPopupButton.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JPopupButton.java b/src/main/java/org/jhotdraw/gui/JPopupButton.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JPopupButton.java
rename to src/main/java/org/jhotdraw/gui/JPopupButton.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JPopupButtonBeanInfo.java b/src/main/java/org/jhotdraw/gui/JPopupButtonBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JPopupButtonBeanInfo.java
rename to src/main/java/org/jhotdraw/gui/JPopupButtonBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/JSheet.java b/src/main/java/org/jhotdraw/gui/JSheet.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/JSheet.java
rename to src/main/java/org/jhotdraw/gui/JSheet.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/Labels.properties b/src/main/java/org/jhotdraw/gui/Labels.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/Labels.properties
rename to src/main/java/org/jhotdraw/gui/Labels.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/Labels_de.properties b/src/main/java/org/jhotdraw/gui/Labels_de.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/Labels_de.properties
rename to src/main/java/org/jhotdraw/gui/Labels_de.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/PlacardScrollPaneLayout.java b/src/main/java/org/jhotdraw/gui/PlacardScrollPaneLayout.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/PlacardScrollPaneLayout.java
rename to src/main/java/org/jhotdraw/gui/PlacardScrollPaneLayout.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/ToolBarLayout.java b/src/main/java/org/jhotdraw/gui/ToolBarLayout.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/ToolBarLayout.java
rename to src/main/java/org/jhotdraw/gui/ToolBarLayout.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/URIChooser.java b/src/main/java/org/jhotdraw/gui/URIChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/URIChooser.java
rename to src/main/java/org/jhotdraw/gui/URIChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/VerticalGridLayout.java b/src/main/java/org/jhotdraw/gui/VerticalGridLayout.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/VerticalGridLayout.java
rename to src/main/java/org/jhotdraw/gui/VerticalGridLayout.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/Worker.java b/src/main/java/org/jhotdraw/gui/Worker.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/Worker.java
rename to src/main/java/org/jhotdraw/gui/Worker.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/AWTClipboard.java b/src/main/java/org/jhotdraw/gui/datatransfer/AWTClipboard.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/AWTClipboard.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/AWTClipboard.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/AbstractClipboard.java b/src/main/java/org/jhotdraw/gui/datatransfer/AbstractClipboard.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/AbstractClipboard.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/AbstractClipboard.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/AbstractTransferable.java b/src/main/java/org/jhotdraw/gui/datatransfer/AbstractTransferable.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/AbstractTransferable.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/AbstractTransferable.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/ClipboardUtil.java b/src/main/java/org/jhotdraw/gui/datatransfer/ClipboardUtil.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/ClipboardUtil.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/ClipboardUtil.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/CompositeTransferable.java b/src/main/java/org/jhotdraw/gui/datatransfer/CompositeTransferable.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/CompositeTransferable.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/CompositeTransferable.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/ImageTransferable.java b/src/main/java/org/jhotdraw/gui/datatransfer/ImageTransferable.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/ImageTransferable.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/ImageTransferable.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/InputStreamTransferable.java b/src/main/java/org/jhotdraw/gui/datatransfer/InputStreamTransferable.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/InputStreamTransferable.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/InputStreamTransferable.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/JNLPClipboard.java b/src/main/java/org/jhotdraw/gui/datatransfer/JNLPClipboard.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/JNLPClipboard.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/JNLPClipboard.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/OSXClipboard.java b/src/main/java/org/jhotdraw/gui/datatransfer/OSXClipboard.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/OSXClipboard.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/OSXClipboard.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/package-info.java b/src/main/java/org/jhotdraw/gui/datatransfer/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/datatransfer/package-info.java
rename to src/main/java/org/jhotdraw/gui/datatransfer/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/event/GenericListener.java b/src/main/java/org/jhotdraw/gui/event/GenericListener.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/event/GenericListener.java
rename to src/main/java/org/jhotdraw/gui/event/GenericListener.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/event/SheetEvent.java b/src/main/java/org/jhotdraw/gui/event/SheetEvent.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/event/SheetEvent.java
rename to src/main/java/org/jhotdraw/gui/event/SheetEvent.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/event/SheetListener.java b/src/main/java/org/jhotdraw/gui/event/SheetListener.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/event/SheetListener.java
rename to src/main/java/org/jhotdraw/gui/event/SheetListener.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/event/package-info.java b/src/main/java/org/jhotdraw/gui/event/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/event/package-info.java
rename to src/main/java/org/jhotdraw/gui/event/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/filechooser/ExtensionFileFilter.java b/src/main/java/org/jhotdraw/gui/filechooser/ExtensionFileFilter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/filechooser/ExtensionFileFilter.java
rename to src/main/java/org/jhotdraw/gui/filechooser/ExtensionFileFilter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/filechooser/package-info.java b/src/main/java/org/jhotdraw/gui/filechooser/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/filechooser/package-info.java
rename to src/main/java/org/jhotdraw/gui/filechooser/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/AbstractFontChooserModel.java b/src/main/java/org/jhotdraw/gui/fontchooser/AbstractFontChooserModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/AbstractFontChooserModel.java
rename to src/main/java/org/jhotdraw/gui/fontchooser/AbstractFontChooserModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/DefaultFontChooserModel.java b/src/main/java/org/jhotdraw/gui/fontchooser/DefaultFontChooserModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/DefaultFontChooserModel.java
rename to src/main/java/org/jhotdraw/gui/fontchooser/DefaultFontChooserModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/FontChooserModel.java b/src/main/java/org/jhotdraw/gui/fontchooser/FontChooserModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/FontChooserModel.java
rename to src/main/java/org/jhotdraw/gui/fontchooser/FontChooserModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/FontCollectionNode.java b/src/main/java/org/jhotdraw/gui/fontchooser/FontCollectionNode.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/FontCollectionNode.java
rename to src/main/java/org/jhotdraw/gui/fontchooser/FontCollectionNode.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/FontFaceNode.java b/src/main/java/org/jhotdraw/gui/fontchooser/FontFaceNode.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/FontFaceNode.java
rename to src/main/java/org/jhotdraw/gui/fontchooser/FontFaceNode.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/FontFamilyNode.java b/src/main/java/org/jhotdraw/gui/fontchooser/FontFamilyNode.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/FontFamilyNode.java
rename to src/main/java/org/jhotdraw/gui/fontchooser/FontFamilyNode.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/package-info.java b/src/main/java/org/jhotdraw/gui/fontchooser/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/fontchooser/package-info.java
rename to src/main/java/org/jhotdraw/gui/fontchooser/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/package-info.java b/src/main/java/org/jhotdraw/gui/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/package-info.java
rename to src/main/java/org/jhotdraw/gui/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/FontChooserUI.java b/src/main/java/org/jhotdraw/gui/plaf/FontChooserUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/FontChooserUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/FontChooserUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/package-info.java b/src/main/java/org/jhotdraw/gui/plaf/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/package-info.java
rename to src/main/java/org/jhotdraw/gui/plaf/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/BackdropBorder.java b/src/main/java/org/jhotdraw/gui/plaf/palette/BackdropBorder.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/BackdropBorder.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/BackdropBorder.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/MultiIcon.java b/src/main/java/org/jhotdraw/gui/plaf/palette/MultiIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/MultiIcon.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/MultiIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteBorders.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteBorders.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteBorders.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteBorders.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonBorder.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonBorder.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonBorder.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonBorder.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteButtonUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorChooserUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorChooserUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorChooserUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorChooserUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorSliderUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorSliderUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorSliderUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteColorSliderUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.form b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserPreviewPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.form b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserSelectionPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFontChooserUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFormattedTextFieldUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFormattedTextFieldUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFormattedTextFieldUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteFormattedTextFieldUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLabelUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLabelUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLabelUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLabelUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLazyActionMap.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLazyActionMap.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLazyActionMap.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLazyActionMap.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteListCellRenderer.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteListCellRenderer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteListCellRenderer.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteListCellRenderer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteListUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteListUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteListUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteListUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLookAndFeel.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLookAndFeel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLookAndFeel.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteLookAndFeel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteMenuItemUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteMenuItemUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteMenuItemUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteMenuItemUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PalettePanelUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PalettePanelUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PalettePanelUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PalettePanelUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteRootPaneUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteRootPaneUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteRootPaneUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteRootPaneUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderThumbIcon.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderThumbIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderThumbIcon.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderThumbIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteSliderUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTabbedPaneUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTabbedPaneUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTabbedPaneUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTabbedPaneUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextComponentBorder.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextComponentBorder.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextComponentBorder.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextComponentBorder.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextFieldUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextFieldUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextFieldUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteTextFieldUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarBorder.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarBorder.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarBorder.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarBorder.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarUI.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarUI.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarUI.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteToolBarUI.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteUtilities.java b/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteUtilities.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/PaletteUtilities.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/PaletteUtilities.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorIcon.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorIcon.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorSliderTextFieldHandler.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorSliderTextFieldHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorSliderTextFieldHandler.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/ColorSliderTextFieldHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.form b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteCMYKChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.form b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserMainPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.form b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorChooserPreviewPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSliderModel.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSliderModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSliderModel.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSliderModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.form b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorSlidersChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.form b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteColorWheelChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.form b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteHSBChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.form b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteRGBChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.form b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.form
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/PaletteSwatchesChooser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/package-info.java b/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/package-info.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/colorchooser/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.northThumbs.small.png b/src/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.northThumbs.small.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.northThumbs.small.png
rename to src/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.northThumbs.small.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.westThumbs.small.png b/src/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.westThumbs.small.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.westThumbs.small.png
rename to src/main/java/org/jhotdraw/gui/plaf/palette/images/Slider.westThumbs.small.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/package-info.java b/src/main/java/org/jhotdraw/gui/plaf/palette/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/gui/plaf/palette/package-info.java
rename to src/main/java/org/jhotdraw/gui/plaf/palette/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/io/Base64.java b/src/main/java/org/jhotdraw/io/Base64.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/io/Base64.java
rename to src/main/java/org/jhotdraw/io/Base64.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/io/BoundedRangeInputStream.java b/src/main/java/org/jhotdraw/io/BoundedRangeInputStream.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/io/BoundedRangeInputStream.java
rename to src/main/java/org/jhotdraw/io/BoundedRangeInputStream.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/io/StreamPosTokenizer.java b/src/main/java/org/jhotdraw/io/StreamPosTokenizer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/io/StreamPosTokenizer.java
rename to src/main/java/org/jhotdraw/io/StreamPosTokenizer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/io/package-info.java b/src/main/java/org/jhotdraw/io/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/io/package-info.java
rename to src/main/java/org/jhotdraw/io/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/net/ClientHttpRequest.java b/src/main/java/org/jhotdraw/net/ClientHttpRequest.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/net/ClientHttpRequest.java
rename to src/main/java/org/jhotdraw/net/ClientHttpRequest.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/net/URIUtil.java b/src/main/java/org/jhotdraw/net/URIUtil.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/net/URIUtil.java
rename to src/main/java/org/jhotdraw/net/URIUtil.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/net/package-info.java b/src/main/java/org/jhotdraw/net/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/net/package-info.java
rename to src/main/java/org/jhotdraw/net/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/overview.html b/src/main/java/org/jhotdraw/overview.html
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/overview.html
rename to src/main/java/org/jhotdraw/overview.html
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.form b/src/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.form
rename to src/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.java b/src/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.java
rename to src/main/java/org/jhotdraw/samples/color/CIEXYChromaticityDiagram.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/color/JMixer.form b/src/main/java/org/jhotdraw/samples/color/JMixer.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/color/JMixer.form
rename to src/main/java/org/jhotdraw/samples/color/JMixer.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/color/JMixer.java b/src/main/java/org/jhotdraw/samples/color/JMixer.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/color/JMixer.java
rename to src/main/java/org/jhotdraw/samples/color/JMixer.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.form b/src/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.form
rename to src/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.java b/src/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.java
rename to src/main/java/org/jhotdraw/samples/color/WheelsAndSlidersMain.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/color/package-info.java b/src/main/java/org/jhotdraw/samples/color/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/color/package-info.java
rename to src/main/java/org/jhotdraw/samples/color/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawApplet.form b/src/main/java/org/jhotdraw/samples/draw/DrawApplet.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawApplet.form
rename to src/main/java/org/jhotdraw/samples/draw/DrawApplet.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawApplet.html b/src/main/java/org/jhotdraw/samples/draw/DrawApplet.html
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawApplet.html
rename to src/main/java/org/jhotdraw/samples/draw/DrawApplet.html
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawApplet.java b/src/main/java/org/jhotdraw/samples/draw/DrawApplet.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawApplet.java
rename to src/main/java/org/jhotdraw/samples/draw/DrawApplet.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawApplicationModel.java b/src/main/java/org/jhotdraw/samples/draw/DrawApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawApplicationModel.java
rename to src/main/java/org/jhotdraw/samples/draw/DrawApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawFigureFactory.java b/src/main/java/org/jhotdraw/samples/draw/DrawFigureFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawFigureFactory.java
rename to src/main/java/org/jhotdraw/samples/draw/DrawFigureFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.form b/src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.form
rename to src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.html b/src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.html
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.html
rename to src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.html
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.java b/src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.java
rename to src/main/java/org/jhotdraw/samples/draw/DrawLiveConnectApplet.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawView.form b/src/main/java/org/jhotdraw/samples/draw/DrawView.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawView.form
rename to src/main/java/org/jhotdraw/samples/draw/DrawView.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawView.java b/src/main/java/org/jhotdraw/samples/draw/DrawView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawView.java
rename to src/main/java/org/jhotdraw/samples/draw/DrawView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawingPanel.form b/src/main/java/org/jhotdraw/samples/draw/DrawingPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawingPanel.form
rename to src/main/java/org/jhotdraw/samples/draw/DrawingPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawingPanel.java b/src/main/java/org/jhotdraw/samples/draw/DrawingPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawingPanel.java
rename to src/main/java/org/jhotdraw/samples/draw/DrawingPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawingPanelBeanInfo.java b/src/main/java/org/jhotdraw/samples/draw/DrawingPanelBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/DrawingPanelBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/draw/DrawingPanelBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/Main.java b/src/main/java/org/jhotdraw/samples/draw/Main.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/Main.java
rename to src/main/java/org/jhotdraw/samples/draw/Main.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/package-info.java b/src/main/java/org/jhotdraw/samples/draw/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/package-info.java
rename to src/main/java/org/jhotdraw/samples/draw/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/draw/plasmadraw.xml b/src/main/java/org/jhotdraw/samples/draw/plasmadraw.xml
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/draw/plasmadraw.xml
rename to src/main/java/org/jhotdraw/samples/draw/plasmadraw.xml
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/font/FontChooserMain.form b/src/main/java/org/jhotdraw/samples/font/FontChooserMain.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/font/FontChooserMain.form
rename to src/main/java/org/jhotdraw/samples/font/FontChooserMain.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/font/FontChooserMain.java b/src/main/java/org/jhotdraw/samples/font/FontChooserMain.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/font/FontChooserMain.java
rename to src/main/java/org/jhotdraw/samples/font/FontChooserMain.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/font/package-info.java b/src/main/java/org/jhotdraw/samples/font/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/font/package-info.java
rename to src/main/java/org/jhotdraw/samples/font/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/AnimationSample.form b/src/main/java/org/jhotdraw/samples/mini/AnimationSample.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/AnimationSample.form
rename to src/main/java/org/jhotdraw/samples/mini/AnimationSample.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/AnimationSample.java b/src/main/java/org/jhotdraw/samples/mini/AnimationSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/AnimationSample.java
rename to src/main/java/org/jhotdraw/samples/mini/AnimationSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/BezierDemo.form b/src/main/java/org/jhotdraw/samples/mini/BezierDemo.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/BezierDemo.form
rename to src/main/java/org/jhotdraw/samples/mini/BezierDemo.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/BezierDemo.java b/src/main/java/org/jhotdraw/samples/mini/BezierDemo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/BezierDemo.java
rename to src/main/java/org/jhotdraw/samples/mini/BezierDemo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/BorderRectangleFigure.java b/src/main/java/org/jhotdraw/samples/mini/BorderRectangleFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/BorderRectangleFigure.java
rename to src/main/java/org/jhotdraw/samples/mini/BorderRectangleFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/ConnectingFiguresSample.java b/src/main/java/org/jhotdraw/samples/mini/ConnectingFiguresSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/ConnectingFiguresSample.java
rename to src/main/java/org/jhotdraw/samples/mini/ConnectingFiguresSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/CreationToolSample.java b/src/main/java/org/jhotdraw/samples/mini/CreationToolSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/CreationToolSample.java
rename to src/main/java/org/jhotdraw/samples/mini/CreationToolSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/DefaultDOMStorableSample.java b/src/main/java/org/jhotdraw/samples/mini/DefaultDOMStorableSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/DefaultDOMStorableSample.java
rename to src/main/java/org/jhotdraw/samples/mini/DefaultDOMStorableSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/DnDMultiEditorSample.java b/src/main/java/org/jhotdraw/samples/mini/DnDMultiEditorSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/DnDMultiEditorSample.java
rename to src/main/java/org/jhotdraw/samples/mini/DnDMultiEditorSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/EditorSample.java b/src/main/java/org/jhotdraw/samples/mini/EditorSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/EditorSample.java
rename to src/main/java/org/jhotdraw/samples/mini/EditorSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/FileIconsSample.java b/src/main/java/org/jhotdraw/samples/mini/FileIconsSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/FileIconsSample.java
rename to src/main/java/org/jhotdraw/samples/mini/FileIconsSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/LabeledLineConnectionFigureSample.java b/src/main/java/org/jhotdraw/samples/mini/LabeledLineConnectionFigureSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/LabeledLineConnectionFigureSample.java
rename to src/main/java/org/jhotdraw/samples/mini/LabeledLineConnectionFigureSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/LayouterSample.java b/src/main/java/org/jhotdraw/samples/mini/LayouterSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/LayouterSample.java
rename to src/main/java/org/jhotdraw/samples/mini/LayouterSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/MovableChildFiguresSample.java b/src/main/java/org/jhotdraw/samples/mini/MovableChildFiguresSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/MovableChildFiguresSample.java
rename to src/main/java/org/jhotdraw/samples/mini/MovableChildFiguresSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/MultiEditorSample.java b/src/main/java/org/jhotdraw/samples/mini/MultiEditorSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/MultiEditorSample.java
rename to src/main/java/org/jhotdraw/samples/mini/MultiEditorSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.form b/src/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.form
rename to src/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.java b/src/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.java
rename to src/main/java/org/jhotdraw/samples/mini/SVGDrawingPanelSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/SelectionToolSample.java b/src/main/java/org/jhotdraw/samples/mini/SelectionToolSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/SelectionToolSample.java
rename to src/main/java/org/jhotdraw/samples/mini/SelectionToolSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/SmartConnectionFigureSample.java b/src/main/java/org/jhotdraw/samples/mini/SmartConnectionFigureSample.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/SmartConnectionFigureSample.java
rename to src/main/java/org/jhotdraw/samples/mini/SmartConnectionFigureSample.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/StraightLineFigure.java b/src/main/java/org/jhotdraw/samples/mini/StraightLineFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/StraightLineFigure.java
rename to src/main/java/org/jhotdraw/samples/mini/StraightLineFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/mini/package-info.java b/src/main/java/org/jhotdraw/samples/mini/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/mini/package-info.java
rename to src/main/java/org/jhotdraw/samples/mini/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/Labels.properties b/src/main/java/org/jhotdraw/samples/net/Labels.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/Labels.properties
rename to src/main/java/org/jhotdraw/samples/net/Labels.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/Labels_de.properties b/src/main/java/org/jhotdraw/samples/net/Labels_de.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/Labels_de.properties
rename to src/main/java/org/jhotdraw/samples/net/Labels_de.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/Main.java b/src/main/java/org/jhotdraw/samples/net/Main.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/Main.java
rename to src/main/java/org/jhotdraw/samples/net/Main.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetApplet.form b/src/main/java/org/jhotdraw/samples/net/NetApplet.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetApplet.form
rename to src/main/java/org/jhotdraw/samples/net/NetApplet.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetApplet.java b/src/main/java/org/jhotdraw/samples/net/NetApplet.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetApplet.java
rename to src/main/java/org/jhotdraw/samples/net/NetApplet.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetApplicationModel.java b/src/main/java/org/jhotdraw/samples/net/NetApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetApplicationModel.java
rename to src/main/java/org/jhotdraw/samples/net/NetApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetFactory.java b/src/main/java/org/jhotdraw/samples/net/NetFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetFactory.java
rename to src/main/java/org/jhotdraw/samples/net/NetFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetPanel.form b/src/main/java/org/jhotdraw/samples/net/NetPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetPanel.form
rename to src/main/java/org/jhotdraw/samples/net/NetPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetPanel.java b/src/main/java/org/jhotdraw/samples/net/NetPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetPanel.java
rename to src/main/java/org/jhotdraw/samples/net/NetPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetView.form b/src/main/java/org/jhotdraw/samples/net/NetView.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetView.form
rename to src/main/java/org/jhotdraw/samples/net/NetView.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetView.java b/src/main/java/org/jhotdraw/samples/net/NetView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/NetView.java
rename to src/main/java/org/jhotdraw/samples/net/NetView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/figures/NodeFigure.java b/src/main/java/org/jhotdraw/samples/net/figures/NodeFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/figures/NodeFigure.java
rename to src/main/java/org/jhotdraw/samples/net/figures/NodeFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/figures/package-info.java b/src/main/java/org/jhotdraw/samples/net/figures/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/figures/package-info.java
rename to src/main/java/org/jhotdraw/samples/net/figures/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/images/createLink.png b/src/main/java/org/jhotdraw/samples/net/images/createLink.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/images/createLink.png
rename to src/main/java/org/jhotdraw/samples/net/images/createLink.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/images/createNode.png b/src/main/java/org/jhotdraw/samples/net/images/createNode.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/images/createNode.png
rename to src/main/java/org/jhotdraw/samples/net/images/createNode.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/net/package-info.java b/src/main/java/org/jhotdraw/samples/net/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/net/package-info.java
rename to src/main/java/org/jhotdraw/samples/net/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/Gradient.java b/src/main/java/org/jhotdraw/samples/odg/Gradient.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/Gradient.java
rename to src/main/java/org/jhotdraw/samples/odg/Gradient.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/Labels.properties b/src/main/java/org/jhotdraw/samples/odg/Labels.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/Labels.properties
rename to src/main/java/org/jhotdraw/samples/odg/Labels.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/Main.java b/src/main/java/org/jhotdraw/samples/odg/Main.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/Main.java
rename to src/main/java/org/jhotdraw/samples/odg/Main.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGApplicationModel.java b/src/main/java/org/jhotdraw/samples/odg/ODGApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGApplicationModel.java
rename to src/main/java/org/jhotdraw/samples/odg/ODGApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGAttributeKeys.java b/src/main/java/org/jhotdraw/samples/odg/ODGAttributeKeys.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGAttributeKeys.java
rename to src/main/java/org/jhotdraw/samples/odg/ODGAttributeKeys.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGConstants.java b/src/main/java/org/jhotdraw/samples/odg/ODGConstants.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGConstants.java
rename to src/main/java/org/jhotdraw/samples/odg/ODGConstants.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGDrawing.java b/src/main/java/org/jhotdraw/samples/odg/ODGDrawing.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGDrawing.java
rename to src/main/java/org/jhotdraw/samples/odg/ODGDrawing.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.form b/src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.form
rename to src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.java b/src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.java
rename to src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanelBeanInfo.java b/src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanelBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanelBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/odg/ODGDrawingPanelBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.form b/src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.form
rename to src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.java b/src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.java
rename to src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanelBeanInfo.java b/src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanelBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanelBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/odg/ODGPropertiesPanelBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGView.form b/src/main/java/org/jhotdraw/samples/odg/ODGView.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGView.form
rename to src/main/java/org/jhotdraw/samples/odg/ODGView.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGView.java b/src/main/java/org/jhotdraw/samples/odg/ODGView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/ODGView.java
rename to src/main/java/org/jhotdraw/samples/odg/ODGView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/PathTool.java b/src/main/java/org/jhotdraw/samples/odg/PathTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/PathTool.java
rename to src/main/java/org/jhotdraw/samples/odg/PathTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/action/CombineAction.java b/src/main/java/org/jhotdraw/samples/odg/action/CombineAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/action/CombineAction.java
rename to src/main/java/org/jhotdraw/samples/odg/action/CombineAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/action/SplitAction.java b/src/main/java/org/jhotdraw/samples/odg/action/SplitAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/action/SplitAction.java
rename to src/main/java/org/jhotdraw/samples/odg/action/SplitAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/action/TogglePropertiesPanelAction.java b/src/main/java/org/jhotdraw/samples/odg/action/TogglePropertiesPanelAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/action/TogglePropertiesPanelAction.java
rename to src/main/java/org/jhotdraw/samples/odg/action/TogglePropertiesPanelAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/action/package-info.java b/src/main/java/org/jhotdraw/samples/odg/action/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/action/package-info.java
rename to src/main/java/org/jhotdraw/samples/odg/action/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGAttributedFigure.java b/src/main/java/org/jhotdraw/samples/odg/figures/ODGAttributedFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGAttributedFigure.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/ODGAttributedFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGBezierFigure.java b/src/main/java/org/jhotdraw/samples/odg/figures/ODGBezierFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGBezierFigure.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/ODGBezierFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGEllipseFigure.java b/src/main/java/org/jhotdraw/samples/odg/figures/ODGEllipseFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGEllipseFigure.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/ODGEllipseFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGFigure.java b/src/main/java/org/jhotdraw/samples/odg/figures/ODGFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGFigure.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/ODGFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGGroupFigure.java b/src/main/java/org/jhotdraw/samples/odg/figures/ODGGroupFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGGroupFigure.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/ODGGroupFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGPathFigure.java b/src/main/java/org/jhotdraw/samples/odg/figures/ODGPathFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGPathFigure.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/ODGPathFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGPathOutlineHandle.java b/src/main/java/org/jhotdraw/samples/odg/figures/ODGPathOutlineHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGPathOutlineHandle.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/ODGPathOutlineHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGRectFigure.java b/src/main/java/org/jhotdraw/samples/odg/figures/ODGRectFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGRectFigure.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/ODGRectFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGRectRadiusHandle.java b/src/main/java/org/jhotdraw/samples/odg/figures/ODGRectRadiusHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/ODGRectRadiusHandle.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/ODGRectRadiusHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/package-info.java b/src/main/java/org/jhotdraw/samples/odg/figures/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/figures/package-info.java
rename to src/main/java/org/jhotdraw/samples/odg/figures/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/geom/EnhancedPath.java b/src/main/java/org/jhotdraw/samples/odg/geom/EnhancedPath.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/geom/EnhancedPath.java
rename to src/main/java/org/jhotdraw/samples/odg/geom/EnhancedPath.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/geom/package-info.java b/src/main/java/org/jhotdraw/samples/odg/geom/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/geom/package-info.java
rename to src/main/java/org/jhotdraw/samples/odg/geom/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/DefaultODGFigureFactory.java b/src/main/java/org/jhotdraw/samples/odg/io/DefaultODGFigureFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/DefaultODGFigureFactory.java
rename to src/main/java/org/jhotdraw/samples/odg/io/DefaultODGFigureFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/ODGFigureFactory.java b/src/main/java/org/jhotdraw/samples/odg/io/ODGFigureFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/ODGFigureFactory.java
rename to src/main/java/org/jhotdraw/samples/odg/io/ODGFigureFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/ODGInputFormat.java b/src/main/java/org/jhotdraw/samples/odg/io/ODGInputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/ODGInputFormat.java
rename to src/main/java/org/jhotdraw/samples/odg/io/ODGInputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/ODGStylesReader.java b/src/main/java/org/jhotdraw/samples/odg/io/ODGStylesReader.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/ODGStylesReader.java
rename to src/main/java/org/jhotdraw/samples/odg/io/ODGStylesReader.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/package-info.java b/src/main/java/org/jhotdraw/samples/odg/io/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/io/package-info.java
rename to src/main/java/org/jhotdraw/samples/odg/io/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/odg/package-info.java b/src/main/java/org/jhotdraw/samples/odg/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/odg/package-info.java
rename to src/main/java/org/jhotdraw/samples/odg/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/Labels.properties b/src/main/java/org/jhotdraw/samples/pert/Labels.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/Labels.properties
rename to src/main/java/org/jhotdraw/samples/pert/Labels.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/Labels_de.properties b/src/main/java/org/jhotdraw/samples/pert/Labels_de.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/Labels_de.properties
rename to src/main/java/org/jhotdraw/samples/pert/Labels_de.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/Main.java b/src/main/java/org/jhotdraw/samples/pert/Main.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/Main.java
rename to src/main/java/org/jhotdraw/samples/pert/Main.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertApplet.form b/src/main/java/org/jhotdraw/samples/pert/PertApplet.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertApplet.form
rename to src/main/java/org/jhotdraw/samples/pert/PertApplet.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertApplet.java b/src/main/java/org/jhotdraw/samples/pert/PertApplet.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertApplet.java
rename to src/main/java/org/jhotdraw/samples/pert/PertApplet.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertApplicationModel.java b/src/main/java/org/jhotdraw/samples/pert/PertApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertApplicationModel.java
rename to src/main/java/org/jhotdraw/samples/pert/PertApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertFactory.java b/src/main/java/org/jhotdraw/samples/pert/PertFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertFactory.java
rename to src/main/java/org/jhotdraw/samples/pert/PertFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertPanel.form b/src/main/java/org/jhotdraw/samples/pert/PertPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertPanel.form
rename to src/main/java/org/jhotdraw/samples/pert/PertPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertPanel.java b/src/main/java/org/jhotdraw/samples/pert/PertPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertPanel.java
rename to src/main/java/org/jhotdraw/samples/pert/PertPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertView.form b/src/main/java/org/jhotdraw/samples/pert/PertView.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertView.form
rename to src/main/java/org/jhotdraw/samples/pert/PertView.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertView.java b/src/main/java/org/jhotdraw/samples/pert/PertView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/PertView.java
rename to src/main/java/org/jhotdraw/samples/pert/PertView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/figures/DependencyFigure.java b/src/main/java/org/jhotdraw/samples/pert/figures/DependencyFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/figures/DependencyFigure.java
rename to src/main/java/org/jhotdraw/samples/pert/figures/DependencyFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/figures/SeparatorLineFigure.java b/src/main/java/org/jhotdraw/samples/pert/figures/SeparatorLineFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/figures/SeparatorLineFigure.java
rename to src/main/java/org/jhotdraw/samples/pert/figures/SeparatorLineFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/figures/TaskFigure.java b/src/main/java/org/jhotdraw/samples/pert/figures/TaskFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/figures/TaskFigure.java
rename to src/main/java/org/jhotdraw/samples/pert/figures/TaskFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/figures/package-info.java b/src/main/java/org/jhotdraw/samples/pert/figures/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/figures/package-info.java
rename to src/main/java/org/jhotdraw/samples/pert/figures/package-info.java
diff --git a/JHotDraw/src/CH/ifa/draw/images/PERT1.gif b/src/main/java/org/jhotdraw/samples/pert/images/PERT1.gif
similarity index 100%
rename from JHotDraw/src/CH/ifa/draw/images/PERT1.gif
rename to src/main/java/org/jhotdraw/samples/pert/images/PERT1.gif
diff --git a/JHotDraw/src/CH/ifa/draw/images/PERT2.gif b/src/main/java/org/jhotdraw/samples/pert/images/PERT2.gif
similarity index 100%
rename from JHotDraw/src/CH/ifa/draw/images/PERT2.gif
rename to src/main/java/org/jhotdraw/samples/pert/images/PERT2.gif
diff --git a/JHotDraw/src/CH/ifa/draw/images/PERT3.gif b/src/main/java/org/jhotdraw/samples/pert/images/PERT3.gif
similarity index 100%
rename from JHotDraw/src/CH/ifa/draw/images/PERT3.gif
rename to src/main/java/org/jhotdraw/samples/pert/images/PERT3.gif
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/createDependency.png b/src/main/java/org/jhotdraw/samples/pert/images/createDependency.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/createDependency.png
rename to src/main/java/org/jhotdraw/samples/pert/images/createDependency.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/createTask.png b/src/main/java/org/jhotdraw/samples/pert/images/createTask.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/images/createTask.png
rename to src/main/java/org/jhotdraw/samples/pert/images/createTask.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/pert/package-info.java b/src/main/java/org/jhotdraw/samples/pert/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/pert/package-info.java
rename to src/main/java/org/jhotdraw/samples/pert/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/Gradient.java b/src/main/java/org/jhotdraw/samples/svg/Gradient.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/Gradient.java
rename to src/main/java/org/jhotdraw/samples/svg/Gradient.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/Labels.properties b/src/main/java/org/jhotdraw/samples/svg/Labels.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/Labels.properties
rename to src/main/java/org/jhotdraw/samples/svg/Labels.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/Labels_de.properties b/src/main/java/org/jhotdraw/samples/svg/Labels_de.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/Labels_de.properties
rename to src/main/java/org/jhotdraw/samples/svg/Labels_de.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/LinearGradient.java b/src/main/java/org/jhotdraw/samples/svg/LinearGradient.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/LinearGradient.java
rename to src/main/java/org/jhotdraw/samples/svg/LinearGradient.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/Main.java b/src/main/java/org/jhotdraw/samples/svg/Main.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/Main.java
rename to src/main/java/org/jhotdraw/samples/svg/Main.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/PathTool.java b/src/main/java/org/jhotdraw/samples/svg/PathTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/PathTool.java
rename to src/main/java/org/jhotdraw/samples/svg/PathTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/RadialGradient.java b/src/main/java/org/jhotdraw/samples/svg/RadialGradient.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/RadialGradient.java
rename to src/main/java/org/jhotdraw/samples/svg/RadialGradient.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGApplet.form b/src/main/java/org/jhotdraw/samples/svg/SVGApplet.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGApplet.form
rename to src/main/java/org/jhotdraw/samples/svg/SVGApplet.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGApplet.java b/src/main/java/org/jhotdraw/samples/svg/SVGApplet.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGApplet.java
rename to src/main/java/org/jhotdraw/samples/svg/SVGApplet.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGApplicationModel.java b/src/main/java/org/jhotdraw/samples/svg/SVGApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGApplicationModel.java
rename to src/main/java/org/jhotdraw/samples/svg/SVGApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGAttributeKeys.java b/src/main/java/org/jhotdraw/samples/svg/SVGAttributeKeys.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGAttributeKeys.java
rename to src/main/java/org/jhotdraw/samples/svg/SVGAttributeKeys.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGConstants.java b/src/main/java/org/jhotdraw/samples/svg/SVGConstants.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGConstants.java
rename to src/main/java/org/jhotdraw/samples/svg/SVGConstants.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGCreateFromFileTool.java b/src/main/java/org/jhotdraw/samples/svg/SVGCreateFromFileTool.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGCreateFromFileTool.java
rename to src/main/java/org/jhotdraw/samples/svg/SVGCreateFromFileTool.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.form b/src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.form
rename to src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.java b/src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.java
rename to src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanelBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanelBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanelBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/SVGDrawingPanelBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGView.form b/src/main/java/org/jhotdraw/samples/svg/SVGView.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGView.form
rename to src/main/java/org/jhotdraw/samples/svg/SVGView.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGView.java b/src/main/java/org/jhotdraw/samples/svg/SVGView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/SVGView.java
rename to src/main/java/org/jhotdraw/samples/svg/SVGView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/CombineAction.java b/src/main/java/org/jhotdraw/samples/svg/action/CombineAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/CombineAction.java
rename to src/main/java/org/jhotdraw/samples/svg/action/CombineAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/SplitAction.java b/src/main/java/org/jhotdraw/samples/svg/action/SplitAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/SplitAction.java
rename to src/main/java/org/jhotdraw/samples/svg/action/SplitAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/ViewSourceAction.java b/src/main/java/org/jhotdraw/samples/svg/action/ViewSourceAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/ViewSourceAction.java
rename to src/main/java/org/jhotdraw/samples/svg/action/ViewSourceAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/actions.png b/src/main/java/org/jhotdraw/samples/svg/action/images/actions.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/actions.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/actions.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignEast.png b/src/main/java/org/jhotdraw/samples/svg/action/images/alignEast.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignEast.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/alignEast.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignGrid.png b/src/main/java/org/jhotdraw/samples/svg/action/images/alignGrid.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignGrid.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/alignGrid.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignHorizontal.png b/src/main/java/org/jhotdraw/samples/svg/action/images/alignHorizontal.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignHorizontal.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/alignHorizontal.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignNorth.png b/src/main/java/org/jhotdraw/samples/svg/action/images/alignNorth.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignNorth.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/alignNorth.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignSouth.png b/src/main/java/org/jhotdraw/samples/svg/action/images/alignSouth.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignSouth.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/alignSouth.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignVertical.png b/src/main/java/org/jhotdraw/samples/svg/action/images/alignVertical.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignVertical.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/alignVertical.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignWest.png b/src/main/java/org/jhotdraw/samples/svg/action/images/alignWest.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/alignWest.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/alignWest.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.colorChooser.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.colorChooser.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.colorChooser.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.colorChooser.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.noColor.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.noColor.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.noColor.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attribute.color.noColor.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFillColor.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFillColor.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFillColor.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeFillColor.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFont.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFont.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFont.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeFont.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontBold.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontBold.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontBold.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontBold.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontItalic.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontItalic.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontItalic.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontItalic.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontSize.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontSize.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontSize.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontSize.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontUnderline.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontUnderline.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontUnderline.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeFontUnderline.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeOpacity.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeOpacity.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeOpacity.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeOpacity.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeCap.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeCap.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeCap.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeCap.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeColor.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeColor.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeColor.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeColor.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDashes.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDashes.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDashes.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDashes.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDecoration.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDecoration.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDecoration.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeDecoration.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeJoin.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeJoin.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeJoin.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeJoin.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeWidth.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeWidth.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeWidth.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributeStrokeWidth.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributesApply.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributesApply.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributesApply.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributesApply.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributesPick.png b/src/main/java/org/jhotdraw/samples/svg/action/images/attributesPick.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/attributesPick.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/attributesPick.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createArrow.png b/src/main/java/org/jhotdraw/samples/svg/action/images/createArrow.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createArrow.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/createArrow.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createEllipse.png b/src/main/java/org/jhotdraw/samples/svg/action/images/createEllipse.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createEllipse.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/createEllipse.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createImage.png b/src/main/java/org/jhotdraw/samples/svg/action/images/createImage.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createImage.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/createImage.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createLine.png b/src/main/java/org/jhotdraw/samples/svg/action/images/createLine.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createLine.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/createLine.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createPolygon.png b/src/main/java/org/jhotdraw/samples/svg/action/images/createPolygon.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createPolygon.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/createPolygon.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createRectangle.png b/src/main/java/org/jhotdraw/samples/svg/action/images/createRectangle.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createRectangle.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/createRectangle.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createScribble.png b/src/main/java/org/jhotdraw/samples/svg/action/images/createScribble.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createScribble.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/createScribble.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createText.png b/src/main/java/org/jhotdraw/samples/svg/action/images/createText.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createText.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/createText.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createTextArea.png b/src/main/java/org/jhotdraw/samples/svg/action/images/createTextArea.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/createTextArea.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/createTextArea.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/editRedo.png b/src/main/java/org/jhotdraw/samples/svg/action/images/editRedo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/editRedo.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/editRedo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/editUndo.png b/src/main/java/org/jhotdraw/samples/svg/action/images/editUndo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/editUndo.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/editUndo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/moveDown.png b/src/main/java/org/jhotdraw/samples/svg/action/images/moveDown.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/moveDown.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/moveDown.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/moveToBack.png b/src/main/java/org/jhotdraw/samples/svg/action/images/moveToBack.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/moveToBack.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/moveToBack.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/moveToFront.png b/src/main/java/org/jhotdraw/samples/svg/action/images/moveToFront.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/moveToFront.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/moveToFront.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/moveUp.png b/src/main/java/org/jhotdraw/samples/svg/action/images/moveUp.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/moveUp.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/moveUp.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/selectionTool.png b/src/main/java/org/jhotdraw/samples/svg/action/images/selectionTool.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/images/selectionTool.png
rename to src/main/java/org/jhotdraw/samples/svg/action/images/selectionTool.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/package-info.java b/src/main/java/org/jhotdraw/samples/svg/action/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/action/package-info.java
rename to src/main/java/org/jhotdraw/samples/svg/action/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/ConvexHullOutlineHandle.java b/src/main/java/org/jhotdraw/samples/svg/figures/ConvexHullOutlineHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/ConvexHullOutlineHandle.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/ConvexHullOutlineHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/LinkHandle.java b/src/main/java/org/jhotdraw/samples/svg/figures/LinkHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/LinkHandle.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/LinkHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGAttributedFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGAttributedFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGAttributedFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGAttributedFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGBezierFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGBezierFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGBezierFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGBezierFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGEllipseFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGEllipseFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGEllipseFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGEllipseFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGGroupFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGGroupFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGGroupFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGGroupFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGImageFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGImageFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGImageFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGImageFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGPathFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGPathFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGPathFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGPathFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGPathOutlineHandle.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGPathOutlineHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGPathOutlineHandle.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGPathOutlineHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGRectFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGRectFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGRectFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGRectFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGRectRadiusHandle.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGRectRadiusHandle.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGRectRadiusHandle.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGRectRadiusHandle.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGTextAreaFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGTextAreaFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGTextAreaFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGTextAreaFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGTextFigure.java b/src/main/java/org/jhotdraw/samples/svg/figures/SVGTextFigure.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/SVGTextFigure.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/SVGTextFigure.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/package-info.java b/src/main/java/org/jhotdraw/samples/svg/figures/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/figures/package-info.java
rename to src/main/java/org/jhotdraw/samples/svg/figures/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/AbstractToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ActionsToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/AlignToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ArrangeToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/CanvasToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/DrawingComponent.java b/src/main/java/org/jhotdraw/samples/svg/gui/DrawingComponent.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/DrawingComponent.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/DrawingComponent.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/DrawingOpacityIcon.java b/src/main/java/org/jhotdraw/samples/svg/gui/DrawingOpacityIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/DrawingOpacityIcon.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/DrawingOpacityIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/FigureToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/FillToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FillToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/FillToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FillToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/FillToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/FontToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FontToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/FontToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/FontToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/FontToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/LinkToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.form b/src/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.java b/src/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/MessagePanel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.form b/src/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.java b/src/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ProgressIndicator.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/SelectionOpacityIcon.java b/src/main/java/org/jhotdraw/samples/svg/gui/SelectionOpacityIcon.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/SelectionOpacityIcon.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/SelectionOpacityIcon.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ServerAuthenticationException.java b/src/main/java/org/jhotdraw/samples/svg/gui/ServerAuthenticationException.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ServerAuthenticationException.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ServerAuthenticationException.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/StrokeToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/SummaryToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ToolsToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.form b/src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.form
rename to src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.java b/src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBar.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBarBeanInfo.java b/src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBarBeanInfo.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBarBeanInfo.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/ViewToolBarBeanInfo.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/package-info.java b/src/main/java/org/jhotdraw/samples/svg/gui/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/gui/package-info.java
rename to src/main/java/org/jhotdraw/samples/svg/gui/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/DefaultSVGFigureFactory.java b/src/main/java/org/jhotdraw/samples/svg/io/DefaultSVGFigureFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/DefaultSVGFigureFactory.java
rename to src/main/java/org/jhotdraw/samples/svg/io/DefaultSVGFigureFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/ImageMapOutputFormat.java b/src/main/java/org/jhotdraw/samples/svg/io/ImageMapOutputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/ImageMapOutputFormat.java
rename to src/main/java/org/jhotdraw/samples/svg/io/ImageMapOutputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGElementFactory.java b/src/main/java/org/jhotdraw/samples/svg/io/SVGElementFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGElementFactory.java
rename to src/main/java/org/jhotdraw/samples/svg/io/SVGElementFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGFigureFactory.java b/src/main/java/org/jhotdraw/samples/svg/io/SVGFigureFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGFigureFactory.java
rename to src/main/java/org/jhotdraw/samples/svg/io/SVGFigureFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGInputFormat.java b/src/main/java/org/jhotdraw/samples/svg/io/SVGInputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGInputFormat.java
rename to src/main/java/org/jhotdraw/samples/svg/io/SVGInputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGOutputFormat.java b/src/main/java/org/jhotdraw/samples/svg/io/SVGOutputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGOutputFormat.java
rename to src/main/java/org/jhotdraw/samples/svg/io/SVGOutputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGZInputFormat.java b/src/main/java/org/jhotdraw/samples/svg/io/SVGZInputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGZInputFormat.java
rename to src/main/java/org/jhotdraw/samples/svg/io/SVGZInputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGZOutputFormat.java b/src/main/java/org/jhotdraw/samples/svg/io/SVGZOutputFormat.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/SVGZOutputFormat.java
rename to src/main/java/org/jhotdraw/samples/svg/io/SVGZOutputFormat.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/package-info.java b/src/main/java/org/jhotdraw/samples/svg/io/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/io/package-info.java
rename to src/main/java/org/jhotdraw/samples/svg/io/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/svg/package-info.java b/src/main/java/org/jhotdraw/samples/svg/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/svg/package-info.java
rename to src/main/java/org/jhotdraw/samples/svg/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.form b/src/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.form
rename to src/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.java b/src/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.java
rename to src/main/java/org/jhotdraw/samples/teddy/CharacterSetAccessory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/FindDialog.form b/src/main/java/org/jhotdraw/samples/teddy/FindDialog.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/FindDialog.form
rename to src/main/java/org/jhotdraw/samples/teddy/FindDialog.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/FindDialog.java b/src/main/java/org/jhotdraw/samples/teddy/FindDialog.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/FindDialog.java
rename to src/main/java/org/jhotdraw/samples/teddy/FindDialog.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/JEditorArea.form b/src/main/java/org/jhotdraw/samples/teddy/JEditorArea.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/JEditorArea.form
rename to src/main/java/org/jhotdraw/samples/teddy/JEditorArea.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/JEditorArea.java b/src/main/java/org/jhotdraw/samples/teddy/JEditorArea.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/JEditorArea.java
rename to src/main/java/org/jhotdraw/samples/teddy/JEditorArea.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/Labels.properties b/src/main/java/org/jhotdraw/samples/teddy/Labels.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/Labels.properties
rename to src/main/java/org/jhotdraw/samples/teddy/Labels.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/Labels_de.properties b/src/main/java/org/jhotdraw/samples/teddy/Labels_de.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/Labels_de.properties
rename to src/main/java/org/jhotdraw/samples/teddy/Labels_de.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/Main.java b/src/main/java/org/jhotdraw/samples/teddy/Main.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/Main.java
rename to src/main/java/org/jhotdraw/samples/teddy/Main.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/TeddyApplicationModel.java b/src/main/java/org/jhotdraw/samples/teddy/TeddyApplicationModel.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/TeddyApplicationModel.java
rename to src/main/java/org/jhotdraw/samples/teddy/TeddyApplicationModel.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/TeddyView.form b/src/main/java/org/jhotdraw/samples/teddy/TeddyView.form
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/TeddyView.form
rename to src/main/java/org/jhotdraw/samples/teddy/TeddyView.form
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/TeddyView.java b/src/main/java/org/jhotdraw/samples/teddy/TeddyView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/TeddyView.java
rename to src/main/java/org/jhotdraw/samples/teddy/TeddyView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/FindAction.java b/src/main/java/org/jhotdraw/samples/teddy/action/FindAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/FindAction.java
rename to src/main/java/org/jhotdraw/samples/teddy/action/FindAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/ToggleLineNumbersAction.java b/src/main/java/org/jhotdraw/samples/teddy/action/ToggleLineNumbersAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/ToggleLineNumbersAction.java
rename to src/main/java/org/jhotdraw/samples/teddy/action/ToggleLineNumbersAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/ToggleLineWrapAction.java b/src/main/java/org/jhotdraw/samples/teddy/action/ToggleLineWrapAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/ToggleLineWrapAction.java
rename to src/main/java/org/jhotdraw/samples/teddy/action/ToggleLineWrapAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/ToggleStatusBarAction.java b/src/main/java/org/jhotdraw/samples/teddy/action/ToggleStatusBarAction.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/ToggleStatusBarAction.java
rename to src/main/java/org/jhotdraw/samples/teddy/action/ToggleStatusBarAction.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/package-info.java b/src/main/java/org/jhotdraw/samples/teddy/action/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/action/package-info.java
rename to src/main/java/org/jhotdraw/samples/teddy/action/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/io/LFWriter.java b/src/main/java/org/jhotdraw/samples/teddy/io/LFWriter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/io/LFWriter.java
rename to src/main/java/org/jhotdraw/samples/teddy/io/LFWriter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/io/package-info.java b/src/main/java/org/jhotdraw/samples/teddy/io/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/io/package-info.java
rename to src/main/java/org/jhotdraw/samples/teddy/io/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/package-info.java b/src/main/java/org/jhotdraw/samples/teddy/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/package-info.java
rename to src/main/java/org/jhotdraw/samples/teddy/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/regex/MatchType.java b/src/main/java/org/jhotdraw/samples/teddy/regex/MatchType.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/regex/MatchType.java
rename to src/main/java/org/jhotdraw/samples/teddy/regex/MatchType.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/regex/Matcher.java b/src/main/java/org/jhotdraw/samples/teddy/regex/Matcher.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/regex/Matcher.java
rename to src/main/java/org/jhotdraw/samples/teddy/regex/Matcher.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/regex/package-info.java b/src/main/java/org/jhotdraw/samples/teddy/regex/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/regex/package-info.java
rename to src/main/java/org/jhotdraw/samples/teddy/regex/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/text/NumberedEditorKit.java b/src/main/java/org/jhotdraw/samples/teddy/text/NumberedEditorKit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/text/NumberedEditorKit.java
rename to src/main/java/org/jhotdraw/samples/teddy/text/NumberedEditorKit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/text/NumberedParagraphView.java b/src/main/java/org/jhotdraw/samples/teddy/text/NumberedParagraphView.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/text/NumberedParagraphView.java
rename to src/main/java/org/jhotdraw/samples/teddy/text/NumberedParagraphView.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/text/NumberedViewFactory.java b/src/main/java/org/jhotdraw/samples/teddy/text/NumberedViewFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/text/NumberedViewFactory.java
rename to src/main/java/org/jhotdraw/samples/teddy/text/NumberedViewFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/text/package-info.java b/src/main/java/org/jhotdraw/samples/teddy/text/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/samples/teddy/text/package-info.java
rename to src/main/java/org/jhotdraw/samples/teddy/text/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/text/ColorFormatter.java b/src/main/java/org/jhotdraw/text/ColorFormatter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/text/ColorFormatter.java
rename to src/main/java/org/jhotdraw/text/ColorFormatter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/text/ColorToolTipTextFormatter.java b/src/main/java/org/jhotdraw/text/ColorToolTipTextFormatter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/text/ColorToolTipTextFormatter.java
rename to src/main/java/org/jhotdraw/text/ColorToolTipTextFormatter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/text/FontFormatter.java b/src/main/java/org/jhotdraw/text/FontFormatter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/text/FontFormatter.java
rename to src/main/java/org/jhotdraw/text/FontFormatter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/text/JavaNumberFormatter.java b/src/main/java/org/jhotdraw/text/JavaNumberFormatter.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/text/JavaNumberFormatter.java
rename to src/main/java/org/jhotdraw/text/JavaNumberFormatter.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/text/package-info.java b/src/main/java/org/jhotdraw/text/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/text/package-info.java
rename to src/main/java/org/jhotdraw/text/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/undo/CompositeEdit.java b/src/main/java/org/jhotdraw/undo/CompositeEdit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/undo/CompositeEdit.java
rename to src/main/java/org/jhotdraw/undo/CompositeEdit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/undo/Labels.properties b/src/main/java/org/jhotdraw/undo/Labels.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/undo/Labels.properties
rename to src/main/java/org/jhotdraw/undo/Labels.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/undo/Labels_de.properties b/src/main/java/org/jhotdraw/undo/Labels_de.properties
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/undo/Labels_de.properties
rename to src/main/java/org/jhotdraw/undo/Labels_de.properties
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/undo/NonUndoableEdit.java b/src/main/java/org/jhotdraw/undo/NonUndoableEdit.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/undo/NonUndoableEdit.java
rename to src/main/java/org/jhotdraw/undo/NonUndoableEdit.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/undo/UndoRedoManager.java b/src/main/java/org/jhotdraw/undo/UndoRedoManager.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/undo/UndoRedoManager.java
rename to src/main/java/org/jhotdraw/undo/UndoRedoManager.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/undo/images/editRedo.png b/src/main/java/org/jhotdraw/undo/images/editRedo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/undo/images/editRedo.png
rename to src/main/java/org/jhotdraw/undo/images/editRedo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/undo/images/editUndo.png b/src/main/java/org/jhotdraw/undo/images/editUndo.png
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/undo/images/editUndo.png
rename to src/main/java/org/jhotdraw/undo/images/editUndo.png
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/undo/package-info.java b/src/main/java/org/jhotdraw/undo/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/undo/package-info.java
rename to src/main/java/org/jhotdraw/undo/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/util/Images.java b/src/main/java/org/jhotdraw/util/Images.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/util/Images.java
rename to src/main/java/org/jhotdraw/util/Images.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/util/LocaleUtil.java b/src/main/java/org/jhotdraw/util/LocaleUtil.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/util/LocaleUtil.java
rename to src/main/java/org/jhotdraw/util/LocaleUtil.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/util/Methods.java b/src/main/java/org/jhotdraw/util/Methods.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/util/Methods.java
rename to src/main/java/org/jhotdraw/util/Methods.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/util/ResourceBundleUtil.java b/src/main/java/org/jhotdraw/util/ResourceBundleUtil.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/util/ResourceBundleUtil.java
rename to src/main/java/org/jhotdraw/util/ResourceBundleUtil.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/util/ReversedList.java b/src/main/java/org/jhotdraw/util/ReversedList.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/util/ReversedList.java
rename to src/main/java/org/jhotdraw/util/ReversedList.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/util/package-info.java b/src/main/java/org/jhotdraw/util/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/util/package-info.java
rename to src/main/java/org/jhotdraw/util/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/util/prefs/PreferencesUtil.java b/src/main/java/org/jhotdraw/util/prefs/PreferencesUtil.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/util/prefs/PreferencesUtil.java
rename to src/main/java/org/jhotdraw/util/prefs/PreferencesUtil.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/util/prefs/ToolBarPrefsHandler.java b/src/main/java/org/jhotdraw/util/prefs/ToolBarPrefsHandler.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/util/prefs/ToolBarPrefsHandler.java
rename to src/main/java/org/jhotdraw/util/prefs/ToolBarPrefsHandler.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/util/prefs/package-info.java b/src/main/java/org/jhotdraw/util/prefs/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/util/prefs/package-info.java
rename to src/main/java/org/jhotdraw/util/prefs/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/DOMFactory.java b/src/main/java/org/jhotdraw/xml/DOMFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/DOMFactory.java
rename to src/main/java/org/jhotdraw/xml/DOMFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/DOMInput.java b/src/main/java/org/jhotdraw/xml/DOMInput.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/DOMInput.java
rename to src/main/java/org/jhotdraw/xml/DOMInput.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/DOMOutput.java b/src/main/java/org/jhotdraw/xml/DOMOutput.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/DOMOutput.java
rename to src/main/java/org/jhotdraw/xml/DOMOutput.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/DOMStorable.java b/src/main/java/org/jhotdraw/xml/DOMStorable.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/DOMStorable.java
rename to src/main/java/org/jhotdraw/xml/DOMStorable.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/DefaultDOMFactory.java b/src/main/java/org/jhotdraw/xml/DefaultDOMFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/DefaultDOMFactory.java
rename to src/main/java/org/jhotdraw/xml/DefaultDOMFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/JavaPrimitivesDOMFactory.java b/src/main/java/org/jhotdraw/xml/JavaPrimitivesDOMFactory.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/JavaPrimitivesDOMFactory.java
rename to src/main/java/org/jhotdraw/xml/JavaPrimitivesDOMFactory.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/JavaxDOMInput.java b/src/main/java/org/jhotdraw/xml/JavaxDOMInput.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/JavaxDOMInput.java
rename to src/main/java/org/jhotdraw/xml/JavaxDOMInput.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/JavaxDOMOutput.java b/src/main/java/org/jhotdraw/xml/JavaxDOMOutput.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/JavaxDOMOutput.java
rename to src/main/java/org/jhotdraw/xml/JavaxDOMOutput.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/NanoXMLDOMInput.java b/src/main/java/org/jhotdraw/xml/NanoXMLDOMInput.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/NanoXMLDOMInput.java
rename to src/main/java/org/jhotdraw/xml/NanoXMLDOMInput.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/NanoXMLDOMOutput.java b/src/main/java/org/jhotdraw/xml/NanoXMLDOMOutput.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/NanoXMLDOMOutput.java
rename to src/main/java/org/jhotdraw/xml/NanoXMLDOMOutput.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/XMLTransferable.java b/src/main/java/org/jhotdraw/xml/XMLTransferable.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/XMLTransferable.java
rename to src/main/java/org/jhotdraw/xml/XMLTransferable.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/css/CSSParser.java b/src/main/java/org/jhotdraw/xml/css/CSSParser.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/css/CSSParser.java
rename to src/main/java/org/jhotdraw/xml/css/CSSParser.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/css/CSSRule.java b/src/main/java/org/jhotdraw/xml/css/CSSRule.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/css/CSSRule.java
rename to src/main/java/org/jhotdraw/xml/css/CSSRule.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/css/StyleManager.java b/src/main/java/org/jhotdraw/xml/css/StyleManager.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/css/StyleManager.java
rename to src/main/java/org/jhotdraw/xml/css/StyleManager.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/css/package-info.java b/src/main/java/org/jhotdraw/xml/css/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/css/package-info.java
rename to src/main/java/org/jhotdraw/xml/css/package-info.java
diff --git a/jhotdraw7/src/main/java/org/jhotdraw/xml/package-info.java b/src/main/java/org/jhotdraw/xml/package-info.java
similarity index 100%
rename from jhotdraw7/src/main/java/org/jhotdraw/xml/package-info.java
rename to src/main/java/org/jhotdraw/xml/package-info.java
diff --git a/jhotdraw7/src/main/resources/JHotDrawIcons.png b/src/main/resources/JHotDrawIcons.png
similarity index 100%
rename from jhotdraw7/src/main/resources/JHotDrawIcons.png
rename to src/main/resources/JHotDrawIcons.png
diff --git a/jhotdraw7/src/main/resources/sRGBmatrix.m b/src/main/resources/sRGBmatrix.m
similarity index 100%
rename from jhotdraw7/src/main/resources/sRGBmatrix.m
rename to src/main/resources/sRGBmatrix.m
diff --git a/jhotdraw7/src/main/resources/xyToRGBmatrix.m b/src/main/resources/xyToRGBmatrix.m
similarity index 100%
rename from jhotdraw7/src/main/resources/xyToRGBmatrix.m
rename to src/main/resources/xyToRGBmatrix.m
diff --git a/jhotdraw7/src/test/java/org/jhotdraw/geom/BezierPathTest.java b/src/test/java/org/jhotdraw/geom/BezierPathTest.java
similarity index 100%
rename from jhotdraw7/src/test/java/org/jhotdraw/geom/BezierPathTest.java
rename to src/test/java/org/jhotdraw/geom/BezierPathTest.java
-- 
GitLab