What I'm trying to do is fairly simple:

```
String example = "Τάχιστη αλώπηξ βαφής ψημένη γη - Mary Had A Little Lamb";
String upper = example.toUpperCase();

```

In Greek, only the first letter of an uppercase word should contain accented characters.

```
// upper contains the following (incorrect) string:
// ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ - MARY HAD A LITTLE LAMB

// correct string:
// ΤΑΧΙΣΤΗ ΑΛΩΠΗΞ ΒΑΦΗΣ ΨΗΜΕΝΗ ΓΗ - MARY HAD A LITTLE LAMB 

```

(The accents are hard to see, but they're there.)

According to the [Java 1.7 documentation](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#toUpperCase%28java.util.Locale%29), I should be able to pass a locale to `toUpperCase`, like so:

```
String upper = example.toUpperCase(new java.util.Locale("el"));

```

However, it looks like there are no specific rules for `toUpperCase` which handle Greek correctly. 

Is it possible to define the behavior of `toUpperCase` for a particular locale, so that I can ensure I get the correct result?

Alternatively, I can just write a utility class to handle this particular case. But if it's possible, I'd prefer to override this function per locale, in case this comes up for other languages.