100-2-3

if (obj == this) { return true; } if (!(obj instanceof AbstractXYItemRenderer)) { return false; } AbstractXYItemRenderer that = (AbstractXYItemRenderer) obj; if (!ObjectUtilities.equal(this.itemLabelGenerator, that.itemLabelGenerator)) { return false; } if (!this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList)) { return false; } if (!ObjectUtilities.equal(this.baseItemLabelGenerator, that.baseItemLabelGenerator)) { return false; } if (!ObjectUtilities.equal(this.toolTipGenerator, that.toolTipGenerator)) { return false; } if (!this.toolTipGeneratorList.equals(that.toolTipGeneratorList)) { return false; } if (!ObjectUtilities.equal(this.baseToolTipGenerator, that.baseToolTipGenerator)) { return false; } if (!ObjectUtilities.equal(this.urlGenerator, that.urlGenerator)) { return false; } if (!this.foregroundAnnotations.equals(that.foregroundAnnotations)) { return false; } if (!this.backgroundAnnotations.equals(that.backgroundAnnotations)) { return false; } if (this.defaultEntityRadius != that.defaultEntityRadius) { return false; } if (!ObjectUtilities.equal(this.legendItemLabelGenerator, that.legendItemLabelGenerator)) { return false; } if (!ObjectUtilities.equal(this.legendItemToolTipGenerator, that.legendItemToolTipGenerator)) { return false; } if (!ObjectUtilities.equal(this.legendItemURLGenerator, that.legendItemURLGenerator)) { return false; } return super.equals(obj);
if (!(obj instanceof LegendGraphic)) { return false; } LegendGraphic that = (LegendGraphic) obj; if (this.shapeVisible != that.shapeVisible) { return false; } if (!ShapeUtilities.equal(this.shape, that.shape)) { return false; } if (this.shapeFilled != that.shapeFilled) { return false; } if (!PaintUtilities.equal(this.fillPaint, that.fillPaint)) { return false; } if (!ObjectUtilities.equal(this.fillPaintTransformer, that.fillPaintTransformer)) { return false; } if (this.shapeOutlineVisible != that.shapeOutlineVisible) { return false; } if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint)) { return false; } if (!ObjectUtilities.equal(this.outlineStroke, that.outlineStroke)) { return false; } if (this.shapeAnchor != that.shapeAnchor) { return false; } if (this.shapeLocation != that.shapeLocation) { return false; } if (this.lineVisible != that.lineVisible) { return false; } if (!ShapeUtilities.equal(this.line, that.line)) { return false; } if (!PaintUtilities.equal(this.linePaint, that.linePaint)) { return false; } if (!ObjectUtilities.equal(this.lineStroke, that.lineStroke)) { return false; } return super.equals(obj);

Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java |  | File path: /jfreechart-1.0.10/src/org/jfree/chart/title/LegendGraphic.java
Method name: `boolean equals(Object)` |  | Method name: `boolean equals(Object)`
Number of AST nodes: 32 |  | Number of AST nodes: 32

1

    if (obj == this) {↵

1

    if (!(obj instanceof LegendGraphic)) {↵

2

                return true;↵

2

                return false;↵

3

            }↵

3

            }↵

4

            if (!(obj instanceof AbstractXYItemRenderer)) {↵

4

            ↵

5

                return false;↵

6

            }↵

7

            AbstractXYItemRenderer that = (AbstractXYItemRenderer) obj;↵

8

            if (!ObjectUtilities.equal(this.itemLabelGenerator,↵

9

                    that.itemLabelGenerator↵

5

    LegendGraphic that = (LegendGraphic) obj;↵

6

            if (this.shapeVisible != that.shapeVisible) {↵

7

                return false;↵

8

            }↵

10

    )) {↵

9

            if (!ShapeUtilities.equal(this.shape, that.shape)) {↵

11

                return false;↵

10

                return false;↵

12

            }↵

11

            }↵

13

            if (!this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList)) {↵

12

            if (this.shapeFilled != that.shapeFilled) {↵

14

                return false;↵

13

                return false;↵

15

            }↵

14

            }↵

16

            if (!ObjectUtilities.equal(this.baseItemLabelGenerator,↵

15

            if (!PaintUtilities.equal(this.↵

17

                    that.baseItemLabelGenerator)) {↵

16

    fillPaint, that.fillPaint)) {↵

18

                return false;↵

17

                return false;↵

19

            }↵

18

            }↵

20

            if (!ObjectUtilities.equal(this.toolTipGenerator,↵

19

            if (!ObjectUtilities.equal(this.fillPaintTransformer, ↵

21

                    that.toolTipGenerator)) {↵

20

                    that.fillPaintTransformer)) {↵

22

                return false;↵

21

                return false;↵

23

            }↵

22

            }↵

24

            if (!this.toolTipGeneratorList.equals(that.toolTipGeneratorList)) {↵

23

            if (this.shapeOutlineVisible != that.shapeOutlineVisible) {↵

25

                return false;↵

24

                return false;↵

26

            }↵

25

            }↵

27

            if (!ObjectUtilities.equal(this.baseToolTipGenerator,↵

26

            if (!PaintUtilities.equal(this.↵

28

                    that.baseToolTipGenerator)) {↵

27

    outlinePaint, that.outlinePaint)) {↵

29

                return false;↵

28

                return false;↵

30

            }↵

29

            }↵

31

            if (!ObjectUtilities.equal(this.urlGenerator, that.urlGenerator)) {↵

30

            if (!ObjectUtilities.equal(this.outlineStroke, that.outlineStroke)) {↵

32

                return false;↵

31

                return false;↵

33

            }↵

32

            }↵

34

            if (!this.foregroundAnnotations.equals(that.foregroundAnnotations)) {↵

33

            if (this.shapeAnchor != that.shapeAnchor) {↵

35

                return false;↵

34

                return false;↵

36

            }↵

35

            }↵

37

            if (!this.backgroundAnnotations.equals(that.backgroundAnnotations)) {↵

36

            if (this.shapeLocation != that.shapeLocation) {↵

38

                return false;↵

37

                return false;↵

39

            }↵

38

            }↵

40

            if (this.defaultEntityRadius != that.defaultEntityRadius) {↵

39

            if (this.lineVisible != that.lineVisible) {↵

41

                return false;↵

40

                return false;↵

42

            }↵

41

            }↵

43

            if (!ObjectUtilities.equal(this.legendItemLabelGenerator,↵

42

            if (!ShapeUtilities.equal(this.l↵

44

                    that.legendItemLabelGenerator)) {↵

43

    ine, that.line)) {↵

45

                return false;↵

44

                return false;↵

46

            }↵

45

            }↵

47

            if (!ObjectUtilities.equal(this.legendItemToolTipGenerator,↵

46

            if (!PaintUtilities.equal(this.l↵

48

                    that.legendItemToolTipGenerator)) {↵

47

    inePaint, that.linePaint)) {↵

49

                return false;↵

48

                return false;↵

50

            }↵

49

            }↵

51

            if (!ObjectUtilities.equal(this.legendItemURLGenerator,↵

50

            if (!ObjectUtilities.equal(this.l↵

52

                    that.legendItemURLGenerator)) {↵

51

    ineStroke, that.lineStroke)) {↵

53

                return false;↵

52

                return false;↵

54

            }↵

53

            }↵

55

            return super.equals(obj);

54

            return super.equals(obj);

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) | 16.1
Clones location | Clones are in different classes
Number of node comparisons | 361

1. {Non-refactorable}

   Mapping Summary
   Number of mapped statements | 18
   Number of unmapped statements in the first code fragment | 11
   Number of unmapped statements in the second code fragment | 13
   Time elapsed for statement mapping (ms) | 5.0
   Clone type | Type 3

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

   3

       if (!(obj instanceof AbstractXYItemRenderer))

   3 | if (!(obj instanceof AbstractXYItemRenderer))
   1 | if (!(obj instanceof LegendGraphic))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   org.jfree.chart.renderer.xy.AbstractXYItemRenderer | org.jfree.chart.title.LegendGraphic | VARIABLE_TYPE_MISMATCH

   Preondition Violations

   Type boolean of variable obj instanceof AbstractXYItemRenderer does not match with type boolean of variable obj instanceof LegendGraphic
   - Make classes org.jfree.chart.renderer.xy.AbstractXYItemRenderer and org.jfree.chart.title.LegendGraphic extend a common superclass

   1

       if (!(obj instanceof LegendGraphic))

   4

       return false;

   4 | return false;
   2 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   2

       return false;

   3

       LegendGraphic that = (LegendGraphic)obj;

   4

       if (this.shapeVisible != that.shapeVisible)

   5 | return false;

   Preondition Violations
   Unmatched return false;

   5

       return false;

   5

       AbstractXYItemRenderer that = (AbstractXYItemRenderer)obj;

   6

       if (!ObjectUtilities.equal(this.itemLabelGenerator, that.itemLabelGenerator))

   6 | if (! ObjectUtilities.equal(this.itemLabelGenerator, that.itemLabelGenerator))
   6 | if (! ShapeUtilities.equal(this.shape, that.shape))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   itemLabelGenerator | shape | VARIABLE_NAME_MISMATCH
   org.jfree.chart.labels.XYItemLabelGenerator | java.awt.Shape | VARIABLE_TYPE_MISMATCH
   org.jfree.util.ObjectUtilities | org.jfree.util.ShapeUtilities | VARIABLE_TYPE_MISMATCH

   Preondition Violations

   Type org.jfree.chart.labels.XYItemLabelGenerator of variable this.itemLabelGenerator does not match with type java.awt.Shape of variable this.shape
   - Make classes org.jfree.chart.labels.XYItemLabelGenerator and java.awt.Shape extend a common superclass

   Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.ShapeUtilities of variable ShapeUtilities
   - Make classes org.jfree.util.ObjectUtilities and org.jfree.util.ShapeUtilities extend a common superclass

   6

       if (!ShapeUtilities.equal(this.shape, that.shape))

   7

       return false;

   7 | return false;
   7 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   7

       return false;

   8

       if (this.shapeFilled != that.shapeFilled)

   9 | return false;

   Preondition Violations
   Unmatched return false;

   9

       return false;

   8

       if (!this.itemLabelGeneratorList.equals(that.itemLabelGeneratorList))

   9

       return false;

   9 | return false;

   Preondition Violations
   Unmatched return false;

   10

       if (!ObjectUtilities.equal(this.baseItemLabelGenerator, that.baseItemLabelGenerator))

   10 | if (! ObjectUtilities.equal(this.baseItemLabelGenerator, that.baseItemLabelGenerator))
   10 | if (! PaintUtilities.equal(this.fillPaint, that.fillPaint))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   baseItemLabelGenerator | fillPaint | VARIABLE_NAME_MISMATCH
   org.jfree.chart.labels.XYItemLabelGenerator | java.awt.Paint | VARIABLE_TYPE_MISMATCH
   org.jfree.util.ObjectUtilities | org.jfree.util.PaintUtilities | VARIABLE_TYPE_MISMATCH

   Preondition Violations

   Type org.jfree.chart.labels.XYItemLabelGenerator of variable this.baseItemLabelGenerator does not match with type java.awt.Paint of variable this.fillPaint
   - Make classes org.jfree.chart.labels.XYItemLabelGenerator and java.awt.Paint extend a common superclass

   Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.PaintUtilities of variable PaintUtilities
   - Make classes org.jfree.util.ObjectUtilities and org.jfree.util.PaintUtilities extend a common superclass

   10

       if (!PaintUtilities.equal(this.fillPaint, that.fillPaint))

   11

       return false;

   11 | return false;
   11 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   11

       return false;

   12

       if (!ObjectUtilities.equal(this.toolTipGenerator, that.toolTipGenerator))

   12 | if (! ObjectUtilities.equal(this.toolTipGenerator, that.toolTipGenerator))
   12 | if (! ObjectUtilities.equal(this.fillPaintTransformer, that.fillPaintTransformer))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   toolTipGenerator | fillPaintTransformer | VARIABLE_NAME_MISMATCH
   org.jfree.chart.labels.XYToolTipGenerator | org.jfree.ui.GradientPaintTransformer | VARIABLE_TYPE_MISMATCH

   Preondition Violations

   Type org.jfree.chart.labels.XYToolTipGenerator of variable this.toolTipGenerator does not match with type org.jfree.ui.GradientPaintTransformer of variable this.fillPaintTransformer
   - Make classes org.jfree.chart.labels.XYToolTipGenerator and org.jfree.ui.GradientPaintTransformer extend a common superclass

   12

       if (!ObjectUtilities.equal(this.fillPaintTransformer, that.fillPaintTransformer))

   13

       return false;

   13 | return false;
   13 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   13

       return false;

   14

       if (this.shapeOutlineVisible != that.shapeOutlineVisible)

   15 | return false;

   Preondition Violations
   Unmatched return false;

   15

       return false;

   14

       if (!this.toolTipGeneratorList.equals(that.toolTipGeneratorList))

   15

       return false;

   15 | return false;

   Preondition Violations
   Unmatched return false;

   16

       if (!ObjectUtilities.equal(this.baseToolTipGenerator, that.baseToolTipGenerator))

   16 | if (! ObjectUtilities.equal(this.baseToolTipGenerator, that.baseToolTipGenerator))
   16 | if (! PaintUtilities.equal(this.outlinePaint, that.outlinePaint))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   baseToolTipGenerator | outlinePaint | VARIABLE_NAME_MISMATCH
   org.jfree.chart.labels.XYToolTipGenerator | java.awt.Paint | VARIABLE_TYPE_MISMATCH
   org.jfree.util.ObjectUtilities | org.jfree.util.PaintUtilities | VARIABLE_TYPE_MISMATCH

   Preondition Violations

   Type org.jfree.chart.labels.XYToolTipGenerator of variable this.baseToolTipGenerator does not match with type java.awt.Paint of variable this.outlinePaint
   - Make classes org.jfree.chart.labels.XYToolTipGenerator and java.awt.Paint extend a common superclass

   Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.PaintUtilities of variable PaintUtilities
   - Make classes org.jfree.util.ObjectUtilities and org.jfree.util.PaintUtilities extend a common superclass

   16

       if (!PaintUtilities.equal(this.outlinePaint, that.outlinePaint))

   17

       return false;

   17 | return false;
   17 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   17

       return false;

   18

       if (!ObjectUtilities.equal(this.urlGenerator, that.urlGenerator))

   18 | if (! ObjectUtilities.equal(this.urlGenerator, that.urlGenerator))
   18 | if (! ObjectUtilities.equal(this.outlineStroke, that.outlineStroke))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   urlGenerator | outlineStroke | VARIABLE_NAME_MISMATCH
   org.jfree.chart.urls.XYURLGenerator | java.awt.Stroke | VARIABLE_TYPE_MISMATCH

   Preondition Violations

   Type org.jfree.chart.urls.XYURLGenerator of variable this.urlGenerator does not match with type java.awt.Stroke of variable this.outlineStroke
   - Make classes org.jfree.chart.urls.XYURLGenerator and java.awt.Stroke extend a common superclass

   18

       if (!ObjectUtilities.equal(this.outlineStroke, that.outlineStroke))

   19

       return false;

   19 | return false;
   19 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   19

       return false;

   20

       if (this.shapeAnchor != that.shapeAnchor)

   21 | return false;

   Preondition Violations
   Unmatched return false;

   21

       return false;

   20

       if (!this.foregroundAnnotations.equals(that.foregroundAnnotations))

   21

       return false;

   21 | return false;

   Preondition Violations
   Unmatched return false;

   22

       if (this.shapeLocation != that.shapeLocation)

   23 | return false;

   Preondition Violations
   Unmatched return false;

   23

       return false;

   22

       if (!this.backgroundAnnotations.equals(that.backgroundAnnotations))

   23

       return false;

   23 | return false;

   Preondition Violations
   Unmatched return false;

   24

       if (this.lineVisible != that.lineVisible)

   25 | return false;

   Preondition Violations
   Unmatched return false;

   25

       return false;

   24

       if (this.defaultEntityRadius != that.defaultEntityRadius)

   25

       return false;

   25 | return false;

   Preondition Violations
   Unmatched return false;

   26

       if (!ObjectUtilities.equal(this.legendItemLabelGenerator, that.legendItemLabelGenerator))

   26 | if (! ObjectUtilities.equal(this.legendItemLabelGenerator, that.legendItemLabelGenerator))
   26 | if (! ShapeUtilities.equal(this.line, that.line))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   legendItemLabelGenerator | line | VARIABLE_NAME_MISMATCH
   org.jfree.chart.labels.XYSeriesLabelGenerator | java.awt.Shape | VARIABLE_TYPE_MISMATCH
   org.jfree.util.ObjectUtilities | org.jfree.util.ShapeUtilities | VARIABLE_TYPE_MISMATCH

   Preondition Violations

   Type org.jfree.chart.labels.XYSeriesLabelGenerator of variable this.legendItemLabelGenerator does not match with type java.awt.Shape of variable this.line
   - Make classes org.jfree.chart.labels.XYSeriesLabelGenerator and java.awt.Shape extend a common superclass

   Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.ShapeUtilities of variable ShapeUtilities
   - Make classes org.jfree.util.ObjectUtilities and org.jfree.util.ShapeUtilities extend a common superclass

   26

       if (!ShapeUtilities.equal(this.line, that.line))

   27

       return false;

   27 | return false;
   27 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   27

       return false;

   28

       if (!ObjectUtilities.equal(this.legendItemToolTipGenerator, that.legendItemToolTipGenerator))

   28 | if (! ObjectUtilities.equal(this.legendItemToolTipGenerator, that.legendItemToolTipGenerator))
   28 | if (! PaintUtilities.equal(this.linePaint, that.linePaint))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   legendItemToolTipGenerator | linePaint | VARIABLE_NAME_MISMATCH
   org.jfree.chart.labels.XYSeriesLabelGenerator | java.awt.Paint | VARIABLE_TYPE_MISMATCH
   org.jfree.util.ObjectUtilities | org.jfree.util.PaintUtilities | VARIABLE_TYPE_MISMATCH

   Preondition Violations

   Type org.jfree.chart.labels.XYSeriesLabelGenerator of variable this.legendItemToolTipGenerator does not match with type java.awt.Paint of variable this.linePaint
   - Make classes org.jfree.chart.labels.XYSeriesLabelGenerator and java.awt.Paint extend a common superclass

   Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.PaintUtilities of variable PaintUtilities
   - Make classes org.jfree.util.ObjectUtilities and org.jfree.util.PaintUtilities extend a common superclass

   28

       if (!PaintUtilities.equal(this.linePaint, that.linePaint))

   29

       return false;

   29 | return false;
   29 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   29

       return false;

   30

       if (!ObjectUtilities.equal(this.legendItemURLGenerator, that.legendItemURLGenerator))

   30 | if (! ObjectUtilities.equal(this.legendItemURLGenerator, that.legendItemURLGenerator))
   30 | if (! ObjectUtilities.equal(this.lineStroke, that.lineStroke))

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   legendItemURLGenerator | lineStroke | VARIABLE_NAME_MISMATCH
   org.jfree.chart.labels.XYSeriesLabelGenerator | java.awt.Stroke | VARIABLE_TYPE_MISMATCH

   Preondition Violations

   Type org.jfree.chart.labels.XYSeriesLabelGenerator of variable this.legendItemURLGenerator does not match with type java.awt.Stroke of variable this.lineStroke
   - Make classes org.jfree.chart.labels.XYSeriesLabelGenerator and java.awt.Stroke extend a common superclass

   30

       if (!ObjectUtilities.equal(this.lineStroke, that.lineStroke))

   31

       return false;

   31 | return false;
   31 | return false;

   Preondition Violations
   Conditional return false;
   Conditional return false;

   31

       return false;

   Precondition Violations (43)
   Row | Violation
   --- | ---
   1 | Type boolean of variable obj instanceof AbstractXYItemRenderer does not match with type boolean of variable obj instanceof LegendGraphic
   2 | Unmatched return false;
   3 | Type org.jfree.chart.labels.XYItemLabelGenerator of variable this.itemLabelGenerator does not match with type java.awt.Shape of variable this.shape
   4 | Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.ShapeUtilities of variable ShapeUtilities
   5 | Unmatched return false;
   6 | Unmatched return false;
   7 | Type org.jfree.chart.labels.XYItemLabelGenerator of variable this.baseItemLabelGenerator does not match with type java.awt.Paint of variable this.fillPaint
   8 | Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.PaintUtilities of variable PaintUtilities
   9 | Type org.jfree.chart.labels.XYToolTipGenerator of variable this.toolTipGenerator does not match with type org.jfree.ui.GradientPaintTransformer of variable this.fillPaintTransformer
   10 | Unmatched return false;
   11 | Unmatched return false;
   12 | Type org.jfree.chart.labels.XYToolTipGenerator of variable this.baseToolTipGenerator does not match with type java.awt.Paint of variable this.outlinePaint
   13 | Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.PaintUtilities of variable PaintUtilities
   14 | Type org.jfree.chart.urls.XYURLGenerator of variable this.urlGenerator does not match with type java.awt.Stroke of variable this.outlineStroke
   15 | Unmatched return false;
   16 | Unmatched return false;
   17 | Unmatched return false;
   18 | Unmatched return false;
   19 | Unmatched return false;
   20 | Unmatched return false;
   21 | Type org.jfree.chart.labels.XYSeriesLabelGenerator of variable this.legendItemLabelGenerator does not match with type java.awt.Shape of variable this.line
   22 | Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.ShapeUtilities of variable ShapeUtilities
   23 | Type org.jfree.chart.labels.XYSeriesLabelGenerator of variable this.legendItemToolTipGenerator does not match with type java.awt.Paint of variable this.linePaint
   24 | Type org.jfree.util.ObjectUtilities of variable ObjectUtilities does not match with type org.jfree.util.PaintUtilities of variable PaintUtilities
   25 | Type org.jfree.chart.labels.XYSeriesLabelGenerator of variable this.legendItemURLGenerator does not match with type java.awt.Stroke of variable this.lineStroke
   26 | Conditional return false;
   27 | Conditional return false;
   28 | Conditional return false;
   29 | Conditional return false;
   30 | Conditional return false;
   31 | Conditional return false;
   32 | Conditional return false;
   33 | Conditional return false;
   34 | Conditional return false;
   35 | Conditional return false;
   36 | Conditional return false;
   37 | Conditional return false;
   38 | Conditional return false;
   39 | Conditional return false;
   40 | Conditional return false;
   41 | Conditional return false;
   42 | Conditional return false;
   43 | Conditional return false;