@Override
    public boolean saveAsSkinToDefaultDirectory(Skin skin, String newName) {
        if (skin == null) {
            IllegalArgumentException iae = new IllegalArgumentException("Invalid skin!");
            LOGGER.error(iae.getMessage(), iae);

            throw iae;
        }

        if ((newName == null) || newName.equals("")) {
            IllegalArgumentException iae = new IllegalArgumentException("New name is invalid!");
            LOGGER.error(iae.getMessage(), iae);

            throw iae;
        }

        boolean ret = true;
        try {
            skin.setName(newName);
            skin.save(Constants.PROGRAM_SKINS_PATH, newName);

        } catch (IOException e) {
            LOGGER.error(e);
            ret = false;
        }

        if (ret) {
            skin.setSkinChanged(false);

            LOGGER.debug("Skin saved!");
            LOGGER.debug(skin);
        }

        return ret;
    }