checked string with not null or empty precondition