Added 'firstOrDefault' implementation + unit tests