File resource = getSystemBackup();
String resource = getSystemBackup();
    private GlyphRegression ()    {        // Retrieve last custom version if any        try {            // First, look for a custom version            File custom = getCustomBackup();            if (custom.exists()){                logger.info ("Deserializing GlyphRegression from custom"                             + " file " + custom);                shapeDescs = deserialize(new FileInputStream(custom));            }        } catch (FileNotFoundException ex) {            logger.warning ("Cannot find custom backup " +                            getCustomBackup());        }        // Second, use the system default        if (shapeDescs == null){            File resource = getSystemBackup();            InputStream is = GlyphRegression.class.getResourceAsStream                (resource.toString());            if (is != null) {                logger.info ("Deserializing GlyphRegression from " +                             "system resource " + resource);                shapeDescs = deserialize(is);            } else {                logger.warning ("Cannot find system resource " + resource);            }        }        // Basic check        if (shapeDescs != null) {            if (shapeDescs.length != outSize) {                logger.warning("Obsolete Regression data,"                               + " reconstructing from scratch");                shapeDescs = null;            }        }        if (shapeDescs == null) {            // Allocate shape descriptors, as a brand new one            logger.info ("Creating a brand new GlyphRegression");            shapeDescs = new ShapeDesc[outSize];            for (int s = outSize - 1; s >= 0; s--) {                shapeDescs[s] = new ShapeDesc(Shape.values()[s]);            }        }    }