added JAGPropertyMappingProtocol to support custom property name mapping