Added ability to filter out results based on what you want and what you don't want. One key thing to note is that the hashcode method is very important when doing equals comparison as classes that use remove depend on it.