@Override
    public final Label setText(String text) {
        if (text != null && !getText().equals(text)) {
            if (GenericLabel.getStringWidth(text, scale) >= width) {
                if (text.contains("\n")) {
                    String[] lines = text.split("\n");
                    String result = "";
                    for (String line : lines) {
                        result += wrapText(line) + "\n";
                    }
                    super.setText(result);
                } else {
                    super.setText(wrapText(text));
                }
            } else {
                super.setText(text);
            }
        }
        return this;
    }