ID (final ID id, final String stringSelector, Object... args) { Pointer selector = createSelector(stringSelector); if (!id.equals(ID.NIL) && !invoke(id, "respondsToSelector:", selector).booleanValue()) { throw new RuntimeException(String.format("Missing selector %s for %s", stringSelector, toStringViaUTF8(invoke(id, "description")))); } return invoke(id, selector, args); }