### Question:
FixedSchemaMapper implements SchemaMapper { @Override public Collection<ColumnPair<?>> create(Schema schema1, Schema schema2) { List<Column<?>> columns = schema1.getColumns(); return columns.stream() .flatMap(this::getMatching) .collect(Collectors.toList()); }  @Override Collection<ColumnPair<?>> create(Schema schema1, Schema schema2);  }### Answer:
@Test public void test() { Multimap<Column<?>, Column<?>> map = ImmutableMultimap.<Column<?>, Column<?>>builder() .put(A, B) .put(A, C) .put(B, A) .build(); SchemaMapper schemaMapper = new FixedSchemaMapper(map); List<Column<?>> columns = Arrays.asList(A, B, C); Schema schema = Schema.of(columns); when(relation.getSchema()).thenReturn(schema); Collection<ColumnPair<?>> mapping = schemaMapper.create(relation); assertThat(mapping).hasSize(3); assertThat(mapping).contains(new ColumnPair<>(A, B)); assertThat(mapping).contains(new ColumnPair<>(A, C)); assertThat(mapping).contains(new ColumnPair<>(B, A)); }