layer at (0,0) size 785x812
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x812
  RenderBlock {HTML} at (0,0) size 785x812
    RenderBody {BODY} at (8,8) size 769x796
      RenderTable {TABLE} at (0,0) size 769x796 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x794
          RenderTableRow {TR} at (0,0) size 767x22
            RenderTableCell {TD} at (0,0) size 72x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (1,1) size 20x19
                text run at (1,1) width 20: "foo"
            RenderTableCell {TD} at (71,0) size 697x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
              RenderText {#text} at (1,1) size 20x19
                text run at (1,1) width 20: "bar"
          RenderTableRow {TR} at (0,22) size 767x772
            RenderTableCell {TD} at (0,22) size 768x772 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=2]
              RenderTable {TABLE} at (1,1) size 766x770 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 764x768
                  RenderTableRow {TR} at (0,2) size 764x764
                    RenderTableCell {TD} at (2,2) size 760x764 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (2,2) size 713x39
                        text run at (2,2) width 713: "When the Whiten house burned down in Renfrew Ontario, the insurer denied liability, asserting that the Plaintiff Daphne"
                        text run at (2,22) width 395: "Whiten was the cause of the fire herself and had committed arson."
                      RenderBR {BR} at (397,37) size 0x0
                      RenderBR {BR} at (2,42) size 0x19
                      RenderText {#text} at (2,62) size 734x79
                        text run at (2,62) width 734: "The insurance company had not only refused to pay, but had received opinions from its adjuster, its expert engineer and an"
                        text run at (2,82) width 711: "investigative agency that the fire was accidental. Its own adjuster had recommended the claim be paid. The defendant's"
                        text run at (2,102) width 726: "counsel, as the court found, had pressured experts to provide opinions supporting an arson defence and withheld relevant"
                        text run at (2,122) width 578: "information from the experts and gave them misleading information to buttress the arson defence."
                      RenderBR {BR} at (580,137) size 0x0
                      RenderBR {BR} at (2,142) size 0x19
                      RenderText {#text} at (2,162) size 600x19
                        text run at (2,162) width 600: "After the fire the Plaintiff and her husband, Keith Whiten needed welfare assistance to support them."
                      RenderBR {BR} at (602,177) size 0x0
                      RenderBR {BR} at (2,182) size 0x19
                      RenderText {#text} at (2,202) size 755x59
                        text run at (2,202) width 755: "The jury, however, in a 4 week trial, disagreed with the position of the insurance company. It awarded not only the policy sum"
                        text run at (2,222) width 724: "against the insurer, but also was sufficiently annoyed with the conduct of the company to award a further punitive damage"
                        text run at (2,242) width 120: "award of $1 million."
                      RenderBR {BR} at (122,257) size 0x0
                      RenderBR {BR} at (2,262) size 0x19
                      RenderText {#text} at (2,282) size 748x59
                        text run at (2,282) width 718: "The company appealed. At the time of the appeal, the company acknowledged that the fire was accidental. The Ontario"
                        text run at (2,302) width 748: "Court of Appeal reversed the jury award and in a 2-1 decision determined that there should be a cap on punitive damages of"
                        text run at (2,322) width 64: "$100,000."
                      RenderBR {BR} at (66,337) size 0x0
                      RenderBR {BR} at (2,342) size 0x19
                      RenderText {#text} at (2,362) size 730x99
                        text run at (2,362) width 716: "Lawyers became hard pressed to reconcile this decision with a prior case, Hill vs. Church of Scientology. Hill, a Crown"
                        text run at (2,382) width 640: "Attorney, had sued the Church for libel due to statements made accusing him of breaching a judge's order. "
                        text run at (642,382) width 90: "He succeeded."
                        text run at (2,402) width 707: "The jury at trial, aside from awarding compensatory damages, also awarded a punitive damage sum of $800,000. The"
                        text run at (2,422) width 719: "decision was appealed without success to the Ontario Court of Appeal and again to the Supreme Court of Canada. The"
                        text run at (2,442) width 393: "award of punitive damages was sustained at both appellate levels."
                      RenderBR {BR} at (395,457) size 0x0
                      RenderBR {BR} at (2,462) size 0x19
                      RenderText {#text} at (2,482) size 754x59
                        text run at (2,482) width 754: "In the Whiten case, the insurance industry is mounting all its ammunition to maintain the notion of a cap on punitive damages. It"
                        text run at (2,502) width 727: "is expected that the Court of Appeal decision will receive a rough ride in the Supreme Court, given the Hill decision a few"
                        text run at (2,522) width 69: "years prior."
                      RenderBR {BR} at (71,537) size 0x0
                      RenderBR {BR} at (2,542) size 0x19
                      RenderText {#text} at (2,562) size 752x59
                        text run at (2,562) width 746: "The concept of punitive damages is designed to act as civil penalty imposed on a wrong doer, which has conducted itself in a"
                        text run at (2,582) width 752: "vindictive manner, which offends one's sense of propriety - high handed shocking behaviour. Traditionally the financial abilities"
                        text run at (2,602) width 602: "of the wrong doer are a factor - the deeper the pockets the more substantial the sum to be awarded."
                      RenderBR {BR} at (604,617) size 0x0
                      RenderBR {BR} at (2,622) size 0x19
                      RenderText {#text} at (2,642) size 741x99
                        text run at (2,642) width 715: "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,662) width 711: "dissenting reasons of Justice Laskin in Whiten were much in favour of maintaining the trial award - a lucid and powerful"
                        text run at (2,682) width 741: "dissent written by a much respected jurist. Much attention will be given to this decision. Oral argument is set for the week of"
                        text run at (2,702) width 730: "December 11th. A decision will likely be forthcoming in March to June time period. This decision will be no doubt a much"
                        text run at (2,722) width 355: "quoted decision for many years, regardless of the outcome."
                      RenderBR {BR} at (357,737) size 0x0
                      RenderBR {BR} at (2,742) size 0x19
