Source:
<code>public SeekableStreamSupervisorIOConfig( String stream, Integer replicas, Integer taskCount, Period taskDuration, Period startDelay, Period period, Boolean useEarliestSequenceNumber, Period completionTimeout, Period lateMessageRejectionPeriod, Period earlyMessageRejectionPeriod, DateTime lateMessageRejectionStartDateTime ) throws JsonMappingException { this.stream = Preconditions.checkNotNull(stream, "stream cannot be null"); this.replicas = replicas != null ? replicas : 1; this.taskCount = taskCount != null ? taskCount : 1; this.taskDuration = defaultDuration(taskDuration, "PT1H"); this.startDelay = defaultDuration(startDelay, "PT5S"); this.period = defaultDuration(period, "PT30S"); this.useEarliestSequenceNumber = useEarliestSequenceNumber != null ? useEarliestSequenceNumber : false; this.completionTimeout = defaultDuration(completionTimeout, "PT30M"); this.lateMessageRejectionPeriod = lateMessageRejectionPeriod == null ? Optional.absent() : Optional.of(lateMessageRejectionPeriod.toStandardDuration()); this.lateMessageRejectionStartDateTime = lateMessageRejectionStartDateTime == null ? Optional.absent() : Optional.of(lateMessageRejectionStartDateTime); this.earlyMessageRejectionPeriod = earlyMessageRejectionPeriod == null ? Optional.absent() : Optional.of(earlyMessageRejectionPeriod.toStandardDuration()); if (this.lateMessageRejectionPeriod.isPresent() && this.lateMessageRejectionStartDateTime.isPresent()) { <START> throw new JsonMappingException("SeekableStreamSupervisorIOConfig does not support " <END> + "both properties lateMessageRejectionStartDateTime " + "and lateMessageRejectionPeriod."); } }</code><technical_language>for validation errors, checked exceptions .. IAE more appropriate. please remove throws Exception constructor of other classes added due this. suggestion throw new IAE("SeekableStreamSupervisorIOConfig support "</technical_language>

Target:
public SeekableStreamSupervisorIOConfig( String stream, Integer replicas, Integer taskCount, Period taskDuration, Period startDelay, Period period, Boolean useEarliestSequenceNumber, Period completionTimeout, Period lateMessageRejectionPeriod, Period earlyMessageRejectionPeriod, DateTime lateMessageRejectionStartDateTime ) { this.stream = Preconditions.checkNotNull(stream, "stream cannot be null"); this.replicas = replicas != null ? replicas : 1; this.taskCount = taskCount != null ? taskCount : 1; this.taskDuration = defaultDuration(taskDuration, "PT1H"); this.startDelay = defaultDuration(startDelay, "PT5S"); this.period = defaultDuration(period, "PT30S"); this.useEarliestSequenceNumber = useEarliestSequenceNumber != null ? useEarliestSequenceNumber : false; this.completionTimeout = defaultDuration(completionTimeout, "PT30M"); this.lateMessageRejectionPeriod = lateMessageRejectionPeriod == null ? Optional.absent() : Optional.of(lateMessageRejectionPeriod.toStandardDuration()); this.lateMessageRejectionStartDateTime = lateMessageRejectionStartDateTime == null ? Optional.absent() : Optional.of(lateMessageRejectionStartDateTime); this.earlyMessageRejectionPeriod = earlyMessageRejectionPeriod == null ? Optional.absent() : Optional.of(earlyMessageRejectionPeriod.toStandardDuration()); if (this.lateMessageRejectionPeriod.isPresent() && this.lateMessageRejectionStartDateTime.isPresent()) { throw new IAE("SeekableStreamSupervisorIOConfig does not support " + "both properties lateMessageRejectionStartDateTime " + "and lateMessageRejectionPeriod."); } }