public QualifiedName rest() { if (isSimpleName()) { throw new UnsupportedOperationException(); } if (base.isSimpleName()) { return new QualifiedName(name); } else { return new QualifiedName(base.rest(), name); } }