void () { if(myPageSizes != null) { return; } myPageSizes = new ArrayList<>(); myNamesToPageSizes = new HashMap<>(); try { for (Element element : JDOMUtil.load(PageSizes.class.getResourceAsStream(PAGE_SIZES_RESOURCE)).getChildren(ELEMENT_SIZE)) { String name = element.getAttributeValue(ATTRIBUTE_NAME); final String widthStr = element.getAttributeValue(ATTRIBUTE_WIDTH); final String heightStr = element.getAttributeValue(ATTRIBUTE_HEIGHT); String unit = element.getAttributeValue(ATTRIBUTE_UNIT); final String unitName = unit.equals(UNIT_MM) ? EditorBundle.message("print.page.size.unit.mm") : EditorBundle.message("print.page.size.unit.in"); final String dimensions = EditorBundle.message("print.page.width.x.height.unit.template", widthStr, heightStr, unitName); double width = parsePageSize(widthStr); double height = parsePageSize(heightStr); if (unit.equals(UNIT_MM)) { width *= MM_TO_INCH; height *= MM_TO_INCH; } addPageSizeIn(name, dimensions, width, height); } } catch (Exception e) { LOG.error(e); } }