internal TypeBuilder(ManualCompositeTypeProvider provider, Expression <Func <T, int> > versionGetter, string typeName = null)
 {
     State          = new BuilderState();
     State.Provider = provider;
     State.Type     = typeof(T);
     State.TypeName = typeName ?? typeof(T).FullName;
     SetVersionProperty(versionGetter);
 }
 internal VersionBuilder(ManualCompositeTypeProvider provider, int version, CompositeProperty versionProperty, string typeName = null)
 {
     State                 = new BuilderState();
     State.Provider        = provider;
     State.Type            = typeof(T);
     State.TypeName        = typeName ?? typeof(T).FullName;
     State.Version         = version;
     State.VersionProperty = versionProperty;
 }