protected abstract T convertNode(CategoryNode n);
public StringNode(CategoryNode parent, string value) : base(parent) { this.value = value; }
public abstract void retoolNode(CategoryNode node);