### Question:
Median extends
		ConflictResolutionFunction<Double, RecordType, SchemaElementType> { @Override public FusedValue<Double, RecordType, SchemaElementType> resolveConflict( Collection<FusibleValue<Double, RecordType, SchemaElementType>> values) { List<Double> list = new LinkedList<>(); for (FusibleValue<Double, RecordType, SchemaElementType> value : values) { list.add(value.getValue()); } Collections.sort(list); boolean isEven = list.size() % 2 == 0; if (list.size() == 0) { return new FusedValue<>((Double) null); } else if (isEven) { double middle = ((double) list.size() + 1.0) / 2.0; double median1 = list.get((int) Math.floor(middle) - 1); double median2 = list.get((int) Math.ceil(middle) - 1); return new FusedValue<>((median1 + median2) / 2.0); } else { int middle = (list.size() + 1) / 2; return new FusedValue<>(list.get(middle - 1)); } }  @Override FusedValue<Double, RecordType, SchemaElementType> resolveConflict(
			Collection<FusibleValue<Double, RecordType, SchemaElementType>> values);  }### Answer:
@Test public void testResolveConflict() { Collection<FusibleValue<Double, Record, Attribute>> values = new LinkedList<>(); Median<Record,Attribute> median = new Median<>(); FusedValue<Double, Record, Attribute> result = median.resolveConflict(values); assertNull(result.getValue()); values.add(new FusibleValue<Double,Record,Attribute>(1.0, null, null)); result = median.resolveConflict(values); assertEquals(1.0d, result.getValue()); values.add(new FusibleValue<Double,Record,Attribute>(2.0, null, null)); result = median.resolveConflict(values); assertEquals(1.5d, result.getValue()); values.add(new FusibleValue<Double,Record,Attribute>(3.0, null, null)); result = median.resolveConflict(values); assertEquals(2.0d, result.getValue()); }