How is @Requirement different from (required = true) ?