public override bool Equals(object obj)
 {
     if (obj is RefX1 <T> )
     {
         RefX1 <T> v = (RefX1 <T>)obj;
         return(CompareTo(v) == 0);
     }
     return(false);
 }
 public int CompareTo(RefX1 <T> obj)
 {
     if (null == obj)
     {
         return(1);
     }
     if (null == _val)
     {
         if (null == obj.Val)
         {
             return(0);
         }
         else
         {
             return(-1);
         }
     }
     return(_val.CompareTo(obj.Val));
 }
 public bool Equals(RefX1 <T> x)
 {
     return(0 == CompareTo(x));
 }