public void save(final Paypassage plugin) throws InvalidSignCreation {
        if(super.getSignLocation() == null){
            throw new InvalidSignCreation("You must choose a sign");
        }
        if(super.getDestination() == null){
            throw new InvalidSignCreation("You have to choose a destination first");
        }
        if(super.getName().equals("")){
            throw new InvalidSignCreation("You have to choose an unique name first");
        }
        if(super.getPrice() == -1){
            throw new InvalidSignCreation("You have to choose a price first");
        }
        final PPSign thisinstance = this;
        plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
            @Override
            public void run() {
                plugin.getDatabaseUtility().insertNewSign(thisinstance);
            }
        });
    }