@AssertTrue(message = "the 'topic', 'topicExpression', 'queue', 'queueExpression', 'key' and 'keyExpression' options are mutually exclusive")
	public boolean isOptionMutuallyExclusive() {
		boolean optionSpecified = false;
		String[] distinctOptions = { this.topicExpression, this.queueExpression, this.keyExpression };
		for (String option : distinctOptions) {
			if (optionSpecified == true && option != null) {
				return false;
			}
			if (option != null) {
				optionSpecified = true;
			}
		}
		return (checkMutuallyExclusive(this.queue, this.queueExpression)
				&& checkMutuallyExclusive(this.topic, this.topicExpression) && checkMutuallyExclusive(this.key,
					this.keyExpression));
	}
User can't explicitly set mutually exclusive values together.
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/modules/metadata/RedisSinkOptionsMetadata.java