public static object Patch(this IPomonaDataSource dataSource, Type type, object patchedObject)
{
if (dataSource == null)
throw new ArgumentNullException(nameof(dataSource));
if (type == null)
throw new ArgumentNullException(nameof(type));
if (patchedObject == null)
throw new ArgumentNullException(nameof(patchedObject));
return patchMethodInvoker(type, dataSource, patchedObject);
}