@Override public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof Name)) return false; Name name = (Name) o; if (!_label.equals(name.getLabel())) return false; if (hasChild()) return name.hasChild() && _child.equals(name.getChild()); else return !name.hasChild(); }
public void append(Name suffix) { Name name = this; while (name.hasChild()) name = name.getChild(); name.setChild(suffix); }