bug fix. If a and b are both null in diff we treat as all are new