package com.l7tech.policy.assertion;

import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.Goid;
import com.l7tech.util.GoidUpgradeMapper;
import java.io.Serializable;
import java.util.Comparator;

public final class IdentityTarget implements Comparable, Serializable, UsesEntities {
   private final Goid INTERNAL_IDENTITY_PROVIDER = new Goid(0L, -2L);
   private static final Comparator<IdentityTarget.TargetIdentityType> targetIdentityTypeComparator;
   private static final Comparator<Goid> identityProviderGoidComparator;
   private static final Comparator<String> identityIdComparator;
   private IdentityTarget.TargetIdentityType targetIdentityType;
   private Goid identityProviderGoid;
   private String identityProviderName;
   private String identityId;
   private String identityInfo;
   static final long serialVersionUID = 4316867639198885545L;
   private static final String[] a;

   public IdentityTarget() {
   }

   public IdentityTarget(IdentityTarget.TargetIdentityType var1, Goid var2) {
      this(var1, var2, null, null);
   }

   public IdentityTarget(String var1) {
      this(IdentityTarget.TargetIdentityType.TAG, null, var1, null);
   }

   public IdentityTarget(IdentityTarget var1) {
      if (var1 != null) {
         this.targetIdentityType = var1.targetIdentityType;
         this.identityProviderGoid = var1.identityProviderGoid;
         this.identityProviderName = var1.identityProviderName;
         this.identityId = var1.identityId;
         this.identityInfo = var1.identityInfo;
      }
   }

   public IdentityTarget(IdentityTarget.TargetIdentityType var1, Goid var2, String var3, String var4) {
      this.targetIdentityType = var1;
      this.identityProviderGoid = var2;
      this.identityId = var3;
      this.identityInfo = var4;
   }

   public IdentityTarget.TargetIdentityType getTargetIdentityType() {
      return this.targetIdentityType;
   }

   @Deprecated
   public void setTargetIdentityType(IdentityTarget.TargetIdentityType var1) {
      this.targetIdentityType = var1;
      this.mapUserId();
   }

   public Goid getIdentityProviderOid() {
      return this.identityProviderGoid;
   }

   @Deprecated
   public void setIdentityProviderOid(Goid var1) {
      this.identityProviderGoid = var1;
   }

   @Deprecated
   public void setIdentityProviderOid(long var1) {
      IdentityTarget var10000;
      Goid var10001;
      label16: {
         try {
            var10000 = this;
            if (var1 == -2L) {
               var10001 = new Goid(0L, -2L);
               break label16;
            }
         } catch (NumberFormatException var3) {
            throw a(var3);
         }

         var10001 = GoidUpgradeMapper.mapOid(EntityType.ID_PROVIDER_CONFIG, var1);
      }

      var10000.identityProviderGoid = var10001;
      this.mapUserId();
   }

   public boolean needsIdentityProviderName() {
      // $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: getfield com/l7tech/policy/assertion/IdentityTarget.targetIdentityType Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 04: getstatic com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.TAG Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 07: if_acmpeq 20
      // 0a: aload 0
      // 0b: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 0e: ifnonnull 20
      // 11: goto 18
      // 14: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 17: athrow
      // 18: bipush 1
      // 19: goto 21
      // 1c: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 1f: athrow
      // 20: bipush 0
      // 21: ireturn
      // try (0 -> 7): 8 java/lang/NumberFormatException
      // try (4 -> 12): 12 java/lang/NumberFormatException
   }

   public void setIdentityProviderName(String var1) {
      this.identityProviderName = var1;
   }

   public String getIdentityId() {
      return this.identityId;
   }

   @Deprecated
   public void setIdentityId(String var1) {
      this.identityId = var1;
      this.mapUserId();
   }

   public String getIdentityInfo() {
      return this.identityInfo;
   }

   @Deprecated
   public void setIdentityInfo(String var1) {
      this.identityInfo = var1;
   }

   private void mapUserId() {
      // $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 0
      // 001: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getTargetIdentityType ()Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 004: ifnull 12a
      // 007: aload 0
      // 008: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getIdentityId ()Ljava/lang/String;
      // 00b: ifnull 12a
      // 00e: goto 015
      // 011: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 014: athrow
      // 015: aload 0
      // 016: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getIdentityId ()Ljava/lang/String;
      // 019: invokevirtual java/lang/String.length ()I
      // 01c: bipush 32
      // 01e: if_icmpeq 12a
      // 021: goto 028
      // 024: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 027: athrow
      // 028: aload 0
      // 029: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getIdentityProviderOid ()Lcom/l7tech/objectmodel/Goid;
      // 02c: ifnull 12a
      // 02f: goto 036
      // 032: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 035: athrow
      // 036: aload 0
      // 037: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getIdentityProviderOid ()Lcom/l7tech/objectmodel/Goid;
      // 03a: getstatic com/l7tech/objectmodel/PersistentEntity.DEFAULT_GOID Lcom/l7tech/objectmodel/Goid;
      // 03d: invokevirtual com/l7tech/objectmodel/Goid.equals (Ljava/lang/Object;)Z
      // 040: ifne 12a
      // 043: goto 04a
      // 046: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 049: athrow
      // 04a: aload 0
      // 04b: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getIdentityId ()Ljava/lang/String;
      // 04e: invokestatic java/lang/Long.parseLong (Ljava/lang/String;)J
      // 051: invokestatic java/lang/Long.valueOf (J)Ljava/lang/Long;
      // 054: astore 1
      // 055: aload 0
      // 056: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getIdentityProviderOid ()Lcom/l7tech/objectmodel/Goid;
      // 059: aload 0
      // 05a: getfield com/l7tech/policy/assertion/IdentityTarget.INTERNAL_IDENTITY_PROVIDER Lcom/l7tech/objectmodel/Goid;
      // 05d: invokevirtual com/l7tech/objectmodel/Goid.equals (Ljava/lang/Object;)Z
      // 060: ifeq 0dd
      // 063: aload 0
      // 064: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getTargetIdentityType ()Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 067: getstatic com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.USER Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 06a: invokevirtual com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.equals (Ljava/lang/Object;)Z
      // 06d: ifeq 0b8
      // 070: goto 077
      // 073: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 076: athrow
      // 077: aload 1
      // 078: invokevirtual java/lang/Long.longValue ()J
      // 07b: ldc2_w 3
      // 07e: lcmp
      // 07f: ifne 0a2
      // 082: goto 089
      // 085: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 088: athrow
      // 089: aload 0
      // 08a: new com/l7tech/objectmodel/Goid
      // 08d: dup
      // 08e: lconst_0
      // 08f: ldc2_w 3
      // 092: invokespecial com/l7tech/objectmodel/Goid.<init> (JJ)V
      // 095: invokestatic com/l7tech/objectmodel/Goid.toString (Lcom/l7tech/objectmodel/Goid;)Ljava/lang/String;
      // 098: invokevirtual com/l7tech/policy/assertion/IdentityTarget.setIdentityId (Ljava/lang/String;)V
      // 09b: goto 126
      // 09e: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 0a1: athrow
      // 0a2: aload 0
      // 0a3: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 0a6: astore 2
      // 0a7: aload 2
      // 0a8: bipush 15
      // 0aa: aaload
      // 0ab: aload 1
      // 0ac: invokestatic com/l7tech/util/GoidUpgradeMapper.mapOidFromTableName (Ljava/lang/String;Ljava/lang/Long;)Lcom/l7tech/objectmodel/Goid;
      // 0af: invokevirtual com/l7tech/objectmodel/Goid.toString ()Ljava/lang/String;
      // 0b2: invokevirtual com/l7tech/policy/assertion/IdentityTarget.setIdentityId (Ljava/lang/String;)V
      // 0b5: goto 126
      // 0b8: aload 0
      // 0b9: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getTargetIdentityType ()Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 0bc: getstatic com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.GROUP Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 0bf: invokevirtual com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.equals (Ljava/lang/Object;)Z
      // 0c2: ifeq 126
      // 0c5: aload 0
      // 0c6: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 0c9: bipush 12
      // 0cb: aaload
      // 0cc: aload 1
      // 0cd: invokestatic com/l7tech/util/GoidUpgradeMapper.mapOidFromTableName (Ljava/lang/String;Ljava/lang/Long;)Lcom/l7tech/objectmodel/Goid;
      // 0d0: invokevirtual com/l7tech/objectmodel/Goid.toString ()Ljava/lang/String;
      // 0d3: invokevirtual com/l7tech/policy/assertion/IdentityTarget.setIdentityId (Ljava/lang/String;)V
      // 0d6: goto 126
      // 0d9: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 0dc: athrow
      // 0dd: aload 0
      // 0de: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getTargetIdentityType ()Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 0e1: getstatic com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.USER Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 0e4: invokevirtual com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.equals (Ljava/lang/Object;)Z
      // 0e7: ifeq 101
      // 0ea: aload 0
      // 0eb: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 0ee: bipush 5
      // 0ef: aaload
      // 0f0: aload 1
      // 0f1: invokestatic com/l7tech/util/GoidUpgradeMapper.mapOidFromTableName (Ljava/lang/String;Ljava/lang/Long;)Lcom/l7tech/objectmodel/Goid;
      // 0f4: invokevirtual com/l7tech/objectmodel/Goid.toString ()Ljava/lang/String;
      // 0f7: invokevirtual com/l7tech/policy/assertion/IdentityTarget.setIdentityId (Ljava/lang/String;)V
      // 0fa: goto 126
      // 0fd: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 100: athrow
      // 101: aload 0
      // 102: invokevirtual com/l7tech/policy/assertion/IdentityTarget.getTargetIdentityType ()Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 105: getstatic com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.GROUP Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 108: invokevirtual com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.equals (Ljava/lang/Object;)Z
      // 10b: ifeq 126
      // 10e: aload 0
      // 10f: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 112: bipush 11
      // 114: aaload
      // 115: aload 1
      // 116: invokestatic com/l7tech/util/GoidUpgradeMapper.mapOidFromTableName (Ljava/lang/String;Ljava/lang/Long;)Lcom/l7tech/objectmodel/Goid;
      // 119: invokevirtual com/l7tech/objectmodel/Goid.toString ()Ljava/lang/String;
      // 11c: invokevirtual com/l7tech/policy/assertion/IdentityTarget.setIdentityId (Ljava/lang/String;)V
      // 11f: goto 126
      // 122: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 125: athrow
      // 126: goto 12a
      // 129: astore 1
      // 12a: return
      // try (112 -> 125): 126 java/lang/NumberFormatException
      // try (96 -> 110): 110 java/lang/NumberFormatException
      // try (80 -> 94): 94 java/lang/NumberFormatException
      // try (50 -> 67): 67 java/lang/NumberFormatException
      // try (42 -> 55): 56 java/lang/NumberFormatException
      // try (36 -> 47): 48 java/lang/NumberFormatException
      // try (17 -> 28): 29 java/lang/NumberFormatException
      // try (9 -> 20): 21 java/lang/NumberFormatException
      // try (3 -> 14): 15 java/lang/NumberFormatException
      // try (0 -> 6): 7 java/lang/NumberFormatException
      // try (31 -> 128): 129 java/lang/NumberFormatException
   }

   public String describeIdentityForDisplay() {
      // $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/lang/StringBuilder
      // 003: dup
      // 004: invokespecial java/lang/StringBuilder.<init> ()V
      // 007: astore 1
      // 008: aload 0
      // 009: getfield com/l7tech/policy/assertion/IdentityTarget.targetIdentityType Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 00c: ifnull 154
      // 00f: aload 0
      // 010: getfield com/l7tech/policy/assertion/IdentityTarget.targetIdentityType Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 013: invokevirtual com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.ordinal ()I
      // 016: tableswitch 315 0 3 114 215 61 34
      // 034: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 037: athrow
      // 038: aload 1
      // 039: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 03c: bipush 6
      // 03e: aaload
      // 03f: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 042: pop
      // 043: aload 1
      // 044: aload 0
      // 045: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 048: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 04b: pop
      // 04c: goto 151
      // 04f: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 052: athrow
      // 053: aload 1
      // 054: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 057: bipush 16
      // 059: aaload
      // 05a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 05d: pop
      // 05e: aload 0
      // 05f: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 062: ifnull 075
      // 065: aload 1
      // 066: aload 0
      // 067: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 06a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 06d: pop
      // 06e: goto 151
      // 071: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 074: athrow
      // 075: aload 1
      // 076: ldc "#"
      // 078: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 07b: pop
      // 07c: aload 1
      // 07d: aload 0
      // 07e: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 081: invokevirtual java/lang/StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
      // 084: pop
      // 085: goto 151
      // 088: aload 1
      // 089: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 08c: bipush 1
      // 08d: aaload
      // 08e: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 091: pop
      // 092: aload 0
      // 093: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // 096: ifnull 0a9
      // 099: aload 1
      // 09a: aload 0
      // 09b: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // 09e: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0a1: pop
      // 0a2: goto 0b9
      // 0a5: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 0a8: athrow
      // 0a9: aload 1
      // 0aa: ldc "#"
      // 0ac: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0af: pop
      // 0b0: aload 1
      // 0b1: aload 0
      // 0b2: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 0b5: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0b8: pop
      // 0b9: aload 1
      // 0ba: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 0bd: bipush 2
      // 0be: aaload
      // 0bf: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0c2: pop
      // 0c3: aload 0
      // 0c4: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 0c7: ifnull 0da
      // 0ca: aload 1
      // 0cb: aload 0
      // 0cc: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 0cf: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0d2: pop
      // 0d3: goto 151
      // 0d6: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 0d9: athrow
      // 0da: aload 1
      // 0db: ldc "#"
      // 0dd: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0e0: pop
      // 0e1: aload 1
      // 0e2: aload 0
      // 0e3: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 0e6: invokevirtual java/lang/StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
      // 0e9: pop
      // 0ea: goto 151
      // 0ed: aload 1
      // 0ee: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 0f1: bipush 18
      // 0f3: aaload
      // 0f4: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0f7: pop
      // 0f8: aload 0
      // 0f9: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // 0fc: ifnull 10f
      // 0ff: aload 1
      // 100: aload 0
      // 101: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // 104: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 107: pop
      // 108: goto 11f
      // 10b: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 10e: athrow
      // 10f: aload 1
      // 110: ldc "#"
      // 112: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 115: pop
      // 116: aload 1
      // 117: aload 0
      // 118: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 11b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 11e: pop
      // 11f: aload 1
      // 120: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 123: bipush 9
      // 125: aaload
      // 126: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 129: pop
      // 12a: aload 0
      // 12b: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 12e: ifnull 141
      // 131: aload 1
      // 132: aload 0
      // 133: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 136: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 139: pop
      // 13a: goto 151
      // 13d: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 140: athrow
      // 141: aload 1
      // 142: ldc "#"
      // 144: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 147: pop
      // 148: aload 1
      // 149: aload 0
      // 14a: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 14d: invokevirtual java/lang/StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
      // 150: pop
      // 151: goto 15f
      // 154: aload 1
      // 155: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 158: bipush 17
      // 15a: aaload
      // 15b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 15e: pop
      // 15f: aload 1
      // 160: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
      // 163: areturn
      // try (4 -> 11): 11 java/lang/NumberFormatException
      // try (7 -> 25): 25 java/lang/NumberFormatException
      // try (27 -> 42): 42 java/lang/NumberFormatException
      // try (54 -> 69): 69 java/lang/NumberFormatException
      // try (80 -> 95): 95 java/lang/NumberFormatException
      // try (107 -> 122): 122 java/lang/NumberFormatException
      // try (133 -> 148): 148 java/lang/NumberFormatException
   }

   public String describeIdentity() {
      // $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/lang/StringBuilder
      // 003: dup
      // 004: invokespecial java/lang/StringBuilder.<init> ()V
      // 007: astore 1
      // 008: aload 0
      // 009: getfield com/l7tech/policy/assertion/IdentityTarget.targetIdentityType Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 00c: ifnull 11f
      // 00f: aload 0
      // 010: getfield com/l7tech/policy/assertion/IdentityTarget.targetIdentityType Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 013: invokevirtual com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.ordinal ()I
      // 016: tableswitch 262 0 3 128 195 68 34
      // 034: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 037: athrow
      // 038: aload 1
      // 039: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 03c: bipush 10
      // 03e: aaload
      // 03f: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 042: pop
      // 043: aload 1
      // 044: aload 0
      // 045: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 048: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 04b: pop
      // 04c: aload 1
      // 04d: ldc "'"
      // 04f: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 052: pop
      // 053: goto 11c
      // 056: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 059: athrow
      // 05a: aload 1
      // 05b: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 05e: bipush 7
      // 060: aaload
      // 061: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 064: pop
      // 065: aload 1
      // 066: aload 0
      // 067: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 06a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
      // 06d: pop
      // 06e: aload 0
      // 06f: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 072: ifnull 11c
      // 075: aload 1
      // 076: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 079: bipush 4
      // 07a: aaload
      // 07b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 07e: pop
      // 07f: aload 1
      // 080: aload 0
      // 081: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 084: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 087: pop
      // 088: aload 1
      // 089: ldc "'"
      // 08b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 08e: pop
      // 08f: goto 11c
      // 092: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 095: athrow
      // 096: aload 1
      // 097: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 09a: bipush 14
      // 09c: aaload
      // 09d: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0a0: pop
      // 0a1: aload 1
      // 0a2: aload 0
      // 0a3: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 0a6: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0a9: pop
      // 0aa: aload 1
      // 0ab: ldc "'"
      // 0ad: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0b0: pop
      // 0b1: aload 0
      // 0b2: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // 0b5: ifnull 11c
      // 0b8: aload 1
      // 0b9: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 0bc: bipush 0
      // 0bd: aaload
      // 0be: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0c1: pop
      // 0c2: aload 1
      // 0c3: aload 0
      // 0c4: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // 0c7: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0ca: pop
      // 0cb: aload 1
      // 0cc: ldc "'"
      // 0ce: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0d1: pop
      // 0d2: goto 11c
      // 0d5: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 0d8: athrow
      // 0d9: aload 1
      // 0da: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 0dd: bipush 8
      // 0df: aaload
      // 0e0: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0e3: pop
      // 0e4: aload 1
      // 0e5: aload 0
      // 0e6: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 0e9: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0ec: pop
      // 0ed: aload 1
      // 0ee: ldc "'"
      // 0f0: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0f3: pop
      // 0f4: aload 0
      // 0f5: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // 0f8: ifnull 11c
      // 0fb: aload 1
      // 0fc: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 0ff: bipush 3
      // 100: aaload
      // 101: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 104: pop
      // 105: aload 1
      // 106: aload 0
      // 107: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // 10a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 10d: pop
      // 10e: aload 1
      // 10f: ldc "'"
      // 111: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 114: pop
      // 115: goto 11c
      // 118: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 11b: athrow
      // 11c: goto 12a
      // 11f: aload 1
      // 120: getstatic com/l7tech/policy/assertion/IdentityTarget.a [Ljava/lang/String;
      // 123: bipush 13
      // 125: aaload
      // 126: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 129: pop
      // 12a: aload 1
      // 12b: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
      // 12e: areturn
      // try (4 -> 11): 11 java/lang/NumberFormatException
      // try (7 -> 29): 29 java/lang/NumberFormatException
      // try (31 -> 61): 61 java/lang/NumberFormatException
      // try (63 -> 97): 97 java/lang/NumberFormatException
      // try (99 -> 132): 133 java/lang/NumberFormatException
   }

   @Override
   public EntityHeader[] getEntitiesUsed() {
      // $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: new java/util/ArrayList
      // 03: dup
      // 04: invokespecial java/util/ArrayList.<init> ()V
      // 07: astore 1
      // 08: aload 0
      // 09: getfield com/l7tech/policy/assertion/IdentityTarget.targetIdentityType Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 0c: ifnull d3
      // 0f: aload 0
      // 10: getfield com/l7tech/policy/assertion/IdentityTarget.targetIdentityType Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 13: invokevirtual com/l7tech/policy/assertion/IdentityTarget$TargetIdentityType.ordinal ()I
      // 16: tableswitch 189 0 3 131 34 99 128
      // 34: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 37: athrow
      // 38: aload 1
      // 39: new com/l7tech/objectmodel/EntityHeader
      // 3c: dup
      // 3d: aload 0
      // 3e: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 41: getstatic com/l7tech/objectmodel/EntityType.ID_PROVIDER_CONFIG Lcom/l7tech/objectmodel/EntityType;
      // 44: aload 0
      // 45: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 48: aconst_null
      // 49: invokespecial com/l7tech/objectmodel/EntityHeader.<init> (Lcom/l7tech/objectmodel/Goid;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 4c: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // 51: pop
      // 52: aload 1
      // 53: new com/l7tech/objectmodel/IdentityHeader
      // 56: dup
      // 57: aload 0
      // 58: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 5b: aload 0
      // 5c: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 5f: getstatic com/l7tech/objectmodel/EntityType.GROUP Lcom/l7tech/objectmodel/EntityType;
      // 62: aload 0
      // 63: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // 66: aconst_null
      // 67: aconst_null
      // 68: aconst_null
      // 69: 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
      // 6c: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // 71: pop
      // 72: goto d3
      // 75: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 78: athrow
      // 79: aload 1
      // 7a: new com/l7tech/objectmodel/EntityHeader
      // 7d: dup
      // 7e: aload 0
      // 7f: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 82: getstatic com/l7tech/objectmodel/EntityType.ID_PROVIDER_CONFIG Lcom/l7tech/objectmodel/EntityType;
      // 85: aload 0
      // 86: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // 89: aconst_null
      // 8a: invokespecial com/l7tech/objectmodel/EntityHeader.<init> (Lcom/l7tech/objectmodel/Goid;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // 8d: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // 92: pop
      // 93: goto d3
      // 96: goto d3
      // 99: aload 1
      // 9a: new com/l7tech/objectmodel/EntityHeader
      // 9d: dup
      // 9e: aload 0
      // 9f: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // a2: getstatic com/l7tech/objectmodel/EntityType.ID_PROVIDER_CONFIG Lcom/l7tech/objectmodel/EntityType;
      // a5: aload 0
      // a6: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // a9: aconst_null
      // aa: invokespecial com/l7tech/objectmodel/EntityHeader.<init> (Lcom/l7tech/objectmodel/Goid;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;)V
      // ad: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // b2: pop
      // b3: aload 1
      // b4: new com/l7tech/objectmodel/IdentityHeader
      // b7: dup
      // b8: aload 0
      // b9: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // bc: aload 0
      // bd: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // c0: getstatic com/l7tech/objectmodel/EntityType.USER Lcom/l7tech/objectmodel/EntityType;
      // c3: aload 0
      // c4: getfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // c7: aconst_null
      // c8: aconst_null
      // c9: aconst_null
      // ca: 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
      // cd: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // d2: pop
      // d3: aload 1
      // d4: aload 1
      // d5: invokeinterface java/util/Collection.size ()I 1
      // da: anewarray 78
      // dd: invokeinterface java/util/Collection.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // e2: checkcast [Lcom/l7tech/objectmodel/EntityHeader;
      // e5: areturn
      // try (4 -> 11): 11 java/lang/NumberFormatException
      // try (7 -> 42): 42 java/lang/NumberFormatException
   }

   @Override
   public void replaceEntity(EntityHeader param1, EntityHeader 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: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 04: ifnull e8
      // 07: aload 1
      // 08: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 0b: aload 2
      // 0c: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 0f: if_acmpne e8
      // 12: goto 19
      // 15: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 18: athrow
      // 19: getstatic com/l7tech/policy/assertion/a3.a [I
      // 1c: aload 1
      // 1d: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 20: invokevirtual com/l7tech/objectmodel/EntityType.ordinal ()I
      // 23: iaload
      // 24: tableswitch 196 1 3 32 32 162
      // 40: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 43: athrow
      // 44: aload 2
      // 45: instanceof com/l7tech/objectmodel/IdentityHeader
      // 48: ifeq e8
      // 4b: goto 52
      // 4e: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 51: athrow
      // 52: aload 1
      // 53: instanceof com/l7tech/objectmodel/IdentityHeader
      // 56: ifeq e8
      // 59: goto 60
      // 5c: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 5f: athrow
      // 60: aload 2
      // 61: checkcast com/l7tech/objectmodel/IdentityHeader
      // 64: astore 3
      // 65: aload 1
      // 66: checkcast com/l7tech/objectmodel/IdentityHeader
      // 69: astore 4
      // 6b: aload 4
      // 6d: invokevirtual com/l7tech/objectmodel/IdentityHeader.getProviderGoid ()Lcom/l7tech/objectmodel/Goid;
      // 70: aload 0
      // 71: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 74: invokevirtual com/l7tech/objectmodel/Goid.equals (Ljava/lang/Object;)Z
      // 77: ifeq c3
      // 7a: aload 4
      // 7c: invokevirtual com/l7tech/objectmodel/IdentityHeader.getStrId ()Ljava/lang/String;
      // 7f: ifnull c3
      // 82: goto 89
      // 85: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 88: athrow
      // 89: aload 4
      // 8b: invokevirtual com/l7tech/objectmodel/IdentityHeader.getStrId ()Ljava/lang/String;
      // 8e: aload 0
      // 8f: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 92: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 95: ifeq c3
      // 98: goto 9f
      // 9b: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 9e: athrow
      // 9f: aload 0
      // a0: aload 3
      // a1: invokevirtual com/l7tech/objectmodel/IdentityHeader.getProviderGoid ()Lcom/l7tech/objectmodel/Goid;
      // a4: putfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // a7: aload 0
      // a8: aconst_null
      // a9: putfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // ac: aload 0
      // ad: aload 3
      // ae: invokevirtual com/l7tech/objectmodel/IdentityHeader.getStrId ()Ljava/lang/String;
      // b1: putfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // b4: aload 0
      // b5: aload 3
      // b6: invokevirtual com/l7tech/objectmodel/IdentityHeader.getName ()Ljava/lang/String;
      // b9: putfield com/l7tech/policy/assertion/IdentityTarget.identityInfo Ljava/lang/String;
      // bc: goto c3
      // bf: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // c2: athrow
      // c3: goto e8
      // c6: aload 1
      // c7: invokevirtual com/l7tech/objectmodel/EntityHeader.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // ca: aload 0
      // cb: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // ce: invokevirtual com/l7tech/objectmodel/Goid.equals (Ljava/lang/Object;)Z
      // d1: ifeq e8
      // d4: aload 0
      // d5: aload 2
      // d6: invokevirtual com/l7tech/objectmodel/EntityHeader.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // d9: putfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // dc: aload 0
      // dd: aconst_null
      // de: putfield com/l7tech/policy/assertion/IdentityTarget.identityProviderName Ljava/lang/String;
      // e1: goto e8
      // e4: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // e7: athrow
      // e8: return
      // try (0 -> 8): 9 java/lang/NumberFormatException
      // try (3 -> 17): 17 java/lang/NumberFormatException
      // try (11 -> 22): 23 java/lang/NumberFormatException
      // try (19 -> 28): 29 java/lang/NumberFormatException
      // try (37 -> 46): 47 java/lang/NumberFormatException
      // try (43 -> 55): 56 java/lang/NumberFormatException
      // try (49 -> 73): 74 java/lang/NumberFormatException
      // try (77 -> 90): 91 java/lang/NumberFormatException
   }

   @Override
   public int compareTo(Object var1) {
      IdentityTarget var2 = (IdentityTarget)var1;
      int var3 = targetIdentityTypeComparator.compare(this.targetIdentityType, var2.targetIdentityType);
      if (var3 == 0) {
         var3 = identityProviderGoidComparator.compare(this.identityProviderGoid, var2.identityProviderGoid);
      }

      if (var3 == 0) {
         var3 = identityIdComparator.compare(this.identityId, var2.identityId);
      }

      return var3;
   }

   @Override
   public boolean equals(Object 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 0
      // 01: aload 1
      // 02: if_acmpne 0b
      // 05: bipush 1
      // 06: ireturn
      // 07: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 0a: athrow
      // 0b: aload 1
      // 0c: ifnull 21
      // 0f: aload 0
      // 10: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 13: aload 1
      // 14: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 17: if_acmpeq 27
      // 1a: goto 21
      // 1d: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 20: athrow
      // 21: bipush 0
      // 22: ireturn
      // 23: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 26: athrow
      // 27: aload 1
      // 28: checkcast com/l7tech/policy/assertion/IdentityTarget
      // 2b: astore 2
      // 2c: aload 0
      // 2d: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 30: ifnull 4f
      // 33: aload 0
      // 34: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 37: aload 2
      // 38: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 3b: invokevirtual com/l7tech/objectmodel/Goid.equals (Ljava/lang/Object;)Z
      // 3e: ifne 5c
      // 41: goto 48
      // 44: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 47: athrow
      // 48: goto 56
      // 4b: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 4e: athrow
      // 4f: aload 2
      // 50: getfield com/l7tech/policy/assertion/IdentityTarget.identityProviderGoid Lcom/l7tech/objectmodel/Goid;
      // 53: ifnull 5c
      // 56: bipush 0
      // 57: ireturn
      // 58: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 5b: athrow
      // 5c: aload 0
      // 5d: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 60: ifnull 7f
      // 63: aload 0
      // 64: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 67: aload 2
      // 68: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 6b: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 6e: ifne 8c
      // 71: goto 78
      // 74: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 77: athrow
      // 78: goto 86
      // 7b: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 7e: athrow
      // 7f: aload 2
      // 80: getfield com/l7tech/policy/assertion/IdentityTarget.identityId Ljava/lang/String;
      // 83: ifnull 8c
      // 86: bipush 0
      // 87: ireturn
      // 88: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 8b: athrow
      // 8c: aload 0
      // 8d: getfield com/l7tech/policy/assertion/IdentityTarget.targetIdentityType Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 90: aload 2
      // 91: getfield com/l7tech/policy/assertion/IdentityTarget.targetIdentityType Lcom/l7tech/policy/assertion/IdentityTarget$TargetIdentityType;
      // 94: if_acmpeq 9d
      // 97: bipush 0
      // 98: ireturn
      // 99: invokestatic com/l7tech/policy/assertion/IdentityTarget.a (Ljava/lang/NumberFormatException;)Ljava/lang/NumberFormatException;
      // 9c: athrow
      // 9d: bipush 1
      // 9e: ireturn
      // try (0 -> 5): 5 java/lang/NumberFormatException
      // try (7 -> 14): 15 java/lang/NumberFormatException
      // try (9 -> 19): 19 java/lang/NumberFormatException
      // try (24 -> 33): 34 java/lang/NumberFormatException
      // try (27 -> 37): 37 java/lang/NumberFormatException
      // try (39 -> 44): 44 java/lang/NumberFormatException
      // try (46 -> 55): 56 java/lang/NumberFormatException
      // try (49 -> 59): 59 java/lang/NumberFormatException
      // try (61 -> 66): 66 java/lang/NumberFormatException
      // try (68 -> 75): 75 java/lang/NumberFormatException
   }

   @Override
   public int hashCode() {
      int var10000;
      label44: {
         try {
            if (this.targetIdentityType != null) {
               var10000 = this.targetIdentityType.hashCode();
               break label44;
            }
         } catch (NumberFormatException var4) {
            throw a(var4);
         }

         var10000 = 0;
      }

      int var1 = var10000;

      int var10001;
      label36: {
         try {
            var10000 = 31 * var1;
            if (this.identityProviderGoid != null) {
               var10001 = this.identityProviderGoid.hashCode();
               break label36;
            }
         } catch (NumberFormatException var3) {
            throw a(var3);
         }

         var10001 = 0;
      }

      var1 = var10000 + var10001;

      try {
         var10000 = 31 * var1;
         if (this.identityId != null) {
            return var10000 + this.identityId.toLowerCase().hashCode();
         }
      } catch (NumberFormatException var2) {
         throw a(var2);
      }

      return var10000 + 0;
   }

   static {
      String[] var5 = new String[19];
      int var3 = 0;
      String var2 = "\u0003%z'\u0012\u001b%\u000f\"\u0006zvs:OR\u0002\u0003%\b\u0003%x)\u0018\u0017k\b\b\u0003%x)\u0018\u0017k\b\bI`r\u0017\u0000\u0001.]\u000efas&\u0001\u001b?V%B)\u0012Hk\u0013fas&\u0001\u001b?V%F:\u001a\u0004\"K`dhV\nhwy=\u0005R\u0002k%1\u0002\u0003%\u0005{dqhR\tI`r\u0017\u0012\u0000$Zu\u000eFkb-\u0007\u001c*CZq:\u001a\u0007;\u000f\u0013Ky<U!;Jf\u007f.\u001c\u0017/\u0011\tzvs:U;\u000f\u000f\"\rFkb-\u0007\u001c*CZc;\u0010\u0000\u0017npb \u0010\u001c?Ffw<\u0010\u0016kNbw!\u001b\u0001?\u0015%";
      int var4 = "\u0003%z'\u0012\u001b%\u000f\"\u0006zvs:OR\u0002\u0003%\b\u0003%x)\u0018\u0017k\b\b\u0003%x)\u0018\u0017k\b\bI`r\u0017\u0000\u0001.]\u000efas&\u0001\u001b?V%B)\u0012Hk\u0013fas&\u0001\u001b?V%F:\u001a\u0004\"K`dhV\nhwy=\u0005R\u0002k%1\u0002\u0003%\u0005{dqhR\tI`r\u0017\u0012\u0000$Zu\u000eFkb-\u0007\u001c*CZq:\u001a\u0007;\u000f\u0013Ky<U!;Jf\u007f.\u001c\u0017/\u0011\tzvs:U;\u000f\u000f\"\rFkb-\u0007\u001c*CZc;\u0010\u0000\u0017npb \u0010\u001c?Ffw<\u0010\u0016kNbw!\u001b\u0001?\u0015%"
         .length();
      char var1 = '\t';
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     a = var5;
                     targetIdentityTypeComparator = Comparator.nullsFirst(Comparator.naturalOrder());
                     identityProviderGoidComparator = Comparator.nullsFirst(Comparator.naturalOrder());
                     identityIdComparator = Comparator.nullsFirst(String.CASE_INSENSITIVE_ORDER);
                     return;
                  }

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

                  var2 = "s0\u0018C{}\\![\u0012\b\u0017\u0019]e2f*\b\u0014MgaC&\u0015L\b";
                  var4 = "s0\u0018C{}\\![\u0012\b\u0017\u0019]e2f*\b\u0014MgaC&\u0015L\b".length();
                  var1 = '\t';
                  var7 = -1;
            }

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

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

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

      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 -> 52;
            case 1 -> 30;
            case 2 -> 13;
            case 3 -> 83;
            case 4 -> 110;
            case 5 -> 105;
            default -> 80;
         });
      }

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

   public enum TargetIdentityType {
      USER,
      GROUP,
      PROVIDER,
      TAG;

      // $VF: Failed to inline enum fields
      // 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!)
      static {
         String[] var0 = new String[4];
         int var4 = 0;
         String var3 = "|=hC5\u0003o.`";
         int var5 = "|=hC5\u0003o.`".length();
         char var2 = 5;
         int var7 = -1;

         label25:
         while (true) {
            byte var10000 = 125;
            String var10001 = var3.substring(++var7, var7 + var2);
            byte var10002 = -1;

            while (true) {
               String var8 = a(var10000, a(var10001));
               switch (var10002) {
                  case 0:
                     var0[var4++] = var8;
                     if ((var7 += var2) >= var5) {
                        USER = new IdentityTarget.TargetIdentityType();
                        GROUP = new IdentityTarget.TargetIdentityType();
                        PROVIDER = new IdentityTarget.TargetIdentityType();
                        TAG = new IdentityTarget.TargetIdentityType();
                        return;
                     }

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

                     var3 = "%s&\u000eb0c'\u0004 r,\n";
                     var5 = "%s&\u000eb0c'\u0004 r,\n".length();
                     var2 = '\b';
                     var7 = -1;
               }

               var10000 = 51;
               var10001 = var3.substring(++var7, var7 + var2);
               var10002 = 0;
            }
         }
      }

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

         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 -> 70;
               case 1 -> 18;
               case 2 -> 90;
               case 3 -> 107;
               case 4 -> 24;
               case 5 -> 71;
               default -> 21;
            });
         }

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