public static IFieldInterceptor InjectFieldInterceptor(object entity, string entityName, 
			ISet<string> uninitializedFieldNames, 
			ISet<string> unwrapProxyFieldNames,
			ISessionImplementor session)
		{
			var fieldInterceptorAccessor = entity as IFieldInterceptorAccessor;
			if (fieldInterceptorAccessor != null)
			{
				var fieldInterceptorImpl = new DefaultFieldInterceptor(session, uninitializedFieldNames, unwrapProxyFieldNames, entityName);
				fieldInterceptorAccessor.FieldInterceptor = fieldInterceptorImpl;
				return fieldInterceptorImpl;
			}
			return null;
		}
        public static IFieldInterceptor InjectFieldInterceptor(object entity, string entityName,
                                                               System.Type mappedClass,
                                                               ISet <string> uninitializedFieldNames,
                                                               ISet <string> unwrapProxyFieldNames,
                                                               ISessionImplementor session)
        {
            var fieldInterceptorAccessor = entity as IFieldInterceptorAccessor;

            if (fieldInterceptorAccessor != null)
            {
                var fieldInterceptorImpl = new DefaultFieldInterceptor(session, uninitializedFieldNames, unwrapProxyFieldNames, entityName, mappedClass);
                fieldInterceptorAccessor.FieldInterceptor = fieldInterceptorImpl;
                return(fieldInterceptorImpl);
            }
            return(null);
        }