In the case of an error, you're deciding to swallow it and return an empty list. A user of this class is none-the-wiser that an error has occurred. Would it be better to throw an exception and let them decide how to respond?