public StreamlineEventImpl build() { Map<String, Object> fieldsAndValues; if (kvBuilder != null) { fieldsAndValues = kvBuilder.build(); } else if (kv != null) { fieldsAndValues = kv; } else { fieldsAndValues = Collections.emptyMap(); } Map<String, Object> header = this.header != null ? ImmutableMap.copyOf(this.header) : ImmutableMap.of(); Map<String, Object> aux = this.auxiliaryFieldsAndValues != null ? ImmutableMap.copyOf(this.auxiliaryFieldsAndValues) : ImmutableMap.of(); return new StreamlineEventImpl( fieldsAndValues, this.dataSourceId, header, this.sourceStream, aux); }