### Question:
BindablePropertyAdapterImpl implements BindablePropertyAdapter<T, R> { @Override public String getId(T pojo) { return BindableAdapterUtils.getPropertyId(pojo.getClass()); } 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 testGetId() { String id1 = tested.getId(PROPERTY_1); assertEquals(BindableTestProperty1.class.getName(), id1); String id2 = tested.getId(PROPERTY_2); assertEquals(BindableTestProperty2.class.getName(), id2); }