@Override
    public void monitorFaxJobImpl(FaxClientSpi faxClientSpi,FaxJob faxJob)
    {
        //get fax job status
        FaxJobStatus faxJobStatus=faxClientSpi.getFaxJobStatus(faxJob);
        if(faxJobStatus==null)
        {
            throw new FaxException("Unable to extract fax job status for fax job: "+faxJob.getID());
        }

        synchronized(this.LOCK)
        {
            Map<FaxJob,FaxJobStatus> faxJobMap=this.data.get(faxClientSpi);
            if(faxJobMap==null)
            {
                faxJobMap=new HashMap<FaxJob,FaxJobStatus>(500);
                this.data.put(faxClientSpi,faxJobMap);
            }
            
            //add new fax job
            faxJobMap.put(faxJob,faxJobStatus);
            
            if(!this.pollerTask.isRunning())
            {
                this.pollerTask.startTask();
            }
        }
    }
@ Override public void monitorFaxJobImpl ( FaxClientSpi faxClientSpi , FaxJob faxJob ) { FaxJobStatus faxJobStatus = faxClientSpi . getFaxJobStatus ( faxJob ) ; if ( faxJobStatus == null ) { throw new FaxException ( "Unable to extract fax job status for fax job: " + faxJob . getID ( ) ) ; } synchronized ( this . LOCK ) { Map < FaxJob , FaxJobStatus > faxJobMap = this . data . get ( faxClientSpi ) ; if ( faxJobMap == null ) { faxJobMap = new HashMap < FaxJob , FaxJobStatus > ( 500 ) ; this . data . put ( faxClientSpi , faxJobMap ) ; } faxJobMap . put ( faxJob , faxJobStatus ) ; if ( ! this . pollerTask . isRunning ( ) ) { this . pollerTask . startTask ( ) ; } } }
This function starts monitoring the requested fax job.

@param   faxClientSpi
The fax client SPI
@param   faxJob
The fax job to monitor