1652-2-3

Axis xAxis = (Axis) this.domainAxes.get(i); if (xAxis != null) { RectangleEdge edge = getDomainAxisEdge(i); space = xAxis.reserveSpace(g2, this, plotArea, edge, space); }
Axis yAxis = (Axis) this.rangeAxes.get(i); if (yAxis != null) { RectangleEdge edge = getRangeAxisEdge(i); space = yAxis.reserveSpace(g2, this, plotArea, edge, space); }

Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/plot/CategoryPlot.java |  | File path: /jfreechart-1.0.10/src/org/jfree/chart/plot/CategoryPlot.java
Method name: `AxisSpace calculateDomainAxisSpace(Graphics2D, Rectangle2D, AxisSpace)` |  | Method name: `AxisSpace calculateRangeAxisSpace(Graphics2D, Rectangle2D, AxisSpace)`
Number of AST nodes: 4 |  | Number of AST nodes: 4

1

    Axis xAxis = (Axis) this.domainAxes.get(i);↵

1

    Axis yAxis = (Axis) this.rangeAxes.get(i);↵

2

                    if (xAxis != null) {↵

2

                    if (yAxis != null) {↵

3

                        RectangleEdge edge = getDomainAxisEdge(i);↵

3

                        RectangleEdge edge = getRangeAxisEdge(i);↵

4

                        space = xAxis.reserveSpace(g2, this, plotArea, edge, space);↵

4

                        space = yAxis.reserveSpace(g2, this, plotArea, edge, space);↵

5

                    }

5

                    }

See real code fragment |  | See real code fragment

Summary
Number of common nesting structure subtrees | 1
Number of refactorable cases | 1
Number of non-refactorable cases | 0
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.3
Clones location | Clones are declared in the same class
Number of node comparisons | 11

1. {Refactorable}

   Mapping Summary
   Number of mapped statements | 4
   Number of unmapped statements in the first code fragment | 0
   Number of unmapped statements in the second code fragment | 0
   Time elapsed for statement mapping (ms) | 2.2
   Clone type | Type 2

   Mapped Statements
   ID | Statement |  | ID | Statement
   --- | --- | --- | --- | ---

   14

       Axis xAxis = (Axis)this.domainAxes.get(i);

   14 | Axis xAxis = (Axis)this.domainAxes.get(i);
   11 | Axis yAxis = (Axis)this.rangeAxes.get(i);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   xAxis | yAxis | VARIABLE_NAME_MISMATCH
   domainAxes | rangeAxes | VARIABLE_NAME_MISMATCH

   11

       Axis yAxis = (Axis)this.rangeAxes.get(i);

   15

       if (xAxis != null)

   15 | if (xAxis != null)
   12 | if (yAxis != null)

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   xAxis | yAxis | VARIABLE_NAME_MISMATCH

   12

       if (yAxis != null)

   16

       RectangleEdge edge = getDomainAxisEdge(i);

   16 | RectangleEdge edge = getDomainAxisEdge(i);
   13 | RectangleEdge edge = getRangeAxisEdge(i);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   getDomainAxisEdge | getRangeAxisEdge | METHOD_INVOCATION_NAME_MISMATCH

   13

       RectangleEdge edge = getRangeAxisEdge(i);

   17

       space = xAxis.reserveSpace(g2, this, plotArea, edge, space);

   17 | space = xAxis.reserveSpace(g2, this, plotArea, edge, space);
   14 | space = yAxis.reserveSpace(g2, this, plotArea, edge, space);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   xAxis | yAxis | VARIABLE_NAME_MISMATCH

   14

       space = yAxis.reserveSpace(g2, this, plotArea, edge, space);

   Precondition Violations (0)
   Row | Violation
   --- | ---