public void run()
	{
		while (mRun) {
			try {
				EventDescriptorObject lObject = mDataStorage.getData();
				
				if (lObject == null) 
				{
					mRun = false;
				} // if

				if (mRun) 
				{
					EventObject lEventObject = mDataOperator.readEvent(lObject
							.getType(), lObject.getIndex());

					String lMessage = lEventObject.getMessage();

					boolean lFind = true;

					for (String lTerm : mQueryList) {
						if (!lMessage.contains(lTerm)) 
						{
							lFind = false;
							break;
						} // if
					} // for
					
					if (lFind) 
					{
						for (String lTerm : SingleEventGenertatorProcess.COMMON_NON_KEYWORD) 
						{
							lMessage = lMessage.replace(lTerm, "");
						} // for
						lEventObject.setMessage(lMessage);
						
						mDataOperator.write(lEventObject,
								mDataType, lObject.getIndex());
					} // if
				}  // if
				
			} // try
			catch (Exception pException) {
				mLogger.error("Thread Interrupted");
				mLogger.debug(pException.toString());

				mRun = false;
			} // catch
		} // while
		
		if(mCountDownLatch != null)
		{
			mCountDownLatch.countDown();
		}  // if
	} // void run