@Override
    public Skin newSkin(String skinname, String author, String web, Path img) {
        if ((skinname == null) || skinname.equals("")) {
            IllegalArgumentException iae = new IllegalArgumentException("Name is null or empty!");
            Main.handleUnhandableProblem(iae);
        }

        Error err = cleanModel(); // Delete all files which are from the old skin.

        Skin skin = null;
        if (err == null) {
            skin = new Skin(Constants.RESHACKER_SCRIPT_PATH, Constants.SYSTEMFILE_AUTHUI_TMPPATH, Constants.UITEXT_TMP,
                    Constants.SYSTEMFILE_BASEBRD_TMPPATH);
            try {
                skin.create(skinname, author, web, img);

                {
                    LOGGER.debug("Skin created!");
                    LOGGER.debug(skin.toString());
                }

            } catch (IOException e) {
                LOGGER.error(e);
                skin = null;
            }
        }

        return skin;
    }