private String unboxedClass(Class _class) {
    if (_class.equals(Boolean.TYPE)) {
      return "java.lang.Boolean";
    } else if (_class.equals(Character.TYPE)) {
      return "java.lang.Character";
    } else if (_class.equals(Byte.TYPE)) {
      return "java.lang.Byte";
    } else if (_class.equals(Short.TYPE)) {
      return "java.lang.Short";
    } else if (_class.equals(Integer.TYPE)) {
      return "java.lang.Integer";
    } else if (_class.equals(Long.TYPE)) {
      return "java.lang.Long";
    } else if (_class.equals(Float.TYPE)) {
      return "java.lang.Float";
    } else if (_class.equals(Double.TYPE)) {
      return "java.lang.Double";
    } else {
      throw new PanicException("Unrecognized primitive type: " + _class);
    }
  }