RuleBlocks are featherweight objects in the Block hierarchy. For each distinct pair of unscaled width and height values for which a rule appears in a document, a unique RuleBlock object is created. These are managed through static methods of the RuleBlock class. A RuleBlock simply maintains a width and height.
For each distinct 4-tuple of scale factor, ColorScheme, width % scale factor, and height % scale factor, a unique RuleView object is created. These are managed through static methods of the RuleView class. A RuleView object caches java.awt.Color objects representing the colors needed to draw its main part, top and right edges, and top right corner, as each of plain text, link text, and hilighted link text.