/** * Creates a Tag with a value and a parent. * * @param type * The type of this <code>Tag</code>. * @param value * The value of this <code>Tag</code> * @param parent * The <code>Tag</code> which is considered as the predecessor of this * <code>Tag</code>. */ public Tag(String type, Object value, Tag parent) { this.value = value; this.type = type; this.parent = parent; if (this.parent != null) { this.parent.markParent(); } }