public function NotificationGetNotificationHistoryVersions($notification_history_item = NULL, $start, $end = NULL, $module_id = NULL)
 {
     // $notification_hisotory_item : CbgrnNotificationItemVersionType class (only one)
     // $start                      : UNIX timestamp
     // $end                        : UNIX timestamp (optional)
     // $module_id                  : string ( grn.schedule, grn.message ...)
     $this->CheckAndSetHeader(__FUNCTION__);
     if ($notification_history_item !== NULL) {
         $reg_args["notification_history_item"] = $notification_history_item->getObjectVars();
     }
     $reg_args["start"] = gmdate(W3C_DATETIME_FORMAT, $start);
     if ($end !== NULL) {
         $reg_args["end"] = gmdate(W3C_DATETIME_FORMAT, $end);
     }
     if ($module_id !== NULL) {
         $reg_args["module_id"] = $module_id;
     }
     $this->encodeString($reg_args);
     $results = parent::NotificationGetNotificationHistoryVersions($reg_args);
     $this->methodClose();
     return $this->decodeString($results->notification_history_item);
 }