Source:
public AmbariMetricsEmitterConfig( @JsonProperty("hostname") String hostname, @JsonProperty("port") Integer port, @JsonProperty("protocol") String protocol, @JsonProperty("trustStorePath") String trustStorePath, @JsonProperty("trustStoreType") String trustStoretype, @JsonProperty("trustStorePassword") String trustStorePassword, @JsonProperty("batchSize") Integer batchSize, @JsonProperty("flushPeriod") Long flushPeriod, @JsonProperty("maxQueueSize") Integer maxQueueSize, @JsonProperty("eventConverter") DruidToTimelineMetricConverter druidToTimelineEventConverter, @JsonProperty("alertEmitters") List<String> alertEmitters, @JsonProperty("emitWaitTime") Long emitWaitTime, @JsonProperty("waitForEventTime") Long waitForEventTime ) { this.hostname = Preconditions.checkNotNull(hostname, "hostname can not be null"); this.port = Preconditions.checkNotNull(port, "port can not be null"); this.protocol = protocol == null ? DEFAULT_PROTOCOL : protocol; this.trustStorePath = trustStorePath; this.trustStoreType = trustStoretype; this.trustStorePassword = trustStorePassword; this.batchSize = (batchSize == null) ? DEFAULT_BATCH_SIZE : batchSize; this.flushPeriod = flushPeriod == null ? DEFAULT_FLUSH_PERIOD : flushPeriod; this.maxQueueSize = maxQueueSize == null ? Integer.MAX_VALUE : maxQueueSize; this.druidToTimelineEventConverter = Preconditions.checkNotNull( druidToTimelineEventConverter, "Event converter can not ne null dude" ); this.alertEmitters = alertEmitters == null ? Collections.<String>emptyList() : alertEmitters; this.emitWaitTime = emitWaitTime == null ? 0 : emitWaitTime; this.waitForEventTime = waitForEventTime == null ? DEFAULT_GET_TIMEOUT : waitForEventTime; }

Target:
public AmbariMetricsEmitterConfig( @JsonProperty("hostname") String hostname, @JsonProperty("port") Integer port, @JsonProperty("protocol") String protocol, @JsonProperty("trustStorePath") String trustStorePath, @JsonProperty("trustStoreType") String trustStoretype, @JsonProperty("trustStorePassword") String trustStorePassword, @JsonProperty("batchSize") Integer batchSize, @JsonProperty("flushPeriod") Long flushPeriod, @JsonProperty("maxQueueSize") Integer maxQueueSize, @JsonProperty("eventConverter") DruidToTimelineMetricConverter druidToTimelineEventConverter, @JsonProperty("alertEmitters") List<String> alertEmitters, @JsonProperty("emitWaitTime") Long emitWaitTime, @JsonProperty("waitForEventTime") Long waitForEventTime ) { this.hostname = Preconditions.checkNotNull(hostname, "hostname can not be null"); this.port = Preconditions.checkNotNull(port, "port can not be null"); this.protocol = protocol == null ? DEFAULT_PROTOCOL : protocol; this.trustStorePath = trustStorePath; this.trustStoreType = trustStoretype; this.trustStorePassword = trustStorePassword; this.batchSize = (batchSize == null) ? DEFAULT_BATCH_SIZE : batchSize; this.flushPeriod = flushPeriod == null ? DEFAULT_FLUSH_PERIOD_MILLIS : flushPeriod; this.maxQueueSize = maxQueueSize == null ? Integer.MAX_VALUE : maxQueueSize; this.druidToTimelineEventConverter = Preconditions.checkNotNull( druidToTimelineEventConverter, "Event converter can not be null" ); this.alertEmitters = alertEmitters == null ? Collections.<String>emptyList() : alertEmitters; this.emitWaitTime = emitWaitTime == null ? 0 : emitWaitTime; this.waitForEventTime = waitForEventTime == null ? DEFAULT_GET_TIMEOUT : waitForEventTime; }