1. What's the point of catching a `NullPointerException`? When do you expect it to happen?
2. I don't really like that this method mutates the list passed in as a parameter - and then also returns it, even though the returned value is actually redundant as the calling code already has a hold of the now modified list. You're kind of sharing the result of the operation in two ways at once, which feels redundant.
And I know it's often done that way, but I think it's bad practice nevertheless, and can lead to confusion.
Personally I'd prefer to be more explicit about what's going on, and either **a)** make a deep copy of the original list, and return an independent version of it (with entries removed), without affecting the original one - or **b)** make this method `void`, like [Collections.sort()][2].
See [command-query separation][3] principle. Making a method look like a query can lead me to believe it's a pure function, with no side effects, whereas it actually does cause side effects, mutating the input data.
3. The name is very vague - "remove", remove what?
4. Is the blacklisted data ("FIRST", "SECOND", "THIRD") likely to ever change? In the spirit of making this code more modular I would consider extracting that list to a separate parameter.
[Single responsibility principle][4] indicates that a method should have one clear responsibility, and one could argue that filtering out certain entries and *knowing* the blacklist are two responsibilities. Your mileage may vary though, depending on the cnotext - which I don't know.
5. Not a biggie, but whitespace is out of control (`iterator.hasNext(); )`, `catch(NUllPointerException e){}`), not to mention it's `NullPointer...`, not `NUllPointer`.
[1]: https://docs.oracle.com/javase/7/docs/api/java/util/List.html#removeAll(java.util.Collection)
[2]: http://docs.oracle.com/javase/6/docs/api/java/util/Collections.html#sort(java.util.List)
[3]: https://en.wikipedia.org/wiki/Command%E2%80%93query_separation
[4]: https://en.wikipedia.org/wiki/Single_responsibility_principle