if (n == size - 1) return sname; return getParentName().get(n);
CompositeName thisp = this; for (int i=(size-1); i>n; i--) { thisp = thisp.getPrefix(); } return thisp.last();
  public CompositeName get(int n) {    int size = size();    if (n >= size) throw new IllegalArgumentException("Index out of range: " + n + ">=" + size);    if (n < 0) throw new IllegalArgumentException("Negative index: " + n);    if (n == size - 1) return sname;    return getParentName().get(n);  }