public static T Get <T>(this ThreadLocal <T> t)
 {
     return(t.Value);
 }
 public static void Remove <T>(this ThreadLocal <T> t)
 {
     t.Dispose();
 }
 public static void Set <T>(this ThreadLocal <T> t, T val)
 {
     t.Value = val;
 }