internal TResult GetConcrete <TResult>() where TResult : IDataElement <TResult>
 {
     try {
         TResult rvalue = (TResult)Activator.CreateInstance(typeof(TResult));
         return(rvalue.FromByteArray(Buffer));
     }
     catch (Exception) {
         return(default(TResult));
     }
 }