package com.l7tech.server.migration;

import com.l7tech.gateway.common.service.ServiceDocument;
import com.l7tech.gateway.common.service.ServiceDocumentWsdlStrategy;
import com.l7tech.gateway.common.service.PublishedService.WsdlStrategy;
import com.l7tech.objectmodel.Entity;
import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityHeaderSet;
import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.EntityTypeRegistry;
import com.l7tech.objectmodel.ExternalEntityHeader;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.GuidEntityHeader;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.objectmodel.PersistentEntity;
import com.l7tech.objectmodel.SaveException;
import com.l7tech.objectmodel.UpdateException;
import com.l7tech.objectmodel.ValueReferenceEntityHeader;
import com.l7tech.objectmodel.migration.MigrationDependency;
import com.l7tech.objectmodel.migration.MigrationUtils;
import com.l7tech.objectmodel.migration.PropertyResolver;
import com.l7tech.objectmodel.migration.PropertyResolverException;
import com.l7tech.server.EntityCrud;
import com.l7tech.server.EntityHeaderUtils;
import com.l7tech.server.cluster.ExternalEntityHeaderEnhancer;
import com.l7tech.server.management.api.node.MigrationApi.MigrationException;
import com.l7tech.server.management.migration.MigrationManager;
import com.l7tech.server.management.migration.bundle.MigratedItem;
import com.l7tech.server.management.migration.bundle.MigrationBundle;
import com.l7tech.server.management.migration.bundle.MigrationMetadata;
import com.l7tech.util.ExceptionUtils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.transaction.annotation.Transactional;

@Transactional(rollbackFor = Throwable.class)
public class MigrationManagerImpl implements MigrationManager {
   private static final Logger a;
   private EntityCrud b;
   private PropertyResolverFactory c;
   private ExternalEntityHeaderEnhancer d;
   private static final String[] e;

   public MigrationManagerImpl(EntityCrud var1, PropertyResolverFactory var2, ExternalEntityHeaderEnhancer var3) {
      this.b = var1;
      this.c = var2;
      this.d = var3;
   }

   public Collection<ExternalEntityHeader> listEntities(Class<? extends Entity> var1) throws MigrationException {
      try {
         if (var1 == null) {
            throw new MigrationException(e[2]);
         }
      } catch (FindException var5) {
         throw a(var5);
      }

      String[] var3 = e;
      a.log(Level.FINEST, var3[49], var1.getName());

      try {
         return EntityHeaderUtils.toExternal(this.b.findAll(var1));
      } catch (FindException var4) {
         String var10002 = String.valueOf(var1);
         String var10003 = ExceptionUtils.getMessage(var4);
         var3 = e;
         throw new MigrationException(var3[10] + var10002 + var3[47] + var10003, ExceptionUtils.getDebugException(var4));
      }
   }

   public Collection<ExternalEntityHeader> checkHeaders(Collection<ExternalEntityHeader> var1) {
      HashSet var2 = new HashSet();
      if (var1 != null) {
         for (ExternalEntityHeader var4 : var1) {
            try {
               Entity var5 = this.d(var4);

               ExternalEntityHeader var10000;
               label30: {
                  try {
                     if (var5 == null) {
                        var10000 = var4;
                        break label30;
                     }
                  } catch (MigrationException var7) {
                     throw a(var7);
                  }

                  var10000 = EntityHeaderUtils.toExternal(EntityHeaderUtils.fromEntity(var5));
               }

               ExternalEntityHeader var6 = var10000;
               this.c(var6);
               var2.add(var6);
            } catch (MigrationException var8) {
               a.log(Level.FINE, e[39], var4);
            }
         }
      }

      return var2;
   }

   public MigrationMetadata findDependencies(Collection<ExternalEntityHeader> var1) throws MigrationException {
      String[] var9 = e;
      a.log(Level.FINEST, var9[23], var1);
      MigrationMetadata var2 = new MigrationMetadata();
      if (var1 != null) {
         Set var3 = this.a(var1);
         var2.setHeaders(new LinkedHashSet(var3));

         for (ExternalEntityHeader var5 : var3) {
            try {
               HashSet var6 = new HashSet(var2.getHeaders());
               this.a(var2, var5, var6);
            } catch (PropertyResolverException var11) {
               var9 = e;
               throw new MigrationException(this.a(var9[38], var5, var11));
            } catch (MigrationException var12) {
               throw new MigrationException(this.a(e[55], var5, var12));
            }

            if (EntityType.SERVICE == var5.getType()) {
               for (MigrationDependency var7 : var2.getDependants(var5)) {
                  ExternalEntityHeader var8 = var7.getDependant();

                  try {
                     if (EntityType.SERVICE_DOCUMENT == var8.getType()) {
                        var2.addHeader(var8);
                     }
                  } catch (PropertyResolverException var10) {
                     throw a(var10);
                  }
               }
            }
         }
      }

      return var2;
   }

   @Transactional(readOnly = true)
   public MigrationBundle exportBundle(Collection<ExternalEntityHeader> param1) throws MigrationException {
      // $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: ifnull 014
      // 004: aload 1
      // 005: invokeinterface java/util/Collection.isEmpty ()Z 1
      // 00a: ifeq 025
      // 00d: goto 014
      // 010: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 013: athrow
      // 014: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 017: dup
      // 018: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 01b: bipush 0
      // 01c: aaload
      // 01d: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;)V
      // 020: athrow
      // 021: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 024: athrow
      // 025: aload 0
      // 026: aload 1
      // 027: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.findDependencies (Ljava/util/Collection;)Lcom/l7tech/server/management/migration/bundle/MigrationMetadata;
      // 02a: astore 2
      // 02b: new com/l7tech/server/management/migration/bundle/MigrationBundle
      // 02e: dup
      // 02f: aload 2
      // 030: invokespecial com/l7tech/server/management/migration/bundle/MigrationBundle.<init> (Lcom/l7tech/server/management/migration/bundle/MigrationMetadata;)V
      // 033: astore 3
      // 034: aload 2
      // 035: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getAllHeaders ()Ljava/util/Set;
      // 038: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 03d: astore 4
      // 03f: aload 4
      // 041: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 046: ifeq 151
      // 049: aload 4
      // 04b: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 050: checkcast com/l7tech/objectmodel/ExternalEntityHeader
      // 053: astore 5
      // 055: aload 2
      // 056: aload 5
      // 058: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.includeInExport (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 05b: ifne 076
      // 05e: getstatic com/l7tech/server/migration/MigrationManagerImpl.a Ljava/util/logging/Logger;
      // 061: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 064: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 067: bipush 33
      // 069: aaload
      // 06a: aload 5
      // 06c: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 06f: goto 03f
      // 072: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 075: athrow
      // 076: aload 0
      // 077: aload 5
      // 079: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.d (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/Entity;
      // 07c: astore 6
      // 07e: aload 6
      // 080: instanceof com/l7tech/gateway/common/service/PublishedService
      // 083: ifeq 0d3
      // 086: new com/l7tech/gateway/common/service/PublishedService
      // 089: dup
      // 08a: aload 6
      // 08c: checkcast com/l7tech/gateway/common/service/PublishedService
      // 08f: invokespecial com/l7tech/gateway/common/service/PublishedService.<init> (Lcom/l7tech/gateway/common/service/PublishedService;)V
      // 092: astore 7
      // 094: aload 7
      // 096: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 099: aload 7
      // 09b: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 09e: invokevirtual com/l7tech/policy/Policy.getAssertion ()Lcom/l7tech/policy/assertion/Assertion;
      // 0a1: invokestatic com/l7tech/policy/wsp/WspWriter.getPolicyXml (Lcom/l7tech/policy/assertion/Assertion;)Ljava/lang/String;
      // 0a4: invokevirtual com/l7tech/policy/Policy.setXml (Ljava/lang/String;)V
      // 0a7: aload 7
      // 0a9: astore 6
      // 0ab: goto 0d0
      // 0ae: astore 8
      // 0b0: getstatic com/l7tech/server/migration/MigrationManagerImpl.a Ljava/util/logging/Logger;
      // 0b3: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 0b6: aload 7
      // 0b8: invokevirtual com/l7tech/gateway/common/service/PublishedService.displayName ()Ljava/lang/String;
      // 0bb: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0be: astore 9
      // 0c0: aload 9
      // 0c2: bipush 60
      // 0c4: aaload
      // 0c5: swap
      // 0c6: 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" ]
      // 0cb: aload 8
      // 0cd: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0d0: goto 11f
      // 0d3: aload 6
      // 0d5: instanceof com/l7tech/policy/Policy
      // 0d8: ifeq 11f
      // 0db: new com/l7tech/policy/Policy
      // 0de: dup
      // 0df: aload 6
      // 0e1: checkcast com/l7tech/policy/Policy
      // 0e4: invokespecial com/l7tech/policy/Policy.<init> (Lcom/l7tech/policy/Policy;)V
      // 0e7: astore 7
      // 0e9: aload 7
      // 0eb: aload 7
      // 0ed: invokevirtual com/l7tech/policy/Policy.getAssertion ()Lcom/l7tech/policy/assertion/Assertion;
      // 0f0: invokestatic com/l7tech/policy/wsp/WspWriter.getPolicyXml (Lcom/l7tech/policy/assertion/Assertion;)Ljava/lang/String;
      // 0f3: invokevirtual com/l7tech/policy/Policy.setXml (Ljava/lang/String;)V
      // 0f6: aload 7
      // 0f8: astore 6
      // 0fa: goto 11f
      // 0fd: astore 8
      // 0ff: getstatic com/l7tech/server/migration/MigrationManagerImpl.a Ljava/util/logging/Logger;
      // 102: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 105: aload 7
      // 107: invokevirtual com/l7tech/policy/Policy.getName ()Ljava/lang/String;
      // 10a: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 10d: astore 9
      // 10f: aload 9
      // 111: bipush 48
      // 113: aaload
      // 114: swap
      // 115: 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" ]
      // 11a: aload 8
      // 11c: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 11f: getstatic com/l7tech/server/migration/MigrationManagerImpl.a Ljava/util/logging/Logger;
      // 122: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 125: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 128: bipush 36
      // 12a: aaload
      // 12b: bipush 2
      // 12c: anewarray 629
      // 12f: dup
      // 130: bipush 0
      // 131: aload 5
      // 133: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.toStringVerbose ()Ljava/lang/String;
      // 136: aastore
      // 137: dup
      // 138: bipush 1
      // 139: aload 6
      // 13b: aastore
      // 13c: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // 13f: aload 3
      // 140: new com/l7tech/server/management/migration/bundle/ExportedItem
      // 143: dup
      // 144: aload 5
      // 146: aload 6
      // 148: invokespecial com/l7tech/server/management/migration/bundle/ExportedItem.<init> (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/objectmodel/Entity;)V
      // 14b: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.addExportedItem (Lcom/l7tech/server/management/migration/bundle/ExportedItem;)V
      // 14e: goto 03f
      // 151: aload 3
      // 152: areturn
      // try (37 -> 49): 49 java/io/IOException
      // try (2 -> 15): 15 java/io/IOException
      // try (0 -> 5): 6 java/io/IOException
      // try (64 -> 73): 74 java/io/IOException
      // try (98 -> 105): 106 java/io/IOException
   }

   public Map<ExternalEntityHeader, EntityHeaderSet<ExternalEntityHeader>> retrieveMappingCandidates(
      Collection<ExternalEntityHeader> var1, ExternalEntityHeader var2, Map<String, String> var3
   ) throws MigrationException {
      String[] var12 = e;
      a.log(Level.FINEST, var12[62], var1);
      HashMap var4 = new HashMap();
      if (var1 != null) {
         for (ExternalEntityHeader var7 : var1) {
            try {
               Map var5 = this.a(var7, var3);
               EntityHeaderSet var8 = new EntityHeaderSet();
               if (var7 instanceof ValueReferenceEntityHeader) {
                  MigrationMetadata var9 = this.findDependencies(
                     EntityHeaderUtils.toExternal(
                        this.b.findAll(EntityTypeRegistry.getEntityClass(((ValueReferenceEntityHeader)var7).getOwnerType()), var5, 0, 50)
                     )
                  );

                  for (ExternalEntityHeader var11 : var9.getAllHeaders()) {
                     try {
                        if (var11 instanceof ValueReferenceEntityHeader) {
                           var8.add(var11);
                        }
                     } catch (FindException var13) {
                        throw a(var13);
                     }
                  }
               } else {
                  for (EntityHeader var16 : this.b.findAllInScope(EntityHeaderUtils.getEntityClass(var7), var2, var5, 0, 50)) {
                     var8.add(this.b(EntityHeaderUtils.toExternal(var16)));
                  }
               }

               var12 = e;
               a.log(Level.FINEST, var12[4], new Object[]{var8.size(), var7});
               var4.put(var7, var8);
            } catch (FindException var14) {
               throw new MigrationException(e[46] + ExceptionUtils.getMessage(var14), ExceptionUtils.getDebugException(var14));
            }
         }
      }

      return var4;
   }

   private Map<String, String> a(ExternalEntityHeader param1, Map<String, String> 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:
      // 000: getstatic com/l7tech/objectmodel/EntityType.JMS_ENDPOINT Lcom/l7tech/objectmodel/EntityType;
      // 003: aload 1
      // 004: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 007: if_acmpne 04e
      // 00a: aload 1
      // 00b: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getExtraProperties ()Ljava/util/Map;
      // 00e: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 011: bipush 32
      // 013: aaload
      // 014: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 019: ifeq 04e
      // 01c: goto 023
      // 01f: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 022: athrow
      // 023: new java/util/HashMap
      // 026: dup
      // 027: invokespecial java/util/HashMap.<init> ()V
      // 02a: astore 3
      // 02b: aload 3
      // 02c: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 02f: astore 4
      // 031: aload 4
      // 033: bipush 15
      // 035: aaload
      // 036: aload 1
      // 037: aload 4
      // 039: bipush 15
      // 03b: aaload
      // 03c: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 03f: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 044: pop
      // 045: aload 3
      // 046: aload 2
      // 047: invokeinterface java/util/Map.putAll (Ljava/util/Map;)V 2
      // 04c: aload 3
      // 04d: areturn
      // 04e: getstatic com/l7tech/objectmodel/EntityType.SSG_ACTIVE_CONNECTOR Lcom/l7tech/objectmodel/EntityType;
      // 051: aload 1
      // 052: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 055: if_acmpne 0fb
      // 058: aload 1
      // 059: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getExtraProperties ()Ljava/util/Map;
      // 05c: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 05f: bipush 50
      // 061: aaload
      // 062: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 067: ifne 08a
      // 06a: goto 071
      // 06d: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 070: athrow
      // 071: aload 1
      // 072: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getExtraProperties ()Ljava/util/Map;
      // 075: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 078: bipush 6
      // 07a: aaload
      // 07b: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 080: ifeq 0fb
      // 083: goto 08a
      // 086: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 089: athrow
      // 08a: new java/util/HashMap
      // 08d: dup
      // 08e: invokespecial java/util/HashMap.<init> ()V
      // 091: astore 3
      // 092: aload 1
      // 093: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getExtraProperties ()Ljava/util/Map;
      // 096: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 099: bipush 20
      // 09b: aaload
      // 09c: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 0a1: ifeq 0c2
      // 0a4: aload 3
      // 0a5: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0a8: bipush 34
      // 0aa: aaload
      // 0ab: aload 1
      // 0ac: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0af: bipush 20
      // 0b1: aaload
      // 0b2: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 0b5: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0ba: pop
      // 0bb: goto 0c2
      // 0be: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c1: athrow
      // 0c2: aload 1
      // 0c3: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getExtraProperties ()Ljava/util/Map;
      // 0c6: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0c9: bipush 22
      // 0cb: aaload
      // 0cc: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 0d1: ifeq 0f2
      // 0d4: aload 3
      // 0d5: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0d8: bipush 43
      // 0da: aaload
      // 0db: aload 1
      // 0dc: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0df: bipush 22
      // 0e1: aaload
      // 0e2: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 0e5: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0ea: pop
      // 0eb: goto 0f2
      // 0ee: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f1: athrow
      // 0f2: aload 3
      // 0f3: aload 2
      // 0f4: invokeinterface java/util/Map.putAll (Ljava/util/Map;)V 2
      // 0f9: aload 3
      // 0fa: areturn
      // 0fb: getstatic com/l7tech/objectmodel/EntityType.RESOURCE_ENTRY Lcom/l7tech/objectmodel/EntityType;
      // 0fe: aload 1
      // 0ff: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 102: if_acmpne 149
      // 105: aload 1
      // 106: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getExtraProperties ()Ljava/util/Map;
      // 109: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 10c: bipush 25
      // 10e: aaload
      // 10f: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 114: ifeq 149
      // 117: goto 11e
      // 11a: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11d: athrow
      // 11e: new java/util/HashMap
      // 121: dup
      // 122: invokespecial java/util/HashMap.<init> ()V
      // 125: astore 3
      // 126: aload 3
      // 127: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 12a: astore 4
      // 12c: aload 4
      // 12e: bipush 57
      // 130: aaload
      // 131: aload 1
      // 132: aload 4
      // 134: bipush 35
      // 136: aaload
      // 137: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 13a: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 13f: pop
      // 140: aload 3
      // 141: aload 2
      // 142: invokeinterface java/util/Map.putAll (Ljava/util/Map;)V 2
      // 147: aload 3
      // 148: areturn
      // 149: aload 2
      // 14a: areturn
      // try (0 -> 11): 12 java/lang/IllegalStateException
      // try (36 -> 47): 48 java/lang/IllegalStateException
      // try (40 -> 57): 58 java/lang/IllegalStateException
      // try (64 -> 82): 83 java/lang/IllegalStateException
      // try (85 -> 103): 104 java/lang/IllegalStateException
      // try (111 -> 122): 123 java/lang/IllegalStateException
   }

   public Collection<MigratedItem> importBundle(MigrationBundle var1, boolean var2) throws MigrationException {
      MigrationMetadata var3 = var1.getMetadata();

      MigrationManagerImpl var10000;
      MigrationBundle var10001;
      ExternalEntityHeader var10002;
      boolean var10003;
      label45: {
         try {
            var10000 = this;
            var10001 = var1;
            var10002 = var3.getTargetFolder();
            if (!var3.isMigrateFolders()) {
               var10003 = true;
               break label45;
            }
         } catch (ObjectModelException var12) {
            throw a(var12);
         }

         var10003 = false;
      }

      Collection var4 = var10000.a(var10001, var10002, var10003);
      Map var5 = this.a(var3);

      try {
         var4.addAll(this.a(var1, var5));
         if (!var4.isEmpty()) {
            throw new MigrationException(var4);
         }
      } catch (ObjectModelException var11) {
         throw a(var11);
      }

      HashMap var6 = new HashMap();

      for (ExternalEntityHeader var8 : var3.getHeaders()) {
         try {
            this.a(var8, var1, var5, var6, var3.isOverwrite(), var3.isEnableNewServices(), var2, false);
         } catch (ObjectModelException var10) {
            throw new MigrationException(this.a(e[58], var8, var10));
         }
      }

      return var6.values();
   }

   private Map<ExternalEntityHeader, Entity> a(MigrationMetadata var1) throws MigrationException {
      HashMap var2 = new HashMap();
      HashMap var3 = new HashMap();

      for (ExternalEntityHeader var5 : var1.getAllHeaders()) {
         try {
            if (!var1.isMapped(var5)) {
               var3.put(var5, false);
            }
         } catch (MigrationException var10) {
            throw a(var10);
         }
      }

      for (ExternalEntityHeader var14 : var1.getMappedHeaders()) {
         var3.put(var14, true);
      }

      for (ExternalEntityHeader var15 : var1.getCopiedHeaders()) {
         var3.put(var15, true);
      }

      for (ExternalEntityHeader var6 : var3.keySet()) {
         try {
            Entity var13 = this.d(var6);
            var2.put(var6, var13);
            var2.put(EntityHeaderUtils.toExternal(EntityHeaderUtils.fromEntity(var13)), var13);
         } catch (MigrationException var9) {
            MigrationException var7 = var9;

            try {
               if ((Boolean)var3.get(var6)) {
                  throw var7;
               }
            } catch (MigrationException var8) {
               throw a(var8);
            }
         }
      }

      return var2;
   }

   private void a(
      ExternalEntityHeader param1,
      MigrationBundle param2,
      Map<ExternalEntityHeader, Entity> param3,
      Map<ExternalEntityHeader, MigratedItem> param4,
      boolean param5,
      boolean param6,
      boolean param7,
      boolean param8
   ) throws MigrationException, UpdateException, SaveException {
      // $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 2
      // 001: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.getMetadata ()Lcom/l7tech/server/management/migration/bundle/MigrationMetadata;
      // 004: astore 9
      // 006: aload 4
      // 008: aload 1
      // 009: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 00e: ifeq 045
      // 011: iload 8
      // 013: ifeq 044
      // 016: goto 01d
      // 019: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 01c: athrow
      // 01d: aload 9
      // 01f: aload 1
      // 020: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.hasHeader (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 023: ifne 044
      // 026: goto 02d
      // 029: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02c: athrow
      // 02d: getstatic com/l7tech/server/migration/MigrationManagerImpl.a Ljava/util/logging/Logger;
      // 030: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 033: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 036: bipush 27
      // 038: aaload
      // 039: aload 1
      // 03a: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 03d: goto 044
      // 040: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 043: athrow
      // 044: return
      // 045: aload 9
      // 047: aload 1
      // 048: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.isMapped (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 04b: ifeq 062
      // 04e: getstatic com/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation.MAP Lcom/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation;
      // 051: astore 10
      // 053: aload 0
      // 054: aload 9
      // 056: aload 1
      // 057: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getCopiedOrMapped (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 05a: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 05d: astore 11
      // 05f: goto 122
      // 062: aload 9
      // 064: aload 1
      // 065: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.wasCopied (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 068: ifne 087
      // 06b: aload 3
      // 06c: aload 1
      // 06d: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 072: ifne 087
      // 075: goto 07c
      // 078: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07b: athrow
      // 07c: getstatic com/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation.CREATE Lcom/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation;
      // 07f: astore 10
      // 081: aload 1
      // 082: astore 11
      // 084: goto 122
      // 087: iload 5
      // 089: ifeq 0ac
      // 08c: aload 2
      // 08d: aload 1
      // 08e: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.hasValueForHeader (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 091: ifeq 0ac
      // 094: goto 09b
      // 097: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 09a: athrow
      // 09b: getstatic com/l7tech/objectmodel/EntityType.FOLDER Lcom/l7tech/objectmodel/EntityType;
      // 09e: aload 1
      // 09f: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 0a2: if_acmpne 0d1
      // 0a5: goto 0ac
      // 0a8: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ab: athrow
      // 0ac: getstatic com/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation.MAP_EXISTING Lcom/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation;
      // 0af: astore 10
      // 0b1: aload 9
      // 0b3: aload 1
      // 0b4: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.wasCopied (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 0b7: ifeq 0cb
      // 0ba: aload 0
      // 0bb: aload 9
      // 0bd: aload 1
      // 0be: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getCopiedOrMapped (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 0c1: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 0c4: goto 0cc
      // 0c7: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ca: athrow
      // 0cb: aload 1
      // 0cc: astore 11
      // 0ce: goto 122
      // 0d1: aload 9
      // 0d3: aload 1
      // 0d4: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.wasCopied (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 0d7: ifeq 100
      // 0da: aload 3
      // 0db: aload 9
      // 0dd: aload 1
      // 0de: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getCopied (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 0e1: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 0e6: ifeq 100
      // 0e9: goto 0f0
      // 0ec: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ef: athrow
      // 0f0: getstatic com/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation.UPDATE Lcom/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation;
      // 0f3: astore 10
      // 0f5: aload 9
      // 0f7: aload 1
      // 0f8: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getCopied (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 0fb: astore 11
      // 0fd: goto 122
      // 100: getstatic com/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation.OVERWRITE Lcom/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation;
      // 103: astore 10
      // 105: aload 9
      // 107: aload 1
      // 108: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.wasCopied (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 10b: ifeq 11f
      // 10e: aload 0
      // 10f: aload 9
      // 111: aload 1
      // 112: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getCopiedOrMapped (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 115: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 118: goto 120
      // 11b: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11e: athrow
      // 11f: aload 1
      // 120: astore 11
      // 122: aload 10
      // 124: invokevirtual com/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation.modifiesTarget ()Z
      // 127: ifeq 186
      // 12a: aload 9
      // 12c: aload 1
      // 12d: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getDependencies (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Ljava/util/Set;
      // 130: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 135: astore 12
      // 137: aload 12
      // 139: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 13e: ifeq 186
      // 141: aload 12
      // 143: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 148: checkcast com/l7tech/objectmodel/migration/MigrationDependency
      // 14b: astore 13
      // 14d: aload 0
      // 14e: aload 13
      // 150: invokevirtual com/l7tech/objectmodel/migration/MigrationDependency.getDependency ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 153: aload 2
      // 154: aload 3
      // 155: aload 4
      // 157: iload 5
      // 159: iload 6
      // 15b: iload 7
      // 15d: bipush 1
      // 15e: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;Ljava/util/Map;Ljava/util/Map;ZZZZ)V
      // 161: goto 183
      // 164: astore 14
      // 166: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 169: dup
      // 16a: aload 0
      // 16b: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 16e: astore 15
      // 170: aload 15
      // 172: bipush 28
      // 174: aaload
      // 175: aload 13
      // 177: invokevirtual com/l7tech/objectmodel/migration/MigrationDependency.getDependency ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 17a: aload 14
      // 17c: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/String;Lcom/l7tech/objectmodel/ExternalEntityHeader;Ljava/lang/Exception;)Ljava/lang/String;
      // 17f: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;)V
      // 182: athrow
      // 183: goto 137
      // 186: getstatic com/l7tech/server/migration/e.a [I
      // 189: aload 10
      // 18b: invokevirtual com/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation.ordinal ()I
      // 18e: iaload
      // 18f: tableswitch 96 1 5 33 33 49 65 81
      // 1b0: aload 3
      // 1b1: aload 11
      // 1b3: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 1b8: checkcast com/l7tech/objectmodel/Entity
      // 1bb: astore 12
      // 1bd: goto 20c
      // 1c0: aload 0
      // 1c1: aload 1
      // 1c2: aload 11
      // 1c4: aload 2
      // 1c5: aload 3
      // 1c6: iload 7
      // 1c8: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;Ljava/util/Map;Z)Lcom/l7tech/objectmodel/Entity;
      // 1cb: astore 12
      // 1cd: goto 20c
      // 1d0: aload 0
      // 1d1: aload 1
      // 1d2: aload 11
      // 1d4: aload 2
      // 1d5: aload 3
      // 1d6: iload 7
      // 1d8: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;Ljava/util/Map;Z)Lcom/l7tech/objectmodel/Entity;
      // 1db: astore 12
      // 1dd: goto 20c
      // 1e0: aload 0
      // 1e1: aload 1
      // 1e2: aload 2
      // 1e3: iload 6
      // 1e5: iload 7
      // 1e7: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;ZZ)Lcom/l7tech/objectmodel/Entity;
      // 1ea: astore 12
      // 1ec: goto 20c
      // 1ef: new java/lang/IllegalStateException
      // 1f2: dup
      // 1f3: aload 10
      // 1f5: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 1f8: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 1fb: astore 15
      // 1fd: aload 15
      // 1ff: bipush 61
      // 201: aaload
      // 202: swap
      // 203: 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" ]
      // 208: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 20b: athrow
      // 20c: aload 12
      // 20e: ifnonnull 22d
      // 211: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 214: dup
      // 215: aload 1
      // 216: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 219: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 21c: bipush 51
      // 21e: aaload
      // 21f: swap
      // 220: 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" ]
      // 225: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;)V
      // 228: athrow
      // 229: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22c: athrow
      // 22d: aload 1
      // 22e: instanceof com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 231: ifeq 242
      // 234: aload 1
      // 235: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getMappedValue ()Ljava/lang/String;
      // 238: ifnull 264
      // 23b: goto 242
      // 23e: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 241: athrow
      // 242: aload 4
      // 244: aload 1
      // 245: new com/l7tech/server/management/migration/bundle/MigratedItem
      // 248: dup
      // 249: aload 1
      // 24a: aload 12
      // 24c: invokestatic com/l7tech/server/EntityHeaderUtils.fromEntity (Lcom/l7tech/objectmodel/Entity;)Lcom/l7tech/objectmodel/EntityHeader;
      // 24f: invokestatic com/l7tech/server/EntityHeaderUtils.toExternal (Lcom/l7tech/objectmodel/EntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 252: aload 10
      // 254: invokespecial com/l7tech/server/management/migration/bundle/MigratedItem.<init> (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigratedItem$ImportOperation;)V
      // 257: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 25c: pop
      // 25d: goto 264
      // 260: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 263: athrow
      // 264: aload 1
      // 265: instanceof com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 268: ifeq 27b
      // 26b: aload 0
      // 26c: aload 1
      // 26d: checkcast com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 270: aload 2
      // 271: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ValueReferenceEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;)V
      // 274: goto 286
      // 277: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 27a: athrow
      // 27b: aload 0
      // 27c: aload 1
      // 27d: aload 12
      // 27f: aload 11
      // 281: aload 2
      // 282: aload 3
      // 283: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/objectmodel/Entity;Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;Ljava/util/Map;)V
      // 286: return
      // try (114 -> 124): 124 com/l7tech/objectmodel/ObjectModelException
      // try (92 -> 102): 103 com/l7tech/objectmodel/ObjectModelException
      // try (77 -> 87): 87 com/l7tech/objectmodel/ObjectModelException
      // try (61 -> 72): 73 com/l7tech/objectmodel/ObjectModelException
      // try (59 -> 65): 66 com/l7tech/objectmodel/ObjectModelException
      // try (43 -> 51): 52 com/l7tech/objectmodel/ObjectModelException
      // try (12 -> 26): 27 com/l7tech/objectmodel/ObjectModelException
      // try (7 -> 16): 17 com/l7tech/objectmodel/ObjectModelException
      // try (3 -> 9): 10 com/l7tech/objectmodel/ObjectModelException
      // try (143 -> 154): 155 com/l7tech/objectmodel/ObjectModelException
      // try (221 -> 234): 234 com/l7tech/objectmodel/ObjectModelException
      // try (236 -> 242): 243 com/l7tech/objectmodel/ObjectModelException
      // try (239 -> 257): 258 com/l7tech/objectmodel/ObjectModelException
      // try (260 -> 269): 269 com/l7tech/objectmodel/ObjectModelException
   }

   private ExternalEntityHeader a(ExternalEntityHeader var1) throws MigrationException {
      return EntityHeaderUtils.toExternal(EntityHeaderUtils.fromEntity(this.d(var1)));
   }

   private void a(ValueReferenceEntityHeader var1, MigrationBundle var2) throws MigrationException {
      if (var1.getMappedValue() != null) {
         Entity var3 = var2.getExportedEntity(var1.getOwnerHeader());

         try {
            PropertyResolver var4 = this.b(var3, var1.getPropertyName());
            var4.applyMapping(var3, var1.getPropertyName(), var1, var1.getMappedValue(), null);
         } catch (PropertyResolverException var5) {
            throw new MigrationException(e[41] + var1, var5);
         }
      }
   }

   private void a(ExternalEntityHeader var1, Entity var2, ExternalEntityHeader var3, MigrationBundle var4, Map<ExternalEntityHeader, Entity> var5) throws MigrationException {
      MigrationMetadata var6 = var4.getMetadata();

      try {
         for (MigrationDependency var8 : var6.getDependants(var1)) {
            ExternalEntityHeader var9 = var8.getDependant();

            Entity var10000;
            label46: {
               try {
                  if (var6.isMapped(var9)) {
                     var10000 = (Entity)var5.get(var6.getMapping(var9));
                     break label46;
                  }
               } catch (PropertyResolverException var15) {
                  throw a(var15);
               }

               var10000 = var4.getExportedEntity(var9);
            }

            Entity var10 = var10000;

            try {
               if (var10 == var2) {
                  continue;
               }
            } catch (PropertyResolverException var13) {
               throw a(var13);
            }

            String var11 = a(var10, var8.getPropName());
            PropertyResolver var12 = this.b(var10, var11);

            try {
               if (var2 == null) {
                  throw new MigrationException(e[7] + var8.getDependency());
               }
            } catch (PropertyResolverException var14) {
               throw a(var14);
            }

            var12.applyMapping(var10, var11, var3, var2, var1);
         }
      } catch (PropertyResolverException var16) {
         throw new MigrationException(var16);
      }
   }

   private static String a(Entity var0, String var1) {
      if (var0 instanceof PersistentEntity) {
         String var2 = var1;
         byte var3 = -1;

         label27: {
            try {
               switch (var2.hashCode()) {
                  case 1263387335:
                     if (!var2.equals(e[59])) {
                        break label27;
                     }
                     break;
                  default:
                     break label27;
               }
            } catch (IllegalStateException var5) {
               throw a(var5);
            }

            var3 = 0;
         }

         try {
            switch (var3) {
               case 0:
                  return e[21];
               default:
                  return var1;
            }
         } catch (IllegalStateException var4) {
            throw a(var4);
         }
      } else {
         return var1;
      }
   }

   private Entity a(ExternalEntityHeader param1, ExternalEntityHeader param2, MigrationBundle param3, Map<ExternalEntityHeader, Entity> param4, boolean param5) throws MigrationException, UpdateException {
      // $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: instanceof com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 004: ifeq 017
      // 007: aload 3
      // 008: aload 1
      // 009: checkcast com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 00c: invokevirtual com/l7tech/objectmodel/ValueReferenceEntityHeader.getOwnerHeader ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 00f: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.getExportedEntity (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/Entity;
      // 012: areturn
      // 013: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 016: athrow
      // 017: aload 1
      // 018: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.isValueMappable ()Z
      // 01b: ifeq 039
      // 01e: aload 1
      // 01f: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getMappedValue ()Ljava/lang/String;
      // 022: ifnull 039
      // 025: goto 02c
      // 028: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02b: athrow
      // 02c: aload 0
      // 02d: aload 1
      // 02e: aload 3
      // 02f: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;)Lcom/l7tech/objectmodel/Entity;
      // 032: goto 03e
      // 035: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 038: athrow
      // 039: aload 3
      // 03a: aload 1
      // 03b: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.getExportedEntity (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/Entity;
      // 03e: astore 6
      // 040: aload 6
      // 042: ifnonnull 061
      // 045: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 048: dup
      // 049: aload 1
      // 04a: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 04d: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 050: bipush 54
      // 052: aaload
      // 053: swap
      // 054: 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" ]
      // 059: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;)V
      // 05c: athrow
      // 05d: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 060: athrow
      // 061: aload 4
      // 063: aload 2
      // 064: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 069: checkcast com/l7tech/objectmodel/Entity
      // 06c: astore 7
      // 06e: aload 6
      // 070: instanceof com/l7tech/objectmodel/PersistentEntity
      // 073: ifeq 0b4
      // 076: aload 7
      // 078: instanceof com/l7tech/objectmodel/PersistentEntity
      // 07b: ifeq 0b4
      // 07e: goto 085
      // 081: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 084: athrow
      // 085: aload 6
      // 087: checkcast com/l7tech/objectmodel/PersistentEntity
      // 08a: aload 7
      // 08c: checkcast com/l7tech/objectmodel/PersistentEntity
      // 08f: invokeinterface com/l7tech/objectmodel/PersistentEntity.getGoid ()Lcom/l7tech/objectmodel/Goid; 1
      // 094: invokeinterface com/l7tech/objectmodel/PersistentEntity.setGoid (Lcom/l7tech/objectmodel/Goid;)V 2
      // 099: aload 6
      // 09b: checkcast com/l7tech/objectmodel/PersistentEntity
      // 09e: aload 7
      // 0a0: checkcast com/l7tech/objectmodel/PersistentEntity
      // 0a3: invokeinterface com/l7tech/objectmodel/PersistentEntity.getVersion ()I 1
      // 0a8: invokeinterface com/l7tech/objectmodel/PersistentEntity.setVersion (I)V 2
      // 0ad: goto 0b4
      // 0b0: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b3: athrow
      // 0b4: aload 6
      // 0b6: instanceof com/l7tech/gateway/common/service/PublishedService
      // 0b9: ifeq 11c
      // 0bc: aload 7
      // 0be: instanceof com/l7tech/gateway/common/service/PublishedService
      // 0c1: ifeq 11c
      // 0c4: goto 0cb
      // 0c7: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ca: athrow
      // 0cb: aload 6
      // 0cd: checkcast com/l7tech/gateway/common/service/PublishedService
      // 0d0: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 0d3: aload 7
      // 0d5: checkcast com/l7tech/gateway/common/service/PublishedService
      // 0d8: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 0db: invokevirtual com/l7tech/policy/Policy.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 0de: invokevirtual com/l7tech/policy/Policy.setGoid (Lcom/l7tech/objectmodel/Goid;)V
      // 0e1: aload 6
      // 0e3: checkcast com/l7tech/gateway/common/service/PublishedService
      // 0e6: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 0e9: aload 7
      // 0eb: checkcast com/l7tech/gateway/common/service/PublishedService
      // 0ee: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 0f1: invokevirtual com/l7tech/policy/Policy.getVersion ()I
      // 0f4: invokevirtual com/l7tech/policy/Policy.setVersion (I)V
      // 0f7: aload 6
      // 0f9: checkcast com/l7tech/gateway/common/service/PublishedService
      // 0fc: aload 7
      // 0fe: checkcast com/l7tech/gateway/common/service/PublishedService
      // 101: invokevirtual com/l7tech/gateway/common/service/PublishedService.isDisabled ()Z
      // 104: invokevirtual com/l7tech/gateway/common/service/PublishedService.setDisabled (Z)V
      // 107: aload 6
      // 109: checkcast com/l7tech/gateway/common/service/PublishedService
      // 10c: aload 0
      // 10d: aload 1
      // 10e: aload 3
      // 10f: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.b (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;)Lcom/l7tech/gateway/common/service/PublishedService$WsdlStrategy;
      // 112: invokevirtual com/l7tech/gateway/common/service/PublishedService.parseWsdlStrategy (Lcom/l7tech/gateway/common/service/PublishedService$WsdlStrategy;)V
      // 115: goto 11c
      // 118: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11b: athrow
      // 11c: aload 6
      // 11e: instanceof com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig
      // 121: ifeq 27f
      // 124: aload 7
      // 126: instanceof com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig
      // 129: ifeq 27f
      // 12c: goto 133
      // 12f: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 132: athrow
      // 133: aload 6
      // 135: checkcast com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig
      // 138: astore 8
      // 13a: aload 7
      // 13c: checkcast com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig
      // 13f: astore 9
      // 141: aload 8
      // 143: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig.getArgumentDescriptors ()Ljava/util/Set;
      // 146: astore 10
      // 148: aload 9
      // 14a: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig.getArgumentDescriptors ()Ljava/util/Set;
      // 14d: astore 11
      // 14f: bipush 0
      // 150: istore 12
      // 152: aload 10
      // 154: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 159: astore 13
      // 15b: aload 13
      // 15d: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 162: ifeq 1e0
      // 165: aload 13
      // 167: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 16c: checkcast com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor
      // 16f: astore 14
      // 171: bipush 0
      // 172: istore 12
      // 174: aload 11
      // 176: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 17b: astore 15
      // 17d: aload 15
      // 17f: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 184: ifeq 1ca
      // 187: aload 15
      // 189: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 18e: checkcast com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor
      // 191: astore 16
      // 193: aload 14
      // 195: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.getArgumentName ()Ljava/lang/String;
      // 198: aload 16
      // 19a: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.getArgumentName ()Ljava/lang/String;
      // 19d: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 1a0: ifeq 1c7
      // 1a3: aload 14
      // 1a5: aload 16
      // 1a7: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.getEncapsulatedAssertionConfig ()Lcom/l7tech/objectmodel/encass/EncapsulatedAssertionConfig;
      // 1aa: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.setEncapsulatedAssertionConfig (Lcom/l7tech/objectmodel/encass/EncapsulatedAssertionConfig;)V
      // 1ad: aload 14
      // 1af: aload 16
      // 1b1: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 1b4: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.setGoid (Lcom/l7tech/objectmodel/Goid;)V
      // 1b7: aload 14
      // 1b9: aload 16
      // 1bb: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.getVersion ()I
      // 1be: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.setVersion (I)V
      // 1c1: bipush 1
      // 1c2: istore 12
      // 1c4: goto 1ca
      // 1c7: goto 17d
      // 1ca: iload 12
      // 1cc: ifne 1dd
      // 1cf: aload 14
      // 1d1: aload 8
      // 1d3: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.setEncapsulatedAssertionConfig (Lcom/l7tech/objectmodel/encass/EncapsulatedAssertionConfig;)V
      // 1d6: goto 1dd
      // 1d9: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1dc: athrow
      // 1dd: goto 15b
      // 1e0: aload 8
      // 1e2: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig.getResultDescriptors ()Ljava/util/Set;
      // 1e5: astore 13
      // 1e7: aload 9
      // 1e9: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig.getResultDescriptors ()Ljava/util/Set;
      // 1ec: astore 14
      // 1ee: bipush 0
      // 1ef: istore 15
      // 1f1: aload 13
      // 1f3: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 1f8: astore 16
      // 1fa: aload 16
      // 1fc: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 201: ifeq 27f
      // 204: aload 16
      // 206: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 20b: checkcast com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor
      // 20e: astore 17
      // 210: bipush 0
      // 211: istore 15
      // 213: aload 14
      // 215: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 21a: astore 18
      // 21c: aload 18
      // 21e: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 223: ifeq 269
      // 226: aload 18
      // 228: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 22d: checkcast com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor
      // 230: astore 19
      // 232: aload 17
      // 234: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.getResultName ()Ljava/lang/String;
      // 237: aload 19
      // 239: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.getResultName ()Ljava/lang/String;
      // 23c: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 23f: ifeq 266
      // 242: aload 17
      // 244: aload 19
      // 246: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.getEncapsulatedAssertionConfig ()Lcom/l7tech/objectmodel/encass/EncapsulatedAssertionConfig;
      // 249: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.setEncapsulatedAssertionConfig (Lcom/l7tech/objectmodel/encass/EncapsulatedAssertionConfig;)V
      // 24c: aload 17
      // 24e: aload 19
      // 250: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 253: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.setGoid (Lcom/l7tech/objectmodel/Goid;)V
      // 256: aload 17
      // 258: aload 19
      // 25a: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.getVersion ()I
      // 25d: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.setVersion (I)V
      // 260: bipush 1
      // 261: istore 15
      // 263: goto 269
      // 266: goto 21c
      // 269: iload 15
      // 26b: ifne 27c
      // 26e: aload 17
      // 270: aload 8
      // 272: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.setEncapsulatedAssertionConfig (Lcom/l7tech/objectmodel/encass/EncapsulatedAssertionConfig;)V
      // 275: goto 27c
      // 278: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 27b: athrow
      // 27c: goto 1fa
      // 27f: aload 6
      // 281: instanceof com/l7tech/gateway/common/service/PublishedService
      // 284: ifeq 2e7
      // 287: aload 7
      // 289: instanceof com/l7tech/gateway/common/service/PublishedService
      // 28c: ifeq 2e7
      // 28f: goto 296
      // 292: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 295: athrow
      // 296: aload 6
      // 298: checkcast com/l7tech/gateway/common/service/PublishedService
      // 29b: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 29e: aload 7
      // 2a0: checkcast com/l7tech/gateway/common/service/PublishedService
      // 2a3: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 2a6: invokevirtual com/l7tech/policy/Policy.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 2a9: invokevirtual com/l7tech/policy/Policy.setGoid (Lcom/l7tech/objectmodel/Goid;)V
      // 2ac: aload 6
      // 2ae: checkcast com/l7tech/gateway/common/service/PublishedService
      // 2b1: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 2b4: aload 7
      // 2b6: checkcast com/l7tech/gateway/common/service/PublishedService
      // 2b9: invokevirtual com/l7tech/gateway/common/service/PublishedService.getPolicy ()Lcom/l7tech/policy/Policy;
      // 2bc: invokevirtual com/l7tech/policy/Policy.getVersion ()I
      // 2bf: invokevirtual com/l7tech/policy/Policy.setVersion (I)V
      // 2c2: aload 6
      // 2c4: checkcast com/l7tech/gateway/common/service/PublishedService
      // 2c7: aload 7
      // 2c9: checkcast com/l7tech/gateway/common/service/PublishedService
      // 2cc: invokevirtual com/l7tech/gateway/common/service/PublishedService.isDisabled ()Z
      // 2cf: invokevirtual com/l7tech/gateway/common/service/PublishedService.setDisabled (Z)V
      // 2d2: aload 6
      // 2d4: checkcast com/l7tech/gateway/common/service/PublishedService
      // 2d7: aload 0
      // 2d8: aload 1
      // 2d9: aload 3
      // 2da: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.b (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;)Lcom/l7tech/gateway/common/service/PublishedService$WsdlStrategy;
      // 2dd: invokevirtual com/l7tech/gateway/common/service/PublishedService.parseWsdlStrategy (Lcom/l7tech/gateway/common/service/PublishedService$WsdlStrategy;)V
      // 2e0: goto 2e7
      // 2e3: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2e6: athrow
      // 2e7: aload 6
      // 2e9: instanceof java/io/Flushable
      // 2ec: ifeq 31c
      // 2ef: aload 6
      // 2f1: checkcast java/io/Flushable
      // 2f4: invokeinterface java/io/Flushable.flush ()V 1
      // 2f9: goto 31c
      // 2fc: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2ff: athrow
      // 300: astore 8
      // 302: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 305: dup
      // 306: aload 1
      // 307: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 30a: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 30d: bipush 29
      // 30f: aaload
      // 310: swap
      // 311: 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" ]
      // 316: aload 8
      // 318: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 31b: athrow
      // 31c: iload 5
      // 31e: ifne 37b
      // 321: aload 0
      // 322: getfield com/l7tech/server/migration/MigrationManagerImpl.b Lcom/l7tech/server/EntityCrud;
      // 325: aload 6
      // 327: invokeinterface com/l7tech/server/EntityCrud.update (Lcom/l7tech/objectmodel/Entity;)V 2
      // 32c: aload 6
      // 32e: instanceof com/l7tech/objectmodel/PersistentEntity
      // 331: ifeq 37b
      // 334: goto 33b
      // 337: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 33a: athrow
      // 33b: aload 7
      // 33d: instanceof com/l7tech/objectmodel/PersistentEntity
      // 340: ifeq 37b
      // 343: goto 34a
      // 346: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 349: athrow
      // 34a: aload 6
      // 34c: checkcast com/l7tech/objectmodel/PersistentEntity
      // 34f: aload 7
      // 351: checkcast com/l7tech/objectmodel/PersistentEntity
      // 354: invokeinterface com/l7tech/objectmodel/PersistentEntity.getVersion ()I 1
      // 359: aload 6
      // 35b: aload 7
      // 35d: invokeinterface com/l7tech/objectmodel/Entity.equals (Ljava/lang/Object;)Z 2
      // 362: ifeq 374
      // 365: goto 36c
      // 368: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 36b: athrow
      // 36c: bipush 0
      // 36d: goto 375
      // 370: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 373: athrow
      // 374: bipush 1
      // 375: iadd
      // 376: invokeinterface com/l7tech/objectmodel/PersistentEntity.setVersion (I)V 2
      // 37b: aload 6
      // 37d: areturn
      // try (256 -> 291): 292 java/io/IOException
      // try (253 -> 259): 260 java/io/IOException
      // try (244 -> 249): 250 java/io/IOException
      // try (183 -> 188): 189 java/io/IOException
      // try (116 -> 122): 123 java/io/IOException
      // try (78 -> 113): 114 java/io/IOException
      // try (75 -> 81): 82 java/io/IOException
      // try (54 -> 72): 73 java/io/IOException
      // try (51 -> 57): 58 java/io/IOException
      // try (31 -> 44): 44 java/io/IOException
      // try (14 -> 25): 25 java/io/IOException
      // try (11 -> 17): 18 java/io/IOException
      // try (0 -> 9): 9 java/io/IOException
      // try (297 -> 300): 303 java/io/IOException
      // try (294 -> 301): 301 com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // try (316 -> 325): 326 java/io/IOException
      // try (318 -> 331): 332 java/io/IOException
      // try (328 -> 343): 344 java/io/IOException
      // try (334 -> 348): 348 java/io/IOException
   }

   private Entity a(ExternalEntityHeader param1, MigrationBundle param2, boolean param3, boolean param4) throws MigrationException, SaveException {
      // $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: instanceof com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 004: ifeq 017
      // 007: aload 2
      // 008: aload 1
      // 009: checkcast com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 00c: invokevirtual com/l7tech/objectmodel/ValueReferenceEntityHeader.getOwnerHeader ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 00f: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.getExportedEntity (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/Entity;
      // 012: areturn
      // 013: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 016: athrow
      // 017: aload 1
      // 018: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.isValueMappable ()Z
      // 01b: ifeq 039
      // 01e: aload 1
      // 01f: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getMappedValue ()Ljava/lang/String;
      // 022: ifnull 039
      // 025: goto 02c
      // 028: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02b: athrow
      // 02c: aload 0
      // 02d: aload 1
      // 02e: aload 2
      // 02f: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;)Lcom/l7tech/objectmodel/Entity;
      // 032: goto 03e
      // 035: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 038: athrow
      // 039: aload 2
      // 03a: aload 1
      // 03b: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.getExportedEntity (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/Entity;
      // 03e: astore 5
      // 040: aload 5
      // 042: ifnonnull 061
      // 045: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 048: dup
      // 049: aload 1
      // 04a: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 04d: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 050: bipush 30
      // 052: aaload
      // 053: swap
      // 054: 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" ]
      // 059: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;)V
      // 05c: athrow
      // 05d: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 060: athrow
      // 061: aload 5
      // 063: instanceof com/l7tech/gateway/common/service/PublishedService
      // 066: ifeq 08d
      // 069: aload 5
      // 06b: checkcast com/l7tech/gateway/common/service/PublishedService
      // 06e: astore 6
      // 070: aload 6
      // 072: aload 0
      // 073: aload 1
      // 074: aload 2
      // 075: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.b (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/server/management/migration/bundle/MigrationBundle;)Lcom/l7tech/gateway/common/service/PublishedService$WsdlStrategy;
      // 078: invokevirtual com/l7tech/gateway/common/service/PublishedService.parseWsdlStrategy (Lcom/l7tech/gateway/common/service/PublishedService$WsdlStrategy;)V
      // 07b: aload 6
      // 07d: iload 3
      // 07e: ifne 089
      // 081: bipush 1
      // 082: goto 08a
      // 085: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 088: athrow
      // 089: bipush 0
      // 08a: invokevirtual com/l7tech/gateway/common/service/PublishedService.setDisabled (Z)V
      // 08d: aload 5
      // 08f: instanceof java/io/Flushable
      // 092: ifeq 0c2
      // 095: aload 5
      // 097: checkcast java/io/Flushable
      // 09a: invokeinterface java/io/Flushable.flush ()V 1
      // 09f: goto 0c2
      // 0a2: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a5: athrow
      // 0a6: astore 6
      // 0a8: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 0ab: dup
      // 0ac: aload 1
      // 0ad: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 0b0: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0b3: bipush 14
      // 0b5: aaload
      // 0b6: swap
      // 0b7: 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" ]
      // 0bc: aload 6
      // 0be: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0c1: athrow
      // 0c2: iload 4
      // 0c4: ifne 192
      // 0c7: aload 5
      // 0c9: instanceof com/l7tech/objectmodel/PersistentEntity
      // 0cc: ifeq 0e8
      // 0cf: goto 0d6
      // 0d2: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d5: athrow
      // 0d6: aload 5
      // 0d8: checkcast com/l7tech/objectmodel/PersistentEntity
      // 0db: bipush 0
      // 0dc: invokeinterface com/l7tech/objectmodel/PersistentEntity.setVersion (I)V 2
      // 0e1: goto 0e8
      // 0e4: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e7: athrow
      // 0e8: aload 5
      // 0ea: instanceof com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig
      // 0ed: ifeq 167
      // 0f0: aload 5
      // 0f2: checkcast com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig
      // 0f5: astore 6
      // 0f7: aload 6
      // 0f9: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig.getArgumentDescriptors ()Ljava/util/Set;
      // 0fc: astore 7
      // 0fe: aload 7
      // 100: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 105: astore 8
      // 107: aload 8
      // 109: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 10e: ifeq 12f
      // 111: aload 8
      // 113: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 118: checkcast com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor
      // 11b: astore 9
      // 11d: aload 9
      // 11f: aload 6
      // 121: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.setEncapsulatedAssertionConfig (Lcom/l7tech/objectmodel/encass/EncapsulatedAssertionConfig;)V
      // 124: aload 9
      // 126: getstatic com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.DEFAULT_GOID Lcom/l7tech/objectmodel/Goid;
      // 129: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionArgumentDescriptor.setGoid (Lcom/l7tech/objectmodel/Goid;)V
      // 12c: goto 107
      // 12f: aload 6
      // 131: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionConfig.getResultDescriptors ()Ljava/util/Set;
      // 134: astore 8
      // 136: aload 8
      // 138: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 13d: astore 9
      // 13f: aload 9
      // 141: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 146: ifeq 167
      // 149: aload 9
      // 14b: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 150: checkcast com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor
      // 153: astore 10
      // 155: aload 10
      // 157: aload 6
      // 159: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.setEncapsulatedAssertionConfig (Lcom/l7tech/objectmodel/encass/EncapsulatedAssertionConfig;)V
      // 15c: aload 10
      // 15e: getstatic com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.DEFAULT_GOID Lcom/l7tech/objectmodel/Goid;
      // 161: invokevirtual com/l7tech/objectmodel/encass/EncapsulatedAssertionResultDescriptor.setGoid (Lcom/l7tech/objectmodel/Goid;)V
      // 164: goto 13f
      // 167: aload 0
      // 168: getfield com/l7tech/server/migration/MigrationManagerImpl.b Lcom/l7tech/server/EntityCrud;
      // 16b: aload 5
      // 16d: invokeinterface com/l7tech/server/EntityCrud.save (Lcom/l7tech/objectmodel/Entity;)Ljava/io/Serializable; 2
      // 172: astore 6
      // 174: aload 5
      // 176: instanceof com/l7tech/objectmodel/PersistentEntity
      // 179: ifeq 192
      // 17c: aload 5
      // 17e: checkcast com/l7tech/objectmodel/PersistentEntity
      // 181: aload 6
      // 183: checkcast com/l7tech/objectmodel/Goid
      // 186: invokeinterface com/l7tech/objectmodel/PersistentEntity.setGoid (Lcom/l7tech/objectmodel/Goid;)V 2
      // 18b: goto 192
      // 18e: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 191: athrow
      // 192: aload 5
      // 194: areturn
      // try (52 -> 63): 63 java/io/IOException
      // try (31 -> 44): 44 java/io/IOException
      // try (14 -> 25): 25 java/io/IOException
      // try (11 -> 17): 18 java/io/IOException
      // try (0 -> 9): 9 java/io/IOException
      // try (70 -> 73): 76 java/io/IOException
      // try (67 -> 74): 74 com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // try (89 -> 94): 95 java/io/IOException
      // try (91 -> 101): 102 java/io/IOException
      // try (155 -> 163): 164 java/io/IOException
   }

   private Entity a(ExternalEntityHeader param1, MigrationBundle param2) throws MigrationException {
      // $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/ExternalEntityHeader.getMappedValue ()Ljava/lang/String;
      // 04: astore 3
      // 05: aload 1
      // 06: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.isValueMappable ()Z
      // 09: ifeq 17
      // 0c: aload 3
      // 0d: ifnonnull 1d
      // 10: goto 17
      // 13: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16: athrow
      // 17: aconst_null
      // 18: areturn
      // 19: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c: athrow
      // 1d: aconst_null
      // 1e: astore 5
      // 20: aload 2
      // 21: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.getMetadata ()Lcom/l7tech/server/management/migration/bundle/MigrationMetadata;
      // 24: aload 1
      // 25: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getDependants (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Ljava/util/Set;
      // 28: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 2d: astore 6
      // 2f: aload 6
      // 31: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 36: ifeq 89
      // 39: aload 6
      // 3b: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 40: checkcast com/l7tech/objectmodel/migration/MigrationDependency
      // 43: astore 7
      // 45: aload 0
      // 46: getfield com/l7tech/server/migration/MigrationManagerImpl.c Lcom/l7tech/server/migration/PropertyResolverFactory;
      // 49: aload 7
      // 4b: invokevirtual com/l7tech/objectmodel/migration/MigrationDependency.getResolverType ()Lcom/l7tech/objectmodel/migration/PropertyResolver$Type;
      // 4e: invokevirtual com/l7tech/server/migration/PropertyResolverFactory.getPropertyResolver (Lcom/l7tech/objectmodel/migration/PropertyResolver$Type;)Lcom/l7tech/objectmodel/migration/PropertyResolver;
      // 51: astore 4
      // 53: aload 5
      // 55: ifnull 82
      // 58: aload 5
      // 5a: aload 4
      // 5c: if_acmpeq 82
      // 5f: goto 66
      // 62: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 65: athrow
      // 66: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 69: dup
      // 6a: aload 1
      // 6b: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 6e: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 71: bipush 45
      // 73: aaload
      // 74: swap
      // 75: 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" ]
      // 7a: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;)V
      // 7d: athrow
      // 7e: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 81: athrow
      // 82: aload 4
      // 84: astore 5
      // 86: goto 2f
      // 89: aload 5
      // 8b: ifnonnull aa
      // 8e: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 91: dup
      // 92: aload 1
      // 93: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 96: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 99: bipush 26
      // 9b: aaload
      // 9c: swap
      // 9d: 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" ]
      // a2: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;)V
      // a5: athrow
      // a6: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a9: athrow
      // aa: aload 5
      // ac: aload 1
      // ad: invokeinterface com/l7tech/objectmodel/migration/PropertyResolver.valueMapping (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/Entity; 2
      // b2: areturn
      // b3: astore 6
      // b5: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // b8: dup
      // b9: aload 6
      // bb: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/Throwable;)V
      // be: athrow
      // try (60 -> 73): 73 com/l7tech/objectmodel/migration/PropertyResolverException
      // try (38 -> 55): 55 com/l7tech/objectmodel/migration/PropertyResolverException
      // try (36 -> 41): 42 com/l7tech/objectmodel/migration/PropertyResolverException
      // try (6 -> 13): 13 com/l7tech/objectmodel/migration/PropertyResolverException
      // try (3 -> 8): 9 com/l7tech/objectmodel/migration/PropertyResolverException
      // try (75 -> 78): 79 com/l7tech/objectmodel/migration/PropertyResolverException
   }

   private Collection<String> a(MigrationBundle param1, ExternalEntityHeader param2, boolean param3) throws MigrationException {
      // $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/HashSet
      // 003: dup
      // 004: invokespecial java/util/HashSet.<init> ()V
      // 007: astore 4
      // 009: aload 0
      // 00a: aload 2
      // 00b: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.b (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 00e: astore 5
      // 010: aload 1
      // 011: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.getMetadata ()Lcom/l7tech/server/management/migration/bundle/MigrationMetadata;
      // 014: astore 6
      // 016: iload 3
      // 017: ifeq 064
      // 01a: aload 6
      // 01c: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getDependencies ()Ljava/util/Set;
      // 01f: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 024: astore 7
      // 026: aload 7
      // 028: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 02d: ifeq 061
      // 030: aload 7
      // 032: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 037: checkcast com/l7tech/objectmodel/migration/MigrationDependency
      // 03a: astore 8
      // 03c: aload 8
      // 03e: invokevirtual com/l7tech/objectmodel/migration/MigrationDependency.getDependency ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 041: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 044: getstatic com/l7tech/objectmodel/EntityType.FOLDER Lcom/l7tech/objectmodel/EntityType;
      // 047: if_acmpne 05e
      // 04a: aload 6
      // 04c: aload 8
      // 04e: invokevirtual com/l7tech/objectmodel/migration/MigrationDependency.getDependency ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 051: aload 5
      // 053: bipush 0
      // 054: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.addMappingOrCopy (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/objectmodel/ExternalEntityHeader;Z)V
      // 057: goto 05e
      // 05a: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 05d: athrow
      // 05e: goto 026
      // 061: goto 0fe
      // 064: aload 5
      // 066: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getDescription ()Ljava/lang/String;
      // 069: astore 7
      // 06b: aload 6
      // 06d: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getAllHeaders ()Ljava/util/Set;
      // 070: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 075: astore 8
      // 077: aload 8
      // 079: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 07e: ifeq 0c7
      // 081: aload 8
      // 083: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 088: checkcast com/l7tech/objectmodel/ExternalEntityHeader
      // 08b: astore 9
      // 08d: getstatic com/l7tech/objectmodel/EntityType.FOLDER Lcom/l7tech/objectmodel/EntityType;
      // 090: aload 9
      // 092: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 095: if_acmpne 0c4
      // 098: aload 6
      // 09a: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getRootFolder ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 09d: aload 9
      // 09f: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.equals (Ljava/lang/Object;)Z
      // 0a2: ifne 0c4
      // 0a5: goto 0ac
      // 0a8: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ab: athrow
      // 0ac: aload 9
      // 0ae: aload 7
      // 0b0: aload 9
      // 0b2: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getDescription ()Ljava/lang/String;
      // 0b5: 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" ]
      // 0ba: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.setDescription (Ljava/lang/String;)V
      // 0bd: goto 0c4
      // 0c0: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c3: athrow
      // 0c4: goto 077
      // 0c7: aload 0
      // 0c8: aload 6
      // 0ca: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getMappings ()Ljava/util/Map;
      // 0cd: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 0d2: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 0d7: aload 7
      // 0d9: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/util/Iterator;Ljava/lang/String;)V
      // 0dc: aload 0
      // 0dd: aload 6
      // 0df: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getCopies ()Ljava/util/Map;
      // 0e2: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 0e7: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 0ec: aload 7
      // 0ee: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/util/Iterator;Ljava/lang/String;)V
      // 0f1: aload 6
      // 0f3: aload 6
      // 0f5: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getRootFolder ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 0f8: aload 5
      // 0fa: bipush 0
      // 0fb: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.addMappingOrCopy (Lcom/l7tech/objectmodel/ExternalEntityHeader;Lcom/l7tech/objectmodel/ExternalEntityHeader;Z)V
      // 0fe: aload 4
      // 100: areturn
      // try (24 -> 35): 36 com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // try (54 -> 63): 64 com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // try (58 -> 72): 73 com/l7tech/server/management/api/node/MigrationApi$MigrationException
   }

   private void a(Iterator<Entry<ExternalEntityHeader, ExternalEntityHeader>> var1, String var2) {
      while (var1.hasNext()) {
         ExternalEntityHeader var3 = (ExternalEntityHeader)((Entry)var1.next()).getValue();

         try {
            if (EntityType.FOLDER != var3.getType()) {
               continue;
            }
         } catch (IllegalStateException var4) {
            throw a(var4);
         }

         try {
            if (var3.getDescription().startsWith(var2) && !var3.getDescription().equals(var2)) {
               continue;
            }
         } catch (IllegalStateException var5) {
            throw a(var5);
         }

         var1.remove();
      }
   }

   private PropertyResolver b(Entity var1, String var2) throws PropertyResolverException {
      return this.c.getPropertyResolver(MigrationUtils.getTargetType(var1, var2));
   }

   private Collection<String> a(MigrationBundle param1, Map<ExternalEntityHeader, Entity> 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:
      // 000: getstatic com/l7tech/server/migration/MigrationManagerImpl.a Ljava/util/logging/Logger;
      // 003: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 006: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 009: astore 8
      // 00b: aload 8
      // 00d: bipush 9
      // 00f: aaload
      // 010: aload 1
      // 011: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 014: new java/util/HashSet
      // 017: dup
      // 018: invokespecial java/util/HashSet.<init> ()V
      // 01b: astore 3
      // 01c: aload 1
      // 01d: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.getMetadata ()Lcom/l7tech/server/management/migration/bundle/MigrationMetadata;
      // 020: astore 4
      // 022: aload 4
      // 024: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getAllHeaders ()Ljava/util/Set;
      // 027: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 02c: astore 5
      // 02e: aload 5
      // 030: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 035: ifeq 0cc
      // 038: aload 5
      // 03a: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 03f: checkcast com/l7tech/objectmodel/ExternalEntityHeader
      // 042: astore 6
      // 044: aload 1
      // 045: aload 6
      // 047: invokevirtual com/l7tech/server/management/migration/bundle/MigrationBundle.hasValueForHeader (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 04a: ifne 0c9
      // 04d: aload 2
      // 04e: aload 6
      // 050: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 055: ifne 0c9
      // 058: goto 05f
      // 05b: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 05e: athrow
      // 05f: aload 2
      // 060: aload 4
      // 062: aload 6
      // 064: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getCopiedOrMapped (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 067: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 06c: ifne 0c9
      // 06f: goto 076
      // 072: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 075: athrow
      // 076: aload 6
      // 078: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 07b: getstatic com/l7tech/objectmodel/EntityType.ENCAPSULATED_ASSERTION Lcom/l7tech/objectmodel/EntityType;
      // 07e: if_acmpne 0ad
      // 081: goto 088
      // 084: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 087: athrow
      // 088: aload 3
      // 089: aload 6
      // 08b: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 08e: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 091: bipush 31
      // 093: aaload
      // 094: swap
      // 095: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 098: bipush 12
      // 09a: aaload
      // 09b: 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" ]
      // 0a0: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // 0a5: pop
      // 0a6: goto 0c9
      // 0a9: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ac: athrow
      // 0ad: aload 3
      // 0ae: aload 6
      // 0b0: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 0b3: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0b6: astore 8
      // 0b8: aload 8
      // 0ba: bipush 37
      // 0bc: aaload
      // 0bd: swap
      // 0be: 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" ]
      // 0c3: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // 0c8: pop
      // 0c9: goto 02e
      // 0cc: aload 4
      // 0ce: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.getDependencies ()Ljava/util/Set;
      // 0d1: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 0d6: astore 6
      // 0d8: aload 6
      // 0da: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0df: ifeq 17d
      // 0e2: aload 6
      // 0e4: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0e9: checkcast com/l7tech/objectmodel/migration/MigrationDependency
      // 0ec: astore 7
      // 0ee: aload 7
      // 0f0: invokevirtual com/l7tech/objectmodel/migration/MigrationDependency.getDependency ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 0f3: astore 5
      // 0f5: aload 7
      // 0f7: invokevirtual com/l7tech/objectmodel/migration/MigrationDependency.getMappingType ()Lcom/l7tech/objectmodel/migration/MigrationMappingSelection;
      // 0fa: getstatic com/l7tech/objectmodel/migration/MigrationMappingSelection.REQUIRED Lcom/l7tech/objectmodel/migration/MigrationMappingSelection;
      // 0fd: if_acmpne 130
      // 100: aload 4
      // 102: aload 5
      // 104: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.isMapped (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 107: ifne 130
      // 10a: goto 111
      // 10d: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 110: athrow
      // 111: aload 3
      // 112: aload 7
      // 114: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 117: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 11a: bipush 40
      // 11c: aaload
      // 11d: swap
      // 11e: 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" ]
      // 123: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // 128: pop
      // 129: goto 130
      // 12c: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 12f: athrow
      // 130: aload 4
      // 132: aload 5
      // 134: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.isMapped (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Z
      // 137: ifne 17a
      // 13a: aload 5
      // 13c: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getValueMapping ()Lcom/l7tech/objectmodel/migration/MigrationMappingSelection;
      // 13f: getstatic com/l7tech/objectmodel/migration/MigrationMappingSelection.REQUIRED Lcom/l7tech/objectmodel/migration/MigrationMappingSelection;
      // 142: if_acmpne 17a
      // 145: goto 14c
      // 148: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14b: athrow
      // 14c: aload 5
      // 14e: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getMappedValue ()Ljava/lang/String;
      // 151: ifnonnull 17a
      // 154: goto 15b
      // 157: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 15a: athrow
      // 15b: aload 3
      // 15c: aload 7
      // 15e: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 161: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 164: bipush 42
      // 166: aaload
      // 167: swap
      // 168: 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" ]
      // 16d: invokeinterface java/util/Collection.add (Ljava/lang/Object;)Z 2
      // 172: pop
      // 173: goto 17a
      // 176: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 179: athrow
      // 17a: goto 0d8
      // 17d: aload 3
      // 17e: areturn
      // try (27 -> 35): 36 java/lang/IllegalStateException
      // try (31 -> 44): 45 java/lang/IllegalStateException
      // try (38 -> 51): 52 java/lang/IllegalStateException
      // try (47 -> 68): 68 java/lang/IllegalStateException
      // try (97 -> 105): 106 java/lang/IllegalStateException
      // try (101 -> 118): 119 java/lang/IllegalStateException
      // try (121 -> 129): 130 java/lang/IllegalStateException
      // try (125 -> 135): 136 java/lang/IllegalStateException
      // try (132 -> 148): 149 java/lang/IllegalStateException
   }

   private WsdlStrategy b(ExternalEntityHeader var1, MigrationBundle var2) {
      return new ServiceDocumentWsdlStrategy(this.b(var1, var2.getExportedEntities()));
   }

   private Collection<ServiceDocument> b(ExternalEntityHeader var1, Map<ExternalEntityHeader, Entity> var2) {
      ArrayList var3 = new ArrayList();

      for (ExternalEntityHeader var5 : var2.keySet()) {
         if (var5.getType() == EntityType.SERVICE_DOCUMENT) {
            ServiceDocument var6 = (ServiceDocument)var2.get(var5);

            try {
               if (Goid.equals(var6.getServiceId(), var1.getGoid())) {
                  var3.add(var6);
               }
            } catch (IllegalStateException var7) {
               throw a(var7);
            }
         }
      }

      return var3;
   }

   private void a(MigrationMetadata param1, ExternalEntityHeader param2, Set<ExternalEntityHeader> param3) throws MigrationException, PropertyResolverException {
      // $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: getstatic com/l7tech/server/migration/MigrationManagerImpl.a Ljava/util/logging/Logger;
      // 003: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 006: aload 2
      // 007: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.toStringVerbose ()Ljava/lang/String;
      // 00a: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 00d: astore 16
      // 00f: aload 16
      // 011: bipush 13
      // 013: aaload
      // 014: swap
      // 015: 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" ]
      // 01a: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 01d: aload 3
      // 01e: aload 2
      // 01f: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 024: pop
      // 025: aload 0
      // 026: aload 2
      // 027: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.d (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/Entity;
      // 02a: astore 4
      // 02c: aload 4
      // 02e: invokeinterface com/l7tech/objectmodel/Entity.getClass ()Ljava/lang/Class; 1
      // 033: invokevirtual java/lang/Class.getMethods ()[Ljava/lang/reflect/Method;
      // 036: astore 5
      // 038: aload 5
      // 03a: arraylength
      // 03b: istore 6
      // 03d: bipush 0
      // 03e: istore 7
      // 040: iload 7
      // 042: iload 6
      // 044: if_icmpge 166
      // 047: aload 5
      // 049: iload 7
      // 04b: aaload
      // 04c: astore 8
      // 04e: aload 8
      // 050: invokestatic com/l7tech/objectmodel/migration/MigrationUtils.isDependency (Ljava/lang/reflect/Method;)Z
      // 053: ifeq 160
      // 056: aload 0
      // 057: aload 4
      // 059: aload 8
      // 05b: invokevirtual java/lang/reflect/Method.getName ()Ljava/lang/String;
      // 05e: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.b (Lcom/l7tech/objectmodel/Entity;Ljava/lang/String;)Lcom/l7tech/objectmodel/migration/PropertyResolver;
      // 061: astore 9
      // 063: aload 9
      // 065: aload 2
      // 066: aload 4
      // 068: aload 8
      // 06a: aload 8
      // 06c: invokevirtual java/lang/reflect/Method.getName ()Ljava/lang/String;
      // 06f: invokestatic com/l7tech/objectmodel/migration/MigrationUtils.propertyNameFromGetter (Ljava/lang/String;)Ljava/lang/String;
      // 072: invokeinterface com/l7tech/objectmodel/migration/PropertyResolver.getDependencies (Lcom/l7tech/objectmodel/ExternalEntityHeader;Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/String;)Ljava/util/Map; 5
      // 077: astore 10
      // 079: aload 10
      // 07b: invokeinterface java/util/Map.keySet ()Ljava/util/Set; 1
      // 080: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 085: astore 11
      // 087: aload 11
      // 089: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 08e: ifeq 160
      // 091: aload 11
      // 093: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 098: checkcast com/l7tech/objectmodel/ExternalEntityHeader
      // 09b: astore 12
      // 09d: aload 0
      // 09e: aload 12
      // 0a0: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.b (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 0a3: astore 13
      // 0a5: aload 10
      // 0a7: aload 12
      // 0a9: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0ae: checkcast java/util/Set
      // 0b1: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 0b6: astore 14
      // 0b8: aload 14
      // 0ba: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0bf: ifeq 15d
      // 0c2: aload 14
      // 0c4: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0c9: checkcast com/l7tech/objectmodel/migration/MigrationDependency
      // 0cc: astore 15
      // 0ce: aload 15
      // 0d0: ifnull 101
      // 0d3: aload 15
      // 0d5: aload 13
      // 0d7: invokevirtual com/l7tech/objectmodel/migration/MigrationDependency.setDependency (Lcom/l7tech/objectmodel/ExternalEntityHeader;)V
      // 0da: aload 1
      // 0db: aload 15
      // 0dd: invokevirtual com/l7tech/server/management/migration/bundle/MigrationMetadata.addDependency (Lcom/l7tech/objectmodel/migration/MigrationDependency;)V
      // 0e0: getstatic com/l7tech/server/migration/MigrationManagerImpl.a Ljava/util/logging/Logger;
      // 0e3: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 0e6: aload 15
      // 0e8: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 0eb: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0ee: bipush 44
      // 0f0: aaload
      // 0f1: swap
      // 0f2: 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" ]
      // 0f7: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 0fa: goto 101
      // 0fd: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 100: athrow
      // 101: aload 3
      // 102: aload 13
      // 104: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 109: ifne 15a
      // 10c: aload 15
      // 10e: ifnull 12a
      // 111: goto 118
      // 114: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 117: athrow
      // 118: aload 15
      // 11a: invokevirtual com/l7tech/objectmodel/migration/MigrationDependency.getMappingType ()Lcom/l7tech/objectmodel/migration/MigrationMappingSelection;
      // 11d: getstatic com/l7tech/objectmodel/migration/MigrationMappingSelection.REQUIRED Lcom/l7tech/objectmodel/migration/MigrationMappingSelection;
      // 120: if_acmpeq 15a
      // 123: goto 12a
      // 126: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 129: athrow
      // 12a: aload 13
      // 12c: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getValueMapping ()Lcom/l7tech/objectmodel/migration/MigrationMappingSelection;
      // 12f: getstatic com/l7tech/objectmodel/migration/MigrationMappingSelection.REQUIRED Lcom/l7tech/objectmodel/migration/MigrationMappingSelection;
      // 132: if_acmpeq 15a
      // 135: goto 13c
      // 138: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 13b: athrow
      // 13c: aload 12
      // 13e: instanceof com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 141: ifne 15a
      // 144: goto 14b
      // 147: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14a: athrow
      // 14b: aload 0
      // 14c: aload 1
      // 14d: aload 13
      // 14f: aload 3
      // 150: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/server/management/migration/bundle/MigrationMetadata;Lcom/l7tech/objectmodel/ExternalEntityHeader;Ljava/util/Set;)V
      // 153: goto 15a
      // 156: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 159: athrow
      // 15a: goto 0b8
      // 15d: goto 087
      // 160: iinc 7 1
      // 163: goto 040
      // 166: return
      // try (82 -> 100): 101 com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // try (103 -> 109): 110 com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // try (107 -> 116): 117 com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // try (112 -> 123): 124 com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // try (119 -> 129): 130 com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // try (126 -> 137): 138 com/l7tech/server/management/api/node/MigrationApi$MigrationException
   }

   private ExternalEntityHeader b(ExternalEntityHeader var1) throws MigrationException {
      try {
         if (var1 instanceof ValueReferenceEntityHeader) {
            return var1;
         }
      } catch (MigrationException var7) {
         throw a(var7);
      }

      Entity var2 = null;

      try {
         var2 = this.d(var1);
      } catch (MigrationException var4) {
         a.log(Level.WARNING, e[24] + ExceptionUtils.getMessage(var4), ExceptionUtils.getDebugException(var4));
      }

      ExternalEntityHeader var10000;
      label39: {
         try {
            if (var2 == null) {
               var10000 = var1;
               break label39;
            }
         } catch (MigrationException var6) {
            throw a(var6);
         }

         var10000 = EntityHeaderUtils.toExternal(EntityHeaderUtils.fromEntity(var2));
      }

      ExternalEntityHeader var3 = var10000;

      try {
         if (var3 != var1) {
            var3.addExtraProperties(var1.getExtraProperties());
         }
      } catch (MigrationException var5) {
         throw a(var5);
      }

      this.c(var3);
      return var3;
   }

   private Set<ExternalEntityHeader> a(Collection<ExternalEntityHeader> var1) throws MigrationException {
      LinkedHashSet var2 = new LinkedHashSet(var1.size());

      for (ExternalEntityHeader var4 : var1) {
         var2.add(this.b(var4));
      }

      return var2;
   }

   private void c(ExternalEntityHeader param1) throws MigrationException {
      // $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 31
      // 04: aload 0
      // 05: getfield com/l7tech/server/migration/MigrationManagerImpl.d Lcom/l7tech/server/cluster/ExternalEntityHeaderEnhancer;
      // 08: ifnull 31
      // 0b: goto 12
      // 0e: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11: athrow
      // 12: aload 0
      // 13: getfield com/l7tech/server/migration/MigrationManagerImpl.d Lcom/l7tech/server/cluster/ExternalEntityHeaderEnhancer;
      // 16: aload 1
      // 17: invokeinterface com/l7tech/server/cluster/ExternalEntityHeaderEnhancer.enhance (Lcom/l7tech/objectmodel/ExternalEntityHeader;)V 2
      // 1c: goto 31
      // 1f: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22: athrow
      // 23: astore 2
      // 24: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 27: dup
      // 28: aload 2
      // 29: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 2c: aload 2
      // 2d: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 30: athrow
      // 31: return
      // try (0 -> 5): 6 com/l7tech/server/cluster/ExternalEntityHeaderEnhancer$EnhancementException
      // try (8 -> 12): 15 com/l7tech/server/cluster/ExternalEntityHeaderEnhancer$EnhancementException
      // try (2 -> 13): 13 com/l7tech/server/management/api/node/MigrationApi$MigrationException
   }

   private String a(String param1, ExternalEntityHeader param2, Exception 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:
      // 000: aload 2
      // 001: invokestatic com/l7tech/server/EntityHeaderUtils.fromExternal (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/EntityHeader;
      // 004: astore 4
      // 006: aload 1
      // 007: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 00a: astore 14
      // 00c: aload 14
      // 00e: bipush 56
      // 010: aaload
      // 011: 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" ]
      // 016: astore 5
      // 018: aload 4
      // 01a: instanceof com/l7tech/gateway/common/service/ServiceHeader
      // 01d: ifeq 058
      // 020: aload 5
      // 022: aload 4
      // 024: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 027: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 02a: aload 4
      // 02c: checkcast com/l7tech/gateway/common/service/ServiceHeader
      // 02f: invokevirtual com/l7tech/gateway/common/service/ServiceHeader.getDisplayName ()Ljava/lang/String;
      // 032: aload 0
      // 033: aload 4
      // 035: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/EntityHeader;)Ljava/lang/String;
      // 038: astore 8
      // 03a: astore 9
      // 03c: astore 10
      // 03e: aload 10
      // 040: aload 14
      // 042: bipush 17
      // 044: aaload
      // 045: aload 9
      // 047: aload 8
      // 049: aload 14
      // 04b: bipush 11
      // 04d: aaload
      // 04e: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;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\u0001\u0001" ]
      // 053: astore 5
      // 055: goto 0a0
      // 058: aload 5
      // 05a: aload 4
      // 05c: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 05f: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 062: aload 4
      // 064: invokevirtual com/l7tech/objectmodel/EntityHeader.getName ()Ljava/lang/String;
      // 067: ifnonnull 073
      // 06a: ldc ""
      // 06c: goto 078
      // 06f: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 072: athrow
      // 073: aload 4
      // 075: invokevirtual com/l7tech/objectmodel/EntityHeader.getName ()Ljava/lang/String;
      // 078: aload 0
      // 079: aload 4
      // 07b: invokevirtual com/l7tech/server/migration/MigrationManagerImpl.a (Lcom/l7tech/objectmodel/EntityHeader;)Ljava/lang/String;
      // 07e: astore 11
      // 080: astore 12
      // 082: astore 13
      // 084: aload 13
      // 086: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 089: astore 14
      // 08b: aload 14
      // 08d: bipush 17
      // 08f: aaload
      // 090: aload 12
      // 092: aload 11
      // 094: aload 14
      // 096: bipush 16
      // 098: aaload
      // 099: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;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\u0001\u0001" ]
      // 09e: astore 5
      // 0a0: aload 3
      // 0a1: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0a4: astore 6
      // 0a6: aload 3
      // 0a7: ifnull 0b8
      // 0aa: aload 3
      // 0ab: invokevirtual java/lang/Exception.getCause ()Ljava/lang/Throwable;
      // 0ae: ifnonnull 0c1
      // 0b1: goto 0b8
      // 0b4: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b7: athrow
      // 0b8: ldc ""
      // 0ba: goto 0c8
      // 0bd: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c0: athrow
      // 0c1: aload 3
      // 0c2: invokevirtual java/lang/Exception.getCause ()Ljava/lang/Throwable;
      // 0c5: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0c8: astore 7
      // 0ca: aload 5
      // 0cc: aload 6
      // 0ce: 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" ]
      // 0d3: astore 5
      // 0d5: aload 6
      // 0d7: ifnull 0eb
      // 0da: aload 6
      // 0dc: aload 7
      // 0de: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0e1: ifne 0fe
      // 0e4: goto 0eb
      // 0e7: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ea: athrow
      // 0eb: aload 5
      // 0ed: aload 7
      // 0ef: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 0f2: bipush 1
      // 0f3: aaload
      // 0f4: swap
      // 0f5: ldc ")"
      // 0f7: 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" ]
      // 0fc: astore 5
      // 0fe: aload 5
      // 100: areturn
      // try (39 -> 48): 48 java/lang/IllegalStateException
      // try (74 -> 79): 80 java/lang/IllegalStateException
      // try (76 -> 84): 84 java/lang/IllegalStateException
      // try (94 -> 100): 101 java/lang/IllegalStateException
   }

   private String a(EntityHeader var1) {
      String var10000;
      label43: {
         try {
            if (var1 instanceof GuidEntityHeader) {
               var10000 = ((GuidEntityHeader)var1).getGuid();
               break label43;
            }
         } catch (IllegalStateException var5) {
            throw a(var5);
         }

         try {
            if (!var1.getGoid().equals(PersistentEntity.DEFAULT_GOID)) {
               var10000 = Goid.toString(var1.getGoid());
               break label43;
            }
         } catch (IllegalStateException var4) {
            throw a(var4);
         }

         var10000 = null;
      }

      String var2 = var10000;

      try {
         if (var2 == null) {
            return "";
         }
      } catch (IllegalStateException var3) {
         throw a(var3);
      }

      return e[53] + var2 + ")";
   }

   private Entity d(ExternalEntityHeader param1) throws MigrationException {
      // $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: getstatic com/l7tech/server/migration/MigrationManagerImpl.a Ljava/util/logging/Logger;
      // 03: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 06: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 09: astore 8
      // 0b: aload 8
      // 0d: bipush 8
      // 0f: aaload
      // 10: aload 1
      // 11: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 14: aload 1
      // 15: bipush 0
      // 16: invokestatic com/l7tech/server/EntityHeaderUtils.fromExternal (Lcom/l7tech/objectmodel/ExternalEntityHeader;Z)Lcom/l7tech/objectmodel/EntityHeader;
      // 19: astore 2
      // 1a: goto 3a
      // 1d: astore 3
      // 1e: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 21: dup
      // 22: aload 1
      // 23: invokevirtual com/l7tech/objectmodel/ExternalEntityHeader.getExternalId ()Ljava/lang/String;
      // 26: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 29: astore 8
      // 2b: aload 8
      // 2d: bipush 5
      // 2e: aaload
      // 2f: swap
      // 30: 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" ]
      // 35: aload 3
      // 36: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 39: athrow
      // 3a: aload 2
      // 3b: instanceof com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 3e: ifeq 58
      // 41: aload 0
      // 42: getfield com/l7tech/server/migration/MigrationManagerImpl.b Lcom/l7tech/server/EntityCrud;
      // 45: aload 2
      // 46: checkcast com/l7tech/objectmodel/ValueReferenceEntityHeader
      // 49: invokevirtual com/l7tech/objectmodel/ValueReferenceEntityHeader.getOwnerHeader ()Lcom/l7tech/objectmodel/ExternalEntityHeader;
      // 4c: invokestatic com/l7tech/server/EntityHeaderUtils.fromExternal (Lcom/l7tech/objectmodel/ExternalEntityHeader;)Lcom/l7tech/objectmodel/EntityHeader;
      // 4f: invokeinterface com/l7tech/server/EntityCrud.find (Lcom/l7tech/objectmodel/EntityHeader;)Lcom/l7tech/objectmodel/Entity; 2
      // 54: astore 3
      // 55: goto 63
      // 58: aload 0
      // 59: getfield com/l7tech/server/migration/MigrationManagerImpl.b Lcom/l7tech/server/EntityCrud;
      // 5c: aload 2
      // 5d: invokeinterface com/l7tech/server/EntityCrud.find (Lcom/l7tech/objectmodel/EntityHeader;)Lcom/l7tech/objectmodel/Entity; 2
      // 62: astore 3
      // 63: goto 86
      // 66: astore 4
      // 68: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 6b: dup
      // 6c: aload 2
      // 6d: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 70: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // 73: astore 8
      // 75: aload 8
      // 77: bipush 18
      // 79: aaload
      // 7a: swap
      // 7b: 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" ]
      // 80: aload 4
      // 82: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 85: athrow
      // 86: aload 3
      // 87: ifnonnull e1
      // 8a: new com/l7tech/server/management/api/node/MigrationApi$MigrationException
      // 8d: dup
      // 8e: aload 2
      // 8f: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 92: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 95: aload 2
      // 96: invokevirtual com/l7tech/objectmodel/EntityHeader.getName ()Ljava/lang/String;
      // 99: ifnonnull ac
      // 9c: goto a3
      // 9f: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a2: athrow
      // a3: ldc ""
      // a5: goto b0
      // a8: invokestatic com/l7tech/server/migration/MigrationManagerImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // ab: athrow
      // ac: aload 2
      // ad: invokevirtual com/l7tech/objectmodel/EntityHeader.getName ()Ljava/lang/String;
      // b0: aload 2
      // b1: invokevirtual com/l7tech/objectmodel/EntityHeader.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // b4: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // b7: astore 5
      // b9: astore 6
      // bb: astore 7
      // bd: getstatic com/l7tech/server/migration/MigrationManagerImpl.e [Ljava/lang/String;
      // c0: astore 8
      // c2: aload 8
      // c4: bipush 19
      // c6: aaload
      // c7: aload 7
      // c9: aload 8
      // cb: bipush 52
      // cd: aaload
      // ce: aload 6
      // d0: aload 8
      // d2: bipush 3
      // d3: aaload
      // d4: aload 5
      // d6: ldc ")"
      // d8: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;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\u0001\u0001\u0001" ]
      // dd: invokespecial com/l7tech/server/management/api/node/MigrationApi$MigrationException.<init> (Ljava/lang/String;)V
      // e0: athrow
      // e1: aload 3
      // e2: areturn
      // try (9 -> 13): 14 java/lang/IllegalArgumentException
      // try (29 -> 46): 47 java/lang/Exception
      // try (62 -> 72): 73 java/lang/IllegalArgumentException
      // try (64 -> 77): 77 java/lang/IllegalArgumentException
   }

   static {
      String[] var5 = new String[63];
      int var3 = 0;
      String var2 = "K\u0005X'\b<\u0000&\u001eN%\u0014;\u0015c\b\u000b$\u0000 \u0006k\t_1\u0013|\u0002&D\u001bK\u0005X'\b<\u0000&\u001eN%\u0014;\u0015c\b\u000b$\u0000 \u0006k\t_1\u0013|\u0003&D\b,@\u0003^:\u0005r\u001c6\u0011\u000b9\u0000\"\u0017o\u0002Lt\u00023\tb\u0005O5\u00157\u0014&\nD&A:\u0002g\bN&A)V{B(C\u001eY;\u0013r\u0017t\u0003H1\u0012!\u000eh\u000b\u000b \t7Gn\tJ0\u0004 G`\u0003Yt\u0004<\u0013o\u0018RnA\u0007o\u0002I;\u0014<\u0003HE\rE:\u000e&Gg\u001c[8\u0018r\ng\u001c[=\u000f5K&\u0018J&\u00067\u0013&\tE \b&\u001e&\u0002D A4\bs\u0002Ot\u0007=\u0015&\bN$\u0004<\u0003c\u0002H-A \u0002`\tY1\u000f1\u0002<L\u001eJ\u0003J0\b<\u0000&\tE \b&\u001e&\nD&A:\u0002g\bN&[r\u001c6\u0011\u0016P\rG=\u00053\u0013o\u0002Lt\u0003'\tb\u0000NnA)W{\u001bC\u001eY;\u0013r\u000bo\u001f_=\u000f5Gc\u0002_=\u0015;\u0002uLM;\u0013r\t\f\b^1A&\b<fL(L{8\u00043\u0014cLB9\u0011=\u0015rL_<\u0004r\"h\u000fJ$\u0012'\u000bg\u0018N0A\u0013\u0014u\tY \b=\t&\u0003Et\u0015:\u0002&\u0018J&\u00067\u0013&\u001cY=\u000e Gr\u0003\u000b9\b5\u0015g\u0018B:\u0006|\u001a@\u0005E0\b<\u0000&\bN$\u0004<\u0003c\u0002H=\u0004!G`\u0003YnA C\u001eY;\u0013r\u0001j\u0019X<\b<\u0000&\tE \b&\u001e&\nD&A!\u0006p\t\u0011t\rk\tX'\u00005\u0002U\u0003^&\u00027\t\f\b^1A&\b<f\u0002*L%C\u001eY;\u0013r\u000bi\rO=\u000f5Gr\u0004Nt\u0004<\u0013o\u0018Rt\u0007=\u0015&\u0004N5\u00057\u0015<L$C\u001eY;\u0013r\u000bi\rO=\u000f5Gr\u0004Nt\u0004<\u0013o\u0018Rt\u0007=\u0015&\u0004N5\u00057\u0015&\re\u0003E:\u00041\u0013i\u001e\u007f-\u00117\nC\u0002_=\u0015+ i\u0005O\u0007o\u0002I;\u0014<\u0003%@\u0005E0\b<\u0000&\bN$\u0004<\u0003c\u0002H=\u0004!G`\u0003Yt\t7\u0006b\tY'[r\u001c6\u0011\u0018C\u001eY;\u0013r\u0015c\u001fD8\u0017;\taLC1\u00006\u0002tV\u000b\ft\tX;\u0014 \u0004c8R$\u0004 H\u0003\u000b$\u0013=\u0017c\u001e_-A \u0002u\u0003G\"\u0004 G`\u0003^:\u0005r\u0001i\u001e\u0011t@E\u0005Y7\u0014>\u0006tLO1\u00117\tb\tE7\u0018r\u0015c\rH<\u00046Gb\u0019Y=\u000f5Gc\u0002_=\u0015+Gs\u001cG;\u00006G`\u0003Yt\t7\u0006b\tYt\u001ab\u001a($O\u0001[;\u0013&G`\rB8\u00046Gq\u0004N:A\"\u0015i\u000fN'\u0012;\taLN:\u0015;\u0013\u007f\"C\u001eY;\u0013r\u0001j\u0019X<\b<\u0000&\tE \b&\u001e&\nD&A'\u0017b\r_1[r+C\u0002_=\u0015+Gh\u0003_t\u0007=\u0012h\b\u000b=\u000fr\u0013n\t\u000b6\u0014<\u0003j\t\u000b2\u000e Gn\tJ0\u0004 ]&-C\u0002H5\u0011!\u0012j\r_1\u0005r&u\u001fN&\u0015;\bhLE;\u0015r\u0001i\u0019E0A4\btLC1\u00006\u0002tV\u000b\rk\tX'\u00005\u0002U\u0003^&\u00027\u0018H\u0003_t\u0004*\u0017i\u001e_=\u000f5Gn\tJ0\u0004 G}\\V\u0004r\u0015[1\ft\tX;\u0014 \u0004c8R$\u0004!C\u0002_=\u0015+Gp\rG!\u0004r\u0001i\u001e\u000b<\u00043\u0003c\u001e\u000b/Q/G<LPe\u001c\u001dC\u0002_=\u0015+Gh\u0003_t\u0007=\u0012h\b\u000b2\u000e Gn\tJ0\u0004 ]&\u001cC\u001eY;\u0013r\u0010n\tEt\u0011 \be\tX'\b<\u0000&\tE \b&\u001e,H\u0003_t\u00173\u000bo\bJ \b<\u0000&\u0004N5\u00057\u0015<LN:\u0015;\u0013\u007fLE;\u0015r\u0001i\u0019E0[r\u001c6\u0011\u0019S\u0002Y1\u0012=\u000bp\tOt\u000f3\ncAF5\u0011\"\u000eh\u000b\u0011t$C\u001eY;\u0013r\u0006v\u001cG-\b<\u0000&\u001aJ8\u00147Gt\tM1\u00137\te\t\u000b2\u000e ]&\u001aS\u0002Y1\u0012=\u000bp\tOt\u00173\u000bs\t\u00069\u0000\"\u0017o\u0002LnA\u0015v\u001eD$\u0004 \u0013o\tX\u000fF;\td\u0003^:\u0005u:\u0012G\bO1\u0005r\u0003c\u001cN:\u00057\te\u0015\u0011t+K\u0003Y1A&\u000fg\u0002\u000b;\u000f7Gv\u001eD$\u0004 \u0013\u007fLY1\u0012=\u000bp\tYt\u0007=\u0012h\b\u000b2\u000e ]&$C\u001eY;\u0013r\u0015c\u0018Y=\u0004$\u000eh\u000b\u000b9\u0000\"\u0017o\u0002Lt\u00023\tb\u0005O5\u00157]&\u0003&V\u000b\u001aC\u0014H1\u0011&\u000ei\u0002\u000b&\u00043\u0003o\u0002Lt\u0011=\u000bo\u000fRnA\u001fJ\u0005X \b<\u0000&\tE \b&\u000ec\u001f\u000b2\u000e Ge\u0000J'\u0012hG}\\V\re\u0003E:\u00041\u0013i\u001e\u007f-\u001173C\u0002_=\u0015+Gh\u0003_t\u0007=\u0012h\b\u000b;\u000fr\u0013n\t\u000b \u0000 \u0000c\u0018\u000b7\r'\u0014r\tYt\u0007=\u0015&\u0004N5\u00057\u0015<L\u0002*L\u0003&D\b+C\u0002_=\u0015+Gh\u0003_t\u0007=\u0012h\b\u000b=\u000fr\u0013n\t\u000b6\u0014<\u0003j\t\u000b2\u000e Gn\tJ0\u0004 ]&\u001cC\u001eY;\u0013r\u0010n\tEt\u0011 \be\tX'\b<\u0000&\tE \b&\u001e\u0002<f\u0004r\u0015[1$O\u0001[;\u0013&G`\rB8\u00046Gq\u0004N:A\"\u0015i\u000fN'\u0012;\taLN:\u0015;\u0013\u007f\tC\u0002_=\u0015+(o\b%C\u0014H1\u0011&\u000ei\u0002\u000b&\u00043\u0003o\u0002Lt\u0011'\u0005j\u0005X<\u00046Gu\tY\"\b1\u0002<L";
      int var4 = "K\u0005X'\b<\u0000&\u001eN%\u0014;\u0015c\b\u000b$\u0000 \u0006k\t_1\u0013|\u0002&D\u001bK\u0005X'\b<\u0000&\u001eN%\u0014;\u0015c\b\u000b$\u0000 \u0006k\t_1\u0013|\u0003&D\b,@\u0003^:\u0005r\u001c6\u0011\u000b9\u0000\"\u0017o\u0002Lt\u00023\tb\u0005O5\u00157\u0014&\nD&A:\u0002g\bN&A)V{B(C\u001eY;\u0013r\u0017t\u0003H1\u0012!\u000eh\u000b\u000b \t7Gn\tJ0\u0004 G`\u0003Yt\u0004<\u0013o\u0018RnA\u0007o\u0002I;\u0014<\u0003HE\rE:\u000e&Gg\u001c[8\u0018r\ng\u001c[=\u000f5K&\u0018J&\u00067\u0013&\tE \b&\u001e&\u0002D A4\bs\u0002Ot\u0007=\u0015&\bN$\u0004<\u0003c\u0002H-A \u0002`\tY1\u000f1\u0002<L\u001eJ\u0003J0\b<\u0000&\tE \b&\u001e&\nD&A:\u0002g\bN&[r\u001c6\u0011\u0016P\rG=\u00053\u0013o\u0002Lt\u0003'\tb\u0000NnA)W{\u001bC\u001eY;\u0013r\u000bo\u001f_=\u000f5Gc\u0002_=\u0015;\u0002uLM;\u0013r\t\f\b^1A&\b<fL(L{8\u00043\u0014cLB9\u0011=\u0015rL_<\u0004r\"h\u000fJ$\u0012'\u000bg\u0018N0A\u0013\u0014u\tY \b=\t&\u0003Et\u0015:\u0002&\u0018J&\u00067\u0013&\u001cY=\u000e Gr\u0003\u000b9\b5\u0015g\u0018B:\u0006|\u001a@\u0005E0\b<\u0000&\bN$\u0004<\u0003c\u0002H=\u0004!G`\u0003YnA C\u001eY;\u0013r\u0001j\u0019X<\b<\u0000&\tE \b&\u001e&\nD&A!\u0006p\t\u0011t\rk\tX'\u00005\u0002U\u0003^&\u00027\t\f\b^1A&\b<f\u0002*L%C\u001eY;\u0013r\u000bi\rO=\u000f5Gr\u0004Nt\u0004<\u0013o\u0018Rt\u0007=\u0015&\u0004N5\u00057\u0015<L$C\u001eY;\u0013r\u000bi\rO=\u000f5Gr\u0004Nt\u0004<\u0013o\u0018Rt\u0007=\u0015&\u0004N5\u00057\u0015&\re\u0003E:\u00041\u0013i\u001e\u007f-\u00117\nC\u0002_=\u0015+ i\u0005O\u0007o\u0002I;\u0014<\u0003%@\u0005E0\b<\u0000&\bN$\u0004<\u0003c\u0002H=\u0004!G`\u0003Yt\t7\u0006b\tY'[r\u001c6\u0011\u0018C\u001eY;\u0013r\u0015c\u001fD8\u0017;\taLC1\u00006\u0002tV\u000b\ft\tX;\u0014 \u0004c8R$\u0004 H\u0003\u000b$\u0013=\u0017c\u001e_-A \u0002u\u0003G\"\u0004 G`\u0003^:\u0005r\u0001i\u001e\u0011t@E\u0005Y7\u0014>\u0006tLO1\u00117\tb\tE7\u0018r\u0015c\rH<\u00046Gb\u0019Y=\u000f5Gc\u0002_=\u0015+Gs\u001cG;\u00006G`\u0003Yt\t7\u0006b\tYt\u001ab\u001a($O\u0001[;\u0013&G`\rB8\u00046Gq\u0004N:A\"\u0015i\u000fN'\u0012;\taLN:\u0015;\u0013\u007f\"C\u001eY;\u0013r\u0001j\u0019X<\b<\u0000&\tE \b&\u001e&\nD&A'\u0017b\r_1[r+C\u0002_=\u0015+Gh\u0003_t\u0007=\u0012h\b\u000b=\u000fr\u0013n\t\u000b6\u0014<\u0003j\t\u000b2\u000e Gn\tJ0\u0004 ]&-C\u0002H5\u0011!\u0012j\r_1\u0005r&u\u001fN&\u0015;\bhLE;\u0015r\u0001i\u0019E0A4\btLC1\u00006\u0002tV\u000b\rk\tX'\u00005\u0002U\u0003^&\u00027\u0018H\u0003_t\u0004*\u0017i\u001e_=\u000f5Gn\tJ0\u0004 G}\\V\u0004r\u0015[1\ft\tX;\u0014 \u0004c8R$\u0004!C\u0002_=\u0015+Gp\rG!\u0004r\u0001i\u001e\u000b<\u00043\u0003c\u001e\u000b/Q/G<LPe\u001c\u001dC\u0002_=\u0015+Gh\u0003_t\u0007=\u0012h\b\u000b2\u000e Gn\tJ0\u0004 ]&\u001cC\u001eY;\u0013r\u0010n\tEt\u0011 \be\tX'\b<\u0000&\tE \b&\u001e,H\u0003_t\u00173\u000bo\bJ \b<\u0000&\u0004N5\u00057\u0015<LN:\u0015;\u0013\u007fLE;\u0015r\u0001i\u0019E0[r\u001c6\u0011\u0019S\u0002Y1\u0012=\u000bp\tOt\u000f3\ncAF5\u0011\"\u000eh\u000b\u0011t$C\u001eY;\u0013r\u0006v\u001cG-\b<\u0000&\u001aJ8\u00147Gt\tM1\u00137\te\t\u000b2\u000e ]&\u001aS\u0002Y1\u0012=\u000bp\tOt\u00173\u000bs\t\u00069\u0000\"\u0017o\u0002LnA\u0015v\u001eD$\u0004 \u0013o\tX\u000fF;\td\u0003^:\u0005u:\u0012G\bO1\u0005r\u0003c\u001cN:\u00057\te\u0015\u0011t+K\u0003Y1A&\u000fg\u0002\u000b;\u000f7Gv\u001eD$\u0004 \u0013\u007fLY1\u0012=\u000bp\tYt\u0007=\u0012h\b\u000b2\u000e ]&$C\u001eY;\u0013r\u0015c\u0018Y=\u0004$\u000eh\u000b\u000b9\u0000\"\u0017o\u0002Lt\u00023\tb\u0005O5\u00157]&\u0003&V\u000b\u001aC\u0014H1\u0011&\u000ei\u0002\u000b&\u00043\u0003o\u0002Lt\u0011=\u000bo\u000fRnA\u001fJ\u0005X \b<\u0000&\tE \b&\u000ec\u001f\u000b2\u000e Ge\u0000J'\u0012hG}\\V\re\u0003E:\u00041\u0013i\u001e\u007f-\u001173C\u0002_=\u0015+Gh\u0003_t\u0007=\u0012h\b\u000b;\u000fr\u0013n\t\u000b \u0000 \u0000c\u0018\u000b7\r'\u0014r\tYt\u0007=\u0015&\u0004N5\u00057\u0015<L\u0002*L\u0003&D\b+C\u0002_=\u0015+Gh\u0003_t\u0007=\u0012h\b\u000b=\u000fr\u0013n\t\u000b6\u0014<\u0003j\t\u000b2\u000e Gn\tJ0\u0004 ]&\u001cC\u001eY;\u0013r\u0010n\tEt\u0011 \be\tX'\b<\u0000&\tE \b&\u001e\u0002<f\u0004r\u0015[1$O\u0001[;\u0013&G`\rB8\u00046Gq\u0004N:A\"\u0015i\u000fN'\u0012;\taLN:\u0015;\u0013\u007f\tC\u0002_=\u0015+(o\b%C\u0014H1\u0011&\u000ei\u0002\u000b&\u00043\u0003o\u0002Lt\u0011'\u0005j\u0005X<\u00046Gu\tY\"\b1\u0002<L"
         .length();
      char var1 = 27;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 61;
         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) {
                     e = var5;
                     a = Logger.getLogger(MigrationManagerImpl.class.getName());
                     return;
                  }

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

                  var2 = "\u0004J\u0010pXm\f\"W\u0005mKmE\"I@qEm\f&I\u000fhD#\f&\u001fB\u0014mC|Z$I\u0007?Gx\\=N\u000ex\nzM#C\t{KmI>\u0007\u0006pX9W}ZN";
                  var4 = "\u0004J\u0010pXm\f\"W\u0005mKmE\"I@qEm\f&I\u000fhD#\f&\u001fB\u0014mC|Z$I\u0007?Gx\\=N\u000ex\nzM#C\t{KmI>\u0007\u0006pX9W}ZN"
                     .length();
                  var1 = 28;
                  var7 = -1;
            }

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

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

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

      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 -> 59;
            case 1 -> 81;
            case 2 -> 22;
            case 3 -> 105;
            case 4 -> 92;
            case 5 -> 111;
            default -> 90;
         });
      }

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