ProtoFieldPropertyDescriptorCreationStrategy implements PropertyDescriptorCreationStrategy { @SuppressWarnings("unchecked") @Override public boolean isApplicable(Class<?> clazz, String fieldName) { if (!Message.class.isAssignableFrom(clazz)) { return false; } Class<? extends Message> messageClass = (Class<? extends Message>)clazz; Descriptors.FieldDescriptor foundDescriptor = ProtoUtils.getFieldDescriptor(messageClass, fieldName); return foundDescriptor != null || MappingUtils.isDeepMapping(fieldName); } ProtoFieldPropertyDescriptorCreationStrategy(BeanContainer beanContainer, DestBeanCreator destBeanCreator, PropertyDescriptorFactory propertyDescriptorFactory); @Override DozerPropertyDescriptor buildFor(Class<?> clazz, String fieldName, boolean isIndexed, int index, HintContainer srcDeepIndexHintContainer,
                                            HintContainer destDeepIndexHintContainer); @SuppressWarnings("unchecked") @Override boolean isApplicable(Class<?> clazz, String fieldName);  }
@Test public void isApplicableTrueIfMessageAndDeepMapping() { assertTrue(strategy.isApplicable(ProtoTestObjects.SimpleProtoTestObject.class,"deep.mapping")); }