private final com.apple.jobjc.Invoke.MsgSend get_decimalValue_IMetInst() {
   return ((decimalValue_IMetInst != null)
       ? (decimalValue_IMetInst)
       : (decimalValue_IMetInst =
           new com.apple.jobjc.Invoke.MsgSend(
               getRuntime(),
               "decimalValue",
               com.apple.jobjc.foundation.NSDecimal.getStructCoder())));
 }
 private final com.apple.jobjc.Invoke.MsgSend get_initWithDecimal_IMetInst() {
   return ((initWithDecimal_IMetInst != null)
       ? (initWithDecimal_IMetInst)
       : (initWithDecimal_IMetInst =
           new com.apple.jobjc.Invoke.MsgSend(
               getRuntime(),
               "initWithDecimal:",
               com.apple.jobjc.Coder.IDCoder.INST,
               com.apple.jobjc.foundation.NSDecimal.getStructCoder())));
 }
  public <T extends com.apple.jobjc.ID> T initWithDecimal(
      final com.apple.jobjc.foundation.NSDecimal dcm) {
    final com.apple.jobjc.Invoke.MsgSend initWithDecimal_IMetInst = get_initWithDecimal_IMetInst();

    final com.apple.jobjc.NativeArgumentBuffer nativeBuffer = getRuntime().getThreadLocalState();
    initWithDecimal_IMetInst.init(nativeBuffer, this);
    com.apple.jobjc.foundation.NSDecimal.getStructCoder().push(nativeBuffer, dcm);
    initWithDecimal_IMetInst.invoke(nativeBuffer);
    final com.apple.jobjc.ID returnValue =
        (com.apple.jobjc.ID) (com.apple.jobjc.Coder.IDCoder.INST.pop(nativeBuffer));
    return (T) returnValue;
  }