I'm just wondering what the difference is between the getId() and getClientId(FacesContext) method of the UIComponent?
I guess the getClientId() 'generates an id if one does not exist.' Is that the big diff? Can't we expect every component to already have an id? I'm thinking especially during the validation or conversion phase. If a UIComponent is being validated, it's already been rendered at least once, so it would have to have an id, right?