package com.l7tech.server.security.rbac;

import com.l7tech.gateway.common.security.rbac.OperationType;
import com.l7tech.gateway.common.security.rbac.Secured;
import com.l7tech.identity.User;
import com.l7tech.objectmodel.Entity;
import com.l7tech.objectmodel.EntityHeaderSet;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.IdentityHeader;
import com.l7tech.objectmodel.NamedEntity;
import com.l7tech.objectmodel.PersistentEntity;
import com.l7tech.server.EntityFinder;
import com.l7tech.server.util.Injector;
import com.l7tech.util.CollectionUpdate;
import com.l7tech.util.CollectionUpdateFilterer;
import com.l7tech.util.ExceptionUtils;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class SecuredMethodInterceptor implements MethodInterceptor, ApplicationContextAware {
   private static final Logger a;
   private static final String b;
   private final RbacServices c;
   private final EntityFinder d;
   private static final String e;
   private static final String f;
   private ApplicationContext g;
   private static final String[] h;

   public SecuredMethodInterceptor(RbacServices var1, EntityFinder var2) {
      this.c = var1;
      this.d = var2;
   }

   public SecurityFilter getSecurityFilter() {
      return new h(this);
   }

   public void setApplicationContext(ApplicationContext var1) {
      this.g = var1;
   }

   private <CT extends Iterable<T>, T> CT a(
      CT param1, User param2, OperationType param3, @Nullable String param4, String param5, @Nullable CustomEntityTranslator param6
   ) throws FindException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: new java/util/ArrayList
      // 003: dup
      // 004: invokespecial java/util/ArrayList.<init> ()V
      // 007: astore 7
      // 009: aload 1
      // 00a: invokeinterface java/lang/Iterable.iterator ()Ljava/util/Iterator; 1
      // 00f: astore 8
      // 011: aload 8
      // 013: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 018: ifeq 11f
      // 01b: aload 8
      // 01d: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 022: astore 9
      // 024: aload 9
      // 026: instanceof com/l7tech/objectmodel/Entity
      // 029: ifeq 036
      // 02c: aload 9
      // 02e: checkcast com/l7tech/objectmodel/Entity
      // 031: astore 10
      // 033: goto 0ab
      // 036: aload 9
      // 038: instanceof com/l7tech/objectmodel/EntityHeader
      // 03b: ifeq 055
      // 03e: aload 9
      // 040: checkcast com/l7tech/objectmodel/EntityHeader
      // 043: astore 11
      // 045: aload 0
      // 046: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.d Lcom/l7tech/server/EntityFinder;
      // 049: aload 11
      // 04b: invokeinterface com/l7tech/server/EntityFinder.find (Lcom/l7tech/objectmodel/EntityHeader;)Lcom/l7tech/objectmodel/Entity; 2
      // 050: astore 10
      // 052: goto 0ab
      // 055: aload 6
      // 057: ifnull 099
      // 05a: aload 0
      // 05b: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.d Lcom/l7tech/server/EntityFinder;
      // 05e: ifnull 099
      // 061: goto 068
      // 064: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 067: athrow
      // 068: aload 6
      // 06a: aload 9
      // 06c: aload 0
      // 06d: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.d Lcom/l7tech/server/EntityFinder;
      // 070: invokeinterface com/l7tech/server/security/rbac/CustomEntityTranslator.locateEntity (Ljava/lang/Object;Lcom/l7tech/server/EntityFinder;)Lcom/l7tech/objectmodel/Entity; 3
      // 075: astore 10
      // 077: aload 10
      // 079: ifnonnull 0ab
      // 07c: aload 9
      // 07e: ifnull 0ab
      // 081: goto 088
      // 084: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 087: athrow
      // 088: aload 7
      // 08a: aload 9
      // 08c: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 091: pop
      // 092: goto 0ab
      // 095: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 098: athrow
      // 099: new java/lang/IllegalArgumentException
      // 09c: dup
      // 09d: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 0a0: astore 12
      // 0a2: aload 12
      // 0a4: bipush 40
      // 0a6: aaload
      // 0a7: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 0aa: athrow
      // 0ab: aload 10
      // 0ad: ifnull 11c
      // 0b0: aload 0
      // 0b1: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // 0b4: aload 2
      // 0b5: aload 10
      // 0b7: aload 3
      // 0b8: aload 4
      // 0ba: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForEntity (Lcom/l7tech/identity/User;Lcom/l7tech/objectmodel/Entity;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;)Z 5
      // 0bf: ifne 11c
      // 0c2: goto 0c9
      // 0c5: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0c8: athrow
      // 0c9: aload 7
      // 0cb: aload 9
      // 0cd: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 0d2: pop
      // 0d3: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a Ljava/util/logging/Logger;
      // 0d6: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 0d9: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 0dc: ifeq 11c
      // 0df: goto 0e6
      // 0e2: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0e5: athrow
      // 0e6: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a Ljava/util/logging/Logger;
      // 0e9: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 0ec: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 0ef: bipush 58
      // 0f1: aaload
      // 0f2: bipush 3
      // 0f3: anewarray 421
      // 0f6: dup
      // 0f7: bipush 0
      // 0f8: aload 10
      // 0fa: invokeinterface com/l7tech/objectmodel/Entity.getClass ()Ljava/lang/Class; 1
      // 0ff: invokevirtual java/lang/Class.getSimpleName ()Ljava/lang/String;
      // 102: aastore
      // 103: dup
      // 104: bipush 1
      // 105: aload 10
      // 107: invokeinterface com/l7tech/objectmodel/Entity.getId ()Ljava/lang/String; 1
      // 10c: aastore
      // 10d: dup
      // 10e: bipush 2
      // 10f: aload 5
      // 111: aastore
      // 112: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // 115: goto 11c
      // 118: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 11b: athrow
      // 11c: goto 011
      // 11f: aload 0
      // 120: aload 1
      // 121: aload 7
      // 123: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Iterable;Ljava/util/List;)Ljava/lang/Iterable;
      // 126: areturn
      // try (32 -> 37): 38 com/l7tech/objectmodel/FindException
      // try (46 -> 50): 51 com/l7tech/objectmodel/FindException
      // try (48 -> 58): 58 com/l7tech/objectmodel/FindException
      // try (69 -> 79): 80 com/l7tech/objectmodel/FindException
      // try (71 -> 90): 91 com/l7tech/objectmodel/FindException
      // try (82 -> 116): 117 com/l7tech/objectmodel/FindException
   }

   private <CT extends Iterable<T>, T> CT a(CT var1, List<T> var2) {
      label42: {
         Object var3;
         label38: {
            label37: {
               try {
                  if (!(var1 instanceof Collection)) {
                     break label42;
                  }

                  if (var1 instanceof EntityHeaderSet) {
                     break label37;
                  }
               } catch (IllegalArgumentException var6) {
                  throw a(var6);
               }

               if (var1 instanceof Set) {
                  var3 = new HashSet((Collection)var1);
               } else {
                  var3 = new ArrayList((Collection)var1);
               }
               break label38;
            }

            var3 = new EntityHeaderSet((Set)var1);
         }

         for (Object var5 : var2) {
            var3.remove(var5);
         }

         return (CT)var3;
      }

      if (var1 instanceof CollectionUpdate var7) {
         return (CT)CollectionUpdateFilterer.filter(var7, var2);
      } else {
         throw new IllegalStateException(h[64] + var1.getClass());
      }
   }

   private static void a(Class var0, List<Secured> var1) {
      Secured var2 = var0.getAnnotation(Secured.class);

      try {
         if (var2 != null) {
            var1.add(var2);
         }
      } catch (IllegalArgumentException var7) {
         throw a(var7);
      }

      for (Class var6 : var0.getInterfaces()) {
         a(var6, var1);
      }
   }

   public Object invoke(MethodInvocation param1) throws Throwable {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 1
      // 001: invokeinterface org/aopalliance/intercept/MethodInvocation.getThis ()Ljava/lang/Object; 1
      // 006: astore 2
      // 007: aload 1
      // 008: invokeinterface org/aopalliance/intercept/MethodInvocation.getArguments ()[Ljava/lang/Object; 1
      // 00d: astore 3
      // 00e: aload 1
      // 00f: invokeinterface org/aopalliance/intercept/MethodInvocation.getMethod ()Ljava/lang/reflect/Method; 1
      // 014: astore 4
      // 016: aload 4
      // 018: invokevirtual java/lang/reflect/Method.getReturnType ()Ljava/lang/Class;
      // 01b: astore 5
      // 01d: aload 2
      // 01e: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 021: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 024: aload 4
      // 026: invokevirtual java/lang/reflect/Method.getName ()Ljava/lang/String;
      // 029: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001.\u0001" ]
      // 02e: astore 6
      // 030: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a Ljava/util/logging/Logger;
      // 033: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 036: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 039: astore 19
      // 03b: aload 19
      // 03d: bipush 19
      // 03f: aaload
      // 040: aload 6
      // 042: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 045: new java/util/ArrayList
      // 048: dup
      // 049: invokespecial java/util/ArrayList.<init> ()V
      // 04c: astore 7
      // 04e: aconst_null
      // 04f: astore 9
      // 051: aconst_null
      // 052: astore 10
      // 054: aload 4
      // 056: ldc com/l7tech/gateway/common/security/rbac/Secured
      // 058: invokevirtual java/lang/reflect/Method.getAnnotation (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
      // 05b: checkcast com/l7tech/gateway/common/security/rbac/Secured
      // 05e: astore 11
      // 060: aload 11
      // 062: ifnull 076
      // 065: aload 7
      // 067: aload 11
      // 069: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 06e: pop
      // 06f: goto 076
      // 072: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 075: athrow
      // 076: aload 2
      // 077: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 07a: aload 7
      // 07c: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Class;Ljava/util/List;)V
      // 07f: aconst_null
      // 080: astore 12
      // 082: aconst_null
      // 083: astore 13
      // 085: aconst_null
      // 086: astore 14
      // 088: aconst_null
      // 089: astore 15
      // 08b: bipush -1
      // 08c: istore 16
      // 08e: aload 7
      // 090: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 095: astore 17
      // 097: aload 17
      // 099: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 09e: ifeq 24c
      // 0a1: aload 17
      // 0a3: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0a8: checkcast com/l7tech/gateway/common/security/rbac/Secured
      // 0ab: astore 18
      // 0ad: aload 18
      // 0af: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.types ()[Lcom/l7tech/objectmodel/EntityType; 1
      // 0b4: ifnull 0c3
      // 0b7: aload 12
      // 0b9: ifnull 0e2
      // 0bc: goto 0c3
      // 0bf: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0c2: athrow
      // 0c3: aload 12
      // 0c5: arraylength
      // 0c6: bipush 1
      // 0c7: if_icmpne 0eb
      // 0ca: goto 0d1
      // 0cd: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0d0: athrow
      // 0d1: aload 12
      // 0d3: bipush 0
      // 0d4: aaload
      // 0d5: getstatic com/l7tech/objectmodel/EntityType.ANY Lcom/l7tech/objectmodel/EntityType;
      // 0d8: if_acmpne 0eb
      // 0db: goto 0e2
      // 0de: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0e1: athrow
      // 0e2: aload 18
      // 0e4: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.types ()[Lcom/l7tech/objectmodel/EntityType; 1
      // 0e9: astore 12
      // 0eb: aload 18
      // 0ed: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.stereotype ()Lcom/l7tech/gateway/common/security/rbac/MethodStereotype; 1
      // 0f2: ifnull 15f
      // 0f5: aload 14
      // 0f7: ifnonnull 10d
      // 0fa: goto 101
      // 0fd: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 100: athrow
      // 101: aload 18
      // 103: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.stereotype ()Lcom/l7tech/gateway/common/security/rbac/MethodStereotype; 1
      // 108: astore 14
      // 10a: goto 15f
      // 10d: getstatic com/l7tech/gateway/common/security/rbac/MethodStereotype.NONE Lcom/l7tech/gateway/common/security/rbac/MethodStereotype;
      // 110: aload 14
      // 112: invokevirtual com/l7tech/gateway/common/security/rbac/MethodStereotype.equals (Ljava/lang/Object;)Z
      // 115: ifne 15f
      // 118: getstatic com/l7tech/gateway/common/security/rbac/MethodStereotype.NONE Lcom/l7tech/gateway/common/security/rbac/MethodStereotype;
      // 11b: aload 18
      // 11d: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.stereotype ()Lcom/l7tech/gateway/common/security/rbac/MethodStereotype; 1
      // 122: invokevirtual com/l7tech/gateway/common/security/rbac/MethodStereotype.equals (Ljava/lang/Object;)Z
      // 125: ifne 15f
      // 128: goto 12f
      // 12b: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 12e: athrow
      // 12f: aload 14
      // 131: aload 18
      // 133: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.stereotype ()Lcom/l7tech/gateway/common/security/rbac/MethodStereotype; 1
      // 138: invokevirtual com/l7tech/gateway/common/security/rbac/MethodStereotype.equals (Ljava/lang/Object;)Z
      // 13b: ifne 15f
      // 13e: goto 145
      // 141: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 144: athrow
      // 145: new java/lang/IllegalStateException
      // 148: dup
      // 149: aload 6
      // 14b: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 14e: bipush 31
      // 150: aaload
      // 151: swap
      // 152: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 157: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 15a: athrow
      // 15b: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 15e: athrow
      // 15f: aload 18
      // 161: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.relevantArg ()I 1
      // 166: iflt 17e
      // 169: iload 16
      // 16b: ifge 17e
      // 16e: goto 175
      // 171: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 174: athrow
      // 175: aload 18
      // 177: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.relevantArg ()I 1
      // 17c: istore 16
      // 17e: aload 15
      // 180: ifnonnull 1a5
      // 183: aload 18
      // 185: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.otherOperation ()Ljava/lang/String; 1
      // 18a: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 18d: ldc ""
      // 18f: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 192: ifne 1a5
      // 195: goto 19c
      // 198: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 19b: athrow
      // 19c: aload 18
      // 19e: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.otherOperation ()Ljava/lang/String; 1
      // 1a3: astore 15
      // 1a5: aload 18
      // 1a7: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.customInterceptor ()Ljava/lang/String; 1
      // 1ac: ifnull 1f7
      // 1af: aload 18
      // 1b1: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.customInterceptor ()Ljava/lang/String; 1
      // 1b6: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 1b9: ldc ""
      // 1bb: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 1be: ifne 1f7
      // 1c1: goto 1c8
      // 1c4: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1c7: athrow
      // 1c8: aload 9
      // 1ca: ifnull 1ee
      // 1cd: goto 1d4
      // 1d0: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1d3: athrow
      // 1d4: new java/lang/IllegalStateException
      // 1d7: dup
      // 1d8: aload 6
      // 1da: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 1dd: bipush 47
      // 1df: aaload
      // 1e0: swap
      // 1e1: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 1e6: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 1e9: athrow
      // 1ea: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1ed: athrow
      // 1ee: aload 18
      // 1f0: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.customInterceptor ()Ljava/lang/String; 1
      // 1f5: astore 9
      // 1f7: aload 18
      // 1f9: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.customEntityTranslatorClassName ()Ljava/lang/String; 1
      // 1fe: ifnull 249
      // 201: aload 18
      // 203: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.customEntityTranslatorClassName ()Ljava/lang/String; 1
      // 208: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 20b: ldc ""
      // 20d: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 210: ifne 249
      // 213: goto 21a
      // 216: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 219: athrow
      // 21a: aload 9
      // 21c: ifnull 240
      // 21f: goto 226
      // 222: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 225: athrow
      // 226: new java/lang/IllegalStateException
      // 229: dup
      // 22a: aload 6
      // 22c: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 22f: bipush 48
      // 231: aaload
      // 232: swap
      // 233: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 238: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 23b: athrow
      // 23c: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 23f: athrow
      // 240: aload 18
      // 242: invokeinterface com/l7tech/gateway/common/security/rbac/Secured.customEntityTranslatorClassName ()Ljava/lang/String; 1
      // 247: astore 10
      // 249: goto 097
      // 24c: aload 13
      // 24e: ifnonnull 27d
      // 251: aload 14
      // 253: ifnonnull 27d
      // 256: goto 25d
      // 259: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 25c: athrow
      // 25d: new java/lang/IllegalStateException
      // 260: dup
      // 261: aload 6
      // 263: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 266: bipush 67
      // 268: aaload
      // 269: swap
      // 26a: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 26d: bipush 12
      // 26f: aaload
      // 270: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 275: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 278: athrow
      // 279: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 27c: athrow
      // 27d: aload 12
      // 27f: ifnonnull 2a2
      // 282: new java/lang/IllegalStateException
      // 285: dup
      // 286: aload 6
      // 288: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 28b: bipush 56
      // 28d: aaload
      // 28e: swap
      // 28f: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 292: bipush 70
      // 294: aaload
      // 295: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 29a: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 29d: athrow
      // 29e: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 2a1: athrow
      // 2a2: new com/l7tech/server/security/rbac/a
      // 2a5: dup
      // 2a6: aload 6
      // 2a8: aload 12
      // 2aa: aload 13
      // 2ac: aload 14
      // 2ae: iload 16
      // 2b0: aload 15
      // 2b2: invokespecial com/l7tech/server/security/rbac/a.<init> (Ljava/lang/String;[Lcom/l7tech/objectmodel/EntityType;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/gateway/common/security/rbac/MethodStereotype;ILjava/lang/String;)V
      // 2b5: astore 8
      // 2b7: invokestatic com/l7tech/server/util/JaasUtils.getCurrentUser ()Lcom/l7tech/identity/User;
      // 2ba: astore 11
      // 2bc: aload 11
      // 2be: ifnonnull 2e1
      // 2c1: new java/lang/IllegalStateException
      // 2c4: dup
      // 2c5: aload 6
      // 2c7: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 2ca: bipush 43
      // 2cc: aaload
      // 2cd: swap
      // 2ce: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 2d1: bipush 24
      // 2d3: aaload
      // 2d4: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 2d9: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 2dc: athrow
      // 2dd: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 2e0: athrow
      // 2e1: aload 9
      // 2e3: ifnull 2fb
      // 2e6: aload 0
      // 2e7: aload 1
      // 2e8: aload 11
      // 2ea: aload 9
      // 2ec: aload 2
      // 2ed: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 2f0: invokevirtual java/lang/Class.getClassLoader ()Ljava/lang/ClassLoader;
      // 2f3: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Lorg/aopalliance/intercept/MethodInvocation;Lcom/l7tech/identity/User;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Object;
      // 2f6: areturn
      // 2f7: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 2fa: athrow
      // 2fb: getstatic com/l7tech/gateway/common/security/rbac/MethodStereotype.UNCHECKED_WIDE_OPEN Lcom/l7tech/gateway/common/security/rbac/MethodStereotype;
      // 2fe: aload 8
      // 300: getfield com/l7tech/server/security/rbac/a.c Lcom/l7tech/gateway/common/security/rbac/MethodStereotype;
      // 303: invokevirtual com/l7tech/gateway/common/security/rbac/MethodStereotype.equals (Ljava/lang/Object;)Z
      // 306: ifeq 314
      // 309: aload 1
      // 30a: invokeinterface org/aopalliance/intercept/MethodInvocation.proceed ()Ljava/lang/Object; 1
      // 30f: areturn
      // 310: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 313: athrow
      // 314: getstatic com/l7tech/server/security/rbac/i.a [I
      // 317: aload 8
      // 319: getfield com/l7tech/server/security/rbac/a.c Lcom/l7tech/gateway/common/security/rbac/MethodStereotype;
      // 31c: invokevirtual com/l7tech/gateway/common/security/rbac/MethodStereotype.ordinal ()I
      // 31f: iaload
      // 320: tableswitch 1080 1 19 92 309 434 577 677 686 699 712 725 738 751 764 777 790 817 817 844 857 1038
      // 37c: aload 0
      // 37d: aload 8
      // 37f: aload 3
      // 380: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;)Lcom/l7tech/objectmodel/Entity;
      // 383: astore 12
      // 385: aload 12
      // 387: ifnull 3a3
      // 38a: aload 12
      // 38c: invokeinterface com/l7tech/objectmodel/Entity.getId ()Ljava/lang/String; 1
      // 391: astore 13
      // 393: aload 0
      // 394: aload 8
      // 396: aload 3
      // 397: aload 0
      // 398: aload 13
      // 39a: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/String;)Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 39d: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 3a0: goto 780
      // 3a3: aload 0
      // 3a4: aload 8
      // 3a6: aload 3
      // 3a7: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.c (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;)Ljava/lang/Iterable;
      // 3aa: astore 13
      // 3ac: aload 13
      // 3ae: ifnull 3d3
      // 3b1: aload 8
      // 3b3: aload 0
      // 3b4: aload 13
      // 3b6: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Iterable;)Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 3b9: putfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 3bc: aload 8
      // 3be: getstatic com/l7tech/server/security/rbac/CheckBefore.COLLECTION Lcom/l7tech/server/security/rbac/CheckBefore;
      // 3c1: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 3c4: aload 8
      // 3c6: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // 3c9: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 3cc: goto 780
      // 3cf: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 3d2: athrow
      // 3d3: aload 8
      // 3d5: getstatic com/l7tech/server/security/rbac/CheckBefore.NONE Lcom/l7tech/server/security/rbac/CheckBefore;
      // 3d8: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 3db: aload 8
      // 3dd: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // 3e0: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 3e3: aload 8
      // 3e5: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // 3e8: astore 14
      // 3ea: aload 14
      // 3ec: arraylength
      // 3ed: istore 15
      // 3ef: bipush 0
      // 3f0: istore 16
      // 3f2: iload 16
      // 3f4: iload 15
      // 3f6: if_icmpge 44e
      // 3f9: aload 14
      // 3fb: iload 16
      // 3fd: aaload
      // 3fe: astore 17
      // 400: aload 0
      // 401: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // 404: aload 11
      // 406: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 409: aload 17
      // 40b: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 410: ifne 424
      // 413: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // 416: dup
      // 417: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 41a: aload 17
      // 41c: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)V
      // 41f: athrow
      // 420: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 423: athrow
      // 424: aload 0
      // 425: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // 428: aload 11
      // 42a: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 42d: aload 17
      // 42f: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 434: ifne 448
      // 437: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // 43a: dup
      // 43b: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 43e: aload 17
      // 440: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)V
      // 443: athrow
      // 444: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 447: athrow
      // 448: iinc 16 1
      // 44b: goto 3f2
      // 44e: aload 1
      // 44f: invokeinterface org/aopalliance/intercept/MethodInvocation.proceed ()Ljava/lang/Object; 1
      // 454: areturn
      // 455: aload 0
      // 456: aload 8
      // 458: aload 3
      // 459: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;)Lcom/l7tech/objectmodel/Entity;
      // 45c: astore 12
      // 45e: aload 12
      // 460: ifnull 474
      // 463: aload 0
      // 464: aload 8
      // 466: aload 3
      // 467: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 46a: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 46d: goto 780
      // 470: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 473: athrow
      // 474: aload 8
      // 476: getstatic com/l7tech/server/security/rbac/CheckBefore.NONE Lcom/l7tech/server/security/rbac/CheckBefore;
      // 479: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 47c: aload 8
      // 47e: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // 481: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 484: aload 8
      // 486: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // 489: astore 13
      // 48b: aload 13
      // 48d: arraylength
      // 48e: istore 14
      // 490: bipush 0
      // 491: istore 15
      // 493: iload 15
      // 495: iload 14
      // 497: if_icmpge 4cb
      // 49a: aload 13
      // 49c: iload 15
      // 49e: aaload
      // 49f: astore 16
      // 4a1: aload 0
      // 4a2: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // 4a5: aload 11
      // 4a7: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 4aa: aload 16
      // 4ac: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 4b1: ifne 4c5
      // 4b4: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // 4b7: dup
      // 4b8: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 4bb: aload 16
      // 4bd: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)V
      // 4c0: athrow
      // 4c1: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 4c4: athrow
      // 4c5: iinc 15 1
      // 4c8: goto 493
      // 4cb: aload 1
      // 4cc: invokeinterface org/aopalliance/intercept/MethodInvocation.proceed ()Ljava/lang/Object; 1
      // 4d1: areturn
      // 4d2: aload 8
      // 4d4: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 4d7: putfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 4da: ldc java/lang/Iterable
      // 4dc: aload 5
      // 4de: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 4e1: ifeq 4fb
      // 4e4: aload 8
      // 4e6: getstatic com/l7tech/server/security/rbac/CheckBefore.NONE Lcom/l7tech/server/security/rbac/CheckBefore;
      // 4e9: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 4ec: aload 8
      // 4ee: getstatic com/l7tech/server/security/rbac/CheckAfter.COLLECTION Lcom/l7tech/server/security/rbac/CheckAfter;
      // 4f1: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 4f4: goto 780
      // 4f7: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 4fa: athrow
      // 4fb: aload 5
      // 4fd: invokevirtual java/lang/Class.isArray ()Z
      // 500: ifeq 54e
      // 503: aload 10
      // 505: ifnonnull 537
      // 508: goto 50f
      // 50b: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 50e: athrow
      // 50f: ldc com/l7tech/objectmodel/Entity
      // 511: aload 5
      // 513: invokevirtual java/lang/Class.getComponentType ()Ljava/lang/Class;
      // 516: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 519: ifne 537
      // 51c: goto 523
      // 51f: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 522: athrow
      // 523: ldc com/l7tech/objectmodel/EntityHeader
      // 525: aload 5
      // 527: invokevirtual java/lang/Class.getComponentType ()Ljava/lang/Class;
      // 52a: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 52d: ifeq 54e
      // 530: goto 537
      // 533: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 536: athrow
      // 537: aload 8
      // 539: getstatic com/l7tech/server/security/rbac/CheckBefore.NONE Lcom/l7tech/server/security/rbac/CheckBefore;
      // 53c: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 53f: aload 8
      // 541: getstatic com/l7tech/server/security/rbac/CheckAfter.COLLECTION Lcom/l7tech/server/security/rbac/CheckAfter;
      // 544: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 547: goto 780
      // 54a: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 54d: athrow
      // 54e: aload 8
      // 550: getstatic com/l7tech/server/security/rbac/CheckBefore.ALL Lcom/l7tech/server/security/rbac/CheckBefore;
      // 553: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 556: aload 8
      // 558: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // 55b: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 55e: goto 780
      // 561: aload 8
      // 563: getstatic com/l7tech/server/security/rbac/CheckBefore.NONE Lcom/l7tech/server/security/rbac/CheckBefore;
      // 566: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 569: aload 8
      // 56b: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 56e: putfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 571: ldc java/lang/Iterable
      // 573: aload 5
      // 575: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 578: ifne 58a
      // 57b: aload 5
      // 57d: invokevirtual java/lang/Class.isArray ()Z
      // 580: ifeq 599
      // 583: goto 58a
      // 586: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 589: athrow
      // 58a: aload 8
      // 58c: getstatic com/l7tech/server/security/rbac/CheckAfter.COLLECTION Lcom/l7tech/server/security/rbac/CheckAfter;
      // 58f: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 592: goto 780
      // 595: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 598: athrow
      // 599: ldc com/l7tech/objectmodel/EntityHeader
      // 59b: aload 5
      // 59d: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 5a0: ifeq 5b2
      // 5a3: aload 8
      // 5a5: getstatic com/l7tech/server/security/rbac/CheckAfter.HEADER Lcom/l7tech/server/security/rbac/CheckAfter;
      // 5a8: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 5ab: goto 780
      // 5ae: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 5b1: athrow
      // 5b2: aload 8
      // 5b4: getstatic com/l7tech/server/security/rbac/CheckBefore.ALL Lcom/l7tech/server/security/rbac/CheckBefore;
      // 5b7: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 5ba: aload 8
      // 5bc: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // 5bf: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 5c2: goto 780
      // 5c5: aload 0
      // 5c6: aload 8
      // 5c8: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Lcom/l7tech/server/security/rbac/a;)V
      // 5cb: goto 780
      // 5ce: aload 0
      // 5cf: aload 8
      // 5d1: aload 3
      // 5d2: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 5d5: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 5d8: goto 780
      // 5db: aload 0
      // 5dc: aload 8
      // 5de: aload 3
      // 5df: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 5e2: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 5e5: goto 780
      // 5e8: aload 0
      // 5e9: aload 3
      // 5ea: aload 8
      // 5ec: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 5ef: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a ([Ljava/lang/Object;Lcom/l7tech/server/security/rbac/a;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 5f2: goto 780
      // 5f5: aload 0
      // 5f6: aload 3
      // 5f7: aload 8
      // 5f9: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 5fc: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a ([Ljava/lang/Object;Lcom/l7tech/server/security/rbac/a;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 5ff: goto 780
      // 602: aload 0
      // 603: aload 8
      // 605: aload 3
      // 606: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 609: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 60c: goto 780
      // 60f: aload 0
      // 610: aload 8
      // 612: aload 3
      // 613: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 616: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 619: goto 780
      // 61c: aload 0
      // 61d: aload 8
      // 61f: aload 3
      // 620: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 623: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 626: goto 780
      // 629: aload 0
      // 62a: aload 8
      // 62c: aload 3
      // 62d: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 630: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 633: goto 780
      // 636: aload 8
      // 638: getstatic com/l7tech/server/security/rbac/CheckBefore.ALL Lcom/l7tech/server/security/rbac/CheckBefore;
      // 63b: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 63e: aload 8
      // 640: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // 643: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 646: aload 8
      // 648: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 64b: putfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 64e: goto 780
      // 651: aload 8
      // 653: getstatic com/l7tech/server/security/rbac/CheckBefore.ALL Lcom/l7tech/server/security/rbac/CheckBefore;
      // 656: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 659: aload 8
      // 65b: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // 65e: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 661: aload 8
      // 663: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 666: putfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 669: goto 780
      // 66c: aload 0
      // 66d: aload 8
      // 66f: aload 3
      // 670: getstatic com/l7tech/gateway/common/security/rbac/OperationType.OTHER Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 673: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 676: goto 780
      // 679: aload 0
      // 67a: aload 8
      // 67c: aload 3
      // 67d: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;)Lcom/l7tech/objectmodel/Entity;
      // 680: astore 12
      // 682: aload 12
      // 684: ifnull 6d0
      // 687: aload 12
      // 689: invokeinterface com/l7tech/objectmodel/Entity.getId ()Ljava/lang/String; 1
      // 68e: astore 13
      // 690: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.e Ljava/lang/String;
      // 693: aload 13
      // 695: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 698: ifne 6c3
      // 69b: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.f Ljava/lang/String;
      // 69e: aload 13
      // 6a0: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 6a3: ifne 6c3
      // 6a6: goto 6ad
      // 6a9: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 6ac: athrow
      // 6ad: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // 6b0: dup
      // 6b1: getstatic com/l7tech/gateway/common/security/rbac/OperationType.OTHER Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 6b4: aload 12
      // 6b6: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 6b9: bipush 0
      // 6ba: aaload
      // 6bb: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/Entity;Ljava/lang/String;)V
      // 6be: athrow
      // 6bf: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 6c2: athrow
      // 6c3: aload 0
      // 6c4: aload 8
      // 6c6: aload 3
      // 6c7: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 6ca: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;Lcom/l7tech/gateway/common/security/rbac/OperationType;)V
      // 6cd: goto 780
      // 6d0: aload 8
      // 6d2: getstatic com/l7tech/server/security/rbac/CheckBefore.NONE Lcom/l7tech/server/security/rbac/CheckBefore;
      // 6d5: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 6d8: aload 8
      // 6da: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // 6dd: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 6e0: aload 8
      // 6e2: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // 6e5: astore 13
      // 6e7: aload 13
      // 6e9: arraylength
      // 6ea: istore 14
      // 6ec: bipush 0
      // 6ed: istore 15
      // 6ef: iload 15
      // 6f1: iload 14
      // 6f3: if_icmpge 727
      // 6f6: aload 13
      // 6f8: iload 15
      // 6fa: aaload
      // 6fb: astore 16
      // 6fd: aload 0
      // 6fe: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // 701: aload 11
      // 703: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 706: aload 16
      // 708: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // 70d: ifne 721
      // 710: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // 713: dup
      // 714: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 717: aload 16
      // 719: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)V
      // 71c: athrow
      // 71d: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 720: athrow
      // 721: iinc 15 1
      // 724: goto 6ef
      // 727: aload 1
      // 728: invokeinterface org/aopalliance/intercept/MethodInvocation.proceed ()Ljava/lang/Object; 1
      // 72d: areturn
      // 72e: aload 8
      // 730: getstatic com/l7tech/server/security/rbac/CheckBefore.SOME Lcom/l7tech/server/security/rbac/CheckBefore;
      // 733: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 736: aload 8
      // 738: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // 73b: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // 73e: aload 8
      // 740: getstatic com/l7tech/gateway/common/security/rbac/OperationType.OTHER Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 743: putfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 746: aload 8
      // 748: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 74b: astore 19
      // 74d: aload 19
      // 74f: bipush 15
      // 751: aaload
      // 752: putfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // 755: goto 780
      // 758: new java/lang/UnsupportedOperationException
      // 75b: dup
      // 75c: aload 6
      // 75e: aload 8
      // 760: getfield com/l7tech/server/security/rbac/a.c Lcom/l7tech/gateway/common/security/rbac/MethodStereotype;
      // 763: invokevirtual com/l7tech/gateway/common/security/rbac/MethodStereotype.name ()Ljava/lang/String;
      // 766: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 769: astore 19
      // 76b: aload 19
      // 76d: bipush 2
      // 76e: aaload
      // 76f: dup_x2
      // 770: pop
      // 771: aload 19
      // 773: bipush 53
      // 775: aaload
      // 776: swap
      // 777: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001" ]
      // 77c: invokespecial java/lang/UnsupportedOperationException.<init> (Ljava/lang/String;)V
      // 77f: athrow
      // 780: aload 8
      // 782: invokevirtual com/l7tech/server/security/rbac/a.a ()Lcom/l7tech/server/security/rbac/CheckBefore;
      // 785: ifnonnull 79a
      // 788: new java/lang/NullPointerException
      // 78b: dup
      // 78c: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 78f: bipush 44
      // 791: aaload
      // 792: invokespecial java/lang/NullPointerException.<init> (Ljava/lang/String;)V
      // 795: athrow
      // 796: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 799: athrow
      // 79a: aload 8
      // 79c: invokevirtual com/l7tech/server/security/rbac/a.b ()Lcom/l7tech/server/security/rbac/CheckAfter;
      // 79f: ifnonnull 7b3
      // 7a2: new java/lang/NullPointerException
      // 7a5: dup
      // 7a6: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 7a9: bipush 3
      // 7aa: aaload
      // 7ab: invokespecial java/lang/NullPointerException.<init> (Ljava/lang/String;)V
      // 7ae: athrow
      // 7af: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 7b2: athrow
      // 7b3: aload 8
      // 7b5: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 7b8: ifnull 7cd
      // 7bb: aload 8
      // 7bd: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 7c0: getstatic com/l7tech/gateway/common/security/rbac/OperationType.NONE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 7c3: if_acmpne 7df
      // 7c6: goto 7cd
      // 7c9: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 7cc: athrow
      // 7cd: new java/lang/NullPointerException
      // 7d0: dup
      // 7d1: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 7d4: bipush 33
      // 7d6: aaload
      // 7d7: invokespecial java/lang/NullPointerException.<init> (Ljava/lang/String;)V
      // 7da: athrow
      // 7db: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 7de: athrow
      // 7df: getstatic com/l7tech/server/security/rbac/i.b [I
      // 7e2: aload 8
      // 7e4: invokevirtual com/l7tech/server/security/rbac/a.a ()Lcom/l7tech/server/security/rbac/CheckBefore;
      // 7e7: invokevirtual com/l7tech/server/security/rbac/CheckBefore.ordinal ()I
      // 7ea: iaload
      // 7eb: tableswitch 1003 1 6 37 374 572 650 890 1003
      // 810: aload 8
      // 812: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 815: ifnonnull 831
      // 818: goto 81f
      // 81b: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 81e: athrow
      // 81f: new java/lang/NullPointerException
      // 822: dup
      // 823: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 826: bipush 52
      // 828: aaload
      // 829: invokespecial java/lang/NullPointerException.<init> (Ljava/lang/String;)V
      // 82c: athrow
      // 82d: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 830: athrow
      // 831: aload 8
      // 833: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 836: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 839: if_acmpne 929
      // 83c: aconst_null
      // 83d: astore 12
      // 83f: aload 8
      // 841: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 844: instanceof com/l7tech/identity/Identity
      // 847: ifeq 893
      // 84a: aload 8
      // 84c: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // 84f: arraylength
      // 850: bipush 1
      // 851: if_icmpne 893
      // 854: goto 85b
      // 857: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 85a: athrow
      // 85b: aload 8
      // 85d: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 860: checkcast com/l7tech/identity/Identity
      // 863: astore 13
      // 865: aload 0
      // 866: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.d Lcom/l7tech/server/EntityFinder;
      // 869: new com/l7tech/objectmodel/IdentityHeader
      // 86c: dup
      // 86d: aload 13
      // 86f: invokeinterface com/l7tech/identity/Identity.getProviderId ()Lcom/l7tech/objectmodel/Goid; 1
      // 874: aload 13
      // 876: invokeinterface com/l7tech/identity/Identity.getId ()Ljava/lang/String; 1
      // 87b: aload 8
      // 87d: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // 880: bipush 0
      // 881: aaload
      // 882: aconst_null
      // 883: aconst_null
      // 884: aconst_null
      // 885: aconst_null
      // 886: invokespecial com/l7tech/objectmodel/IdentityHeader.<init> (Lcom/l7tech/objectmodel/Goid;Ljava/lang/String;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;)V
      // 889: invokeinterface com/l7tech/server/EntityFinder.find (Lcom/l7tech/objectmodel/EntityHeader;)Lcom/l7tech/objectmodel/Entity; 2
      // 88e: astore 12
      // 890: goto 8b2
      // 893: aload 0
      // 894: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.d Lcom/l7tech/server/EntityFinder;
      // 897: aload 8
      // 899: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 89c: invokeinterface com/l7tech/objectmodel/Entity.getClass ()Ljava/lang/Class; 1
      // 8a1: aload 8
      // 8a3: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 8a6: invokeinterface com/l7tech/objectmodel/Entity.getId ()Ljava/lang/String; 1
      // 8ab: invokeinterface com/l7tech/server/EntityFinder.find (Ljava/lang/Class;Ljava/io/Serializable;)Lcom/l7tech/objectmodel/Entity; 3
      // 8b0: astore 12
      // 8b2: aload 12
      // 8b4: ifnull 8ec
      // 8b7: aload 0
      // 8b8: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // 8bb: aload 11
      // 8bd: aload 12
      // 8bf: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 8c2: aload 8
      // 8c4: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // 8c7: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForEntity (Lcom/l7tech/identity/User;Lcom/l7tech/objectmodel/Entity;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;)Z 5
      // 8cc: ifne 8ec
      // 8cf: goto 8d6
      // 8d2: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 8d5: athrow
      // 8d6: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // 8d9: dup
      // 8da: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 8dd: aload 12
      // 8df: aload 8
      // 8e1: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // 8e4: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/Entity;Ljava/lang/String;)V
      // 8e7: athrow
      // 8e8: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 8eb: athrow
      // 8ec: aload 12
      // 8ee: ifnonnull 929
      // 8f1: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a Ljava/util/logging/Logger;
      // 8f4: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 8f7: aload 8
      // 8f9: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 8fc: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 8ff: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 902: bipush 41
      // 904: aaload
      // 905: swap
      // 906: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 90b: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 90e: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // 911: dup
      // 912: aload 8
      // 914: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 917: aload 8
      // 919: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 91c: aload 8
      // 91e: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // 921: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/Entity;Ljava/lang/String;)V
      // 924: athrow
      // 925: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 928: athrow
      // 929: aload 0
      // 92a: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // 92d: aload 11
      // 92f: aload 8
      // 931: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 934: aload 8
      // 936: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 939: aload 8
      // 93b: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // 93e: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForEntity (Lcom/l7tech/identity/User;Lcom/l7tech/objectmodel/Entity;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;)Z 5
      // 943: ifne bd6
      // 946: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // 949: dup
      // 94a: aload 8
      // 94c: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 94f: aload 8
      // 951: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 954: aload 8
      // 956: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // 959: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/Entity;Ljava/lang/String;)V
      // 95c: athrow
      // 95d: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 960: athrow
      // 961: aload 8
      // 963: getfield com/l7tech/server/security/rbac/a.i Ljava/io/Serializable;
      // 966: ifnonnull 97b
      // 969: new java/lang/NullPointerException
      // 96c: dup
      // 96d: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 970: bipush 57
      // 972: aaload
      // 973: invokespecial java/lang/NullPointerException.<init> (Ljava/lang/String;)V
      // 976: athrow
      // 977: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 97a: athrow
      // 97b: aload 8
      // 97d: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // 980: arraylength
      // 981: bipush 1
      // 982: if_icmple 9a4
      // 985: new java/lang/IllegalStateException
      // 988: dup
      // 989: aload 6
      // 98b: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 98e: bipush 2
      // 98f: aaload
      // 990: swap
      // 991: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 994: bipush 46
      // 996: aaload
      // 997: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 99c: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 99f: athrow
      // 9a0: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 9a3: athrow
      // 9a4: aload 0
      // 9a5: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.d Lcom/l7tech/server/EntityFinder;
      // 9a8: aload 8
      // 9aa: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // 9ad: bipush 0
      // 9ae: aaload
      // 9af: invokevirtual com/l7tech/objectmodel/EntityType.getEntityClass ()Ljava/lang/Class;
      // 9b2: aload 8
      // 9b4: getfield com/l7tech/server/security/rbac/a.i Ljava/io/Serializable;
      // 9b7: invokeinterface com/l7tech/server/EntityFinder.find (Ljava/lang/Class;Ljava/io/Serializable;)Lcom/l7tech/objectmodel/Entity; 3
      // 9bc: astore 12
      // 9be: aload 12
      // 9c0: ifnonnull 9f5
      // 9c3: new java/lang/IllegalStateException
      // 9c6: dup
      // 9c7: aload 8
      // 9c9: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // 9cc: bipush 0
      // 9cd: aaload
      // 9ce: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 9d1: aload 8
      // 9d3: getfield com/l7tech/server/security/rbac/a.i Ljava/io/Serializable;
      // 9d6: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 9d9: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 9dc: bipush 6
      // 9de: aaload
      // 9df: dup_x2
      // 9e0: pop
      // 9e1: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 9e4: bipush 10
      // 9e6: aaload
      // 9e7: swap
      // 9e8: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001" ]
      // 9ed: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 9f0: athrow
      // 9f1: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 9f4: athrow
      // 9f5: aload 0
      // 9f6: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // 9f9: aload 11
      // 9fb: aload 12
      // 9fd: aload 8
      // 9ff: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // a02: aload 8
      // a04: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // a07: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForEntity (Lcom/l7tech/identity/User;Lcom/l7tech/objectmodel/Entity;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;)Z 5
      // a0c: ifne bd6
      // a0f: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // a12: dup
      // a13: aload 8
      // a15: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // a18: aload 12
      // a1a: aload 8
      // a1c: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // a1f: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/Entity;Ljava/lang/String;)V
      // a22: athrow
      // a23: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // a26: athrow
      // a27: aload 8
      // a29: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // a2c: astore 13
      // a2e: aload 13
      // a30: arraylength
      // a31: istore 14
      // a33: bipush 0
      // a34: istore 15
      // a36: iload 15
      // a38: iload 14
      // a3a: if_icmpge a72
      // a3d: aload 13
      // a3f: iload 15
      // a41: aaload
      // a42: astore 16
      // a44: aload 0
      // a45: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // a48: aload 11
      // a4a: aload 8
      // a4c: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // a4f: aload 16
      // a51: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // a56: ifne a6c
      // a59: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // a5c: dup
      // a5d: aload 8
      // a5f: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // a62: aload 16
      // a64: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)V
      // a67: athrow
      // a68: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // a6b: athrow
      // a6c: iinc 15 1
      // a6f: goto a36
      // a72: goto bd6
      // a75: aload 8
      // a77: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // a7a: getstatic com/l7tech/gateway/common/security/rbac/OperationType.OTHER Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // a7d: if_acmpne a98
      // a80: aload 8
      // a82: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // a85: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // a88: bipush 37
      // a8a: aaload
      // a8b: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // a8e: ifne aaa
      // a91: goto a98
      // a94: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // a97: athrow
      // a98: new java/lang/IllegalStateException
      // a9b: dup
      // a9c: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // a9f: bipush 20
      // aa1: aaload
      // aa2: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // aa5: athrow
      // aa6: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // aa9: athrow
      // aaa: aload 8
      // aac: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // aaf: astore 13
      // ab1: aload 13
      // ab3: arraylength
      // ab4: istore 14
      // ab6: bipush 0
      // ab7: istore 15
      // ab9: iload 15
      // abb: iload 14
      // abd: if_icmpge b62
      // ac0: aload 13
      // ac2: iload 15
      // ac4: aaload
      // ac5: astore 16
      // ac7: aload 0
      // ac8: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // acb: aload 11
      // acd: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // ad0: aload 16
      // ad2: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForSomeEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // ad7: ifne b28
      // ada: aload 0
      // adb: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // ade: aload 11
      // ae0: getstatic com/l7tech/gateway/common/security/rbac/OperationType.READ Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // ae3: aload 16
      // ae5: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForSomeEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // aea: ifne b28
      // aed: goto af4
      // af0: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // af3: athrow
      // af4: aload 0
      // af5: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // af8: aload 11
      // afa: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // afd: aload 16
      // aff: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForSomeEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // b04: ifne b28
      // b07: goto b0e
      // b0a: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // b0d: athrow
      // b0e: aload 0
      // b0f: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // b12: aload 11
      // b14: getstatic com/l7tech/gateway/common/security/rbac/OperationType.DELETE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // b17: aload 16
      // b19: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // b1e: ifeq b30
      // b21: goto b28
      // b24: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // b27: athrow
      // b28: bipush 1
      // b29: goto b31
      // b2c: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // b2f: athrow
      // b30: bipush 0
      // b31: istore 17
      // b33: iload 17
      // b35: ifne b5c
      // b38: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // b3b: dup
      // b3c: aload 8
      // b3e: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // b41: aload 16
      // b43: aload 16
      // b45: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // b48: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // b4b: bipush 59
      // b4d: aaload
      // b4e: swap
      // b4f: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // b54: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)V
      // b57: athrow
      // b58: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // b5b: athrow
      // b5c: iinc 15 1
      // b5f: goto ab9
      // b62: goto bd6
      // b65: aload 8
      // b67: getfield com/l7tech/server/security/rbac/a.k Ljava/lang/Iterable;
      // b6a: ifnonnull b7f
      // b6d: new java/lang/IllegalStateException
      // b70: dup
      // b71: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // b74: bipush 22
      // b76: aaload
      // b77: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // b7a: athrow
      // b7b: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // b7e: athrow
      // b7f: aload 8
      // b81: getfield com/l7tech/server/security/rbac/a.k Ljava/lang/Iterable;
      // b84: invokeinterface java/lang/Iterable.iterator ()Ljava/util/Iterator; 1
      // b89: astore 13
      // b8b: aload 13
      // b8d: invokeinterface java/util/Iterator.hasNext ()Z 1
      // b92: ifeq bd6
      // b95: aload 13
      // b97: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // b9c: checkcast com/l7tech/objectmodel/Entity
      // b9f: astore 14
      // ba1: aload 0
      // ba2: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // ba5: aload 11
      // ba7: aload 14
      // ba9: aload 8
      // bab: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // bae: aload 8
      // bb0: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // bb3: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForEntity (Lcom/l7tech/identity/User;Lcom/l7tech/objectmodel/Entity;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;)Z 5
      // bb8: ifne bd3
      // bbb: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // bbe: dup
      // bbf: aload 8
      // bc1: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // bc4: aload 14
      // bc6: aload 8
      // bc8: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // bcb: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/Entity;Ljava/lang/String;)V
      // bce: athrow
      // bcf: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // bd2: athrow
      // bd3: goto b8b
      // bd6: aload 1
      // bd7: invokeinterface org/aopalliance/intercept/MethodInvocation.proceed ()Ljava/lang/Object; 1
      // bdc: astore 12
      // bde: aload 12
      // be0: ifnonnull be9
      // be3: aconst_null
      // be4: areturn
      // be5: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // be8: athrow
      // be9: getstatic com/l7tech/server/security/rbac/i.c [I
      // bec: aload 8
      // bee: invokevirtual com/l7tech/server/security/rbac/a.b ()Lcom/l7tech/server/security/rbac/CheckAfter;
      // bf1: invokevirtual com/l7tech/server/security/rbac/CheckAfter.ordinal ()I
      // bf4: iaload
      // bf5: tableswitch 742 1 4 31 90 592 688
      // c14: aload 12
      // c16: instanceof com/l7tech/objectmodel/EntityHeader
      // c19: ifeq c38
      // c1c: goto c23
      // c1f: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // c22: athrow
      // c23: aload 12
      // c25: checkcast com/l7tech/objectmodel/EntityHeader
      // c28: astore 13
      // c2a: bipush 1
      // c2b: anewarray 2
      // c2e: dup
      // c2f: bipush 0
      // c30: aload 13
      // c32: aastore
      // c33: astore 12
      // c35: goto c4f
      // c38: aload 12
      // c3a: ifnull c4f
      // c3d: new java/lang/IllegalStateException
      // c40: dup
      // c41: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // c44: bipush 54
      // c46: aaload
      // c47: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // c4a: athrow
      // c4b: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // c4e: athrow
      // c4f: bipush 1
      // c50: istore 13
      // c52: aload 8
      // c54: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // c57: astore 14
      // c59: aload 14
      // c5b: arraylength
      // c5c: istore 15
      // c5e: bipush 0
      // c5f: istore 16
      // c61: iload 16
      // c63: iload 15
      // c65: if_icmpge cc9
      // c68: aload 14
      // c6a: iload 16
      // c6c: aaload
      // c6d: astore 17
      // c6f: aload 0
      // c70: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // c73: aload 11
      // c75: aload 8
      // c77: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // c7a: aload 17
      // c7c: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForAnyEntityOfType (Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)Z 4
      // c81: ifne c8a
      // c84: bipush 0
      // c85: istore 13
      // c87: goto cc3
      // c8a: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a Ljava/util/logging/Logger;
      // c8d: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // c90: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // c93: ifeq cc3
      // c96: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a Ljava/util/logging/Logger;
      // c99: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // c9c: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // c9f: bipush 27
      // ca1: aaload
      // ca2: bipush 2
      // ca3: anewarray 421
      // ca6: dup
      // ca7: bipush 0
      // ca8: aload 8
      // caa: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // cad: invokevirtual com/l7tech/gateway/common/security/rbac/OperationType.name ()Ljava/lang/String;
      // cb0: aastore
      // cb1: dup
      // cb2: bipush 1
      // cb3: aload 17
      // cb5: invokevirtual com/l7tech/objectmodel/EntityType.name ()Ljava/lang/String;
      // cb8: aastore
      // cb9: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // cbc: goto cc3
      // cbf: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // cc2: athrow
      // cc3: iinc 16 1
      // cc6: goto c61
      // cc9: iload 13
      // ccb: ifeq cdd
      // cce: aload 0
      // ccf: aload 12
      // cd1: aload 12
      // cd3: aload 8
      // cd5: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Object;Ljava/lang/Object;Lcom/l7tech/server/security/rbac/a;)Ljava/lang/Object;
      // cd8: areturn
      // cd9: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // cdc: athrow
      // cdd: aload 12
      // cdf: instanceof [Lcom/l7tech/objectmodel/EntityHeader;
      // ce2: ifeq d2f
      // ce5: aload 12
      // ce7: checkcast [Lcom/l7tech/objectmodel/EntityHeader;
      // cea: astore 14
      // cec: aload 0
      // ced: aload 14
      // cef: invokestatic java/util/Arrays.asList ([Ljava/lang/Object;)Ljava/util/List;
      // cf2: aload 11
      // cf4: aload 8
      // cf6: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // cf9: aload 8
      // cfb: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // cfe: aload 8
      // d00: getfield com/l7tech/server/security/rbac/a.a Ljava/lang/String;
      // d03: aconst_null
      // d04: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Iterable;Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;Ljava/lang/String;Lcom/l7tech/server/security/rbac/CustomEntityTranslator;)Ljava/lang/Iterable;
      // d07: checkcast java/util/List
      // d0a: astore 15
      // d0c: aload 14
      // d0e: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // d11: invokevirtual java/lang/Class.getComponentType ()Ljava/lang/Class;
      // d14: bipush 0
      // d15: invokestatic java/lang/reflect/Array.newInstance (Ljava/lang/Class;I)Ljava/lang/Object;
      // d18: checkcast [Ljava/lang/Object;
      // d1b: astore 16
      // d1d: aload 0
      // d1e: aload 15
      // d20: aload 16
      // d22: invokeinterface java/util/List.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // d27: aload 12
      // d29: aload 8
      // d2b: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Object;Ljava/lang/Object;Lcom/l7tech/server/security/rbac/a;)Ljava/lang/Object;
      // d2e: areturn
      // d2f: aload 12
      // d31: instanceof [Lcom/l7tech/objectmodel/Entity;
      // d34: ifeq d79
      // d37: aload 12
      // d39: checkcast [Lcom/l7tech/objectmodel/Entity;
      // d3c: astore 14
      // d3e: aload 0
      // d3f: aload 14
      // d41: invokestatic java/util/Arrays.asList ([Ljava/lang/Object;)Ljava/util/List;
      // d44: aload 11
      // d46: aload 8
      // d48: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // d4b: aload 8
      // d4d: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // d50: aload 8
      // d52: getfield com/l7tech/server/security/rbac/a.a Ljava/lang/String;
      // d55: aconst_null
      // d56: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Iterable;Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;Ljava/lang/String;Lcom/l7tech/server/security/rbac/CustomEntityTranslator;)Ljava/lang/Iterable;
      // d59: checkcast java/util/List
      // d5c: astore 15
      // d5e: aload 14
      // d60: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // d63: invokevirtual java/lang/Class.getComponentType ()Ljava/lang/Class;
      // d66: bipush 0
      // d67: invokestatic java/lang/reflect/Array.newInstance (Ljava/lang/Class;I)Ljava/lang/Object;
      // d6a: checkcast [Ljava/lang/Object;
      // d6d: astore 16
      // d6f: aload 15
      // d71: aload 16
      // d73: invokeinterface java/util/List.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // d78: areturn
      // d79: aload 12
      // d7b: instanceof java/lang/Iterable
      // d7e: ifeq dc1
      // d81: aload 10
      // d83: ifnonnull d95
      // d86: goto d8d
      // d89: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // d8c: athrow
      // d8d: aconst_null
      // d8e: goto da2
      // d91: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // d94: athrow
      // d95: aload 0
      // d96: aload 10
      // d98: aload 2
      // d99: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // d9c: invokevirtual java/lang/Class.getClassLoader ()Ljava/lang/ClassLoader;
      // d9f: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Ljava/lang/String;Ljava/lang/ClassLoader;)Lcom/l7tech/server/security/rbac/CustomEntityTranslator;
      // da2: astore 14
      // da4: aload 0
      // da5: aload 12
      // da7: checkcast java/lang/Iterable
      // daa: aload 11
      // dac: aload 8
      // dae: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // db1: aload 8
      // db3: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // db6: aload 8
      // db8: getfield com/l7tech/server/security/rbac/a.a Ljava/lang/String;
      // dbb: aload 14
      // dbd: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Iterable;Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;Ljava/lang/String;Lcom/l7tech/server/security/rbac/CustomEntityTranslator;)Ljava/lang/Iterable;
      // dc0: areturn
      // dc1: aload 12
      // dc3: instanceof [Ljava/lang/Object;
      // dc6: ifeq e27
      // dc9: aload 10
      // dcb: ifnull e27
      // dce: goto dd5
      // dd1: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // dd4: athrow
      // dd5: aload 0
      // dd6: aload 10
      // dd8: aload 2
      // dd9: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // ddc: invokevirtual java/lang/Class.getClassLoader ()Ljava/lang/ClassLoader;
      // ddf: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Ljava/lang/String;Ljava/lang/ClassLoader;)Lcom/l7tech/server/security/rbac/CustomEntityTranslator;
      // de2: astore 14
      // de4: aload 12
      // de6: checkcast [Ljava/lang/Object;
      // de9: astore 15
      // deb: aload 0
      // dec: aload 15
      // dee: invokestatic java/util/Arrays.asList ([Ljava/lang/Object;)Ljava/util/List;
      // df1: aload 11
      // df3: aload 8
      // df5: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // df8: aload 8
      // dfa: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // dfd: aload 8
      // dff: getfield com/l7tech/server/security/rbac/a.a Ljava/lang/String;
      // e02: aload 14
      // e04: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Iterable;Lcom/l7tech/identity/User;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;Ljava/lang/String;Lcom/l7tech/server/security/rbac/CustomEntityTranslator;)Ljava/lang/Iterable;
      // e07: checkcast java/util/List
      // e0a: astore 16
      // e0c: aload 15
      // e0e: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // e11: invokevirtual java/lang/Class.getComponentType ()Ljava/lang/Class;
      // e14: bipush 0
      // e15: invokestatic java/lang/reflect/Array.newInstance (Ljava/lang/Class;I)Ljava/lang/Object;
      // e18: checkcast [Ljava/lang/Object;
      // e1b: astore 17
      // e1d: aload 16
      // e1f: aload 17
      // e21: invokeinterface java/util/List.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // e26: areturn
      // e27: new java/lang/IllegalStateException
      // e2a: dup
      // e2b: aload 6
      // e2d: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // e30: astore 19
      // e32: aload 19
      // e34: bipush 4
      // e35: aaload
      // e36: swap
      // e37: aload 19
      // e39: bipush 14
      // e3b: aaload
      // e3c: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // e41: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // e44: athrow
      // e45: aload 12
      // e47: instanceof com/l7tech/objectmodel/Entity
      // e4a: ifne e6d
      // e4d: new java/lang/IllegalStateException
      // e50: dup
      // e51: aload 6
      // e53: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // e56: bipush 18
      // e58: aaload
      // e59: swap
      // e5a: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // e5d: bipush 21
      // e5f: aaload
      // e60: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // e65: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // e68: athrow
      // e69: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // e6c: athrow
      // e6d: aload 12
      // e6f: checkcast com/l7tech/objectmodel/Entity
      // e72: astore 14
      // e74: aload 0
      // e75: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.c Lcom/l7tech/server/security/rbac/RbacServices;
      // e78: aload 11
      // e7a: aload 14
      // e7c: aload 8
      // e7e: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // e81: aconst_null
      // e82: invokeinterface com/l7tech/server/security/rbac/RbacServices.isPermittedForEntity (Lcom/l7tech/identity/User;Lcom/l7tech/objectmodel/Entity;Lcom/l7tech/gateway/common/security/rbac/OperationType;Ljava/lang/String;)Z 5
      // e87: ifne ea2
      // e8a: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // e8d: dup
      // e8e: aload 8
      // e90: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // e93: aload 14
      // e95: aload 8
      // e97: getfield com/l7tech/server/security/rbac/a.e Ljava/lang/String;
      // e9a: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/Entity;Ljava/lang/String;)V
      // e9d: athrow
      // e9e: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // ea1: athrow
      // ea2: aload 12
      // ea4: areturn
      // ea5: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a Ljava/util/logging/Logger;
      // ea8: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // eab: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // eae: astore 19
      // eb0: aload 19
      // eb2: bipush 69
      // eb4: aaload
      // eb5: bipush 3
      // eb6: anewarray 421
      // eb9: dup
      // eba: bipush 0
      // ebb: aload 8
      // ebd: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // ec0: invokevirtual com/l7tech/gateway/common/security/rbac/OperationType.name ()Ljava/lang/String;
      // ec3: aastore
      // ec4: dup
      // ec5: bipush 1
      // ec6: aload 0
      // ec7: aload 8
      // ec9: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // ecc: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Lcom/l7tech/objectmodel/Entity;)Ljava/lang/String;
      // ecf: aastore
      // ed0: dup
      // ed1: bipush 2
      // ed2: aload 6
      // ed4: aastore
      // ed5: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // ed8: aload 12
      // eda: areturn
      // edb: aload 0
      // edc: aload 8
      // ede: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // ee1: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Lcom/l7tech/objectmodel/Entity;)Ljava/lang/String;
      // ee4: astore 15
      // ee6: aload 8
      // ee8: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // eeb: ifnonnull ef8
      // eee: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // ef1: goto efb
      // ef4: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // ef7: athrow
      // ef8: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // efb: astore 16
      // efd: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a Ljava/util/logging/Logger;
      // f00: aload 16
      // f02: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // f05: bipush 30
      // f07: aaload
      // f08: bipush 3
      // f09: anewarray 421
      // f0c: dup
      // f0d: bipush 0
      // f0e: aload 8
      // f10: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // f13: invokevirtual com/l7tech/gateway/common/security/rbac/OperationType.name ()Ljava/lang/String;
      // f16: aastore
      // f17: dup
      // f18: bipush 1
      // f19: aload 15
      // f1b: aastore
      // f1c: dup
      // f1d: bipush 2
      // f1e: aload 6
      // f20: aastore
      // f21: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // f24: aload 12
      // f26: areturn
      // try (41 -> 47): 48 java/lang/Throwable
      // try (74 -> 79): 80 java/lang/Throwable
      // try (77 -> 86): 87 java/lang/Throwable
      // try (82 -> 94): 95 java/lang/Throwable
      // try (100 -> 105): 106 java/lang/Throwable
      // try (112 -> 121): 122 java/lang/Throwable
      // try (116 -> 129): 130 java/lang/Throwable
      // try (124 -> 142): 142 java/lang/Throwable
      // try (144 -> 149): 150 java/lang/Throwable
      // try (155 -> 163): 164 java/lang/Throwable
      // try (169 -> 178): 179 java/lang/Throwable
      // try (172 -> 183): 184 java/lang/Throwable
      // try (181 -> 196): 196 java/lang/Throwable
      // try (201 -> 210): 211 java/lang/Throwable
      // try (204 -> 215): 216 java/lang/Throwable
      // try (213 -> 228): 228 java/lang/Throwable
      // try (234 -> 238): 239 java/lang/Throwable
      // try (236 -> 254): 254 java/lang/Throwable
      // try (256 -> 271): 271 java/lang/Throwable
      // try (285 -> 300): 300 java/lang/Throwable
      // try (302 -> 313): 313 java/lang/Throwable
      // try (315 -> 323): 323 java/lang/Throwable
      // try (354 -> 368): 368 java/lang/Throwable
      // try (391 -> 404): 404 java/lang/Throwable
      // try (406 -> 419): 419 java/lang/Throwable
      // try (431 -> 439): 439 java/lang/Throwable
      // try (462 -> 475): 475 java/lang/Throwable
      // try (482 -> 496): 496 java/lang/Throwable
      // try (498 -> 503): 504 java/lang/Throwable
      // try (501 -> 511): 512 java/lang/Throwable
      // try (506 -> 519): 520 java/lang/Throwable
      // try (514 -> 529): 529 java/lang/Throwable
      // try (538 -> 551): 552 java/lang/Throwable
      // try (548 -> 558): 558 java/lang/Throwable
      // try (560 -> 568): 568 java/lang/Throwable
      // try (665 -> 673): 674 java/lang/Throwable
      // try (669 -> 685): 685 java/lang/Throwable
      // try (714 -> 727): 727 java/lang/Throwable
      // try (771 -> 781): 781 java/lang/Throwable
      // try (783 -> 793): 793 java/lang/Throwable
      // try (795 -> 802): 803 java/lang/Throwable
      // try (798 -> 812): 812 java/lang/Throwable
      // try (814 -> 823): 824 java/lang/Throwable
      // try (820 -> 833): 833 java/lang/Throwable
      // try (841 -> 850): 851 java/lang/Throwable
      // try (887 -> 898): 899 java/lang/Throwable
      // try (889 -> 909): 909 java/lang/Throwable
      // try (911 -> 934): 934 java/lang/Throwable
      // try (936 -> 957): 957 java/lang/Throwable
      // try (959 -> 969): 969 java/lang/Throwable
      // try (971 -> 989): 989 java/lang/Throwable
      // try (1002 -> 1026): 1026 java/lang/Throwable
      // try (1028 -> 1047): 1047 java/lang/Throwable
      // try (1064 -> 1079): 1079 java/lang/Throwable
      // try (1084 -> 1095): 1096 java/lang/Throwable
      // try (1088 -> 1105): 1105 java/lang/Throwable
      // try (1122 -> 1136): 1137 java/lang/Throwable
      // try (1129 -> 1146): 1147 java/lang/Throwable
      // try (1139 -> 1156): 1157 java/lang/Throwable
      // try (1149 -> 1161): 1161 java/lang/Throwable
      // try (1165 -> 1181): 1181 java/lang/Throwable
      // try (1186 -> 1196): 1196 java/lang/Throwable
      // try (1209 -> 1228): 1228 java/lang/Throwable
      // try (1234 -> 1238): 1238 java/lang/Throwable
      // try (1240 -> 1249): 1250 java/lang/Throwable
      // try (1263 -> 1272): 1272 java/lang/Throwable
      // try (1302 -> 1325): 1326 java/lang/Throwable
      // try (1330 -> 1338): 1338 java/lang/Throwable
      // try (1406 -> 1411): 1412 java/lang/Throwable
      // try (1409 -> 1416): 1416 java/lang/Throwable
      // try (1438 -> 1443): 1444 java/lang/Throwable
      // try (1496 -> 1512): 1512 java/lang/Throwable
      // try (1517 -> 1535): 1535 java/lang/Throwable
      // try (1573 -> 1578): 1578 java/lang/Throwable
   }

   @NotNull
   private OperationType a(Iterable<Entity> var1) {
      OperationType var2 = null;

      for (Entity var4 : var1) {
         String var5 = var4.getId();
         OperationType var6 = this.a(var5);
         if (var2 == null) {
            var2 = var6;
         } else {
            try {
               if (var6 != var2) {
                  throw new IllegalStateException(h[25]);
               }
            } catch (IllegalArgumentException var8) {
               throw a(var8);
            }
         }
      }

      try {
         if (var2 == null) {
            throw new IllegalStateException(h[49]);
         }
      } catch (IllegalArgumentException var9) {
         throw a(var9);
      }

      try {
         if (var2 == null) {
            a(0);
         }

         return var2;
      } catch (IllegalArgumentException var7) {
         throw a(var7);
      }
   }

   private OperationType a(@Nullable String param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: ifnull 26
      // 04: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.e Ljava/lang/String;
      // 07: aload 1
      // 08: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0b: ifne 26
      // 0e: goto 15
      // 11: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 14: athrow
      // 15: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.f Ljava/lang/String;
      // 18: aload 1
      // 19: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 1c: ifeq 30
      // 1f: goto 26
      // 22: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 25: athrow
      // 26: getstatic com/l7tech/gateway/common/security/rbac/OperationType.CREATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 29: goto 33
      // 2c: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 2f: athrow
      // 30: getstatic com/l7tech/gateway/common/security/rbac/OperationType.UPDATE Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 33: areturn
      // try (0 -> 6): 7 java/lang/IllegalArgumentException
      // try (2 -> 13): 14 java/lang/IllegalArgumentException
      // try (9 -> 18): 18 java/lang/IllegalArgumentException
   }

   private Object a(@NotNull MethodInvocation var1, @NotNull User var2, @NotNull String var3, @NotNull ClassLoader var4) throws Throwable {
      try {
         if (var1 == null) {
            a(1);
         }
      } catch (Exception var11) {
         throw a(var11);
      }

      try {
         if (var2 == null) {
            a(2);
         }
      } catch (Exception var13) {
         throw a(var13);
      }

      try {
         if (var3 == null) {
            a(3);
         }
      } catch (Exception var10) {
         throw a(var10);
      }

      try {
         if (var4 == null) {
            a(4);
         }
      } catch (Exception var12) {
         throw a(var12);
      }

      CustomRbacInterceptor var5;
      try {
         var5 = this.a(var3, var4);
         this.a().inject(var5);
         var5.setUser(var2);
      } catch (Exception var9) {
         String var10001 = ExceptionUtils.getMessage(var9);
         String[] var8 = h;
         String var7 = var8[35] + var3 + var8[11] + var10001;
         a.log(Level.WARNING, var7, ExceptionUtils.getDebugException(var9));
         throw new IllegalStateException(var7);
      }

      return var5.invoke(var1);
   }

   private CustomRbacInterceptor a(String var1, ClassLoader var2) {
      try {
         Class var3 = var2.loadClass(var1);

         try {
            if (!CustomRbacInterceptor.class.isAssignableFrom(var3)) {
               throw new ClassCastException(h[61]);
            }
         } catch (ClassNotFoundException var5) {
            throw a(var5);
         }

         return (CustomRbacInterceptor)var3.newInstance();
      } catch (ClassNotFoundException var6) {
         String var10 = ExceptionUtils.getMessage(var6);
         String[] var9 = h;
         throw new IllegalStateException(var9[51] + var10, var6);
      } catch (InstantiationException var7) {
         String var10002 = ExceptionUtils.getMessage(var7);
         String[] var4 = h;
         throw new IllegalStateException(var4[13] + var10002, var7);
      } catch (IllegalAccessException var8) {
         throw new IllegalStateException(h[68] + ExceptionUtils.getMessage(var8), var8);
      }
   }

   private CustomEntityTranslator b(String var1, ClassLoader var2) {
      try {
         Class var3 = var2.loadClass(var1);

         try {
            if (!CustomEntityTranslator.class.isAssignableFrom(var3)) {
               throw new ClassCastException(h[63]);
            }
         } catch (ClassNotFoundException var5) {
            throw a(var5);
         }

         return (CustomEntityTranslator)var3.newInstance();
      } catch (ClassNotFoundException var6) {
         String var10 = ExceptionUtils.getMessage(var6);
         String[] var9 = h;
         throw new IllegalStateException(var9[28] + var10, var6);
      } catch (InstantiationException var7) {
         String var10002 = ExceptionUtils.getMessage(var7);
         String[] var4 = h;
         throw new IllegalStateException(var4[34] + var10002, var7);
      } catch (IllegalAccessException var8) {
         throw new IllegalStateException(h[45] + ExceptionUtils.getMessage(var8), var8);
      }
   }

   private Injector a() {
      return (Injector)this.g.getBean(h[39], Injector.class);
   }

   private Object a(Object param1, Object param2, a param3) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: astore 4
      // 03: getstatic com/l7tech/server/security/rbac/CheckAfter.HEADER Lcom/l7tech/server/security/rbac/CheckAfter;
      // 06: aload 3
      // 07: invokevirtual com/l7tech/server/security/rbac/a.b ()Lcom/l7tech/server/security/rbac/CheckAfter;
      // 0a: if_acmpne 7e
      // 0d: aload 1
      // 0e: instanceof [Lcom/l7tech/objectmodel/EntityHeader;
      // 11: ifeq 7e
      // 14: goto 1b
      // 17: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1a: athrow
      // 1b: aload 2
      // 1c: instanceof [Lcom/l7tech/objectmodel/EntityHeader;
      // 1f: ifeq 7e
      // 22: goto 29
      // 25: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 28: athrow
      // 29: aload 1
      // 2a: checkcast [Lcom/l7tech/objectmodel/EntityHeader;
      // 2d: astore 5
      // 2f: aload 2
      // 30: checkcast [Lcom/l7tech/objectmodel/EntityHeader;
      // 33: astore 6
      // 35: aload 5
      // 37: arraylength
      // 38: bipush 1
      // 39: if_icmpne 45
      // 3c: aload 5
      // 3e: bipush 0
      // 3f: aaload
      // 40: astore 4
      // 42: goto 7e
      // 45: aload 5
      // 47: arraylength
      // 48: ifne 70
      // 4b: aload 6
      // 4d: arraylength
      // 4e: bipush 1
      // 4f: if_icmpne 70
      // 52: goto 59
      // 55: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 58: athrow
      // 59: new com/l7tech/gateway/common/security/rbac/PermissionDeniedException
      // 5c: dup
      // 5d: aload 3
      // 5e: getfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 61: aload 6
      // 63: bipush 0
      // 64: aaload
      // 65: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 68: invokespecial com/l7tech/gateway/common/security/rbac/PermissionDeniedException.<init> (Lcom/l7tech/gateway/common/security/rbac/OperationType;Lcom/l7tech/objectmodel/EntityType;)V
      // 6b: athrow
      // 6c: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 6f: athrow
      // 70: new java/lang/IllegalStateException
      // 73: dup
      // 74: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 77: bipush 23
      // 79: aaload
      // 7a: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 7d: athrow
      // 7e: aload 4
      // 80: areturn
      // try (2 -> 9): 10 java/lang/IllegalArgumentException
      // try (6 -> 15): 16 java/lang/IllegalArgumentException
      // try (33 -> 40): 41 java/lang/IllegalArgumentException
      // try (36 -> 53): 53 java/lang/IllegalArgumentException
   }

   private void a(a var1) {
      var1.a(CheckBefore.NONE);
      var1.f = OperationType.READ;
      var1.a(CheckAfter.ENTITY);
   }

   private void a(Object[] var1, a var2, OperationType var3) throws FindException {
      label26: {
         try {
            if (var1[0] instanceof Goid && var1[1] instanceof String) {
               break label26;
            }
         } catch (FindException var6) {
            throw a(var6);
         }

         this.b(var2);
         return;
      }

      IdentityHeader var4 = new IdentityHeader((Goid)var1[0], (String)var1[1], var2.b[0], null, null, null, null);
      Entity var5 = this.d.find(var4);
      var2.a(CheckBefore.ENTITY);
      var2.f = var3;
      var2.j = var5;
      var2.a(CheckAfter.NONE);
   }

   private void a(a param1, Object[] param2, OperationType param3) throws FindException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: aload 1
      // 02: aload 2
      // 03: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.d (Lcom/l7tech/server/security/rbac/a;[Ljava/lang/Object;)Ljava/io/Serializable;
      // 06: astore 4
      // 08: aload 4
      // 0a: ifnonnull 19
      // 0d: aload 0
      // 0e: aload 1
      // 0f: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.b (Lcom/l7tech/server/security/rbac/a;)V
      // 12: goto 19
      // 15: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 18: athrow
      // 19: aload 1
      // 1a: getstatic com/l7tech/server/security/rbac/CheckBefore.ENTITY Lcom/l7tech/server/security/rbac/CheckBefore;
      // 1d: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckBefore;)V
      // 20: aload 1
      // 21: aload 3
      // 22: putfield com/l7tech/server/security/rbac/a.f Lcom/l7tech/gateway/common/security/rbac/OperationType;
      // 25: aconst_null
      // 26: astore 5
      // 28: aload 1
      // 29: getfield com/l7tech/server/security/rbac/a.b [Lcom/l7tech/objectmodel/EntityType;
      // 2c: astore 6
      // 2e: aload 6
      // 30: arraylength
      // 31: istore 7
      // 33: bipush 0
      // 34: istore 8
      // 36: iload 8
      // 38: iload 7
      // 3a: if_icmpge 75
      // 3d: aload 6
      // 3f: iload 8
      // 41: aaload
      // 42: astore 9
      // 44: aload 1
      // 45: aload 0
      // 46: getfield com/l7tech/server/security/rbac/SecuredMethodInterceptor.d Lcom/l7tech/server/EntityFinder;
      // 49: aload 9
      // 4b: invokevirtual com/l7tech/objectmodel/EntityType.getEntityClass ()Ljava/lang/Class;
      // 4e: aload 4
      // 50: invokeinterface com/l7tech/server/EntityFinder.find (Ljava/lang/Class;Ljava/io/Serializable;)Lcom/l7tech/objectmodel/Entity; 3
      // 55: putfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 58: aload 1
      // 59: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 5c: ifnull 66
      // 5f: goto 75
      // 62: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 65: athrow
      // 66: goto 6f
      // 69: astore 10
      // 6b: aload 10
      // 6d: astore 5
      // 6f: iinc 8 1
      // 72: goto 36
      // 75: aload 1
      // 76: getfield com/l7tech/server/security/rbac/a.j Lcom/l7tech/objectmodel/Entity;
      // 79: ifnonnull 9d
      // 7c: aload 5
      // 7e: ifnull 8f
      // 81: goto 88
      // 84: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 87: athrow
      // 88: aload 5
      // 8a: athrow
      // 8b: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 8e: athrow
      // 8f: new com/l7tech/objectmodel/ObjectNotFoundException
      // 92: dup
      // 93: getstatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.h [Ljava/lang/String;
      // 96: bipush 65
      // 98: aaload
      // 99: invokespecial com/l7tech/objectmodel/ObjectNotFoundException.<init> (Ljava/lang/String;)V
      // 9c: athrow
      // 9d: aload 1
      // 9e: getstatic com/l7tech/server/security/rbac/CheckAfter.NONE Lcom/l7tech/server/security/rbac/CheckAfter;
      // a1: invokevirtual com/l7tech/server/security/rbac/a.a (Lcom/l7tech/server/security/rbac/CheckAfter;)V
      // a4: return
      // try (5 -> 10): 11 com/l7tech/objectmodel/FindException
      // try (36 -> 47): 51 com/l7tech/objectmodel/FindException
      // try (36 -> 48): 48 java/lang/IllegalArgumentException
      // try (56 -> 61): 62 com/l7tech/objectmodel/FindException
      // try (59 -> 66): 66 com/l7tech/objectmodel/FindException
   }

   private String a(Entity var1) {
      try {
         if (var1 instanceof NamedEntity) {
            return ((NamedEntity)var1).getName();
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      try {
         if (var1 != null) {
            return var1.getClass().getSimpleName() + h[60] + var1.getId();
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }

      return h[62];
   }

   private void b(a var1, Object[] var2, OperationType var3) {
      this.a(var1, var2);
      a.log(Level.FINER, h[71]);
      var1.a(CheckBefore.ENTITY);
      var1.f = var3;
      var1.a(CheckAfter.NONE);
   }

   private Entity a(a var1, Object[] var2) {
      Entity var3 = this.b(var1, var2);

      try {
         if (var3 != null) {
            return var3;
         }
      } catch (IllegalArgumentException var5) {
         throw a(var5);
      }

      String var10002 = var1.a;
      String var10003 = String.valueOf(var1.c);
      String[] var4 = h;
      throw new IllegalStateException(var4[5] + var10002 + var4[36] + var10003 + var4[9]);
   }

   private Entity b(a var1, Object[] var2) {
      Object var3 = this.a(var2, var1.d);

      try {
         if (var3 == null) {
            return null;
         }
      } catch (IllegalArgumentException var5) {
         throw a(var5);
      }

      try {
         if (var3 instanceof Entity) {
            var1.j = (Entity)var3;
            return var1.j;
         } else {
            return null;
         }
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }
   }

   private Iterable<Entity> c(a var1, Object[] var2) {
      Object var3 = this.a(var2, var1.d);

      try {
         if (var3 == null) {
            return null;
         }
      } catch (IllegalArgumentException var8) {
         throw a(var8);
      }

      if (!(var3 instanceof Iterable)) {
         return null;
      }

      for (Object var6 : (Iterable)var3) {
         try {
            if (!(var6 instanceof Entity)) {
               a.log(Level.FINEST, h[17]);
               return null;
            }
         } catch (IllegalArgumentException var7) {
            throw a(var7);
         }
      }

      var1.k = (Iterable<Entity>)var3;
      return var1.k;
   }

   private void b(a var1) {
      String var10002 = var1.a;
      String var10003 = String.valueOf(var1.c);
      String[] var2 = h;
      throw new IllegalStateException(var2[2] + var10002 + var2[55] + var10003 + var2[29]);
   }

   private Serializable d(a param1, Object[] param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: aload 2
      // 02: aload 1
      // 03: getfield com/l7tech/server/security/rbac/a.d I
      // 06: invokevirtual com/l7tech/server/security/rbac/SecuredMethodInterceptor.a ([Ljava/lang/Object;I)Ljava/lang/Object;
      // 09: astore 3
      // 0a: aload 3
      // 0b: ifnonnull 14
      // 0e: aconst_null
      // 0f: areturn
      // 10: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 13: athrow
      // 14: aload 3
      // 15: instanceof java/lang/Long
      // 18: ifne 37
      // 1b: aload 3
      // 1c: instanceof java/lang/String
      // 1f: ifne 37
      // 22: goto 29
      // 25: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 28: athrow
      // 29: aload 3
      // 2a: instanceof com/l7tech/objectmodel/Goid
      // 2d: ifeq 48
      // 30: goto 37
      // 33: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 36: athrow
      // 37: aload 1
      // 38: aload 3
      // 39: invokevirtual java/lang/Object.toString ()Ljava/lang/String;
      // 3c: putfield com/l7tech/server/security/rbac/a.i Ljava/io/Serializable;
      // 3f: aload 3
      // 40: invokevirtual java/lang/Object.toString ()Ljava/lang/String;
      // 43: areturn
      // 44: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 47: athrow
      // 48: aconst_null
      // 49: areturn
      // try (6 -> 10): 10 java/lang/IllegalArgumentException
      // try (12 -> 18): 19 java/lang/IllegalArgumentException
      // try (15 -> 24): 25 java/lang/IllegalArgumentException
      // try (21 -> 34): 34 java/lang/IllegalArgumentException
   }

   private Object a(Object[] param1, int param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: arraylength
      // 02: bipush 1
      // 03: if_icmpne 0e
      // 06: aload 1
      // 07: bipush 0
      // 08: aaload
      // 09: areturn
      // 0a: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0d: athrow
      // 0e: aload 1
      // 0f: arraylength
      // 10: bipush 1
      // 11: if_icmple 34
      // 14: iload 2
      // 15: iflt 34
      // 18: goto 1f
      // 1b: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1e: athrow
      // 1f: iload 2
      // 20: aload 1
      // 21: arraylength
      // 22: if_icmpge 34
      // 25: goto 2c
      // 28: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 2b: athrow
      // 2c: aload 1
      // 2d: iload 2
      // 2e: aaload
      // 2f: areturn
      // 30: invokestatic com/l7tech/server/security/rbac/SecuredMethodInterceptor.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 33: athrow
      // 34: aconst_null
      // 35: areturn
      // try (0 -> 8): 8 java/lang/IllegalArgumentException
      // try (10 -> 16): 17 java/lang/IllegalArgumentException
      // try (14 -> 23): 24 java/lang/IllegalArgumentException
      // try (19 -> 30): 30 java/lang/IllegalArgumentException
   }

   static {
      String[] var5 = new String[72];
      int var3 = 0;
      String var2 = "\u00182fB75{\u001e2kD=9i\u001e>%F\u0017\r2?n55h\u000b#\"N+\u0016u\u0018\u001e?D71x\u00062 92(T79n\u0013w/D&<{\u00186?H*>:\f89\u0001(5n\u00028/\u0001\u000b\t?.B.~{\f#.S\u001082?T7>:\u001c6'T pu\fw 92(T79n\u0013w/D&<{\u00186?H*>:\f89\u0001(5n\u00028/\u0001\u0011?9*C)5:\u001e8kM*3{\u001e2k8\t8&\u000e)gn\u000f4#\u000e65h\u001c29\u000e65y\u001f%\"U<\u007fh\b6(\u000e\u00165y\u001f%.E\b5n\u00028/h+$\u007f\u00184.Q1?h\u0004\u001f$.S Fw)T1py\u000b9lUe6s\u00043kd+$s\u001e.k@77o\u00072%U\u0002Jt\u0002Pw5J3$D6pt\u0005#kR55y\u000312\u0001 9n\u000229\u0001$>:\u0005'.S$$s\u00059kN7p{J$?D75u\u001e.;D0)\"8U*=:8\u0015\nbe9t\u001e29B  n\u0005%kB)1i\u0019w%N1ps\u0004$?@+$s\u000b5'D\u007fpSJ *Re>u\u001ew\u000eO19n\u0013\f\u0016\re\u0015t\u001e>?X\r5{\u000e29z\u0018pu\u0018w\u0002U \"{\b;.\u0001$>~J9$\u0001&%i\u001e8&\u00011\"{\u0004$'@1?hJ>8\u00016 \u007f\t>-H 4\u0011\u001e28U\u0006?t\f>,T71n\u00038%\u0010\u00072?I*4S\u0004!$B$$s\u00059C##.S$2v\u000fw*S\"ps\u0019w\"O31v\u00033kC 3{\u001f$.\u0001,$:\t8%U$9t\u0019w*Ue<\u007f\u000b$?\u0001*>\u007fJ9$Oh\u0015t\u001e>?X\u001082?T7>:\u001c6'T pu\fw\u001d#9?D73\u007f\u001a#.Ee9t\u001c8(@19u\u0004w$Ge+*\u0017e)?.B.\u0012\u007f\f89Dk\u0003U'\u0012kB0\"h\u000f9?M<pu\u0004;2\u00016%j\u001a89U6pU\u001a29@19u\u0004\u00032Q ~U>\u001f\u000ese1t\u000ew$U-5h%'.S$$s\u00059\u0005@(5:\u001e28U\u0006?t\f>,T71n\u00038%\u0012J *Re>u\u001ew*Oe\u0015t\u001e>?XR)?.B.py\u0005;'D&$s\u00059kC 6u\u00182kB$>t\u0005#kC pj\u000f%-N7=\u007f\u000ew)D&1o\u00192kU-5:\u000f9?H19\u007f\u0019w?Ne3r\u000f4 \u0001$\"\u007fJ9>M)\u001f?9*C)5:\u001e8kT+'h\u000b'kI 1~\u000f%kS #o\u0006#e2J>%W*;\u007f\u000ew<H18:9\")K 3nJ4$O11s\u0004>%Fe>uJ\u00028D7pj\u0018>%B, {\u0006F##.S$2v\u000fw(@+>u\u001ew(N+${\u00039k@e=s\u0012w$Ge \u007f\u0018$\"R15~J6%Ee>u\u0004w;D7#s\u0019#.Ee5t\u001e>?H #4\u001b\u00039=N.5M\u0003##b0#n\u0005:\u0002O15h\t2;U*\"R?$.Se9iJ'.S(9n\u001e2/\u00011?:\u0011g6\u0001$>cJ,z\\~pw\u000b.kC p{\b;.\u00011?:\u0019<\"Qe9t\u000e>=H!%{\u0006w;D7=s\u0019$\"N+py\u00022(J6*)\"8U*=:\u000f9?H1):\u001e%*O6<{\u001e89\u0001&<{\u0019$kO*$:\f8>O!j:(Fw)T1py\u000b9lUe6s\u00043k@5 h\u0005'9H$$\u007fJ69F0=\u007f\u0004#cRl\u001c:29L,$n\u000f3kZu-:\u00059kZt-:\f89\u0001>bg3'\"'U, v\u000fw(N+6v\u00034?H+7:\u00072?I*4:\u0019#.S ?n\u0013'.Re6u\u0018w&D18u\u000ew>+%,T(5t\u001ew-N7pZ$8?o0<vJ'*S$=\u007f\u001e29\u0001buiMw$GeuiDr8\u0001(%i\u001ew%N1px\u000fw%T)<\u000f\t?.B.~u\u001a29@19u\u00041)\"8U*=:\u000f9?H1):\u001e%*O6<{\u001e89\u0001&<{\u0019$kO*$:\u000398U$>n\u00036)M j:)?9*C)5:\u001e8kB75{\u001e2kB0#n\u0005:ks\u0007\u0011YJ>%U \"y\u000f'?N7p\u000bJ$;D&9|\u000328\u0001\u0011\u001e28U\u0006?t\f>,T71n\u00038%**\u0019$U\u000b%v\u0006w&D18u\u000ewnRkuiJ:>R1pt\u0005#kS $o\u00189kO0<v\b\u00039!D&$u\u0018u/;.L >nJ8-\u0001&?v\u00062(U,?tJ *Re>\u007f\u0003##D7p_\u0004#\"U<pt\u0005%kd+$s\u001e.\u0003D$4\u007f\u0018wc@+4:\u00048kD+$s\u001e.\u001fS$>i\u00066?N7p{\u00043dN7p\u007f\u0004#\"U<\u0016s\u00043.Se'{\u0019w*W$9v\u000b5'Dl1)8>M!pt\u0005#kG,>~J23H6$s\u00040kD+$s\u001e.kG*\":\u001f'/@15:\t?.B.j:\u001a\t\"8U*=S\u0004#.S&5j\u001e89b)1i\u0019\u0019*L \u000f92(T75~J:.U-?~J\f\t?.B.~x\u000f1$S /)\"8U*=:\u000f9?H1):\u001e%*O6<{\u001e89\u0001&<{\u0019$kO*$:\u000b4(D6#s\b;.\u001be6J9.D!#:\u001e8kB-5y\u0001w\u0002eipx\u001f#kL0<n\u0003''De\u0015t\u001e>?X\u0011)j\u000f$kR55y\u00031\"D!M'89De$r\u000b9kN+5:\u000e2(M$\"\u007f\u000ew\u000br 3o\u00182/\u0001&%i\u001e8&h+$\u007f\u00184.Q1?h);*R6\u001e{\u00072k@5 v\u000328\u00011?:\u00072?I*4:R'89De$r\u000b9kN+5:\u000e2(M$\"\u007f\u000ew\u000br 3o\u00182/\u0001&%i\u001e8&d+$s\u001e.\u001fS$>i\u00066?N7\u0013v\u000b$8o$=\u007fJ6;Q)9\u007f\u0019w?Ne=\u007f\u001e?$EeM?9*C)5:\u001e8kE $\u007f\u0018:\"O pi\u000b!.\u0001*\":\u001f'/@15:\u0005'.S$$s\u00059kG*\":\u0003#.S$2v\u000fw)D&1o\u00192kH1ps\u0019w.L5$c8\t8&\u000e)gn\u000f4#\u000e65h\u001c29\u000e65y\u001f%\"U<\u007fh\b6(\u000e\u00165y\u001f%.E\b5n\u00028/h+$\u007f\u00184.Q1?h))\"8U*=:8\u0015\nbe9t\u001e29B  n\u0005%kB)1i\u0019w%N1p|\u0005\"%E\u007fp\f\t?.B.~\u007f\u0004#\"U<\"J$;D&9|\u000328\u00010>i\u001f';N7$\u007f\u000ew8U \"\u007f\u0005#2Q p>\t?.B.~{\f#.Se'{\u0019w\u0003d\u0004\u0014_8w)T1ph\u000f#>S+pl\u000b;>De9iJ9$Ue1tJ\u0012%U,$c\"2*E \"\u000bJ$;D&9|\u000328\u0001\u001992(T79n\u0013w/D&<{\u00186?H*>:\f89\u0001\b\t?.B.~s\u000e*%:\"U19t\rw0\u00118p9\u0011f6\u0001#\"u\u0007w9D1%h\u0004w=@)%\u007fJ8-\u0001>bgM?$.Se4u\u000f$kO*$:\u00026=De \u007f\u0018:\"R69u\u0004w?Ne3h\u000f6?Diph\u000f6/\re%j\u000e6?Dipu\u0018w/D)5n\u000fw*O<pu\fw?X55:\u0002JtC)\"8U*=:8\u0015\nbe9t\u001e29B  n\u0005%kH6pt\u0005#k@+ps\u0004$?@+3\u007fJ8-\u0001\u0006%i\u001e8&s'1y#9?D73\u007f\u001a#$S\tV\"%J+?m\u0004iE)\"8U*=:\u000f9?H1):\u001e%*O6<{\u001e89\u0001,#:\u00048?\u0001$>:\u000398U$>y\u000fw$Ge\u0013o\u0019#$L\u0000>n\u0003#2u71t\u0019;*U*\"\u0011?9*C)5:\u001e8kG,<n\u000f%k&/9?H1):\u00048?\u0001#?o\u00043kG*\":\u000b92\u0001!5y\u000669D!pn\u0013'.\u000b\t;*R6\u001cu\u000b3.S\u001992(T79n\u0013w/D&<{\u00186?H*>:\f89\u0001.)\"8U*=:8\u0015\nbe9t\u001e29B  n\u0005%kB)1i\u0019w%N1p{\t4.R69x\u00062q\u0001\u001c:29L,$n\u000f3kZu-:\u00059kZt-:\f89\u0001>bg";
      int var4 = "\u00182fB75{\u001e2kD=9i\u001e>%F\u0017\r2?n55h\u000b#\"N+\u0016u\u0018\u001e?D71x\u00062 92(T79n\u0013w/D&<{\u00186?H*>:\f89\u0001(5n\u00028/\u0001\u000b\t?.B.~{\f#.S\u001082?T7>:\u001c6'T pu\fw 92(T79n\u0013w/D&<{\u00186?H*>:\f89\u0001(5n\u00028/\u0001\u0011?9*C)5:\u001e8kM*3{\u001e2k8\t8&\u000e)gn\u000f4#\u000e65h\u001c29\u000e65y\u001f%\"U<\u007fh\b6(\u000e\u00165y\u001f%.E\b5n\u00028/h+$\u007f\u00184.Q1?h\u0004\u001f$.S Fw)T1py\u000b9lUe6s\u00043kd+$s\u001e.k@77o\u00072%U\u0002Jt\u0002Pw5J3$D6pt\u0005#kR55y\u000312\u0001 9n\u000229\u0001$>:\u0005'.S$$s\u00059kN7p{J$?D75u\u001e.;D0)\"8U*=:8\u0015\nbe9t\u001e29B  n\u0005%kB)1i\u0019w%N1ps\u0004$?@+$s\u000b5'D\u007fpSJ *Re>u\u001ew\u000eO19n\u0013\f\u0016\re\u0015t\u001e>?X\r5{\u000e29z\u0018pu\u0018w\u0002U \"{\b;.\u0001$>~J9$\u0001&%i\u001e8&\u00011\"{\u0004$'@1?hJ>8\u00016 \u007f\t>-H 4\u0011\u001e28U\u0006?t\f>,T71n\u00038%\u0010\u00072?I*4S\u0004!$B$$s\u00059C##.S$2v\u000fw*S\"ps\u0019w\"O31v\u00033kC 3{\u001f$.\u0001,$:\t8%U$9t\u0019w*Ue<\u007f\u000b$?\u0001*>\u007fJ9$Oh\u0015t\u001e>?X\u001082?T7>:\u001c6'T pu\fw\u001d#9?D73\u007f\u001a#.Ee9t\u001c8(@19u\u0004w$Ge+*\u0017e)?.B.\u0012\u007f\f89Dk\u0003U'\u0012kB0\"h\u000f9?M<pu\u0004;2\u00016%j\u001a89U6pU\u001a29@19u\u0004\u00032Q ~U>\u001f\u000ese1t\u000ew$U-5h%'.S$$s\u00059\u0005@(5:\u001e28U\u0006?t\f>,T71n\u00038%\u0012J *Re>u\u001ew*Oe\u0015t\u001e>?XR)?.B.py\u0005;'D&$s\u00059kC 6u\u00182kB$>t\u0005#kC pj\u000f%-N7=\u007f\u000ew)D&1o\u00192kU-5:\u000f9?H19\u007f\u0019w?Ne3r\u000f4 \u0001$\"\u007fJ9>M)\u001f?9*C)5:\u001e8kT+'h\u000b'kI 1~\u000f%kS #o\u0006#e2J>%W*;\u007f\u000ew<H18:9\")K 3nJ4$O11s\u0004>%Fe>uJ\u00028D7pj\u0018>%B, {\u0006F##.S$2v\u000fw(@+>u\u001ew(N+${\u00039k@e=s\u0012w$Ge \u007f\u0018$\"R15~J6%Ee>u\u0004w;D7#s\u0019#.Ee5t\u001e>?H #4\u001b\u00039=N.5M\u0003##b0#n\u0005:\u0002O15h\t2;U*\"R?$.Se9iJ'.S(9n\u001e2/\u00011?:\u0011g6\u0001$>cJ,z\\~pw\u000b.kC p{\b;.\u00011?:\u0019<\"Qe9t\u000e>=H!%{\u0006w;D7=s\u0019$\"N+py\u00022(J6*)\"8U*=:\u000f9?H1):\u001e%*O6<{\u001e89\u0001&<{\u0019$kO*$:\f8>O!j:(Fw)T1py\u000b9lUe6s\u00043k@5 h\u0005'9H$$\u007fJ69F0=\u007f\u0004#cRl\u001c:29L,$n\u000f3kZu-:\u00059kZt-:\f89\u0001>bg3'\"'U, v\u000fw(N+6v\u00034?H+7:\u00072?I*4:\u0019#.S ?n\u0013'.Re6u\u0018w&D18u\u000ew>+%,T(5t\u001ew-N7pZ$8?o0<vJ'*S$=\u007f\u001e29\u0001buiMw$GeuiDr8\u0001(%i\u001ew%N1px\u000fw%T)<\u000f\t?.B.~u\u001a29@19u\u00041)\"8U*=:\u000f9?H1):\u001e%*O6<{\u001e89\u0001&<{\u0019$kO*$:\u000398U$>n\u00036)M j:)?9*C)5:\u001e8kB75{\u001e2kB0#n\u0005:ks\u0007\u0011YJ>%U \"y\u000f'?N7p\u000bJ$;D&9|\u000328\u0001\u0011\u001e28U\u0006?t\f>,T71n\u00038%**\u0019$U\u000b%v\u0006w&D18u\u000ewnRkuiJ:>R1pt\u0005#kS $o\u00189kO0<v\b\u00039!D&$u\u0018u/;.L >nJ8-\u0001&?v\u00062(U,?tJ *Re>\u007f\u0003##D7p_\u0004#\"U<pt\u0005%kd+$s\u001e.\u0003D$4\u007f\u0018wc@+4:\u00048kD+$s\u001e.\u001fS$>i\u00066?N7p{\u00043dN7p\u007f\u0004#\"U<\u0016s\u00043.Se'{\u0019w*W$9v\u000b5'Dl1)8>M!pt\u0005#kG,>~J23H6$s\u00040kD+$s\u001e.kG*\":\u001f'/@15:\t?.B.j:\u001a\t\"8U*=S\u0004#.S&5j\u001e89b)1i\u0019\u0019*L \u000f92(T75~J:.U-?~J\f\t?.B.~x\u000f1$S /)\"8U*=:\u000f9?H1):\u001e%*O6<{\u001e89\u0001&<{\u0019$kO*$:\u000b4(D6#s\b;.\u001be6J9.D!#:\u001e8kB-5y\u0001w\u0002eipx\u001f#kL0<n\u0003''De\u0015t\u001e>?X\u0011)j\u000f$kR55y\u00031\"D!M'89De$r\u000b9kN+5:\u000e2(M$\"\u007f\u000ew\u000br 3o\u00182/\u0001&%i\u001e8&h+$\u007f\u00184.Q1?h);*R6\u001e{\u00072k@5 v\u000328\u00011?:\u00072?I*4:R'89De$r\u000b9kN+5:\u000e2(M$\"\u007f\u000ew\u000br 3o\u00182/\u0001&%i\u001e8&d+$s\u001e.\u001fS$>i\u00066?N7\u0013v\u000b$8o$=\u007fJ6;Q)9\u007f\u0019w?Ne=\u007f\u001e?$EeM?9*C)5:\u001e8kE $\u007f\u0018:\"O pi\u000b!.\u0001*\":\u001f'/@15:\u0005'.S$$s\u00059kG*\":\u0003#.S$2v\u000fw)D&1o\u00192kH1ps\u0019w.L5$c8\t8&\u000e)gn\u000f4#\u000e65h\u001c29\u000e65y\u001f%\"U<\u007fh\b6(\u000e\u00165y\u001f%.E\b5n\u00028/h+$\u007f\u00184.Q1?h))\"8U*=:8\u0015\nbe9t\u001e29B  n\u0005%kB)1i\u0019w%N1p|\u0005\"%E\u007fp\f\t?.B.~\u007f\u0004#\"U<\"J$;D&9|\u000328\u00010>i\u001f';N7$\u007f\u000ew8U \"\u007f\u0005#2Q p>\t?.B.~{\f#.Se'{\u0019w\u0003d\u0004\u0014_8w)T1ph\u000f#>S+pl\u000b;>De9iJ9$Ue1tJ\u0012%U,$c\"2*E \"\u000bJ$;D&9|\u000328\u0001\u001992(T79n\u0013w/D&<{\u00186?H*>:\f89\u0001\b\t?.B.~s\u000e*%:\"U19t\rw0\u00118p9\u0011f6\u0001#\"u\u0007w9D1%h\u0004w=@)%\u007fJ8-\u0001>bgM?$.Se4u\u000f$kO*$:\u00026=De \u007f\u0018:\"R69u\u0004w?Ne3h\u000f6?Diph\u000f6/\re%j\u000e6?Dipu\u0018w/D)5n\u000fw*O<pu\fw?X55:\u0002JtC)\"8U*=:8\u0015\nbe9t\u001e29B  n\u0005%kH6pt\u0005#k@+ps\u0004$?@+3\u007fJ8-\u0001\u0006%i\u001e8&s'1y#9?D73\u007f\u001a#$S\tV\"%J+?m\u0004iE)\"8U*=:\u000f9?H1):\u001e%*O6<{\u001e89\u0001,#:\u00048?\u0001$>:\u000398U$>y\u000fw$Ge\u0013o\u0019#$L\u0000>n\u0003#2u71t\u0019;*U*\"\u0011?9*C)5:\u001e8kG,<n\u000f%k&/9?H1):\u00048?\u0001#?o\u00043kG*\":\u000b92\u0001!5y\u000669D!pn\u0013'.\u000b\t;*R6\u001cu\u000b3.S\u001992(T79n\u0013w/D&<{\u00186?H*>:\f89\u0001.)\"8U*=:8\u0015\nbe9t\u001e29B  n\u0005%kB)1i\u0019w%N1p{\t4.R69x\u00062q\u0001\u001c:29L,$n\u000f3kZu-:\u00059kZt-:\f89\u0001>bg"
         .length();
      char var1 = 18;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 63;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = a(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     h = var5;
                     b = h[37];
                     a = Logger.getLogger(SecuredMethodInterceptor.class.getName());
                     e = Long.toString(-1L);
                     f = PersistentEntity.DEFAULT_GOID.toString();
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "\u001act\u0014f $Us;\u0002ee)SabQtnj_io\u0018ayjN~k\u0014#mnw\u001d5c\"_dpQPn>SsbQwe,Uu~Q|n<Udz\u0005|o$";
                  var4 = "\u001act\u0014f $Us;\u0002ee)SabQtnj_io\u0018ayjN~k\u0014#mnw\u001d5c\"_dpQPn>SsbQwe,Uu~Q|n<Udz\u0005|o$".length();
                  var1 = ' ';
                  var7 = -1;
            }

            var10000 = 111;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

   private static Throwable a(Throwable var0) {
      return var0;
   }

   private static char[] b(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 37);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 85;
            case 1 -> 104;
            case 2 -> 116;
            case 3 -> 30;
            case 4 -> 122;
            case 5 -> 111;
            default -> 37;
         });
      }

      return new String(var10001).intern();
   }
}
