@Override
    public Text getText() {
        if (_hasChanged) {
            _text = new Text();

            for (DirectObject anObject : _contents) {
                _text.append(anObject.getText());
            }

            _text.indentTailLinesBy(2);
            _text.getLineAt(0).insert(0, "[ ");
            _text.getLineAt(_text.lineCount() - 1).append(" ]");

            _hasChanged = false;
        }

        return _text;
    }