duplicate code, I see no reason why every client should have it's own  implementation of getAsStringNoNull