class com.sun.xml.internal.ws.assembler.MetroConfigLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.xml.internal.ws.assembler.MetroConfigLoader
  super_class: java.lang.Object
{
  private static final java.lang.String JAXWS_TUBES_JDK_XML_RESOURCE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jaxws-tubes-default.xml"

  private static final com.sun.istack.internal.logging.Logger LOGGER;
    descriptor: Lcom/sun/istack/internal/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.sun.xml.internal.ws.assembler.MetroConfigName defaultTubesConfigNames;
    descriptor: Lcom/sun/xml/internal/ws/assembler/MetroConfigName;
    flags: (0x0002) ACC_PRIVATE

  private static final com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver ENDPOINT_SIDE_RESOLVER;
    descriptor: Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver CLIENT_SIDE_RESOLVER;
    descriptor: Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.sun.xml.internal.ws.runtime.config.MetroConfig defaultConfig;
    descriptor: Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
    flags: (0x0002) ACC_PRIVATE

  private java.net.URL defaultConfigUrl;
    descriptor: Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.xml.internal.ws.runtime.config.MetroConfig appConfig;
    descriptor: Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
    flags: (0x0002) ACC_PRIVATE

  private java.net.URL appConfigUrl;
    descriptor: Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 70
            ldc Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader;
            invokestatic com.sun.istack.internal.logging.Logger.getLogger:(Ljava/lang/Class;)Lcom/sun/istack/internal/logging/Logger;
            putstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
         1: .line 79
            new com.sun.xml.internal.ws.assembler.MetroConfigLoader$1
            dup
            invokespecial com.sun.xml.internal.ws.assembler.MetroConfigLoader$1.<init>:()V
            putstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.ENDPOINT_SIDE_RESOLVER:Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;
         2: .line 85
            new com.sun.xml.internal.ws.assembler.MetroConfigLoader$2
            dup
            invokespecial com.sun.xml.internal.ws.assembler.MetroConfigLoader$2.<init>:()V
            putstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.CLIENT_SIDE_RESOLVER:Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;
         3: .line 90
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.sun.xml.internal.ws.api.server.Container, com.sun.xml.internal.ws.assembler.MetroConfigName);
    descriptor: (Lcom/sun/xml/internal/ws/api/server/Container;Lcom/sun/xml/internal/ws/assembler/MetroConfigName;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
        start local 1 // com.sun.xml.internal.ws.api.server.Container container
        start local 2 // com.sun.xml.internal.ws.assembler.MetroConfigName defaultTubesConfigNames
         0: .line 97
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 98
            aload 0 /* this */
            aload 2 /* defaultTubesConfigNames */
            putfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultTubesConfigNames:Lcom/sun/xml/internal/ws/assembler/MetroConfigName;
         2: .line 99
            aconst_null
            astore 3 /* spiResourceLoader */
        start local 3 // com.sun.xml.internal.ws.api.ResourceLoader spiResourceLoader
         3: .line 100
            aload 1 /* container */
            ifnull 5
         4: .line 101
            aload 1 /* container */
            ldc Lcom/sun/xml/internal/ws/api/ResourceLoader;
            invokevirtual com.sun.xml.internal.ws.api.server.Container.getSPI:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.api.ResourceLoader
            astore 3 /* spiResourceLoader */
         5: .line 106
      StackMap locals: com.sun.xml.internal.ws.assembler.MetroConfigLoader com.sun.xml.internal.ws.api.server.Container com.sun.xml.internal.ws.assembler.MetroConfigName com.sun.xml.internal.ws.api.ResourceLoader
      StackMap stack:
            aload 0 /* this */
            aload 1 /* container */
            iconst_2
            anewarray com.sun.xml.internal.ws.api.ResourceLoader
            dup
            iconst_0
            aload 3 /* spiResourceLoader */
            aastore
            dup
            iconst_1
            new com.sun.xml.internal.ws.assembler.MetroConfigLoader$MetroConfigUrlLoader
            dup
            aload 1 /* container */
            invokespecial com.sun.xml.internal.ws.assembler.MetroConfigLoader$MetroConfigUrlLoader.<init>:(Lcom/sun/xml/internal/ws/api/server/Container;)V
            aastore
            invokevirtual com.sun.xml.internal.ws.assembler.MetroConfigLoader.init:(Lcom/sun/xml/internal/ws/api/server/Container;[Lcom/sun/xml/internal/ws/api/ResourceLoader;)V
         6: .line 107
            return
        end local 3 // com.sun.xml.internal.ws.api.ResourceLoader spiResourceLoader
        end local 2 // com.sun.xml.internal.ws.assembler.MetroConfigName defaultTubesConfigNames
        end local 1 // com.sun.xml.internal.ws.api.server.Container container
        end local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     this  Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader;
            0    7     1                container  Lcom/sun/xml/internal/ws/api/server/Container;
            0    7     2  defaultTubesConfigNames  Lcom/sun/xml/internal/ws/assembler/MetroConfigName;
            3    7     3        spiResourceLoader  Lcom/sun/xml/internal/ws/api/ResourceLoader;
    MethodParameters:
                         Name  Flags
      container                
      defaultTubesConfigNames  

  private void init(com.sun.xml.internal.ws.api.server.Container, com.sun.xml.internal.ws.api.ResourceLoader[]);
    descriptor: (Lcom/sun/xml/internal/ws/api/server/Container;[Lcom/sun/xml/internal/ws/api/ResourceLoader;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
        start local 1 // com.sun.xml.internal.ws.api.server.Container container
        start local 2 // com.sun.xml.internal.ws.api.ResourceLoader[] loaders
         0: .line 111
            aconst_null
            astore 3 /* appFileName */
        start local 3 // java.lang.String appFileName
         1: .line 112
            aconst_null
            astore 4 /* defaultFileName */
        start local 4 // java.lang.String defaultFileName
         2: .line 113
            aload 1 /* container */
            ifnull 7
         3: .line 114
            aload 1 /* container */
            ldc Lcom/sun/xml/internal/ws/assembler/MetroConfigName;
            invokevirtual com.sun.xml.internal.ws.api.server.Container.getSPI:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.assembler.MetroConfigName
            astore 5 /* mcn */
        start local 5 // com.sun.xml.internal.ws.assembler.MetroConfigName mcn
         4: .line 115
            aload 5 /* mcn */
            ifnull 7
         5: .line 116
            aload 5 /* mcn */
            invokeinterface com.sun.xml.internal.ws.assembler.MetroConfigName.getAppFileName:()Ljava/lang/String;
            astore 3 /* appFileName */
         6: .line 117
            aload 5 /* mcn */
            invokeinterface com.sun.xml.internal.ws.assembler.MetroConfigName.getDefaultFileName:()Ljava/lang/String;
            astore 4 /* defaultFileName */
        end local 5 // com.sun.xml.internal.ws.assembler.MetroConfigName mcn
         7: .line 120
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* appFileName */
            ifnonnull 9
         8: .line 121
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultTubesConfigNames:Lcom/sun/xml/internal/ws/assembler/MetroConfigName;
            invokeinterface com.sun.xml.internal.ws.assembler.MetroConfigName.getAppFileName:()Ljava/lang/String;
            astore 3 /* appFileName */
         9: .line 124
      StackMap locals:
      StackMap stack:
            aload 4 /* defaultFileName */
            ifnonnull 11
        10: .line 125
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultTubesConfigNames:Lcom/sun/xml/internal/ws/assembler/MetroConfigName;
            invokeinterface com.sun.xml.internal.ws.assembler.MetroConfigName.getDefaultFileName:()Ljava/lang/String;
            astore 4 /* defaultFileName */
        11: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* defaultFileName */
            aload 2 /* loaders */
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.locateResource:(Ljava/lang/String;[Lcom/sun/xml/internal/ws/api/ResourceLoader;)Ljava/net/URL;
            putfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfigUrl:Ljava/net/URL;
        12: .line 128
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfigUrl:Ljava/net/URL;
            ifnull 14
        13: .line 129
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
            aload 4 /* defaultFileName */
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfigUrl:Ljava/net/URL;
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0002_DEFAULT_CFG_FILE_LOCATED:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.sun.istack.internal.logging.Logger.config:(Ljava/lang/String;)V
        14: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfigUrl:Ljava/net/URL;
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.loadMetroConfig:(Ljava/net/URL;)Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            putfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
        15: .line 133
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            ifnonnull 17
        16: .line 134
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
            new java.lang.IllegalStateException
            dup
            aload 4 /* defaultFileName */
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0003_DEFAULT_CFG_FILE_NOT_LOADED:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            invokevirtual com.sun.istack.internal.logging.Logger.logSevereException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.IllegalStateException
            athrow
        17: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            ifnonnull 19
        18: .line 137
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
            new java.lang.IllegalStateException
            dup
            aload 4 /* defaultFileName */
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0004_NO_TUBELINES_SECTION_IN_DEFAULT_CFG_FILE:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            invokevirtual com.sun.istack.internal.logging.Logger.logSevereException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.IllegalStateException
            athrow
        19: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            invokevirtual com.sun.xml.internal.ws.runtime.config.Tubelines.getDefault:()Ljava/lang/String;
            ifnonnull 21
        20: .line 140
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
            new java.lang.IllegalStateException
            dup
            aload 4 /* defaultFileName */
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0005_NO_DEFAULT_TUBELINE_IN_DEFAULT_CFG_FILE:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            invokevirtual com.sun.istack.internal.logging.Logger.logSevereException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.IllegalStateException
            athrow
        21: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* appFileName */
            aload 2 /* loaders */
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.locateResource:(Ljava/lang/String;[Lcom/sun/xml/internal/ws/api/ResourceLoader;)Ljava/net/URL;
            putfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfigUrl:Ljava/net/URL;
        22: .line 144
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfigUrl:Ljava/net/URL;
            ifnull 26
        23: .line 145
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfigUrl:Ljava/net/URL;
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0006_APP_CFG_FILE_LOCATED:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual com.sun.istack.internal.logging.Logger.config:(Ljava/lang/String;)V
        24: .line 146
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfigUrl:Ljava/net/URL;
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.loadMetroConfig:(Ljava/net/URL;)Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            putfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
        25: .line 147
            goto 28
        26: .line 148
      StackMap locals:
      StackMap stack:
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0007_APP_CFG_FILE_NOT_FOUND:()Ljava/lang/String;
            invokevirtual com.sun.istack.internal.logging.Logger.config:(Ljava/lang/String;)V
        27: .line 149
            aload 0 /* this */
            aconst_null
            putfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
        28: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String defaultFileName
        end local 3 // java.lang.String appFileName
        end local 2 // com.sun.xml.internal.ws.api.ResourceLoader[] loaders
        end local 1 // com.sun.xml.internal.ws.api.server.Container container
        end local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   29     0             this  Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader;
            0   29     1        container  Lcom/sun/xml/internal/ws/api/server/Container;
            0   29     2          loaders  [Lcom/sun/xml/internal/ws/api/ResourceLoader;
            1   29     3      appFileName  Ljava/lang/String;
            2   29     4  defaultFileName  Ljava/lang/String;
            4    7     5              mcn  Lcom/sun/xml/internal/ws/assembler/MetroConfigName;
    MethodParameters:
           Name  Flags
      container  
      loaders    

  com.sun.xml.internal.ws.runtime.config.TubeFactoryList getEndpointSideTubeFactories(java.net.URI);
    descriptor: (Ljava/net/URI;)Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
        start local 1 // java.net.URI endpointReference
         0: .line 154
            aload 0 /* this */
            aload 1 /* endpointReference */
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.ENDPOINT_SIDE_RESOLVER:Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;
            invokevirtual com.sun.xml.internal.ws.assembler.MetroConfigLoader.getTubeFactories:(Ljava/net/URI;Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;)Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
            areturn
        end local 1 // java.net.URI endpointReference
        end local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader;
            0    1     1  endpointReference  Ljava/net/URI;
    MethodParameters:
                   Name  Flags
      endpointReference  

  com.sun.xml.internal.ws.runtime.config.TubeFactoryList getClientSideTubeFactories(java.net.URI);
    descriptor: (Ljava/net/URI;)Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
        start local 1 // java.net.URI endpointReference
         0: .line 158
            aload 0 /* this */
            aload 1 /* endpointReference */
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.CLIENT_SIDE_RESOLVER:Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;
            invokevirtual com.sun.xml.internal.ws.assembler.MetroConfigLoader.getTubeFactories:(Ljava/net/URI;Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;)Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
            areturn
        end local 1 // java.net.URI endpointReference
        end local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader;
            0    1     1  endpointReference  Ljava/net/URI;
    MethodParameters:
                   Name  Flags
      endpointReference  

  private com.sun.xml.internal.ws.runtime.config.TubeFactoryList getTubeFactories(java.net.URI, com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver);
    descriptor: (Ljava/net/URI;Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;)Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
        start local 1 // java.net.URI endpointReference
        start local 2 // com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver resolver
         0: .line 162
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            ifnull 12
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            ifnull 12
         1: .line 163
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            invokevirtual com.sun.xml.internal.ws.runtime.config.Tubelines.getTubelineMappings:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: com.sun.xml.internal.ws.assembler.MetroConfigLoader java.net.URI com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.runtime.config.TubelineMapping
            astore 3 /* mapping */
        start local 3 // com.sun.xml.internal.ws.runtime.config.TubelineMapping mapping
         3: .line 164
            aload 3 /* mapping */
            invokevirtual com.sun.xml.internal.ws.runtime.config.TubelineMapping.getEndpointRef:()Ljava/lang/String;
            aload 1 /* endpointReference */
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 165
            aload 2 /* resolver */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            aload 3 /* mapping */
            invokevirtual com.sun.xml.internal.ws.runtime.config.TubelineMapping.getTubelineRef:()Ljava/lang/String;
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.resolveReference:(Ljava/lang/String;)Ljava/net/URI;
            invokevirtual com.sun.xml.internal.ws.assembler.MetroConfigLoader.getTubeline:(Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;Ljava/net/URI;)Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;
            invokeinterface com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver.getFactories:(Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;)Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
            astore 5 /* list */
        start local 5 // com.sun.xml.internal.ws.runtime.config.TubeFactoryList list
         5: .line 166
            aload 5 /* list */
            ifnull 8
         6: .line 167
            aload 5 /* list */
            areturn
        end local 5 // com.sun.xml.internal.ws.runtime.config.TubeFactoryList list
        end local 3 // com.sun.xml.internal.ws.runtime.config.TubelineMapping mapping
         7: .line 163
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 174
      StackMap locals: com.sun.xml.internal.ws.assembler.MetroConfigLoader java.net.URI com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            invokevirtual com.sun.xml.internal.ws.runtime.config.Tubelines.getDefault:()Ljava/lang/String;
            ifnull 12
         9: .line 175
            aload 2 /* resolver */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.appConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            invokevirtual com.sun.xml.internal.ws.runtime.config.Tubelines.getDefault:()Ljava/lang/String;
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.resolveReference:(Ljava/lang/String;)Ljava/net/URI;
            invokevirtual com.sun.xml.internal.ws.assembler.MetroConfigLoader.getTubeline:(Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;Ljava/net/URI;)Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;
            invokeinterface com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver.getFactories:(Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;)Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
            astore 3 /* list */
        start local 3 // com.sun.xml.internal.ws.runtime.config.TubeFactoryList list
        10: .line 176
            aload 3 /* list */
            ifnull 12
        11: .line 177
            aload 3 /* list */
            areturn
        end local 3 // com.sun.xml.internal.ws.runtime.config.TubeFactoryList list
        12: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            invokevirtual com.sun.xml.internal.ws.runtime.config.Tubelines.getTubelineMappings:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: com.sun.xml.internal.ws.assembler.MetroConfigLoader java.net.URI com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver top java.util.Iterator
      StackMap stack:
        13: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.runtime.config.TubelineMapping
            astore 3 /* mapping */
        start local 3 // com.sun.xml.internal.ws.runtime.config.TubelineMapping mapping
        14: .line 183
            aload 3 /* mapping */
            invokevirtual com.sun.xml.internal.ws.runtime.config.TubelineMapping.getEndpointRef:()Ljava/lang/String;
            aload 1 /* endpointReference */
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        15: .line 184
            aload 2 /* resolver */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            aload 3 /* mapping */
            invokevirtual com.sun.xml.internal.ws.runtime.config.TubelineMapping.getTubelineRef:()Ljava/lang/String;
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.resolveReference:(Ljava/lang/String;)Ljava/net/URI;
            invokevirtual com.sun.xml.internal.ws.assembler.MetroConfigLoader.getTubeline:(Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;Ljava/net/URI;)Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;
            invokeinterface com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver.getFactories:(Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;)Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
            astore 5 /* list */
        start local 5 // com.sun.xml.internal.ws.runtime.config.TubeFactoryList list
        16: .line 185
            aload 5 /* list */
            ifnull 19
        17: .line 186
            aload 5 /* list */
            areturn
        end local 5 // com.sun.xml.internal.ws.runtime.config.TubeFactoryList list
        end local 3 // com.sun.xml.internal.ws.runtime.config.TubelineMapping mapping
        18: .line 182
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        19: .line 193
      StackMap locals: com.sun.xml.internal.ws.assembler.MetroConfigLoader java.net.URI com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver
      StackMap stack:
            aload 2 /* resolver */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            aload 0 /* this */
            getfield com.sun.xml.internal.ws.assembler.MetroConfigLoader.defaultConfig:Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            invokevirtual com.sun.xml.internal.ws.runtime.config.Tubelines.getDefault:()Ljava/lang/String;
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.resolveReference:(Ljava/lang/String;)Ljava/net/URI;
            invokevirtual com.sun.xml.internal.ws.assembler.MetroConfigLoader.getTubeline:(Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;Ljava/net/URI;)Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;
            invokeinterface com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver.getFactories:(Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;)Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
            areturn
        end local 2 // com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver resolver
        end local 1 // java.net.URI endpointReference
        end local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader;
            0   20     1  endpointReference  Ljava/net/URI;
            0   20     2           resolver  Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader$TubeFactoryListResolver;
            3    7     3            mapping  Lcom/sun/xml/internal/ws/runtime/config/TubelineMapping;
            5    7     5               list  Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
           10   12     3               list  Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
           14   18     3            mapping  Lcom/sun/xml/internal/ws/runtime/config/TubelineMapping;
           16   18     5               list  Lcom/sun/xml/internal/ws/runtime/config/TubeFactoryList;
    MethodParameters:
                   Name  Flags
      endpointReference  
      resolver           

  com.sun.xml.internal.ws.runtime.config.TubelineDefinition getTubeline(com.sun.xml.internal.ws.runtime.config.MetroConfig, java.net.URI);
    descriptor: (Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;Ljava/net/URI;)Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
        start local 1 // com.sun.xml.internal.ws.runtime.config.MetroConfig config
        start local 2 // java.net.URI tubelineDefinitionUri
         0: .line 197
            aload 1 /* config */
            ifnull 6
            aload 1 /* config */
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            ifnull 6
         1: .line 198
            aload 1 /* config */
            invokevirtual com.sun.xml.internal.ws.runtime.config.MetroConfig.getTubelines:()Lcom/sun/xml/internal/ws/runtime/config/Tubelines;
            invokevirtual com.sun.xml.internal.ws.runtime.config.Tubelines.getTubelineDefinitions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: com.sun.xml.internal.ws.assembler.MetroConfigLoader com.sun.xml.internal.ws.runtime.config.MetroConfig java.net.URI top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.runtime.config.TubelineDefinition
            astore 3 /* td */
        start local 3 // com.sun.xml.internal.ws.runtime.config.TubelineDefinition td
         3: .line 199
            aload 3 /* td */
            invokevirtual com.sun.xml.internal.ws.runtime.config.TubelineDefinition.getName:()Ljava/lang/String;
            aload 2 /* tubelineDefinitionUri */
            invokevirtual java.net.URI.getFragment:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 200
            aload 3 /* td */
            areturn
        end local 3 // com.sun.xml.internal.ws.runtime.config.TubelineDefinition td
         5: .line 198
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 205
      StackMap locals: com.sun.xml.internal.ws.assembler.MetroConfigLoader com.sun.xml.internal.ws.runtime.config.MetroConfig java.net.URI
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.net.URI tubelineDefinitionUri
        end local 1 // com.sun.xml.internal.ws.runtime.config.MetroConfig config
        end local 0 // com.sun.xml.internal.ws.assembler.MetroConfigLoader this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader;
            0    7     1                 config  Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            0    7     2  tubelineDefinitionUri  Ljava/net/URI;
            3    5     3                     td  Lcom/sun/xml/internal/ws/runtime/config/TubelineDefinition;
    MethodParameters:
                       Name  Flags
      config                 
      tubelineDefinitionUri  

  private static java.net.URI resolveReference(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String reference
         0: .line 210
            new java.net.URI
            dup
            aload 0 /* reference */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
         1: areturn
         2: .line 211
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
            astore 1 /* ex */
        start local 1 // java.net.URISyntaxException ex
         3: .line 212
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
            new javax.xml.ws.WebServiceException
            dup
            aload 0 /* reference */
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0008_INVALID_URI_REFERENCE:(Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* ex */
            invokespecial javax.xml.ws.WebServiceException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            invokevirtual com.sun.istack.internal.logging.Logger.logSevereException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast javax.xml.ws.WebServiceException
            athrow
        end local 1 // java.net.URISyntaxException ex
        end local 0 // java.lang.String reference
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  reference  Ljava/lang/String;
            3    4     1         ex  Ljava/net/URISyntaxException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.URISyntaxException
    MethodParameters:
           Name  Flags
      reference  

  private static java.net.URL locateResource(java.lang.String, com.sun.xml.internal.ws.api.ResourceLoader);
    descriptor: (Ljava/lang/String;Lcom/sun/xml/internal/ws/api/ResourceLoader;)Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String resource
        start local 1 // com.sun.xml.internal.ws.api.ResourceLoader loader
         0: .line 218
            aload 1 /* loader */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 221
      StackMap locals:
      StackMap stack:
            aload 1 /* loader */
            aload 0 /* resource */
            invokevirtual com.sun.xml.internal.ws.api.ResourceLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
         2: areturn
         3: .line 222
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            astore 2 /* ex */
        start local 2 // java.net.MalformedURLException ex
         4: .line 223
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
            aload 0 /* resource */
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0009_CANNOT_FORM_VALID_URL:(Ljava/lang/Object;)Ljava/lang/String;
            aload 2 /* ex */
            invokevirtual com.sun.istack.internal.logging.Logger.severe:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.net.MalformedURLException ex
         5: .line 225
            aconst_null
            areturn
        end local 1 // com.sun.xml.internal.ws.api.ResourceLoader loader
        end local 0 // java.lang.String resource
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  resource  Ljava/lang/String;
            0    6     1    loader  Lcom/sun/xml/internal/ws/api/ResourceLoader;
            4    5     2        ex  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.net.MalformedURLException
    MethodParameters:
          Name  Flags
      resource  
      loader    

  private static java.net.URL locateResource(java.lang.String, com.sun.xml.internal.ws.api.ResourceLoader[]);
    descriptor: (Ljava/lang/String;[Lcom/sun/xml/internal/ws/api/ResourceLoader;)Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.String resource
        start local 1 // com.sun.xml.internal.ws.api.ResourceLoader[] loaders
         0: .line 230
            aload 1 /* loaders */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: java.lang.String com.sun.xml.internal.ws.api.ResourceLoader[] top int int com.sun.xml.internal.ws.api.ResourceLoader[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* loader */
        start local 2 // com.sun.xml.internal.ws.api.ResourceLoader loader
         2: .line 231
            aload 0 /* resource */
            aload 2 /* loader */
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.locateResource:(Ljava/lang/String;Lcom/sun/xml/internal/ws/api/ResourceLoader;)Ljava/net/URL;
            astore 6 /* url */
        start local 6 // java.net.URL url
         3: .line 232
            aload 6 /* url */
            ifnull 5
         4: .line 233
            aload 6 /* url */
            areturn
        end local 6 // java.net.URL url
        end local 2 // com.sun.xml.internal.ws.api.ResourceLoader loader
         5: .line 230
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 1
         7: .line 236
            aconst_null
            areturn
        end local 1 // com.sun.xml.internal.ws.api.ResourceLoader[] loaders
        end local 0 // java.lang.String resource
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  resource  Ljava/lang/String;
            0    8     1   loaders  [Lcom/sun/xml/internal/ws/api/ResourceLoader;
            2    5     2    loader  Lcom/sun/xml/internal/ws/api/ResourceLoader;
            3    5     6       url  Ljava/net/URL;
    MethodParameters:
          Name  Flags
      resource  
      loaders   

  private static com.sun.xml.internal.ws.runtime.config.MetroConfig loadMetroConfig(java.net.URL);
    descriptor: (Ljava/net/URL;)Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.net.URL resourceUrl
         0: .line 240
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* resourceUrl */
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.getConfigInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
            astore 3 /* is */
        start local 3 // java.io.InputStream is
         2: .line 241
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.createJAXBContext:()Ljavax/xml/bind/JAXBContext;
            astore 4 /* jaxbContext */
        start local 4 // javax.xml.bind.JAXBContext jaxbContext
         3: .line 242
            aload 4 /* jaxbContext */
            invokevirtual javax.xml.bind.JAXBContext.createUnmarshaller:()Ljavax/xml/bind/Unmarshaller;
            astore 5 /* unmarshaller */
        start local 5 // javax.xml.bind.Unmarshaller unmarshaller
         4: .line 243
            iconst_1
            invokestatic com.sun.xml.internal.ws.util.xml.XmlUtil.newXMLInputFactory:(Z)Ljavax/xml/stream/XMLInputFactory;
            astore 6 /* factory */
        start local 6 // javax.xml.stream.XMLInputFactory factory
         5: .line 244
            aload 5 /* unmarshaller */
            aload 6 /* factory */
            aload 3 /* is */
            invokevirtual javax.xml.stream.XMLInputFactory.createXMLStreamReader:(Ljava/io/InputStream;)Ljavax/xml/stream/XMLStreamReader;
            ldc Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokeinterface javax.xml.bind.Unmarshaller.unmarshal:(Ljavax/xml/stream/XMLStreamReader;Ljava/lang/Class;)Ljavax/xml/bind/JAXBElement;
            astore 7 /* configElement */
        start local 7 // javax.xml.bind.JAXBElement configElement
         6: .line 245
            aload 7 /* configElement */
            invokevirtual javax.xml.bind.JAXBElement.getValue:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.runtime.config.MetroConfig
         7: .line 246
            aload 3 /* is */
            ifnull 8
            aload 3 /* is */
            invokevirtual java.io.InputStream.close:()V
         8: .line 245
      StackMap locals: java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream javax.xml.bind.JAXBContext javax.xml.bind.Unmarshaller javax.xml.stream.XMLInputFactory javax.xml.bind.JAXBElement
      StackMap stack: com.sun.xml.internal.ws.runtime.config.MetroConfig
            areturn
        end local 7 // javax.xml.bind.JAXBElement configElement
        end local 6 // javax.xml.stream.XMLInputFactory factory
        end local 5 // javax.xml.bind.Unmarshaller unmarshaller
        end local 4 // javax.xml.bind.JAXBContext jaxbContext
      StackMap locals: java.net.URL java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
         9: astore 1
        10: .line 246
            aload 3 /* is */
            ifnull 11
            aload 3 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 3 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        11: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 1
            ifnonnull 13
            aload 2
            astore 1
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 1
            aload 2
            if_acmpeq 14
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 1
            athrow
      StackMap locals: java.net.URL
      StackMap stack: java.lang.Exception
        15: astore 1 /* e */
        start local 1 // java.lang.Exception e
        16: .line 248
            aload 0 /* resourceUrl */
            ifnull 17
            aload 0 /* resourceUrl */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            goto 18
      StackMap locals: java.lang.Exception
      StackMap stack:
        17: aconst_null
        18: .line 247
      StackMap locals:
      StackMap stack: java.lang.String
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0010_ERROR_READING_CFG_FILE_FROM_LOCATION:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
        19: .line 249
            new java.lang.InternalError
            dup
            aload 2 /* message */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            astore 3 /* error */
        start local 3 // java.lang.InternalError error
        20: .line 250
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
            aload 3 /* error */
            aload 1 /* e */
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            invokevirtual com.sun.istack.internal.logging.Logger.logException:(Ljava/lang/Throwable;Ljava/lang/Throwable;Ljava/util/logging/Level;)Ljava/lang/Throwable;
            pop
        21: .line 251
            aload 3 /* error */
            athrow
        end local 3 // java.lang.InternalError error
        end local 2 // java.lang.String message
        end local 1 // java.lang.Exception e
        end local 0 // java.net.URL resourceUrl
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0    resourceUrl  Ljava/net/URL;
            2   11     3             is  Ljava/io/InputStream;
            3    9     4    jaxbContext  Ljavax/xml/bind/JAXBContext;
            4    9     5   unmarshaller  Ljavax/xml/bind/Unmarshaller;
            5    9     6        factory  Ljavax/xml/stream/XMLInputFactory;
            6    9     7  configElement  Ljavax/xml/bind/JAXBElement<Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;>;
           16   22     1              e  Ljava/lang/Exception;
           19   22     2        message  Ljava/lang/String;
           20   22     3          error  Ljava/lang/InternalError;
      Exception table:
        from    to  target  type
           2     7       9  any
           1     8      12  any
           9    12      12  any
           0     8      15  Class java.lang.Exception
           9    15      15  Class java.lang.Exception
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.sun.istack.internal.NotNull()
    MethodParameters:
             Name  Flags
      resourceUrl  

  private static java.io.InputStream getConfigInputStream(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/io/InputStream;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.net.URL resourceUrl
         0: .line 257
            aload 0 /* resourceUrl */
            ifnull 3
         1: .line 258
            aload 0 /* resourceUrl */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 1 /* is */
        start local 1 // java.io.InputStream is
         2: .line 259
            goto 10
        end local 1 // java.io.InputStream is
         3: .line 260
      StackMap locals:
      StackMap stack:
            ldc Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader;
            ldc "jaxws-tubes-default.xml"
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 1 /* is */
        start local 1 // java.io.InputStream is
         4: .line 262
            aload 1 /* is */
            ifnonnull 10
         5: .line 263
            getstatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.LOGGER:Lcom/sun/istack/internal/logging/Logger;
         6: .line 264
            new java.lang.IllegalStateException
            dup
         7: .line 265
            ldc "jaxws-tubes-default.xml"
            invokestatic com.sun.xml.internal.ws.resources.TubelineassemblyMessages.MASM_0001_DEFAULT_CFG_FILE_NOT_FOUND:(Ljava/lang/Object;)Ljava/lang/String;
         8: .line 264
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
         9: .line 263
            invokevirtual com.sun.istack.internal.logging.Logger.logSevereException:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.IllegalStateException
            athrow
        10: .line 268
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 1 /* is */
            areturn
        end local 1 // java.io.InputStream is
        end local 0 // java.net.URL resourceUrl
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0  resourceUrl  Ljava/net/URL;
            2    3     1           is  Ljava/io/InputStream;
            4   11     1           is  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      resourceUrl  

  private static javax.xml.bind.JAXBContext createJAXBContext();
    descriptor: ()Ljavax/xml/bind/JAXBContext;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 272
            invokestatic com.sun.xml.internal.ws.assembler.MetroConfigLoader.isJDKInternal:()Z
            ifeq 3
         1: .line 275
            new com.sun.xml.internal.ws.assembler.MetroConfigLoader$3
            dup
            invokespecial com.sun.xml.internal.ws.assembler.MetroConfigLoader$3.<init>:()V
         2: .line 274
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast javax.xml.bind.JAXBContext
            areturn
         3: .line 283
      StackMap locals:
      StackMap stack:
            ldc Lcom/sun/xml/internal/ws/runtime/config/MetroConfig;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            invokestatic javax.xml.bind.JAXBContext.newInstance:(Ljava/lang/String;)Ljavax/xml/bind/JAXBContext;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static boolean isJDKInternal();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 289
            ldc Lcom/sun/xml/internal/ws/assembler/MetroConfigLoader;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "com.sun.xml.internal.ws"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "MetroConfigLoader.java"
NestMembers:
  com.sun.xml.internal.ws.assembler.MetroConfigLoader$1  com.sun.xml.internal.ws.assembler.MetroConfigLoader$2  com.sun.xml.internal.ws.assembler.MetroConfigLoader$3  com.sun.xml.internal.ws.assembler.MetroConfigLoader$MetroConfigUrlLoader  com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver
InnerClasses:
  com.sun.xml.internal.ws.assembler.MetroConfigLoader$1
  com.sun.xml.internal.ws.assembler.MetroConfigLoader$2
  com.sun.xml.internal.ws.assembler.MetroConfigLoader$3
  private MetroConfigUrlLoader = com.sun.xml.internal.ws.assembler.MetroConfigLoader$MetroConfigUrlLoader of com.sun.xml.internal.ws.assembler.MetroConfigLoader
  private abstract TubeFactoryListResolver = com.sun.xml.internal.ws.assembler.MetroConfigLoader$TubeFactoryListResolver of com.sun.xml.internal.ws.assembler.MetroConfigLoader