question: public Name join ( String identifier ) { validateLowerUnderscore ( identifier ) ; List < NamePiece > newPieceList = new ArrayList < > ( ) ; newPieceList . addAll ( namePieces ) ; newPieceList . add ( new NamePiece ( identifier , CaseFormat . LOWER_UNDERSCORE ) ) ; return new Name ( newPieceList ) ; }
target:  Returns a new Name containing the pieces from this Name plus the given identifier added on the end.