public void filter() {
		Map<Integer, Map<String,String>> newCollection = new HashMap<Integer, Map<String,String>>();
		int newID = 0;

		for (int i=0; i<originalCollection.size(); i++) {
			Map<String,String> currentLogEntry = originalCollection.get(Integer.valueOf(i));
			boolean good = true;

			for (FilterCriteria f : filters)
				/// testing all of the filters with the 'passes' method
				good = good && f.passes(currentLogEntry,clientRef.getTagsList());

			if(good) {
				/// the object satisfies all the filters' conditions, so it must be added to the
				/// new collection
				newCollection.put(Integer.valueOf(newID), currentLogEntry);
				newID++;
			}
		}

		/// updating the LogTracker with the filtered collection of logs
		clientRef.setFilteredLogsValues(newCollection);
		clientRef.setFilteredLogsCount(newCollection.size());
	}