public static ID safeInvoke(final String stringCls, final String stringSelector, Object... args) {
    ID cls = getObjcClass(stringCls);
    Pointer selector = createSelector(stringSelector);
    if (!invoke(cls, "respondsToSelector:", selector).booleanValue()) {
      throw new RuntimeException(String.format("Missing selector %s for %s", stringSelector, stringCls));
    }
    return invoke(cls, selector, args);
  }
public static ID safeInvoke(final String stringCls, final String stringSelector, Object... args)