package com.l7tech.policy.assertion;

import com.l7tech.objectmodel.encass.EncapsulatedAssertionConfig;
import java.util.concurrent.Callable;

public class CurrentInterfaceDescription {
   private static final ThreadLocal<EncapsulatedAssertionConfig> a = new ThreadLocal<>();

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

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

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