Rococoa { public static <T extends ObjCObject> T create(String ocClassName, Class<T> javaClass, String ocMethodName, Object... args) { boolean weOwnObject = Foundation.selectorNameMeansWeOwnReturnedObject(ocMethodName); boolean retain = !weOwnObject; return create(ocClassName, javaClass, ocMethodName, retain, args); } private  Rococoa(); static T createClass(String ocClassName, Class<T> type); static T create(String ocClassName, Class<T> javaClass, String ocMethodName, Object... args); static T create(String ocClassName, Class<T> javaClass); static T wrap(ID id, Class<T> javaClass); static T cast(ObjCObject object, Class<T> desiredType); static T wrap(ID id, Class<T> javaClass, boolean retain); @Deprecated static ID wrap(Object javaObject); static ObjCObject proxy(Object javaObject); static T proxy(Object javaObject, Class<T> javaType);  }
@Test public void testCreate() { NSNumber fortyTwo = NSNumber.CLASS.numberWithInt(42); assertEquals(42, fortyTwo.intValue()); }