The idea is to convert it to a temporary 2-char value representing the same language. Using this value for the conversion to 3 char yields the first entry in the 3 char map. If the simply use ConvertToThreeCharCode with an already 3 char code we only get the same code back.

Example:
```
Cto3(Cto2("fr")) == Cto3(Cto2("fre")) == Cto3(Cto2("fra"))
                 ==  Cto3("fre") == "fre"
                 != Cto3("fra") = "fra"
```

Regarding the own function: normally you don't like new functions in that file ;)