code: public InnerMessagingItem getItem() {
      if (optin != null) {
        return optin;
      }
  
      if (postback != null) {
        return postback;
      }
  
      if (delivery != null) {
        return delivery;
      }
  
      if (read != null) {
        return read;
      }
  
      if (accountLinking != null) {
        return accountLinking;
      }
  
      if (message != null) {
        return message;
      }
  
      if (checkoutUpdate != null) {
        return checkoutUpdate;
      }
  
      if (payment != null) {
        return payment;
      }
  
      if (referral != null) {
        return referral;
      }
  
      if (policyEnforcement != null) {
        return policyEnforcement;
      }
  
      if (passThreadControl != null) {
        return passThreadControl;
      }
  
      if (takeThreadControl != null) {
        return takeThreadControl;
      }
  
      if (requestThreadControl != null) {
        return requestThreadControl;
      }
  
      if (appRoles != null) {
        return appRoles;
      }
  
      return null;
    }
docs: generic access to the inner item.
  
  depending on the inner elements the corresponding element is returned. So you can get an {@link OptinItem},
  {@link PostbackItem}, {@link DeliveryItem}, {@link AccountLinkingItem} or {@link MessageItem}
  
  @return the inner item.