Features 575, 567, 581

I would prefer that our API return non null values (e.g. `Collections.empyList()`) this avoids the need to checking for `null` to the callers of this functions.

More at: http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html#emptyList()