public Name join(Name rhs){
  List<NamePiece> newPieceList=new ArrayList<>();
  newPieceList.addAll(namePieces);
  newPieceList.addAll(rhs.namePieces);
  return new Name(newPieceList);
}

public Name join ( Name rhs ) { List < NamePiece > newPieceList = new ArrayList < > ( ) ; newPieceList . addAll ( namePieces ) ; newPieceList . addAll ( rhs . namePieces ) ; return new Name ( newPieceList ) ; }
returns a new name containing the pieces from this name plus the pieces of the given name added on the end .
