public object Populate(object instance)
{
if (instance == null)
{
throw new ArgumentNullException(nameof(instance));
}
EnsureInitialized();
_buildChain.Push(instance);
try
{
return PopulateInstance(instance);
}
finally
{
_buildChain.Pop();
}
}