public static void Map(this Facet source, Facet target)
        {
            var properties = source.GetType().GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance);

            if (properties != null && properties.Any())
            {
                foreach (var propertyInfo in properties)
                {
                    propertyInfo.SetValue(target, propertyInfo.GetValue(source));
                }
            }
        }