Added the constraint notEmptyKey and completed the issue #4