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