class PropertyModule extends BaseAtlasModule {

    @Override
    public void readSourceValue(AtlasInternalSession session) throws AtlasException {
        AtlasPropertyStrategy strategy = session.getAtlasPropertyStrategy() != null
                ? session.getAtlasPropertyStrategy() : this.defaultStrategy;
        Field sourceField = session.head().getSourceField();
        if (sourceField instanceof PropertyField) {
            PropertyField sourcePropertyField = (PropertyField)sourceField;
            strategy.readProperty(session, sourcePropertyField);
            if (LOG.isDebugEnabled()) {
                LOG.debug("Processed source PropertyField: Name={} Scope={} Value={} Strategy={}",
                        sourcePropertyField.getName(), sourcePropertyField.getScope(),
                        sourceField.getValue(), strategy.getClass().getName());
            }
        }
    }

    public  PropertyModule(AtlasPropertyStrategy propertyStrategy);

}