The only thing is that _Introspector#decapitalize_ does a little more than just lower casing the first character. The doc says:

    Utility method to take a string and convert it to normal Java variable name capitalization. This normally means converting the first   
    character from upper case to lower case, but in the (unusual) special case when there is more than one character and both the first 
    and second characters are upper case, we leave it alone.

    Thus "FooBah" becomes "fooBah" and "X" becomes "x", but "URL" stays as "URL".

I think we should match this behaviour