if (input != null) {
// hook on property changes
ShapeGrammarModel grammar = (ShapeGrammarModel) input.getNode();
this.content = grammar;
grammar.addPropertyChangeListener(this);
for (NodeModel model : grammar.getShapes()) {
model.addPropertyChangeListener(this);
}
} else {
this.content = null;