We keep testing for non null in all this code, but does this really make sense?