m_receivedReportInLastInterval = true; } else { m_receivedReportInLastInterval = false;
	public void run()	{	    while (!m_stopSampler) {		m_currentTime = System.currentTimeMillis();				final long wakeUpTime = m_currentTime + m_sampleInterval;		while (m_currentTime < wakeUpTime) {		    try {			Thread.sleep(wakeUpTime - m_currentTime);			m_currentTime = wakeUpTime;		    }		    catch(InterruptedException e) {			m_currentTime = System.currentTimeMillis();		    }		}		for (int i=0; i<m_accumulatorArray.length; i++) {		    m_accumulatorArray[i].fireSample();		}		m_totalSampleAccumulator.fireSample();		final int state = getState();		if (m_receivedReport) {		    ++m_sampleCount;		}				if (state == STATE_CAPTURING) {		    if (m_receivedReport) {			final int collectSampleCount =			    m_properties.getCollectSampleCount();			if (collectSampleCount != 0 &&			    m_sampleCount >= collectSampleCount) {			    setState(STATE_STOPPED);			}		    }		}		else if (state == STATE_WAITING_FOR_TRIGGER) {		    if (m_sampleCount >= m_properties.getIgnoreSampleCount()) {			setState(STATE_CAPTURING);		    }		}		fireModelUpdate();		m_receivedReport = false;	    }	}