When you use the where keyword in a generic definition, you apply a generic attribute to a generic parameter. The new() constraint declares that the type T in this case must have a default constructor. http://msdn.microsoft.com/en-us/library/sd2w2ew5.aspx
After reading your explanation disguised as an answer , I thought I would try to help by clarifying a few things.
The code in the original question defines the interface that seems to be used by the incorporeal constructor. Between these two definitions, you have defined a common class that does not seem to do much.
Your question refers to the generic class, and the other two definitions are not related to the question and the answer.
source share