private void ApplyMapping <TMetadata>(IPropertyMapping mapping, object source, TMetadata target, Action <string> log) { log.Invoke($"Applying mapping from source {mapping.SourceName} -> {mapping.TargetPropertyName}"); mapping.Apply(source, target); }