public ActualImpl2(ISourceCodeHelper1 h1, SourceCodeHelper2 h2, SourceCodeHelper3?h3 = null)
 {
     _h1 = h1;
     _h2 = h2;
 }
 // The implementor type can rely on its creator (here it has access to the AutoImpl1 and, as a nested type,
 // it can access its private fields).
 public ActualImpl1(AutoImpl1 theOwner, SourceCodeHelper1 h1, SourceCodeHelper2 h2)
 {
     _theOwner = theOwner;
     _h1       = h1;
     _h2       = h2;
 }