10-1-2

AxisSpace space = new AxisSpace(); PlotOrientation orientation = getOrientation(); // work out the space required by the domain axis... AxisSpace fixed = getFixedRangeAxisSpace(); if (fixed != null) { if (orientation == PlotOrientation.VERTICAL) { space.setLeft(fixed.getLeft()); space.setRight(fixed.getRight()); } else if (orientation == PlotOrientation.HORIZONTAL) { space.setTop(fixed.getTop()); space.setBottom(fixed.getBottom()); } } else { ValueAxis valueAxis = getRangeAxis(); RectangleEdge valueEdge = Plot.resolveRangeAxisLocation( getRangeAxisLocation(), orientation); if (valueAxis != null) { space = valueAxis.reserveSpace(g2, this, plotArea, valueEdge, space); } } Rectangle2D adjustedPlotArea = space.shrink(plotArea, null); // work out the maximum height or width of the non-shared axes... int n = this.subplots.size(); // calculate plotAreas of all sub-plots, maximum vertical/horizontal // axis width/height this.subplotArea = new Rectangle2D[n]; double x = adjustedPlotArea.getX(); double y = adjustedPlotArea.getY(); double usableSize = 0.0; if (orientation == PlotOrientation.VERTICAL) { usableSize = adjustedPlotArea.getWidth() - this.gap * (n - 1); } else if (orientation == PlotOrientation.HORIZONTAL) { usableSize = adjustedPlotArea.getHeight() - this.gap * (n - 1); } for (int i = 0; i < n; i++) { CategoryPlot plot = (CategoryPlot) this.subplots.get(i); // calculate sub-plot area if (orientation == PlotOrientation.VERTICAL) { double w = usableSize * plot.getWeight() / this.totalWeight; this.subplotArea[i] = new Rectangle2D.Double(x, y, w, adjustedPlotArea.getHeight()); x = x + w + this.gap; } else if (orientation == PlotOrientation.HORIZONTAL) { double h = usableSize * plot.getWeight() / this.totalWeight; this.subplotArea[i] = new Rectangle2D.Double(x, y, adjustedPlotArea.getWidth(), h); y = y + h + this.gap; } AxisSpace subSpace = plot.calculateDomainAxisSpace(g2, this.subplotArea[i], null); space.ensureAtLeast(subSpace); } return space;
AxisSpace space = new AxisSpace(); PlotOrientation orientation = getOrientation(); // work out the space required by the domain axis... AxisSpace fixed = getFixedDomainAxisSpace(); if (fixed != null) { if (orientation == PlotOrientation.HORIZONTAL) { space.setLeft(fixed.getLeft()); space.setRight(fixed.getRight()); } else if (orientation == PlotOrientation.VERTICAL) { space.setTop(fixed.getTop()); space.setBottom(fixed.getBottom()); } } else { ValueAxis xAxis = getDomainAxis(); RectangleEdge xEdge = Plot.resolveDomainAxisLocation( getDomainAxisLocation(), orientation); if (xAxis != null) { space = xAxis.reserveSpace(g2, this, plotArea, xEdge, space); } } Rectangle2D adjustedPlotArea = space.shrink(plotArea, null); // work out the maximum height or width of the non-shared axes... int n = this.subplots.size(); this.subplotAreas = new Rectangle2D[n]; double x = adjustedPlotArea.getX(); double y = adjustedPlotArea.getY(); double usableSize = 0.0; if (orientation == PlotOrientation.HORIZONTAL) { usableSize = adjustedPlotArea.getWidth() - this.gap * (n - 1); } else if (orientation == PlotOrientation.VERTICAL) { usableSize = adjustedPlotArea.getHeight() - this.gap * (n - 1); } for (int i = 0; i < n; i++) { XYPlot plot = (XYPlot) this.subplots.get(i); // calculate sub-plot area if (orientation == PlotOrientation.HORIZONTAL) { double w = usableSize * plot.getWeight() / this.totalWeight; this.subplotAreas[i] = new Rectangle2D.Double(x, y, w, adjustedPlotArea.getHeight()); x = x + w + this.gap; } else if (orientation == PlotOrientation.VERTICAL) { double h = usableSize * plot.getWeight() / this.totalWeight; this.subplotAreas[i] = new Rectangle2D.Double(x, y, adjustedPlotArea.getWidth(), h); y = y + h + this.gap; } AxisSpace subSpace = plot.calculateRangeAxisSpace(g2, this.subplotAreas[i], null); space.ensureAtLeast(subSpace); } return space;

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

1

    AxisSpace space = new AxisSpace();  ↵

1

    AxisSpace space = new AxisSpace();↵

2

            PlotOrientation orientation = getOrientation();↵

2

            PlotOrientation orientation = getOrientation();↵

3

            ↵

4

            // work out the space required by the domain axis...↵

3

            // work out the space required by the domain axis...↵

5

            AxisSpace fixed = getFixedRangeAxisSpace();↵

4

            AxisSpace fixed = getFixedDomainAxisSpace();↵

6

            if (fixed != null) {↵

5

            if (fixed != null) {↵

7

                if (orientation == PlotOrientation.VERTICAL) {↵

6

                if (orientation == PlotOrientation.HORIZONTAL) {↵

8

                    space.setLeft(fixed.getLeft());↵

7

                    space.setLeft(fixed.getLeft());↵

9

                    space.setRight(fixed.getRight());↵

8

                    space.setRight(fixed.getRight());↵

10

                }↵

9

                }↵

11

                else if (orientation == PlotOrientation.HORIZONTAL) {↵

10

                else if (orientation == PlotOrientation.VERTICAL) {↵

12

                    space.setTop(fixed.getTop());↵

11

                    space.setTop(fixed.getTop());↵

13

                    space.setBottom(fixed.getBottom());                ↵

12

                    space.setBottom(fixed.getBottom());↵

14

                }↵

13

                }↵

15

            }↵

14

            }↵

16

            else {↵

15

            else {↵

17

                ValueAxis valueAxis = getRangeAxis();↵

16

                ValueAxis xAxis = getDomainAxis();↵

18

                RectangleEdge valueEdge = Plot.resolveRangeAxisLocation(↵

17

                RectangleEdge xEdge = Plot.resolveDomainAxisLocation(↵

19

                        getRangeAxisLocation(), orientation);↵

18

                        getDomainAxisLocation(), orientation);↵

20

                if (valueAxis != null) {↵

19

                if (xAxis != null) {↵

21

                    space = valueAxis.reserveSpace(g2, this, plotArea, valueEdge, ↵

20

                    space = xAxis.reserveSpace(g2, this, plotArea, xEdge, ↵

22

                            space);↵

21

    space);↵

23

                }↵

22

                }↵

24

            }↵

23

            }↵

25

            ↵

26

            Rectangle2D adjustedPlotArea = space.shrink(plotArea, null);↵

24

            Rectangle2D adjustedPlotArea = space.shrink(plotArea, null);↵

27

            // work out the maximum height or width of the non-shared axes...↵

25

            // work out the maximum height or width of the non-shared axes...↵

28

            int n = this.subplots.size();
    ↵

26

            int n = this.subplots.size();
    ↵

29

            // calculate plotAreas of all sub-plots, maximum vertical/horizontal ↵

30

            // axis width/height
    ↵

31

            this.subplotArea = new Rectangle2D[n];↵

27

            this.subplotAreas = new Rectangle2D[n];↵

32

            double x = adjustedPlotArea.getX();↵

28

            double x = adjustedPlotArea.getX();↵

33

            double y = adjustedPlotArea.getY();↵

29

            double y = adjustedPlotArea.getY();↵

34

            double usableSize = 0.0;↵

30

            double usableSize = 0.0;↵

35

            if (orientation == PlotOrientation.VERTICAL) {↵

31

            if (orientation == PlotOrientation.HORIZONTAL) {↵

36

                usableSize = adjustedPlotArea.getWidth() - this.gap * (n - 1);↵

32

                usableSize = adjustedPlotArea.getWidth() - this.gap * (n - 1);↵

37

            }↵

33

            }↵

38

            else if (orientation == PlotOrientation.HORIZONTAL) {↵

34

            else if (orientation == PlotOrientation.VERTICAL) {↵

39

                usableSize = adjustedPlotArea.getHeight() - this.gap * (n - 1);↵

35

                usableSize = adjustedPlotArea.getHeight() - this.gap * (n - 1);↵

40

            }↵

36

            }↵

41

            for (int i = 0; i < n; i++) {↵

37

            for (int i = 0; i < n; i++) {↵

42

                CategoryPlot plot = (CategoryPlot) this.subplots.get(i);↵

38

                XYPlot plot = (XYPlot) this.subplots.get(i);↵

43

                // calculate sub-plot area↵

39

                // calculate sub-plot area↵

44

                if (orientation == PlotOrientation.VERTICAL) {↵

40

                if (orientation == PlotOrientation.HORIZONTAL) {↵

45

                    double w = usableSize * plot.getWeight() / this.totalWeight;↵

41

                    double w = usableSize * plot.getWeight() / this.totalWeight;↵

46

                    this.subplotArea[i] = new Rectangle2D.Double(x, y, w, ↵

42

                    this.subplotAreas[i] = new Rectangle2D.Double(x, y, w,↵

47

                            adjustedPlotArea.getHeight());↵

43

                            adjustedPlotArea.getHeight());↵

48

                    x = x + w + this.gap;↵

44

                    x = x + w + this.gap;↵

49

                }↵

45

                }↵

50

                else if (orientation == PlotOrientation.HORIZONTAL) {↵

46

                else if (orientation == PlotOrientation.VERTICAL) {↵

51

                    double h = usableSize * plot.getWeight() / this.totalWeight;↵

47

                    double h = usableSize * plot.getWeight() / this.totalWeight;↵

52

                    this.subplotArea[i] = new Rectangle2D.Double(x, y, ↵

48

                    this.subplotAreas[i] = new Rectangle2D.Double(x, y,↵

53

                            adjustedPlotArea.getWidth(), h);↵

49

                            adjustedPlotArea.getWidth(), h);↵

54

                    y = y + h + this.gap;↵

50

                    y = y + h + this.gap;↵

55

                }↵

51

                }↵

56

                AxisSpace subSpace = plot.calculateDomainAxisSpace(g2, ↵

52

                AxisSpace subSpace = plot.calculateRangeAxisSpace(g2,↵

57

                        this.subplotArea[i], null);↵

53

                        this.subplotAreas[i], null);↵

58

                space.ensureAtLeast(subSpace);↵

54

                space.ensureAtLeast(subSpace);↵

59

            }↵

55

            }↵

60

            return space;

56

            return space;

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) | 2.7
Clones location | Clones are in different classes having the same super class
Number of node comparisons | 251

1. {Non-refactorable}

   Mapping Summary
   Number of mapped statements | 37
   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) | 20.6
   Clone type | Type 2

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

   1

       AxisSpace space = new AxisSpace();

   1

       AxisSpace space = new AxisSpace();

   2

       PlotOrientation orientation = getOrientation();

   2

       PlotOrientation orientation = getOrientation();

   3

       AxisSpace fixed = getFixedRangeAxisSpace();

   3 | AxisSpace fixed = getFixedRangeAxisSpace();
   3 | AxisSpace fixed = getFixedDomainAxisSpace();

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   getFixedRangeAxisSpace | getFixedDomainAxisSpace | METHOD_INVOCATION_NAME_MISMATCH

   3

       AxisSpace fixed = getFixedDomainAxisSpace();

   4

       if (fixed != null)

   4

       if (fixed != null)

   5

       if (orientation == PlotOrientation.VERTICAL)

   5 | if (orientation == PlotOrientation.VERTICAL)
   5 | if (orientation == PlotOrientation.HORIZONTAL)

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   VERTICAL | HORIZONTAL | VARIABLE_NAME_MISMATCH

   5

       if (orientation == PlotOrientation.HORIZONTAL)

   6

       space.setLeft(fixed.getLeft());

   6

       space.setLeft(fixed.getLeft());

   7

       space.setRight(fixed.getRight());

   7

       space.setRight(fixed.getRight());

   8

       else if (orientation == PlotOrientation.HORIZONTAL)

   8 | else if (orientation == PlotOrientation.HORIZONTAL)
   8 | else if (orientation == PlotOrientation.VERTICAL)

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   HORIZONTAL | VERTICAL | VARIABLE_NAME_MISMATCH

   8

       else if (orientation == PlotOrientation.VERTICAL)

   9

       space.setTop(fixed.getTop());

   9

       space.setTop(fixed.getTop());

   10

       space.setBottom(fixed.getBottom());

   10

       space.setBottom(fixed.getBottom());

       else

       else

   11

       ValueAxis valueAxis = getRangeAxis();

   11 | ValueAxis valueAxis = getRangeAxis();
   11 | ValueAxis xAxis = getDomainAxis();

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   valueAxis | xAxis | VARIABLE_NAME_MISMATCH
   getRangeAxis | getDomainAxis | METHOD_INVOCATION_NAME_MISMATCH

   11

       ValueAxis xAxis = getDomainAxis();

   12

       RectangleEdge valueEdge = Plot.resolveRangeAxisLocation(getRangeAxisLocation(), orientation);

   12 | RectangleEdge valueEdge = Plot.resolveRangeAxisLocation(getRangeAxisLocation(), orientation);
   12 | RectangleEdge xEdge = Plot.resolveDomainAxisLocation(getDomainAxisLocation(), orientation);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   valueEdge | xEdge | VARIABLE_NAME_MISMATCH
   resolveRangeAxisLocation | resolveDomainAxisLocation | METHOD_INVOCATION_NAME_MISMATCH
   getRangeAxisLocation | getDomainAxisLocation | METHOD_INVOCATION_NAME_MISMATCH

   Preondition Violations
   Expression Plot.resolveRangeAxisLocation(getRangeAxisLocation(),orientation) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   Expression Plot.resolveDomainAxisLocation(getDomainAxisLocation(),orientation) cannot be parameterized, because it has dependencies to/from statements that will be extracted

   12

       RectangleEdge xEdge = Plot.resolveDomainAxisLocation(getDomainAxisLocation(), orientation);

   13

       if (valueAxis != null)

   13 | if (valueAxis != null)
   13 | if (xAxis != null)

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

   13

       if (xAxis != null)

   14

       space = valueAxis.reserveSpace(g2, this, plotArea, valueEdge, space);

   14 | space = valueAxis.reserveSpace(g2, this, plotArea, valueEdge, space);
   14 | space = xAxis.reserveSpace(g2, this, plotArea, xEdge, space);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   valueEdge | xEdge | VARIABLE_NAME_MISMATCH
   valueAxis | xAxis | VARIABLE_NAME_MISMATCH

   14

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

   15

       Rectangle2D adjustedPlotArea = space.shrink(plotArea, null);

   15

       Rectangle2D adjustedPlotArea = space.shrink(plotArea, null);

   16

       int n = this.subplots.size();

   16

       int n = this.subplots.size();

   17

       this.subplotArea = new Rectangle2D[n];

   17 | this.subplotArea = new Rectangle2D[n];
   17 | this.subplotAreas = new Rectangle2D[n];

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   subplotArea | subplotAreas | VARIABLE_NAME_MISMATCH

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

   17

       this.subplotAreas = new Rectangle2D[n];

   18

       double x = adjustedPlotArea.getX();

   18

       double x = adjustedPlotArea.getX();

   19

       double y = adjustedPlotArea.getY();

   19

       double y = adjustedPlotArea.getY();

   20

       double usableSize = 0.0;

   20

       double usableSize = 0.0;

   21

       if (orientation == PlotOrientation.VERTICAL)

   21 | if (orientation == PlotOrientation.VERTICAL)
   21 | if (orientation == PlotOrientation.HORIZONTAL)

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   VERTICAL | HORIZONTAL | VARIABLE_NAME_MISMATCH

   21

       if (orientation == PlotOrientation.HORIZONTAL)

   22

       usableSize = adjustedPlotArea.getWidth() - this.gap * (n - 1);

   22

       usableSize = adjustedPlotArea.getWidth() - this.gap * (n - 1);

   23

       else if (orientation == PlotOrientation.HORIZONTAL)

   23 | else if (orientation == PlotOrientation.HORIZONTAL)
   23 | else if (orientation == PlotOrientation.VERTICAL)

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   HORIZONTAL | VERTICAL | VARIABLE_NAME_MISMATCH

   23

       else if (orientation == PlotOrientation.VERTICAL)

   24

       usableSize = adjustedPlotArea.getHeight() - this.gap * (n - 1);

   24

       usableSize = adjustedPlotArea.getHeight() - this.gap * (n - 1);

   25

       for (int i = 0; i < n; i++)

   25

       for (int i = 0; i < n; i++)

   26

       CategoryPlot plot = (CategoryPlot)this.subplots.get(i);

   26 | CategoryPlot plot = (CategoryPlot)this.subplots.get(i);
   26 | XYPlot plot = (XYPlot)this.subplots.get(i);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   org.jfree.chart.plot.CategoryPlot | org.jfree.chart.plot.XYPlot | SUBCLASS_TYPE_MISMATCH
   org.jfree.chart.plot.CategoryPlot | org.jfree.chart.plot.XYPlot | SUBCLASS_TYPE_MISMATCH
   org.jfree.chart.plot.CategoryPlot | org.jfree.chart.plot.XYPlot | SUBCLASS_TYPE_MISMATCH

   Preondition Violations
   Expression (CategoryPlot)this.subplots.get(i) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   Expression (XYPlot)this.subplots.get(i) cannot be parameterized, because it has dependencies to/from statements that will be extracted

   26

       XYPlot plot = (XYPlot)this.subplots.get(i);

   27

       if (orientation == PlotOrientation.VERTICAL)

   27 | if (orientation == PlotOrientation.VERTICAL)
   27 | if (orientation == PlotOrientation.HORIZONTAL)

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   VERTICAL | HORIZONTAL | VARIABLE_NAME_MISMATCH

   27

       if (orientation == PlotOrientation.HORIZONTAL)

   28

       double w = usableSize * plot.getWeight() / this.totalWeight;

   28 | double w = usableSize * plot.getWeight() / this.totalWeight;
   28 | double w = usableSize * plot.getWeight() / this.totalWeight;

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   org.jfree.chart.plot.CategoryPlot | org.jfree.chart.plot.XYPlot | SUBCLASS_TYPE_MISMATCH

   Preondition Violations
   Expression plot cannot be unified with expression plot , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public int getWeight()

   28

       double w = usableSize * plot.getWeight() / this.totalWeight;

   29

       this.subplotArea[i] = new Rectangle2D.Double(x, y, w, adjustedPlotArea.getHeight());

   29 | this.subplotArea[i] = new Rectangle2D.Double(x, y, w, adjustedPlotArea.getHeight());
   29 | this.subplotAreas[i] = new Rectangle2D.Double(x, y, w, adjustedPlotArea.getHeight());

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   subplotArea | subplotAreas | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.subplotArea cannot be parameterized, because it has dependencies to/from statements that will be extracted
   Expression this.subplotAreas cannot be parameterized, because it has dependencies to/from statements that will be extracted

   29

       this.subplotAreas[i] = new Rectangle2D.Double(x, y, w, adjustedPlotArea.getHeight());

   30

       x = x + w + this.gap;

   30

       x = x + w + this.gap;

   31

       else if (orientation == PlotOrientation.HORIZONTAL)

   31 | else if (orientation == PlotOrientation.HORIZONTAL)
   31 | else if (orientation == PlotOrientation.VERTICAL)

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   HORIZONTAL | VERTICAL | VARIABLE_NAME_MISMATCH

   31

       else if (orientation == PlotOrientation.VERTICAL)

   32

       double h = usableSize * plot.getWeight() / this.totalWeight;

   32 | double h = usableSize * plot.getWeight() / this.totalWeight;
   32 | double h = usableSize * plot.getWeight() / this.totalWeight;

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   org.jfree.chart.plot.CategoryPlot | org.jfree.chart.plot.XYPlot | SUBCLASS_TYPE_MISMATCH

   Preondition Violations
   Expression plot cannot be unified with expression plot , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public int getWeight()

   32

       double h = usableSize * plot.getWeight() / this.totalWeight;

   33

       this.subplotArea[i] = new Rectangle2D.Double(x, y, adjustedPlotArea.getWidth(), h);

   33 | this.subplotArea[i] = new Rectangle2D.Double(x, y, adjustedPlotArea.getWidth(), h);
   33 | this.subplotAreas[i] = new Rectangle2D.Double(x, y, adjustedPlotArea.getWidth(), h);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   subplotArea | subplotAreas | VARIABLE_NAME_MISMATCH

   Preondition Violations
   Expression this.subplotArea cannot be parameterized, because it has dependencies to/from statements that will be extracted
   Expression this.subplotAreas cannot be parameterized, because it has dependencies to/from statements that will be extracted

   33

       this.subplotAreas[i] = new Rectangle2D.Double(x, y, adjustedPlotArea.getWidth(), h);

   34

       y = y + h + this.gap;

   34

       y = y + h + this.gap;

   35

       AxisSpace subSpace = plot.calculateDomainAxisSpace(g2, this.subplotArea[i], null);

   35 | AxisSpace subSpace = plot.calculateDomainAxisSpace(g2, this.subplotArea[i], null);
   35 | AxisSpace subSpace = plot.calculateRangeAxisSpace(g2, this.subplotAreas[i], null);

   Differences
   Expression1 | Expression2 | Difference
   --- | --- | ---
   calculateDomainAxisSpace | calculateRangeAxisSpace | METHOD_INVOCATION_NAME_MISMATCH
   subplotArea | subplotAreas | VARIABLE_NAME_MISMATCH
   org.jfree.chart.plot.CategoryPlot | org.jfree.chart.plot.XYPlot | SUBCLASS_TYPE_MISMATCH

   Preondition Violations
   Expression plot.calculateDomainAxisSpace(g2,this.subplotArea[i],null) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   Expression plot.calculateRangeAxisSpace(g2,this.subplotAreas[i],null) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   Expression this.subplotArea cannot be parameterized, because it has dependencies to/from statements that will be extracted
   Expression this.subplotAreas cannot be parameterized, because it has dependencies to/from statements that will be extracted

   35

       AxisSpace subSpace = plot.calculateRangeAxisSpace(g2, this.subplotAreas[i], null);

   36

       space.ensureAtLeast(subSpace);

   36

       space.ensureAtLeast(subSpace);

   37

       return space;

   37

       return space;

   Precondition Violations (16)
   Row | Violation
   --- | ---
   1 | Expression Plot.resolveRangeAxisLocation(getRangeAxisLocation(),orientation) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   2 | Expression Plot.resolveDomainAxisLocation(getDomainAxisLocation(),orientation) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   3 | Expression this.subplotArea is a field being modified, and thus it cannot be parameterized
   4 | Expression this.subplotAreas is a field being modified, and thus it cannot be parameterized
   5 | Expression (CategoryPlot)this.subplots.get(i) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   6 | Expression (XYPlot)this.subplots.get(i) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   7 | Expression plot cannot be unified with expression plot , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public int getWeight()
   8 | Expression this.subplotArea cannot be parameterized, because it has dependencies to/from statements that will be extracted
   9 | Expression this.subplotAreas cannot be parameterized, because it has dependencies to/from statements that will be extracted
   10 | Expression plot cannot be unified with expression plot , because common superclass org.jfree.chart.plot.Plot does not declare member(s) public int getWeight()
   11 | Expression this.subplotArea cannot be parameterized, because it has dependencies to/from statements that will be extracted
   12 | Expression this.subplotAreas cannot be parameterized, because it has dependencies to/from statements that will be extracted
   13 | Expression plot.calculateDomainAxisSpace(g2,this.subplotArea[i],null) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   14 | Expression plot.calculateRangeAxisSpace(g2,this.subplotAreas[i],null) cannot be parameterized, because it has dependencies to/from statements that will be extracted
   15 | Expression this.subplotArea cannot be parameterized, because it has dependencies to/from statements that will be extracted
   16 | Expression this.subplotAreas cannot be parameterized, because it has dependencies to/from statements that will be extracted