### Pattern 1
- Supp: 5
- Count: 6
- Size: 35
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter +1 Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: In all classes \*Figure, we must have :
	- A `drawFill`
	- A `getBounds`
	- A `setBounds`
	- A `transform`
	- A `clone` (with the call to super.clone and the call on clone then return)
- Correspondence: 1
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 2
- Supp: 6
- Count: 6
- Size: 29
- Root: TypeDeclaration
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 0
- Comment: Use of read and write methods + use in write of paramter out
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractDrawing.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ArrowTip.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierLabelLocator.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LocatorConnector.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 3
- Supp: 5
- Count: 8
- Size: 24
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 0
- Comment: Method setColor and fillRect used
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ColorSliderUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DisclosureIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageOutputFormat.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteButtonBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarUI.java

### Pattern 4
- Supp: 5
- Count: 10
- Size: 31
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 0
- Comment: figure.willChange();
figure. ... ;
figure.changed();
Paired method but less complete
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeToggler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorChooserHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextInputFormat.java

### Pattern 5
- Supp: 5
- Count: 5
- Size: 21
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 0
- Comment: if statement with condition getEditor().getTool().supportsHandleInteraction()
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BoundsOutlineHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 6
- Supp: 8
- Count: 14
- Size: 47
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 0
- Comment: use of getEditor().getHandleAttribute() in parameter of draw shape drawDiamond, drawRectangle, drawCircle, ...
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractConnectionHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextOverflowHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 7
- Supp: 5
- Count: 5
- Size: 29
- Root: TypeDeclaration
- Tag: Method structure
- Utility: Recommended code structure
- Relevance: 0
- Comment: In `propertyChange(PropertyChange evt)` functions, there is often a call `String name = evt.getPropertyName();`
- Correspondence: 12
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributeEditorHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingComponentRepainter.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MDIApplication.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteColorChooserUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFontChooserUI.java

### Pattern 8
- Supp: 6
- Count: 6
- Size: 21
- Root: Block
- Tag: 
- Utility: 
- Relevance: 0
- Comment: 
- Correspondence: 10
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CreationTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GroupAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageInputFormat.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextInputFormat.java

### Pattern 9
- Supp: 6
- Count: 7
- Size: 23
- Root: Block
- Tag: Method structure (paired method calls) +1 Delegating method
- Utility: Usage protocol
- Relevance: 1
- Comment: ```java
public void undo() {// Might throw CannotUndoException
    super.undo();
    ....willChange();
    // Do something
    ....changed();
}
```
- Correspondence: 17
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeKey.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorChooserHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LineFigure.java

### Pattern 10
- Supp: 5
- Count: 5
- Size: 40
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (throw) +1 Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: For \* Figure classes, there often is functions :

	- `read`, throwing `IOExpressions` making a call to `super.read`
	- `write` throwing `IOExpressions` making a call to `super.write`

- Correspondence: 19
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributedDecoratedFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GraphicalCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LocatorConnector.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 11
- Supp: 5
- Count: 7
- Size: 30
- Root: Block
- Tag: Other (method call)
- Utility: Not interesting
- Relevance: -1
- Comment: LOTS of calls to method `put`. Not interesting
- Correspondence: 20
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ButtonFactory.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultApplicationModel.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultDrawingEditor.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MDIApplication.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarUI.java

### Pattern 12
- Supp: 5
- Count: 11
- Size: 22
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 0
- Comment: less complete than other patterns
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ApplyAttributesAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GroupAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveConstrainedAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectSameAction.java

### Pattern 13
- Supp: 5
- Count: 7
- Size: 21
- Root: Block
- Tag: Constructor (body) +1 Delegating method
- Utility: Recommended code structure
- Relevance: 0
- Comment: In classes \*Action, the constructor looks like : 
```java
super(editor);
this. ...;
...
putValue(..., ...);
putValue(..., ...);
...
```
- Correspondence: 22
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EditorColorChooserAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ZoomEditorAction.java

### Pattern 14
- Supp: 5
- Count: 6
- Size: 27
- Root: Block
- Tag : Variable declaration (name and typical call)
- Utility : Recommended code structure
- Relevance: 0
- Comment: Function `viewToDrawing` returns a `Point2D.Double` (often named "p")
- Correspondence: 24
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractConnectionHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultHandleTracker.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DelegationSelectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 15
- Supp: 5
- Count: 6
- Size: 35
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter +1 Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: ? Same as #1 ?
	In all classes \*Figure, we must have :
	- A `drawFill`
	- A `getBounds`
	- A `setBounds`
	- A `transform`
	- A `clone` (with the call to super.clone and the call on clone then return)
- Correspondence: 27
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 16
- Supp: 5
- Count: 16
- Size: 110
- Root: TypeDeclaration
- Tag: Method structure (Partial copy/paste)
- Utility: Recommended code structure
- Relevance: 0
- Comment: In function `keyPressed(KeyEvent evt)`, we have :
```java
switch (evt.getKeyCode()) {
    case KeyEvent.VK_UP:
        ...
        evt.consume();
        break;
    case KeyEvent.VK_DOWN:
        ...
        evt.consume();
        break;
    case KeyEvent.VK_LEFT:
        ...
        evt.consume();
        break;
    case KeyEvent.VK_RIGHT:
        ....
        evt.consume();
        break;
}
```
- Correspondence: 56 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 17
- Supp: 5
- Count: 9
- Size: 21
- Root: Block
- Tag: Variable declaration
- Utility: Not interesting
- Relevance: -1
- Comment: A `DrawingEditor` object is often passed to constructor, then used as follows : `this.editor = editor;`
- Correspondence: 27
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeToggler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ButtonFactory.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingComponentRepainter.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorIcon.java

### Pattern 18
- Supp: 5
- Count: 5
- Size: 62
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: 
Often, \*Figure classes have set of functions :

	- `contains`
	- `getDrawingArea`using a Rectangle2D.Double called "r" that is returned
	- `clone` with call to `super.clone()` and returning variable `that`. 

- Correspondence: 4 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributedDecoratedFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 19
- Supp: 5
- Count: 5
- Size: 24
- Root: Block
- Tag: Method structure (return value)
- Utility: Recommended code structure
- Relevance: 0
- Comment: Function `contains(Point2D/Double p)` in classes \*Figure use a variable grow (`AttributeKeys.getPerpendicularHitGrowth(this);`) and return `... .contains(p)`
- Correspondence: 31
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 20
- Supp: 5
- Count: 6
- Size: 32
- Root: TypeDeclaration
- Tag : Paired method definition +1 Getter/setter
- Utility : Recommended code structure
- Relevance: 1
- Comment: In all classes \*Figure, we must have :

 A `drawStroke`
 A `getBounds`
 A `setBounds`
 A `transform`
 A `restoreTransformTo`
 A `getTransformRestoreData`

- Correspondence: 36 
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 21
- Supp: 5
- Count: 7
- Size: 31
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment: instantiation of rectangle
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractLineDecoration.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\HorizontalLayouter.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\VerticalLayouter.java

### Pattern 22
- Supp: 5
- Count: 5
- Size: 24
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 0
- Comment: Method setColor and drawRect used
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ColorSliderUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DisclosureIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteButtonBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarUI.java

### Pattern 23
- Supp: 5
- Count: 5
- Size: 35
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter +1 delegating method
- Utility: Recommended code structure 
- Relevance: 1
- Comment: In all classes \*Figure, we must have :

- A `drawStroke`
- A `contains`
- A `setBounds`
- A `transform`
- A `clone` (with the call to super.clone and the call on clone then return)

? No restaureTransformTO, getTransformRestaureData ?
- Correspondence: 38 
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 24
- Supp: 5
- Count: 6
- Size: 20
- Root: Block
- Tag: Method structure +1 Getter/setter
- Utility: Recommended code structure
- Relevance: 0
- Comment: In `set` functions, there is often a `boolean oldValue` and you need to `firePropertyChange`
- Correspondence: 39  
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractApplicationAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractView.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultDrawingEditor.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\JAttributeSlider.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\JSheet.java

### Pattern 25
- Supp: 5
- Count: 5
- Size: 32
- Root: Block
- Tag: For loop
- Utility: Java coding practice
- Relevance: 0
- Comment: for loop of type :
```java
for (Map.Entry<AttributeKey, Object> entry : ... .entrySet()) {
    ... .set(... .getKey(), ... .getValue());
}
```
- Correspondence: 53
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributeEditorHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CreationTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultDrawingEditor.java

### Pattern 26
- Supp: 5
- Count: 5
- Size: 30
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: Class \*Figure have :
	- `contains` delegating
	- `clone` with call to `super.clone()` and returning variable `that`.
- Correspondence: 40 
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 27
- Supp: 5
- Count: 6
- Size: 62
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter
- Utility: Recommended code structure
- Relevance: 1
- Comment: In all classes \*Figure, we must have :
	- A `getBounds`
	- A `getDrawingArea` that uses a Rectangle2D called "r" and returns it
	- A `setBounds`
	- A `transform`
	- A `restoreTransformTo`
	- A `getTransformRestoreData` that performs a `clone`
- Correspondence: 32
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GraphicalCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 28
- Supp: 5
- Count: 15
- Size: 22
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment: Creation rectangle variable and usage of it
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BoundsOutlineHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CreationTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultHandleTracker.java

### Pattern 29
- Supp: 5
- Count: 5
- Size: 29
- Root: TypeDeclaration
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment: Creation variable in propertyChange method
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributeEditorHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingComponentRepainter.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MDIApplication.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFontChooserUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarUI.java

### Pattern 30
- Supp: 5
- Count: 29
- Size: 36
- Root: Block
- Tag: Method structure (return value) +1 Getter/setter
- Utility: Recommended code structure
- Relevance: 0
- Comment: function `setBounds` is often called like so :
```java
setBounds(
    new Point2D.Double(..., ...),
    new Point2D.Double(..., ...));
```
- Correspondence: 46
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageInputFormat.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LocatorLayouter.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextInputFormat.java

### Pattern 31
- Supp: 5
- Count: 5
- Size: 36
- Root: TypeDeclaration
- Tag: Method structure (return value)
- Utility: Recommended code structure
- Relevance: 0
- Comment: In \*Figure classes, functions `createHandles` create a `LikedList<Handle>` and return it after filling it
- Correspondence: 49
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GraphicalCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LineFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 32
- Supp: 6
- Count: 7
- Size: 23
- Root: Block
- Tag: Method structure (paired method calls) +1 Delegating method
- Utility: Usage protocol
- Relevance: 1
- Comment: ```java
public void redo() { // Might throw CannotRedoException
    super.redo();
    ....willChange();
    // Do something
    ....changed();
}

```
- Correspondence: 50
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeKey.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorChooserHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LineFigure.java

### Pattern 33
- Supp: 5
- Count: 7
- Size: 30
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter +1 delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: Classes \*Figure often have the following methods :

	- `transform`
	- `restoreTransformTo`
	- `getTranformRestoreData`
	- `clone` with call to `super.clone()` and returning variable `that`.

- Correspondence: 54
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 34
- Supp: 5
- Count: 6
- Size: 36
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment: creation Graphics2D g var and usage of it
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageOutputFormat.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\Images.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteButtonBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFormattedTextFieldUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\StrokeIcon.java

### Pattern 35
- Supp: 5
- Count: 6
- Size: 40
- Root: Block
- Tag: Method structure (Partial copy/paste)
- Utility: Recommended code structure
- Relevance: 0
- Comment: ```java
ResourceBundleUtil labels = ResourceBundleUtil.getBundle("org.jhotdraw.draw.Labels");
return labels.getString(...);
```
- Correspondence: 44 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformEdit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 36
- Supp: 5
- Count: 5
- Size: 42
- Root: Block
- Tag: ProgramingConvention
- Utility: Recom. structure
- Relevance: 0
- Comment: Creation of a linked list and usage of addAll method on it
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DOMStorableInputOutputFormat.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GroupAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageInputFormat.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextInputFormat.java

### Pattern 37
- Supp: 5
- Count: 10
- Size: 22
- Root: TypeDeclaration
- Tag : Paired method definition
- Utility : Recommended code structure
- Relevance: 1
- Comment: Classes \*Handle(\*) have :
	- A method `draw`
	- A method `trackStart`
	- A method `trackStep`(that uses a Point2D.Double)
	- A method `trackEnd`
- Correspondence: 60
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractConnectionHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BoundsOutlineHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DragHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextOverflowHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 38
- Supp: 5
- Count: 5
- Size: 35
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/Setter +1 delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: In classes \*Figure, we have :
	- A `contains`
	- A `getBounds`
	- A `SetBoubds`
	- A `transform`
	- A `clone` (with the call to super.clone and the call on clone then return)
- Correspondence: 61
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 39
- Supp: 6
- Count: 6
- Size: 21
- Root: TypeDeclaration
- Tag: Other ()
- Utility: Recommended code structure
- Relevance: 0
- Comment: In classes \*Figure, we have :
	- A `contains` delegating to another contains
- Correspondence:62
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LocatorConnector.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 40
- Supp: 5
- Count: 5
- Size: 38
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: 0
- Comment: Creation var ractangle and if statement
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ChopRectangleConnector.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FloatingTextField.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GraphicalCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextOverflowHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 41
- Supp: 5
- Count: 6
- Size: 32
- Root: TypeDeclaration
- Tag: Paired method definition +1 Getter/setter
- Utility: Recommended code structure
- Relevance: 1
- Comment: ? Same as #20 ?

In all classes \*Figure, we must have :

	- A `drawStroke`
	- A `getBounds`
	- A `setBounds`
	- A `transform`
	- A `restoreTransformTo`
	- A `getTransformRestoreData`
- Correspondence: 63	
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 42
- Supp: 7
- Count: 19
- Size: 82
- Root: Block
- Tag: For loop
- Utility: Usage protocol
- Relevance: 1
- Comment: First, call to `Object[] listeners = listenerList.getListenerList();`
Then, a for loop of type :
```java
for (int i = listeners.length-2; i>=0; i-=2) {
    if (listeners[i] == ...) {
        // Lazily create the event:
        ...
    }
}
```
- Correspondence: 70 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractDrawing.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractFontChooserModel.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\JFontChooser.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\JSheet.java

### Pattern 43
- Supp: 5
- Count: 5
- Size: 24
- Root: Block
- Tag: CodingPractice
- Utility: Uninteresting
- Relevance: -1
- Comment:
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DisclosureIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteButtonBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\StrokeIcon.java

### Pattern 44
- Supp: 5
- Count: 5
- Size: 35
- Root: Block
- Tag: Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: ```java
.fireUndoableEditHappened(new AbstractUndoableEdit() {

    ...

    @Override
    public void redo() throws CannotRedoException {
        super.redo();
        ...
    }
});
```
- Correspondence:66
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CreationTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LineFigure.java

### Pattern 45
- Supp: 6
- Count: 6
- Size: 52
- Root: Block
- Tag: Constructor (body) +1 delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: 
In classes \*Action, the constructor is of form :

```java
public ....Action(Application app(, View view, boolean saveAs)) {
        super(app(, view));
        (...)
        ResourceBundleUtil labels = ResourceBundleUtil.getBundle("org.jhotdraw.app.Labels");
        labels.configureAction(this, ID);
    }
```
- Correspondence: 8 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ExitAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LoadDirectoryAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MinimizeWindowAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\OpenDirectoryAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PrintFileAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SaveFileAction.java

### Pattern 46
- Supp: 5
- Count: 5
- Size: 106
- Root: TypeDeclaration
- Tag: Method structure
- Utility: Recommended code structure
- Relevance: 0
- Comment: In \*Action classes, we have a method `actionPerformed(ActionEvent evt)` with a body looking like this :
```java
JComponent c = target;
if (c == null && (KeyboardFocusManager.getCurrentKeyboardFocusManager().
        getPermanentFocusOwner() instanceof JComponent)) {
    c = (JComponent) KeyboardFocusManager.getCurrentKeyboardFocusManager().
            getPermanentFocusOwner();
}
...
```
- Correspondence: 35 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ClearSelectionAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CopyAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DuplicateAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PasteAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectAllAction.java

### Pattern 47
- Supp: 5
- Count: 17
- Size: 30
- Root: Block
- Tag: Other (method call)
- Utility: Not interesting
- Relevance: -1
- Comment: bunch of calls to `add`
- Correspondence: 2
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ButtonFactory.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultFontChooserModel.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteRGBChooser.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 48
- Supp: 5
- Count: 9
- Size: 27
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment: Creation of two var Point2D.Double
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractConnectionHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultHandleTracker.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 49
- Supp: 6
- Count: 20
- Size: 21
- Root: TypeDeclaration
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 1
- Comment: Function getCursor in different handle classes return the predefinedCursor
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DragHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 50
- Supp: 8
- Count: 8
- Size: 43
- Root: Block
- Tag: Method structure (partial copy/paste)
- Utility: Usage protocol
- Relevance: 1
- Comment: Often, in catch, we have :
```java
InternalError error = new InternalError(...);
error.initCause(ex);
throw error;
```
- Correspondence: 34 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractBean.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CurvedLiner.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DOMStorableInputOutputFormat.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultHarmonicColorModel.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ElbowLiner.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontCollectionNode.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontFaceNode.java

### Pattern 51
- Supp: 5
- Count: 8
- Size: 34
- Root: Block
- Tag: Other
- Utility: Not interesting
- Relevance: -1
- Comment: `AffineTransform tx = new AffineTransform();`, then `tx.translate(..., ...)`
- Correspondence: 29 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DragHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveConstrainedAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 52
- Supp: 5
- Count: 8
- Size: 24
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: -1
- Comment: Method setColor and fill used
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractLineDecoration.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorIcon.java

### Pattern 53
- Supp: 5
- Count: 5
- Size: 33
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 1
- Comment: Creation AffineTransform variable, translate method and transform
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractLineDecoration.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DragHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 54
- Supp: 6
- Count: 6
- Size: 23
- Root: Block
- Tag : Other (Order of calls)
- Utility : Usage protocol
- Relevance: 1
- Comment: In addition to the `willChange`, `changed` calls that we observe on fold2 patterns 5 & 4, we can see that they might have a call to `fireUndoableEditHappened` (without the super call)
- Correspondence: 5
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorChooserHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java

### Pattern 55
- Supp: 5
- Count: 7
- Size: 22
- Root: TypeDeclaration
- Tag: Paired method definition +1 Getter/setter
- Utility: Recommended code structure
- Relevance: 1
- Comment: 
In \*Handle\* classes, there often is functions :

	- `trackStart`
	- `trackStep`
	- `trackEnd`
	- `getToolTipText`

- Correspondence: 6
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractConnectionHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextOverflowHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 56
- Supp: 6
- Count: 14
- Size: 44
- Root: Block
- Tag: For loop
- Utility: Java coding practice
- Relevance: -1
- Comment: for loop of type : `for(int i = 0, n = ...; i < n; i++)`
- Correspondence: 13
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DOMStorableInputOutputFormat.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\JSheet.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFontChooserUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteSwatchesChooser.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PrintFileAction.java

### Pattern 57
- Supp: 5
- Count: 6
- Size: 76
- Root: Block
- Tag: Method structure (partial copy/paste)
- Utility: Recommended code structure
- Relevance: 0
- Comment: In classes \*Action, there is often :
```java
ResourceBundleUtil labels = ResourceBundleUtil.getBundle("org.jhotdraw.app.Labels");

JSheet.showMessageSheet(... .getComponent(),
        "<html>" +1 UIManager.getString("OptionPane.css") +1
        "<b>" +1 ... )
```
- Correspondence: 14 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ExitAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LoadRecentFileAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\OpenRecentFileAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PrintFileAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SaveFileAction.java

### Pattern 58
- Supp: 5
- Count: 7
- Size: 21
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment:
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultHandleTracker.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingComponentRepainter.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorIcon.java

### Pattern 59
- Supp: 5
- Count: 12
- Size: 21
- Root: Block
- Tag: Other
- Utility: Not interesting
- Relevance: -1
- Comment: ? Point2D/Double goes with `if(....get(TRANSFORM) != null)`
- Correspondence: 15
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BoundsOutlineHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FloatingTextField.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeLocator.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ResizeHandleKit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextOverflowHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 60
- Supp: 5
- Count: 5
- Size: 35
- Root: Block
- Tag: ProgramingConvention
- Utility: Recom. structure
- Relevance: 0
- Comment: Creation linked list
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractConnectionHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GraphicalCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LineFigure.java

### Pattern 61
- Supp: 5
- Count: 5
- Size: 28
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 0
- Comment: super(app, view);
labels.configureAction(this, ID);
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LoadDirectoryAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MinimizeWindowAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PrintFileAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RedoAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SaveFileAction.java

### Pattern 62
- Supp: 5
- Count: 5
- Size: 43
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter
- Utility: Recommended code structure
- Relevance: 1
- Comment: In classes \*Handle, we have :
	- `basicGetBounds`using the bounds of a `Rectangle` variable
	- `trackStart`
	- `trackStep`
	- `trackEnd`
- Correspondence: 18
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BoundsOutlineHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextOverflowHandle.java

### Pattern 63
- Supp: 5
- Count: 10
- Size: 31
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 0
- Comment: usage of g variable
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractLineDecoration.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BoundsOutlineHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFormattedTextFieldUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\StrokeIcon.java

### Pattern 64
- Supp: 5
- Count: 5
- Size: 37
- Root: Block
- Tag: Method structure (return value)
- Utility: Recommended code structure
- Relevance: 0
- Comment: Classes \*Figure often have a `public Rectangle2D.Double getDrawingArea()` using a `Rectangle2D.Double` variable "r" and returning it
- Correspondence: 21
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 65
- Supp: 5
- Count: 5
- Size: 34
- Root: TypeDeclaration
- Tag: Variable declaration
- Utility: Not interesting
- Relevance: -1
- Comment: `this. prototype = prototype` +1 `this.... = ...`
- Correspondence: 23
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractConnectionHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DragHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java

### Pattern 66
- Supp: 5
- Count: 8
- Size: 23
- Root: Block
- Tag: Method structure (paired method calls)
- Utility: Usage protocol
- Relevance: 1
- Comment: Other willChange/changed pattern (related to pattern #92) :
	- `willChange`
	- `set`
	- `changed`
- Correspondence: 25
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributeEditorHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeKey.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeToggler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorChooserHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorChooserHandler.java

### Pattern 67
- Supp: 5
- Count: 5
- Size: 42
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter +1 delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: Classes \*Figure often have the following methods :
	- `getBounds`
	- `restoreTransformTo`
	- `getTranformRestoreData`
	- `clone` with call to `super.clone()` and returning variable `that`.

- Correspondence: 26
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 68
- Supp: 6
- Count: 9
- Size: 43
- Root: Block
- Tag: Method structure (partial copy/paste)
- Utility: Usage protocol
- Relevance: 1
- Comment: Often, in catch, we have :
```java
InternalError error = new InternalError(...);
error.initCause(ex);
throw error;
```
- Correspondence: 11 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CreationTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageTransferable.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\NanoXMLDOMOutput.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ToggleViewPropertyAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ViewPropertyAction.java

### Pattern 69
- Supp: 5
- Count: 5
- Size: 69
- Root: TypeDeclaration
- Tag: Method structure (paired method calls)
- Utility: Usage protocol
- Relevance: 1
- Comment: - `getBounds`
	- `getDrawingArea`using a Rectangle2D.Double called "r" that is returned
	- `setBounds`
	- `transform`
	- `clone` with call to `super.clone()` and returning variable `that`.
- Correspondence: 42
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 70
- Supp: 5
- Count: 5
- Size: 212
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter +1 Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: Classes \*Figure often have the following methods :

- `drawFill`, using a variable `double grow = ... .getPerpendicularFillGrowth(this);`
- `drawStroke`, using the same variable
- `setBounds`
- `transform`, with the same body as in pattern #60
- `restoreTransformTo`
- `getTranformRestoreData`
- `clone` with call to `super.clone()` and returning variable `that`.

- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 71
- Supp: 6
- Count: 8
- Size: 25
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment: String name = evt.getPropertyName();
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributeEditorHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingComponentRepainter.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MDIApplication.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFontChooserUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RedoAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SDIApplication.java

### Pattern 72
- Supp: 5
- Count: 7
- Size: 24
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: -1
- Comment: Method setStroke and draw used
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractLineDecoration.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BoundsOutlineHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFormattedTextFieldUI.java

### Pattern 73
- Supp: 7
- Count: 9
- Size: 24
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 1
- Comment: open html element, using it, and closing the element
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributedDecoratedFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractDrawing.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GraphicalCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LocatorConnector.java

### Pattern 74
- Supp: 5
- Count: 6
- Size: 21
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment:
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractConnectionHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageOutputFormat.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LocatorLayouter.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveConstrainedAction.java

### Pattern 75
- Supp: 5
- Count: 6
- Size: 29
- Root: Block
- Tag: Other
- Utility: Coding Practice
- Relevance: -1
- Comment: if statement
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FloatingTextField.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeLocator.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextOverflowHandle.java

### Pattern 76
- Supp: 5
- Count: 5
- Size: 29
- Root: Block
- Tag: Method structure (paired method calls)
- Utility: Usage protocol
- Relevance: 1
- Comment: Other version of the willChange/changed :
	```java
	.willChange();
	.restoreAttributesTo(<iterator>.next());
	.changed();
	```
- Correspondence: 41
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributeEditorHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeToggler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorChooserHandler.java

### Pattern 77
- Supp: 5
- Count: 6
- Size: 64
- Root: Block
- Tag: Method structure (partial copy/paste)
- Utility: Recommended code structure
- Relevance: 0
- Comment: ```java
if (name == null) {
    ResourceBundleUtil labels = ResourceBundleUtil.getBundle("org.jhotdraw.draw.Labels");
    name = labels.getString(...);
}
```
- Correspondence: 16 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeToggler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CreationTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingAttributeAction.java

### Pattern 78
- Supp: 5
- Count: 7
- Size: 27
- Root: Block
- Tag: 
- Tag : Variable declaration (cast)
- Utility : Java coding practice
- Comment: `Graphics` are often casted to `Graphic2D` (and are often called "gr" and "g"); same as in fold3
- Correspondence: 43
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteButtonBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFormattedTextFieldUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\StrokeIcon.java

### Pattern 79
- Supp: 5
- Count: 9
- Size: 21
- Root: Block
- Tag: Variable declaration
- Utility: Not interesting
- Relevance: -1
- Comment: Often `this.key = key` and lots of `this. `; not that interesting 
- Correspondence: 45
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeKey.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeToggler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorChooserHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EditorColorChooserAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorChooserHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorIcon.java

### Pattern 80
- Supp: 5
- Count: 11
- Size: 34
- Root: Block
- Tag: Method structure
- Utility: Not interesting (disconnected)
- Relevance: -1
- Comment: 
Mostly \*Figure classes :
```java
Rectangle2D.Double r = ...;
double grow = ...;
Geom.grow(r, grow, grow);
```

- Correspondence: 7 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ChopRectangleConnector.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GraphicalCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 81
- Supp: 5
- Count: 6
- Size: 38
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: -1
- Comment: method setColor used
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ColorSliderUI.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DisclosureIcon.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarBorder.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteToolBarUI.java

### Pattern 82
- Supp: 6
- Count: 8
- Size: 39
- Root: Block
- Tag: Method structure (paired method calls)
- Utility: Usage protocol
- Relevance: 1
- Comment: Other version of willChange/changed  (related to pattern #92 & 71) :
	- `willChange`
	- `transform(tx)`
	- `changed`

- Correspondence: 33 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DragHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveConstrainedAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformEdit.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 83
- Supp: 5
- Count: 7
- Size: 35
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/Setter +1 delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: In classes \*Figure, we have :
	- A `contains`
	- A `getBounds`
	- A `SetBoubds`
	- A `transform`
	- A `clone` (with the call to super.clone and the call on clone then return)

- Correspondence: 47
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GraphicalCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 84
- Supp: 5
- Count: 12
- Size: 22
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment:
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CreationTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultHandleTracker.java

### Pattern 85
- Supp: 5
- Count: 5
- Size: 25
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value)
- Utility: Recommended code structure
- Relevance: 1
- Comment: Classes \*Figure have functions :

	- `findConnector`
	- `findCompatibleConnector`
	- `clone` with call to `super.clone()` and returning variable `that`.

- Correspondence: 48
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 86
- Supp: 5
- Count: 5
- Size: 26
- Root: Block
- Root: Block
- Tag: Method structure (return value) +1 Getter/setter
- Relevance: 0
- Comment: Rectangle2D.Double called bounds is returned in `get(Transformed)Bounds` of classes \*Figure
- Correspondence: 55
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TransformHandleKit.java

### Pattern 87
- Supp: 5
- Count: 9
- Size: 24
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: -1
- Comment: Method setColor and draw used
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractLineDecoration.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BoundsOutlineHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFormattedTextFieldUI.java

### Pattern 88
- Supp: 5
- Count: 7
- Size: 27
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: -1
- Comment: Method draw used
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BoundsOutlineHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PaletteFormattedTextFieldUI.java

### Pattern 89
- Supp: 5
- Count: 5
- Size: 31
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 1
- Comment: open html element, using it, and closing the element
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributedDecoratedFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GraphicalCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LocatorConnector.java

### Pattern 90
- Supp: 5
- Count: 10
- Size: 25
- Root: Block
- Tag: Method structure
- Utility: Usage protocol
- Relevance: 1
- Comment: When calling `addPropertyChangeListener(new PropertyChangeListener()`, you have to create a method `public void propertyChange(PropertyChangeEvent evt)`
- Correspondence: 57
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ButtonFactory.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EditGridPanel.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\JFontChooser.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\JSheet.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MDIApplication.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SDIApplication.java

### Pattern 91
- Supp: 5
- Count: 6
- Size: 27
- Root: Block
- Tag: Variable declaration
- Utility: Recommended code structure
- Relevance: 0
- Comment: Classes \*Figure use a call to `double grow = AttributeKeys.getPerpendicularHitGrowth(this);` 
- Correspondence: 52 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 92
- Supp: 5
- Count: 5
- Size: 32
- Root: Block
- Tag: CodingPractice
- Utility: Coding Practice
- Relevance: 1
- Comment: super.undo and creation iterator
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractAttributeEditorHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeToggler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorChooserHandler.java

### Pattern 93
- Supp: 5
- Count: 8
- Size: 23
- Root: Block
- Tag: Method structure (paired method calls)
- Utility: Usage protocol
- Relevance: 1
- Comment: Other version of `willChanged`/`changed` with `add` after change 
- Correspondence: 58
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeToggler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GroupAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorChooserHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextInputFormat.java

### Pattern 94
- Supp: 6
- Count: 9
- Size: 72
- Root: Block
- Tag: Paired method definition +1 Method structure +1 Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: When creating `AbstractUndoableEdit`, do :
```java
UndoableEdit edit = new AbstractUndoableEdit() {

    @Override
    public String getPresentationName() {
        ...
    }

    @Override
    public void undo() {
        super.undo();
        ...
    }

    @Override
    public void redo() {
        super.redo();
        ...
    }
};
(...)
fireUndoableEditHappened(edit);
```
- Correspondence: 59
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AttributeToggler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingAttributeAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DrawingColorChooserHandler.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\GroupAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectionColorChooserHandler.java

### Pattern 95
- Supp: 5
- Count: 12
- Size: 31
- Root: Block
- Tag: Var dec
- Utility: Uninteresting
- Relevance: -1
- Comment: creation Point2D.Double
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierLabelLocator.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ChopDiamondConnector.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FloatingTextField.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\MoveConstrainedAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RotateHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextOverflowHandle.java

### Pattern 96
- Supp: 6
- Count: 15
- Size: 23
- Root: Block
- Tag: Variable declaration
- Utility: Not interesting
- Relevance: -1
- Comment: `Rectangle r = new Rectangle(...);`, not interesting
- Correspondence: 64
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierControlPointHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CreationTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DefaultHandleTracker.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\FontSizeHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleRadiusHandle.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\TextOverflowHandle.java

### Pattern 97
- Supp: 5
- Count: 7
- Size: 30
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter +1 delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: Classes \*Figure often have the following methods :

	- `getBounds`
	- `restoreTransformTo`
	- `getTranformRestoreData`
	- `clone` with call to `super.clone()` and returning variable `that`.
- Correspondence: 65
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 98
- Supp: 5
- Count: 11
- Size: 36
- Root: Block
- Tag: Method structure
- Utility: Not interesting (disconnected)
- Relevance: -1
- Comment: 
Mostly \*Figure classes :
```java
Rectangle2D.Double r = ...;
double grow = ...;
Geom.grow(r, grow, grow);
```

- Correspondence: 9 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ChopDiamondConnector.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 99
- Supp: 5
- Count: 5
- Size: 209
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (copy/paste) +1 Getter/setter
- Utility: Recommended code structure
- Relevance: 1
- Comment: Classes \*Figure often have the following methods :
	- `drawFill`, using a variable `double grow = ... .getPerpendicularFillGrowth(this);`
	- `drawStroke`, using the same variable
	- `setBounds`
	- `transform`, with the same body as in pattern #60
	- `restoreTransformTo`
	- `getTranformRestoreData`
- Correspondence: 30 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ImageFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 100
- Supp: 5
- Count: 5
- Size: 27
- Root: TypeDeclaration
- Tag: Paired method definition +1 Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: Class \*Figure have :

	- `contains` delegating
	- `restoreTransformTo`
	- `getTranformRestoreData`
- Correspondence: 67
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\AbstractCompositeFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java

### Pattern 101
- Supp: 5
- Count: 5
- Size: 52
- Root: Block
- Tag: Constructor (body) +1 delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: In \*Action classes, we have a constructor with a `Jcomponent target`in parameter, doing :
```java
super(target);
ResourceBundleUtil labels = ResourceBundleUtil.getBundle("org.jhotdraw.app.Labels");
labels.configureAction(this, ID);
```
- Correspondence: 51 +
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ClearSelectionAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CopyAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DuplicateAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\PasteAction.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\SelectAllAction.java

### Pattern 102
- Supp: 5
- Count: 5
- Size: 35
- Root: Block
- Tag: Delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: ```java
fireUndoableEditHappened(new AbstractUndoableEdit() {
    
    ...

    @Override
    public void undo() throws CannotUndoException {
        super.undo();
        ...
    } 
});
```
-Correspondence: 68
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\ConnectionTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\CreationTool.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\LineFigure.java

### Pattern 103
- Supp: 5
- Count: 5
- Size: 42
- Root: TypeDeclaration
- Tag: Paired method definition +1 Method structure (return value) +1 Getter/setter +1 delegating method
- Utility: Recommended code structure
- Relevance: 1
- Comment: In all classes \*Figure, we must have :

	- A `drawStroke`
	- A `contains`
	- A `setBounds`
	- A `transform`
	- A `restoreTransformTo`
	- A `getTransformRestoreData` that performs a `clone`

-Correspondence:69
- Filenames: C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\BezierFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\DiamondFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\EllipseFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RectangleFigure.java, C:\Users\skubi\Documents\UCL\SecondYear\Thesis\JavaMinerCode\input_folder\jhotdraw-4-folds_input\cluster_4\RoundRectangleFigure.java
