### Question:
BindablePropertyAdapterImpl implements BindablePropertyAdapter<T, R> { @Override public void setValue(T pojo, R value) { setFieldValue(pojo, valueFields.get(pojo.getClass()), value); } private  BindablePropertyAdapterImpl(StunnerTranslationService translationService,
                                        BindableAdapterFunctions functions,
                                        Map<Class<?>, String> valueFields); static BindablePropertyAdapterImpl<Object, Object> create(StunnerTranslationService translationService,
                                                                     BindableAdapterFunctions functions); static BindablePropertyAdapterImpl<Object, Object> create(StunnerTranslationService translationService,
                                                                     BindableAdapterFunctions functions,
                                                                     Map<Class<?>, String> valueFields); @Override void addBinding(Class<?> type, String valueField); @Override String getId(T pojo); @Override String getCaption(T pojo); @Override R getValue(T pojo); @Override void setValue(T pojo, R value); @Override int getPriority(); @Override boolean accepts(Class<?> type);  }### Answer:
@Test public void testSetValue() { tested.setValue(PROPERTY_1, "newValue1"); tested.setValue(PROPERTY_2, "newValue2"); verify(functions, times(1)).setValue(eq(PROPERTY_1), eq("value"), eq("newValue1")); verify(functions, times(1)).setValue(eq(PROPERTY_2), eq("someValue"), eq("newValue2")); }