1530-1-2

if ((xxMean > (dataArea.getMinX() - aRadius)) && (xxMean < (dataArea.getMaxX() + aRadius))) { Ellipse2D.Double avgEllipse = new Ellipse2D.Double(xxMean - aRadius, yy + aRadius, aRadius * 2, aRadius * 2); g2.fill(avgEllipse); g2.draw(avgEllipse); }
if ((yyAverage > (dataArea.getMinY() - aRadius)) && (yyAverage < (dataArea.getMaxY() + aRadius))) { Ellipse2D.Double avgEllipse = new Ellipse2D.Double(xx + aRadius, yyAverage - aRadius, aRadius * 2, aRadius * 2); g2.fill(avgEllipse); g2.draw(avgEllipse); }

Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java |  | File path: /jfreechart-1.0.10/src/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
Method name: `void drawHorizontalItem(Graphics2D, CategoryItemRendererState, Rectangle2D, CategoryPlot, CategoryAxis, ValueAxis, CategoryDataset, int, int)` |  | Method name: `void drawVerticalItem(Graphics2D, CategoryItemRendererState, Rectangle2D, CategoryPlot, CategoryAxis, ValueAxis, CategoryDataset, int, int)`
Number of AST nodes: 4 |  | Number of AST nodes: 4

1

    if ((xxMean > (dataArea.getMinX() - aRadius))↵

1

    if ((yyAverage > (dataArea.getMinY() - aRadius))↵

2

                        && (xxMean < (dataArea.getMaxX() + aRadius))) {↵

2

                        && (yyAverage < (dataArea.getMaxY() + aRadius))) {↵

3

                    Ellipse2D.Double avgEllipse = new Ellipse2D.Double(xxMean↵

3

                    Ellipse2D.Double avgEllipse = new Ellipse2D.Double(xx + aRadius,↵

4

                            - aRadius, yy + aRadius, aRadius * 2, aRadius * 2);↵

4

                            yyAverage - aRadius, aRadius * 2, aRadius * 2);↵

5

                    g2.fill(avgEllipse);↵

5

                    g2.fill(avgEllipse);↵

6

                    g2.draw(avgEllipse);↵

6

                    g2.draw(avgEllipse);↵

7

                }

7

                }

See real code fragment |  | See real code fragment

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

1. {Non-refactorable}

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

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

   46

       if ((xxMean > (dataArea.getMinX() - aRadius)) && (xxMean < (dataArea.getMaxX() + aRadius)))

   46 | if ((xxMean > (dataArea.getMinX() - aRadius)) && (xxMean < (dataArea.getMaxX() + aRadius)))
   49 | if ((yyAverage > (dataArea.getMinY() - aRadius)) && (yyAverage < (dataArea.getMaxY() + aRadius)))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   xxMean | yyAverage | VARIABLE_NAME_MISMATCH
   getMinX | getMinY | METHOD_INVOCATION_NAME_MISMATCH
   xxMean | yyAverage | VARIABLE_NAME_MISMATCH
   getMaxX | getMaxY | METHOD_INVOCATION_NAME_MISMATCH

   49

       if ((yyAverage > (dataArea.getMinY() - aRadius)) && (yyAverage < (dataArea.getMaxY() + aRadius)))

   47

       Ellipse2D.Double avgEllipse = new Ellipse2D.Double(xxMean - aRadius, yy + aRadius, aRadius * 2, aRadius * 2);

   47 | Ellipse2D.Double avgEllipse = new Ellipse2D.Double(xxMean - aRadius, yy + aRadius, aRadius * 2, aRadius * 2);

   Preondition Violations
   Unmatched statement Ellipse2D.Double avgEllipse=new Ellipse2D.Double(xxMean - aRadius,yy + aRadius,aRadius * 2,aRadius * 2); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted

   50 | Ellipse2D.Double avgEllipse = new Ellipse2D.Double(xx + aRadius, yyAverage - aRadius, aRadius * 2, aRadius * 2);

   Preondition Violations
   Unmatched statement Ellipse2D.Double avgEllipse=new Ellipse2D.Double(xx + aRadius,yyAverage - aRadius,aRadius * 2,aRadius * 2); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted

   50

       Ellipse2D.Double avgEllipse = new Ellipse2D.Double(xx + aRadius, yyAverage - aRadius, aRadius * 2, aRadius * 2);

   48

       g2.fill(avgEllipse);

   51

       g2.fill(avgEllipse);

   49

       g2.draw(avgEllipse);

   52

       g2.draw(avgEllipse);

   Precondition Violations (2)
   Row | Violation
   --- | ---
   1 | Unmatched statement Ellipse2D.Double avgEllipse=new Ellipse2D.Double(xxMean - aRadius,yy + aRadius,aRadius * 2,aRadius * 2); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
   2 | Unmatched statement Ellipse2D.Double avgEllipse=new Ellipse2D.Double(xx + aRadius,yyAverage - aRadius,aRadius * 2,aRadius * 2); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted