package com.l7tech.policy.assertion;

import java.util.concurrent.Callable;

public class CurrentAssertionTranslator {
   private static final ThreadLocal<AssertionTranslator> a = new ThreadLocal<>();

   public static <T> T doWithAssertionTranslator(AssertionTranslator var0, Callable<T> var1) throws Exception {
      AssertionTranslator var2 = a.get();
      a.set(var0);

      try {
         return (T)var1.call();
      } finally {
         a.set(var2);
      }
   }

   public static AssertionTranslator get() {
      return a.get();
   }
}
