don't check isEmpty().  if there are no uncommitted changes, that field is null