// This method SHOULD not exist... // The ctor above should be internal and every checks should have been done before. internal static GitFolder Create(IActivityMonitor m, Repository r, ProtoGitFolder data) { var g = new GitFolder(r, data); // Now checks everything that requires an actual GitFolder. //@Nico... Is this REALLY required? // Upt to me, everything should be done above, BEFORE creating the instance... if (!g.CheckValid(m)) { g.Dispose(); g = null; } return(g); }