public <T> Collection<T> filter(Collection<T> collection, Predicate<T> predicate){
		ArrayList<T> temp = new ArrayList<T>();
		for(T t : collection){
			if(predicate.evaluate(t)){
				temp.add(t);
			}
		}
		return temp;
	}