code: public static Language of(final Locale locale) {
  		requireNonNull(locale,"Locale cannot be null");
  		checkArgument(locale.getVariant().isEmpty(),"Language does not allow locale variants (%s)",locale.getVariant());
  		return new ImmutableLanguage(locale);
  	}
docs: Create a {@code Language} for a given {@code Locale}.
  
  @param locale
  the {@code Locale} for the {@code Language}
  @return a {@code Language} instance with the specified {@code Locale}
  @throws NullPointerException
  if {@code locale} is {@code null}
  @throws IllegalArgumentException
  if the provided locale is a variant (i.e.,
  {@link Locale#getVariant()} is not empty)