public virtual TObject CreateObject(XElement element, TContext context)
 {
     //default implementation returns an instance of the object
     return(ObjectType.CreateInstance <TObject>());
 }