code: public static StringBinding toUpperCase(ObservableValue<String> text, ObservableValue<Locale> locale) {
  		return Bindings.createStringBinding(() -> {
  			final Locale localeValue = locale.getValue() == null ? Locale.getDefault() : locale.getValue();
  			
  			return text.getValue() == null ? "" : text.getValue().toUpperCase(localeValue);
  		}, text, locale);
  	}
docs: Creates a string binding that contains the value of the given observable string converted to uppercase with the
  given locale. See {@link String#toUpperCase(Locale)}.
  
  If the given observable string has a value of `null` the created binding will contain an empty string.
  
  If the given observable locale has a value of `null` {@link Locale#getDefault()} will be used instead.
  
  @param text
  the source string that will used for the conversion.
  @param locale
  an observable containing the locale that will be used for conversion.
  @return a binding containing the uppercase string.