private Insets parseInsets(String key) throws XPathExpressionException {
   Element elm = helper.xpathAsElement(key);
   int left = helper.getInt(elm, "left");
   int top = helper.getInt(elm, "top");
   int right = helper.getInt(elm, "right");
   int bottom = helper.getInt(elm, "bottom");
   Insets insets = new Insets(top, left, bottom, right);
   return insets;
 }
 private Integer parseInteger(String key) throws LafException, XPathExpressionException {
   Element element = helper.xpathAsElement(key);
   if (element == null) return null;
   String value = element.getTextContent();
   try {
     return Integer.valueOf(value, 10);
   } catch (NumberFormatException e) {
     throw new LafException(e);
   }
 }
 private Color parseColor(String key) throws XPathExpressionException, LafException {
   Element element = helper.xpathAsElement(key);
   if (element == null) return null;
   String value = element.getTextContent();
   String format = element.getAttribute("format");
   Color color = null;
   if ("hex".equals(format)) {
     Integer hex = Integer.valueOf(value, 16);
     color = new Color(hex, false);
   } else throw new LafException("unknown color format: " + format);
   return color;
 }