try { m_reader.close(); } catch (Exception e) {  }
	public void run()	{		m_active = true;				BoundedList list = new BoundedList(m_numLines);		String line = null;				while (m_active) {			// Keep checking for new lines in the file			boolean updated = false;			try {				while ((line = m_reader.readLine()) != null) {					if (line.length() > 0) {												for (Iterator iter = m_filters.iterator(); iter.hasNext();) {                            Filter f = (Filter) iter.next();                            if (f.matches(line)) {                    			line = f.handleWatcherMatch(line);	                    		}                           }												// Make sure the filter didn't set the line to null...						if (line != null) {							updated = true;							list.put(line);														if (m_console) {								// Dump the latest line to the console								System.out.println(line);							}						}					}				}								if (updated) {					// Notify listeners					for (Iterator i = m_listeners.iterator(); i.hasNext();) {						WatcherUpdateListener l = (WatcherUpdateListener) i.next();						l.update(list);					}				}								sleep(m_interval * 1000);			}			catch (IOException e) {				e.printStackTrace();			}			catch (InterruptedException e) {				// Ignore. If we have been stopped, the while condition will fail.				}		}	}