code: public String determineUsername() {
  		if (CollectionUtils.isEmpty(this.parsedAddresses)) {
  			return this.username;
  		}
  		Address address = this.parsedAddresses.get(0);
  		return (address.username != null) ? address.username : this.username;
  	}
docs: If addresses have been set and the first address has a username it is returned.
  Otherwise returns the result of calling {@code getUsername()}.
  @return the username
  @see #setAddresses(String)
  @see #getUsername()