438-1-2

stream.defaultReadObject(); this.sectionPaint = SerialUtilities.readPaint(stream); this.baseSectionPaint = SerialUtilities.readPaint(stream); this.sectionOutlinePaint = SerialUtilities.readPaint(stream); this.baseSectionOutlinePaint = SerialUtilities.readPaint(stream); this.sectionOutlineStroke = SerialUtilities.readStroke(stream); this.baseSectionOutlineStroke = SerialUtilities.readStroke(stream); this.shadowPaint = SerialUtilities.readPaint(stream); this.labelPaint = SerialUtilities.readPaint(stream); this.labelBackgroundPaint = SerialUtilities.readPaint(stream); this.labelOutlinePaint = SerialUtilities.readPaint(stream); this.labelOutlineStroke = SerialUtilities.readStroke(stream); this.labelShadowPaint = SerialUtilities.readPaint(stream); this.labelLinkPaint = SerialUtilities.readPaint(stream); this.labelLinkStroke = SerialUtilities.readStroke(stream); this.legendItemShape = SerialUtilities.readShape(stream);
stream.defaultReadObject(); this.paint = SerialUtilities.readPaint(stream); this.basePaint = SerialUtilities.readPaint(stream); this.fillPaint = SerialUtilities.readPaint(stream); this.baseFillPaint = SerialUtilities.readPaint(stream); this.outlinePaint = SerialUtilities.readPaint(stream); this.baseOutlinePaint = SerialUtilities.readPaint(stream); this.stroke = SerialUtilities.readStroke(stream); this.baseStroke = SerialUtilities.readStroke(stream); this.outlineStroke = SerialUtilities.readStroke(stream); this.baseOutlineStroke = SerialUtilities.readStroke(stream); this.shape = SerialUtilities.readShape(stream); this.baseShape = SerialUtilities.readShape(stream); this.itemLabelPaint = SerialUtilities.readPaint(stream); this.baseItemLabelPaint = SerialUtilities.readPaint(stream); // listeners are not restored automatically, but storage must be // provided... this.listenerList = new EventListenerList();

Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/plot/PiePlot.java |  | File path: /jfreechart-1.0.10/src/org/jfree/chart/renderer/AbstractRenderer.java
Method name: `void readObject(ObjectInputStream)` |  | Method name: `void readObject(ObjectInputStream)`
Number of AST nodes: 16 |  | Number of AST nodes: 16

1

    stream.defaultReadObject();↵

1

    stream.defaultReadObject();↵

2

            this.sectionPaint = SerialUtilities.readPaint(stream);↵

2

            this.paint = SerialUtilities.readPaint(stream);↵

3

            this.baseSectionPaint = SerialUtilities.readPaint(stream);↵

3

            this.basePaint = SerialUtilities.readPaint(stream);↵

4

            this.sectionOutlinePaint = SerialUtilities.readPaint(stream);↵

4

            this.fillPaint = SerialUtilities.readPaint(stream);↵

5

            this.baseSectionOutlinePaint = SerialUtilities.readPaint(stream);↵

5

            this.baseFillPaint = SerialUtilities.readPaint(stream);↵

6

            this.sectionOutlineStroke = SerialUtilities.readStroke(stream);↵

6

            this.outlinePaint = SerialUtilities.readPaint(stream);↵

7

            this.baseSectionOutlineStroke = SerialUtilities.readStroke(stream);↵

7

            this.baseOutlinePaint = SerialUtilities.readPaint(stream);↵

8

            this.shadowPaint = SerialUtilities.readPaint(stream);↵

8

            this.stroke = SerialUtilities.readStroke(stream);↵

9

            this.labelPaint = SerialUtilities.readPaint(stream);↵

9

            this.baseStroke = SerialUtilities.readStroke(stream);↵

10

            this.labelBackgroundPaint = SerialUtilities.readPaint(stream);↵

10

            this.outlineStroke = SerialUtilities.readStroke(stream);↵

11

            this.labelOutlinePaint = SerialUtilities.readPaint(stream);↵

11

            this.baseOutlineStroke = SerialUtilities.readStroke(stream);↵

12

            this.labelOutlineStroke = SerialUtilities.readStroke(stream);↵

12

            this.shape = SerialUtilities.readShape(stream);↵

13

            this.labelShadowPaint = SerialUtilities.readPaint(stream);↵

13

            this.baseShape = SerialUtilities.readShape(stream);↵

14

            this.labelLinkPaint = SerialUtilities.readPaint(stream);↵

14

            this.itemLabelPaint = SerialUtilities.readPaint(stream);↵

15

            this.labelLinkStroke = SerialUtilities.readStroke(stream);↵

15

            this.baseItemLabelPaint = SerialUtilities.readPaint(stream);↵

16

            this.legendItemShape = SerialUtilities.readShape(stream↵

16

            // listeners are not restored automatically, but storage must be↵

17

            // provided...↵

17

    );

18

            this.listenerList = new EventListenerList();

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.0
Clones location | Clones are in different classes
Number of node comparisons | 135

1. {Non-refactorable}

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

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

   1

       stream.defaultReadObject();

   1

       stream.defaultReadObject();

   2

       this.sectionPaint = SerialUtilities.readPaint(stream);

   2 | this.sectionPaint = SerialUtilities.readPaint(stream);
   2 | this.paint = SerialUtilities.readPaint(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   sectionPaint | paint | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.sectionPaint is a field being modified, and thus it cannot be parameterized
   Expression this.paint is a field being modified, and thus it cannot be parameterized

   2

       this.paint = SerialUtilities.readPaint(stream);

   3

       this.baseSectionPaint = SerialUtilities.readPaint(stream);

   3 | this.baseSectionPaint = SerialUtilities.readPaint(stream);
   3 | this.basePaint = SerialUtilities.readPaint(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   baseSectionPaint | basePaint | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.baseSectionPaint is a field being modified, and thus it cannot be parameterized
   Expression this.basePaint is a field being modified, and thus it cannot be parameterized

   3

       this.basePaint = SerialUtilities.readPaint(stream);

   4

       this.sectionOutlinePaint = SerialUtilities.readPaint(stream);

   4 | this.sectionOutlinePaint = SerialUtilities.readPaint(stream);
   4 | this.fillPaint = SerialUtilities.readPaint(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   sectionOutlinePaint | fillPaint | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.sectionOutlinePaint is a field being modified, and thus it cannot be parameterized
   Expression this.fillPaint is a field being modified, and thus it cannot be parameterized

   4

       this.fillPaint = SerialUtilities.readPaint(stream);

   5

       this.baseSectionOutlinePaint = SerialUtilities.readPaint(stream);

   5 | this.baseSectionOutlinePaint = SerialUtilities.readPaint(stream);
   5 | this.baseFillPaint = SerialUtilities.readPaint(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   baseSectionOutlinePaint | baseFillPaint | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.baseSectionOutlinePaint is a field being modified, and thus it cannot be parameterized
   Expression this.baseFillPaint is a field being modified, and thus it cannot be parameterized

   5

       this.baseFillPaint = SerialUtilities.readPaint(stream);

   6

       this.sectionOutlineStroke = SerialUtilities.readStroke(stream);

   6 | this.sectionOutlineStroke = SerialUtilities.readStroke(stream);
   8 | this.stroke = SerialUtilities.readStroke(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   sectionOutlineStroke | stroke | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.sectionOutlineStroke is a field being modified, and thus it cannot be parameterized
   Expression this.stroke is a field being modified, and thus it cannot be parameterized

   8

       this.stroke = SerialUtilities.readStroke(stream);

   7

       this.baseSectionOutlineStroke = SerialUtilities.readStroke(stream);

   7 | this.baseSectionOutlineStroke = SerialUtilities.readStroke(stream);
   9 | this.baseStroke = SerialUtilities.readStroke(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   baseSectionOutlineStroke | baseStroke | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.baseSectionOutlineStroke is a field being modified, and thus it cannot be parameterized
   Expression this.baseStroke is a field being modified, and thus it cannot be parameterized

   9

       this.baseStroke = SerialUtilities.readStroke(stream);

   8

       this.shadowPaint = SerialUtilities.readPaint(stream);

   8 | this.shadowPaint = SerialUtilities.readPaint(stream);
   7 | this.baseOutlinePaint = SerialUtilities.readPaint(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   shadowPaint | baseOutlinePaint | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.shadowPaint is a field being modified, and thus it cannot be parameterized
   Expression this.baseOutlinePaint is a field being modified, and thus it cannot be parameterized

   7

       this.baseOutlinePaint = SerialUtilities.readPaint(stream);

   9

       this.labelPaint = SerialUtilities.readPaint(stream);

   9 | this.labelPaint = SerialUtilities.readPaint(stream);
   6 | this.outlinePaint = SerialUtilities.readPaint(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   labelPaint | outlinePaint | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.labelPaint is a field being modified, and thus it cannot be parameterized
   Expression this.outlinePaint is a field being modified, and thus it cannot be parameterized

   6

       this.outlinePaint = SerialUtilities.readPaint(stream);

   12

       this.shape = SerialUtilities.readShape(stream);

   10

       this.labelBackgroundPaint = SerialUtilities.readPaint(stream);

   10 | this.labelBackgroundPaint = SerialUtilities.readPaint(stream);
   14 | this.itemLabelPaint = SerialUtilities.readPaint(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   labelBackgroundPaint | itemLabelPaint | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.labelBackgroundPaint is a field being modified, and thus it cannot be parameterized
   Expression this.itemLabelPaint is a field being modified, and thus it cannot be parameterized

   14

       this.itemLabelPaint = SerialUtilities.readPaint(stream);

   11

       this.labelOutlinePaint = SerialUtilities.readPaint(stream);

   11 | this.labelOutlinePaint = SerialUtilities.readPaint(stream);
   15 | this.baseItemLabelPaint = SerialUtilities.readPaint(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   labelOutlinePaint | baseItemLabelPaint | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.labelOutlinePaint is a field being modified, and thus it cannot be parameterized
   Expression this.baseItemLabelPaint is a field being modified, and thus it cannot be parameterized

   15

       this.baseItemLabelPaint = SerialUtilities.readPaint(stream);

   12

       this.labelOutlineStroke = SerialUtilities.readStroke(stream);

   12 | this.labelOutlineStroke = SerialUtilities.readStroke(stream);
   11 | this.baseOutlineStroke = SerialUtilities.readStroke(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   labelOutlineStroke | baseOutlineStroke | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.labelOutlineStroke is a field being modified, and thus it cannot be parameterized
   Expression this.baseOutlineStroke is a field being modified, and thus it cannot be parameterized

   11

       this.baseOutlineStroke = SerialUtilities.readStroke(stream);

   13

       this.labelShadowPaint = SerialUtilities.readPaint(stream);

   14

       this.labelLinkPaint = SerialUtilities.readPaint(stream);

   15

       this.labelLinkStroke = SerialUtilities.readStroke(stream);

   15 | this.labelLinkStroke = SerialUtilities.readStroke(stream);
   10 | this.outlineStroke = SerialUtilities.readStroke(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   labelLinkStroke | outlineStroke | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.labelLinkStroke is a field being modified, and thus it cannot be parameterized
   Expression this.outlineStroke is a field being modified, and thus it cannot be parameterized

   10

       this.outlineStroke = SerialUtilities.readStroke(stream);

   16

       this.legendItemShape = SerialUtilities.readShape(stream);

   16 | this.legendItemShape = SerialUtilities.readShape(stream);
   13 | this.baseShape = SerialUtilities.readShape(stream);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   legendItemShape | baseShape | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.legendItemShape is a field being modified, and thus it cannot be parameterized
   Expression this.baseShape is a field being modified, and thus it cannot be parameterized

   13

       this.baseShape = SerialUtilities.readShape(stream);

   16

       this.listenerList = new EventListenerList();

   Precondition Violations (26)
   Row | Violation
   --- | ---
   1 | Expression this.sectionPaint is a field being modified, and thus it cannot be parameterized
   2 | Expression this.paint is a field being modified, and thus it cannot be parameterized
   3 | Expression this.baseSectionPaint is a field being modified, and thus it cannot be parameterized
   4 | Expression this.basePaint is a field being modified, and thus it cannot be parameterized
   5 | Expression this.sectionOutlinePaint is a field being modified, and thus it cannot be parameterized
   6 | Expression this.fillPaint is a field being modified, and thus it cannot be parameterized
   7 | Expression this.baseSectionOutlinePaint is a field being modified, and thus it cannot be parameterized
   8 | Expression this.baseFillPaint is a field being modified, and thus it cannot be parameterized
   9 | Expression this.sectionOutlineStroke is a field being modified, and thus it cannot be parameterized
   10 | Expression this.stroke is a field being modified, and thus it cannot be parameterized
   11 | Expression this.baseSectionOutlineStroke is a field being modified, and thus it cannot be parameterized
   12 | Expression this.baseStroke is a field being modified, and thus it cannot be parameterized
   13 | Expression this.shadowPaint is a field being modified, and thus it cannot be parameterized
   14 | Expression this.baseOutlinePaint is a field being modified, and thus it cannot be parameterized
   15 | Expression this.labelPaint is a field being modified, and thus it cannot be parameterized
   16 | Expression this.outlinePaint is a field being modified, and thus it cannot be parameterized
   17 | Expression this.labelBackgroundPaint is a field being modified, and thus it cannot be parameterized
   18 | Expression this.itemLabelPaint is a field being modified, and thus it cannot be parameterized
   19 | Expression this.labelOutlinePaint is a field being modified, and thus it cannot be parameterized
   20 | Expression this.baseItemLabelPaint is a field being modified, and thus it cannot be parameterized
   21 | Expression this.labelOutlineStroke is a field being modified, and thus it cannot be parameterized
   22 | Expression this.baseOutlineStroke is a field being modified, and thus it cannot be parameterized
   23 | Expression this.labelLinkStroke is a field being modified, and thus it cannot be parameterized
   24 | Expression this.outlineStroke is a field being modified, and thus it cannot be parameterized
   25 | Expression this.legendItemShape is a field being modified, and thus it cannot be parameterized
   26 | Expression this.baseShape is a field being modified, and thus it cannot be parameterized