layer at (0,0) size 785x752
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x752
  RenderBlock {HTML} at (0,0) size 785x752
    RenderBody {BODY} at (8,8) size 769x736
      RenderTable {TABLE} at (0,0) size 769x736 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x734
          RenderTableRow {TR} at (0,0) size 767x20
            RenderTableCell {TD} at (0,0) size 75x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (1,1) size 22x18
                text run at (1,1) width 22: "foo"
            RenderTableCell {TD} at (74,0) size 694x20 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (1,1) size 21x18
                text run at (1,1) width 21: "bar"
          RenderTableRow {TR} at (0,20) size 767x714
            RenderTableCell {TD} at (0,20) size 768x714 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=2]
              RenderTable {TABLE} at (1,1) size 766x712 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 764x710
                  RenderTableRow {TR} at (0,2) size 764x706
                    RenderTableCell {TD} at (2,2) size 760x706 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,2) size 719x36
                        text run at (2,2) width 719: "When the Whiten house burned down in Renfrew Ontario, the insurer denied liability, asserting that the Plaintiff"
                        text run at (2,20) width 476: "Daphne Whiten was the cause of the fire herself and had committed arson."
                      RenderBR {BR} at (477,34) size 1x0
                      RenderBR {BR} at (2,38) size 0x18
                      RenderText {#text} at (2,56) size 742x72
                        text run at (2,56) width 738: "The insurance company had not only refused to pay, but had received opinions from its adjuster, its expert engineer"
                        text run at (2,74) width 731: "and an investigative agency that the fire was accidental. Its own adjuster had recommended the claim be paid. The"
                        text run at (2,92) width 735: "defendant's counsel, as the court found, had pressured experts to provide opinions supporting an arson defence and"
                        text run at (2,110) width 742: "withheld relevant information from the experts and gave them misleading information to buttress the arson defence."
                      RenderBR {BR} at (743,124) size 1x0
                      RenderBR {BR} at (2,128) size 0x18
                      RenderText {#text} at (2,146) size 644x18
                        text run at (2,146) width 644: "After the fire the Plaintiff and her husband, Keith Whiten needed welfare assistance to support them."
                      RenderBR {BR} at (645,160) size 1x0
                      RenderBR {BR} at (2,164) size 0x18
                      RenderText {#text} at (2,182) size 745x54
                        text run at (2,182) width 733: "The jury, however, in a 4 week trial, disagreed with the position of the insurance company. It awarded not only the"
                        text run at (2,200) width 745: "policy sum against the insurer, but also was sufficiently annoyed with the conduct of the company to award a further"
                        text run at (2,218) width 241: "punitive damage award of $1 million."
                      RenderBR {BR} at (242,232) size 1x0
                      RenderBR {BR} at (2,236) size 0x18
                      RenderText {#text} at (2,254) size 712x54
                        text run at (2,254) width 710: "The company appealed. At the time of the appeal, the company acknowledged that the fire was accidental. The"
                        text run at (2,272) width 712: "Ontario Court of Appeal reversed the jury award and in a 2-1 decision determined that there should be a cap on"
                        text run at (2,290) width 198: "punitive damages of $100,000."
                      RenderBR {BR} at (199,304) size 1x0
                      RenderBR {BR} at (2,308) size 0x18
                      RenderText {#text} at (2,326) size 753x90
                        text run at (2,326) width 717: "Lawyers became hard pressed to reconcile this decision with a prior case, Hill vs. Church of Scientology. Hill, a"
                        text run at (2,344) width 730: "Crown Attorney, had sued the Church for libel due to statements made accusing him of breaching a judge's order. "
                        text run at (731,344) width 19: "He"
                        text run at (2,362) width 729: "succeeded. The jury at trial, aside from awarding compensatory damages, also awarded a punitive damage sum of"
                        text run at (2,380) width 753: "$800,000. The decision was appealed without success to the Ontario Court of Appeal and again to the Supreme Court"
                        text run at (2,398) width 523: "of Canada. The award of punitive damages was sustained at both appellate levels."
                      RenderBR {BR} at (524,412) size 1x0
                      RenderBR {BR} at (2,416) size 0x18
                      RenderText {#text} at (2,434) size 746x54
                        text run at (2,434) width 746: "In the Whiten case, the insurance industry is mounting all its ammunition to maintain the notion of a cap on punitive"
                        text run at (2,452) width 735: "damages. It is expected that the Court of Appeal decision will receive a rough ride in the Supreme Court, given the"
                        text run at (2,470) width 198: "Hill decision a few years prior."
                      RenderBR {BR} at (199,484) size 1x0
                      RenderBR {BR} at (2,488) size 0x18
                      RenderText {#text} at (2,506) size 745x72
                        text run at (2,506) width 737: "The concept of punitive damages is designed to act as civil penalty imposed on a wrong doer, which has conducted"
                        text run at (2,524) width 745: "itself in a vindictive manner, which offends one's sense of propriety - high handed shocking behaviour. Traditionally"
                        text run at (2,542) width 706: "the financial abilities of the wrong doer are a factor - the deeper the pockets the more substantial the sum to be"
                        text run at (2,560) width 59: "awarded."
                      RenderBR {BR} at (60,574) size 1x0
                      RenderBR {BR} at (2,578) size 0x18
                      RenderText {#text} at (2,596) size 752x90
                        text run at (2,596) width 734: "Canadian courts have been reluctant to embrace the concept - awards such as Hill are rare. It is worthy of note that"
                        text run at (2,614) width 735: "the dissenting reasons of Justice Laskin in Whiten were much in favour of maintaining the trial award - a lucid and"
                        text run at (2,632) width 737: "powerful dissent written by a much respected jurist. Much attention will be given to this decision. Oral argument is"
                        text run at (2,650) width 752: "set for the week of December 11th. A decision will likely be forthcoming in March to June time period. This decision"
                        text run at (2,668) width 537: "will be no doubt a much quoted decision for many years, regardless of the outcome."
                      RenderBR {BR} at (538,682) size 1x0
                      RenderBR {BR} at (2,686) size 0x18
