precondition not null