layer at (0,0) size 785x734
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x734
  RenderBlock {HTML} at (0,0) size 785x734
    RenderBody {BODY} at (8,8) size 769x718
      RenderTable {TABLE} at (0,0) size 769x718 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x716
          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 21x17
                text run at (1,1) width 21: "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 20x17
                text run at (1,1) width 20: "bar"
          RenderTableRow {TR} at (0,20) size 767x696
            RenderTableCell {TD} at (0,20) size 768x696 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=2]
              RenderTable {TABLE} at (1,1) size 766x694 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 764x692
                  RenderTableRow {TR} at (0,2) size 764x688
                    RenderTableCell {TD} at (2,2) size 760x688 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,2) size 705x35
                        text run at (2,2) width 705: "When the Whiten house burned down in Renfrew Ontario, the insurer denied liability, asserting that the Plaintiff"
                        text run at (2,20) width 468: "Daphne Whiten was the cause of the fire herself and had committed arson."
                      RenderBR {BR} at (470,34) size 0x0
                      RenderBR {BR} at (2,38) size 0x17
                      RenderText {#text} at (2,56) size 752x71
                        text run at (2,56) width 752: "The insurance company had not only refused to pay, but had received opinions from its adjuster, its expert engineer and"
                        text run at (2,74) width 690: "an investigative agency that the fire was accidental. Its own adjuster had recommended the claim be paid. The"
                        text run at (2,92) width 722: "defendant's counsel, as the court found, had pressured experts to provide opinions supporting an arson defence and"
                        text run at (2,110) width 723: "withheld relevant information from the experts and gave them misleading information to buttress the arson defence."
                      RenderBR {BR} at (725,124) size 0x0
                      RenderBR {BR} at (2,128) size 0x17
                      RenderText {#text} at (2,146) size 631x17
                        text run at (2,146) width 631: "After the fire the Plaintiff and her husband, Keith Whiten needed welfare assistance to support them."
                      RenderBR {BR} at (633,160) size 0x0
                      RenderBR {BR} at (2,164) size 0x17
                      RenderText {#text} at (2,182) size 732x53
                        text run at (2,182) width 723: "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 732: "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 236: "punitive damage award of $1 million."
                      RenderBR {BR} at (238,232) size 0x0
                      RenderBR {BR} at (2,236) size 0x17
                      RenderText {#text} at (2,254) size 751x53
                        text run at (2,254) width 751: "The company appealed. At the time of the appeal, the company acknowledged that the fire was accidental. The Ontario"
                        text run at (2,272) width 703: "Court of Appeal reversed the jury award and in a 2-1 decision determined that there should be a cap on punitive"
                        text run at (2,290) width 140: "damages of $100,000."
                      RenderBR {BR} at (142,304) size 0x0
                      RenderBR {BR} at (2,308) size 0x17
                      RenderText {#text} at (2,326) size 753x89
                        text run at (2,326) width 753: "Lawyers became hard pressed to reconcile this decision with a prior case, Hill vs. Church of Scientology. Hill, a Crown"
                        text run at (2,344) width 671: "Attorney, had sued the Church for libel due to statements made accusing him of breaching a judge's order. "
                        text run at (673,344) width 19: "He"
                        text run at (2,362) width 715: "succeeded. The jury at trial, aside from awarding compensatory damages, also awarded a punitive damage sum of"
                        text run at (2,380) width 743: "$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 514: "of Canada. The award of punitive damages was sustained at both appellate levels."
                      RenderBR {BR} at (516,412) size 0x0
                      RenderBR {BR} at (2,416) size 0x17
                      RenderText {#text} at (2,434) size 749x53
                        text run at (2,434) width 727: "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 749: "damages. It is expected that the Court of Appeal decision will receive a rough ride in the Supreme Court, given the Hill"
                        text run at (2,470) width 166: "decision a few years prior."
                      RenderBR {BR} at (168,484) size 0x0
                      RenderBR {BR} at (2,488) size 0x17
                      RenderText {#text} at (2,506) size 755x53
                        text run at (2,506) width 725: "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 755: "itself in a vindictive manner, which offends one's sense of propriety - high handed shocking behaviour. Traditionally the"
                        text run at (2,542) width 729: "financial abilities of the wrong doer are a factor - the deeper the pockets the more substantial the sum to be awarded."
                      RenderBR {BR} at (731,556) size 0x0
                      RenderBR {BR} at (2,560) size 0x17
                      RenderText {#text} at (2,578) size 745x89
                        text run at (2,578) width 742: "Canadian courts have been reluctant to embrace the concept - awards such as Hill are rare. It is worthy of note that the"
                        text run at (2,596) width 696: "dissenting reasons of Justice Laskin in Whiten were much in favour of maintaining the trial award - a lucid and"
                        text run at (2,614) width 741: "powerful dissent written by a much respected jurist. Much attention will be given to this decision. Oral argument is set"
                        text run at (2,632) width 745: "for the week of December 11th. A decision will likely be forthcoming in March to June time period. This decision will"
                        text run at (2,650) width 499: "be no doubt a much quoted decision for many years, regardless of the outcome."
                      RenderBR {BR} at (501,664) size 0x0
                      RenderBR {BR} at (2,668) size 0x17
