add EnsureNotNull calss