Added NotNull attributes. Added Xml comments.