fork/copy from previous version with source and translation

http://bugzilla.redhat.com/show_bug.cgi?id=1104015
Instead of `unwrap` shouldn't this be calling `wrap`?
Because:
``` java
unwrap(Integer.class) == int.class
unwrap(int.class) == int.class

wrap(Integer.class) == Integer.class
wrap(int.class) == Integer.class
```
and
```java
isWrapperType(Integer.class) == true
isWrapperType(int.class) == false
```
Aleternatively, this could just ask
```java
isWrapperType(obj.getClass()) || obj.getClass().isPrimitive()
```