public boolean apply(ClassMap classMap, Configuration configuration) {
            Class<?> srcType = classMap.getSrcClassToMap();

            PropertyDescriptor[] srcProperties = ReflectionUtils.getPropertyDescriptors(srcType);
            for (PropertyDescriptor property : srcProperties) {
                Method readMethod = property.getReadMethod();
                if (readMethod != null) {
                    Mapping mapping = readMethod.getAnnotation(Mapping.class);
                    if (mapping != null) {
                        String propertyName = property.getName();
                        String pairName = mapping.value().trim();
                        if (requireMapping(mapping, classMap.getDestClassToMap(), propertyName, pairName)
                                && classMap.getFieldMapUsingSrc(propertyName) == null) {
                            GeneratorUtils.addGenericMapping(MappingType.GETTER_TO_SETTER, classMap, configuration,
                                                             propertyName, pairName.isEmpty() ? propertyName : pairName, beanContainer, destBeanCreator, propertyDescriptorFactory);
                        }
                    }
                }
            }

            Class<?> destType = classMap.getDestClassToMap();

            PropertyDescriptor[] destProperties = ReflectionUtils.getPropertyDescriptors(destType);
            for (PropertyDescriptor property : destProperties) {
                Method readMethod = property.getReadMethod();
                if (readMethod != null) {
                    Mapping mapping = readMethod.getAnnotation(Mapping.class);
                    if (mapping != null) {
                        String propertyName = property.getName();
                        String pairName = mapping.value().trim();
                        if (requireMapping(mapping, classMap.getSrcClassToMap(), propertyName, pairName)) {
                            GeneratorUtils.addGenericMapping(MappingType.GETTER_TO_SETTER, classMap, configuration,
                                                             pairName.isEmpty() ? propertyName : pairName, propertyName, beanContainer, destBeanCreator, propertyDescriptorFactory);
                        }
                    }
                }
            }

            return false;
        }
true if we should stop after applied

@param classMap      information about the classes being mapped
@param configuration configuration of the mapping
@return true if we should stop after applied
core/src/main/java/com/github/dozermapper/core/classmap/ClassMapBuilder.java