Starts a change based {@code MonitoringJob} with the parameters provided.Monitoring events will be sent when the {@code StatusVariable}s of this job are updated. All specified {@code StatusVariable}s must exist when the job is started, and all must support update notifications. The initiator string is used in the {@code mon.listener.id} field of allevents triggered by the job, to allow filtering the events based on the initiator.
The {@code count} parameter specifies the number of changes that musthappen to a {@code StatusVariable} before a new notification is sent,this must be a positive integer.
The entity which initiates a {@code MonitoringJob} needs to hold{@code MonitorPermission} for all the specified target{@code StatusVariable}s with the {@code startjob} action present.
@param initiator the identifier of the entity that initiated the job
@param statusVariables the list of {@code StatusVariable}s to be monitored, with each {@code StatusVariable} name given in[Monitorable_PID]/[StatusVariable_ID] format
@param count the number of changes that must happen to a{@code StatusVariable} before a new notification is sent
@return the successfully started job object, cannot be {@code null}
@throws java.lang.IllegalArgumentException if the list of{@code StatusVariable} names contains an invalid or non-existing{@code StatusVariable}, or one that does not support notifications; if the {@code initiator} is {@code null} or empty;or if {@code count} is invalid
@throws java.lang.SecurityException if the caller does not hold{@code MonitorPermission} for all the specified{@code StatusVariable}s, with the {@code startjob} action present