public class org.apache.http.impl.conn.DefaultRoutePlanner implements org.apache.http.conn.routing.HttpRoutePlanner
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.http.impl.conn.DefaultRoutePlanner
  super_class: java.lang.Object
{
  private final org.apache.http.conn.SchemePortResolver schemePortResolver;
    descriptor: Lorg/apache/http/conn/SchemePortResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.apache.http.conn.SchemePortResolver);
    descriptor: (Lorg/apache/http/conn/SchemePortResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.http.impl.conn.DefaultRoutePlanner this
        start local 1 // org.apache.http.conn.SchemePortResolver schemePortResolver
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            aload 1 /* schemePortResolver */
            ifnull 2
            aload 1 /* schemePortResolver */
            goto 3
         2: .line 61
      StackMap locals: org.apache.http.impl.conn.DefaultRoutePlanner org.apache.http.conn.SchemePortResolver
      StackMap stack: org.apache.http.impl.conn.DefaultRoutePlanner
            getstatic org.apache.http.impl.conn.DefaultSchemePortResolver.INSTANCE:Lorg/apache/http/impl/conn/DefaultSchemePortResolver;
         3: .line 60
      StackMap locals: org.apache.http.impl.conn.DefaultRoutePlanner org.apache.http.conn.SchemePortResolver
      StackMap stack: org.apache.http.impl.conn.DefaultRoutePlanner org.apache.http.conn.SchemePortResolver
            putfield org.apache.http.impl.conn.DefaultRoutePlanner.schemePortResolver:Lorg/apache/http/conn/SchemePortResolver;
         4: .line 62
            return
        end local 1 // org.apache.http.conn.SchemePortResolver schemePortResolver
        end local 0 // org.apache.http.impl.conn.DefaultRoutePlanner this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/apache/http/impl/conn/DefaultRoutePlanner;
            0    5     1  schemePortResolver  Lorg/apache/http/conn/SchemePortResolver;
    MethodParameters:
                    Name  Flags
      schemePortResolver  final

  public org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/conn/routing/HttpRoute;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // org.apache.http.impl.conn.DefaultRoutePlanner this
        start local 1 // org.apache.http.HttpHost host
        start local 2 // org.apache.http.HttpRequest request
        start local 3 // org.apache.http.protocol.HttpContext context
         0: .line 69
            aload 2 /* request */
            ldc "Request"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 70
            aload 1 /* host */
            ifnonnull 3
         2: .line 71
            new org.apache.http.ProtocolException
            dup
            ldc "Target host is not specified"
            invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 73
      StackMap locals:
      StackMap stack:
            aload 3 /* context */
            invokestatic org.apache.http.client.protocol.HttpClientContext.adapt:(Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/protocol/HttpClientContext;
            astore 4 /* clientContext */
        start local 4 // org.apache.http.client.protocol.HttpClientContext clientContext
         4: .line 74
            aload 4 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getRequestConfig:()Lorg/apache/http/client/config/RequestConfig;
            astore 5 /* config */
        start local 5 // org.apache.http.client.config.RequestConfig config
         5: .line 75
            aload 5 /* config */
            invokevirtual org.apache.http.client.config.RequestConfig.getLocalAddress:()Ljava/net/InetAddress;
            astore 6 /* local */
        start local 6 // java.net.InetAddress local
         6: .line 76
            aload 5 /* config */
            invokevirtual org.apache.http.client.config.RequestConfig.getProxy:()Lorg/apache/http/HttpHost;
            astore 7 /* proxy */
        start local 7 // org.apache.http.HttpHost proxy
         7: .line 77
            aload 7 /* proxy */
            ifnonnull 9
         8: .line 78
            aload 0 /* this */
            aload 1 /* host */
            aload 2 /* request */
            aload 3 /* context */
            invokevirtual org.apache.http.impl.conn.DefaultRoutePlanner.determineProxy:(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpHost;
            astore 7 /* proxy */
         9: .line 82
      StackMap locals: org.apache.http.impl.conn.DefaultRoutePlanner org.apache.http.HttpHost org.apache.http.HttpRequest org.apache.http.protocol.HttpContext org.apache.http.client.protocol.HttpClientContext org.apache.http.client.config.RequestConfig java.net.InetAddress org.apache.http.HttpHost
      StackMap stack:
            aload 1 /* host */
            invokevirtual org.apache.http.HttpHost.getPort:()I
            ifgt 18
        10: .line 84
            new org.apache.http.HttpHost
            dup
        11: .line 85
            aload 1 /* host */
            invokevirtual org.apache.http.HttpHost.getHostName:()Ljava/lang/String;
        12: .line 86
            aload 0 /* this */
            getfield org.apache.http.impl.conn.DefaultRoutePlanner.schemePortResolver:Lorg/apache/http/conn/SchemePortResolver;
            aload 1 /* host */
            invokeinterface org.apache.http.conn.SchemePortResolver.resolve:(Lorg/apache/http/HttpHost;)I
        13: .line 87
            aload 1 /* host */
            invokevirtual org.apache.http.HttpHost.getSchemeName:()Ljava/lang/String;
        14: .line 84
            invokespecial org.apache.http.HttpHost.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            astore 8 /* target */
        start local 8 // org.apache.http.HttpHost target
        15: .line 88
            goto 19
        end local 8 // org.apache.http.HttpHost target
      StackMap locals:
      StackMap stack: org.apache.http.conn.UnsupportedSchemeException
        16: astore 9 /* ex */
        start local 9 // org.apache.http.conn.UnsupportedSchemeException ex
        17: .line 89
            new org.apache.http.HttpException
            dup
            aload 9 /* ex */
            invokevirtual org.apache.http.conn.UnsupportedSchemeException.getMessage:()Ljava/lang/String;
            invokespecial org.apache.http.HttpException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // org.apache.http.conn.UnsupportedSchemeException ex
        18: .line 92
      StackMap locals:
      StackMap stack:
            aload 1 /* host */
            astore 8 /* target */
        start local 8 // org.apache.http.HttpHost target
        19: .line 94
      StackMap locals: org.apache.http.HttpHost
      StackMap stack:
            aload 8 /* target */
            invokevirtual org.apache.http.HttpHost.getSchemeName:()Ljava/lang/String;
            ldc "https"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            istore 9 /* secure */
        start local 9 // boolean secure
        20: .line 95
            aload 7 /* proxy */
            ifnonnull 22
        21: .line 96
            new org.apache.http.conn.routing.HttpRoute
            dup
            aload 8 /* target */
            aload 6 /* local */
            iload 9 /* secure */
            invokespecial org.apache.http.conn.routing.HttpRoute.<init>:(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Z)V
            goto 23
        22: .line 97
      StackMap locals: int
      StackMap stack:
            new org.apache.http.conn.routing.HttpRoute
            dup
            aload 8 /* target */
            aload 6 /* local */
            aload 7 /* proxy */
            iload 9 /* secure */
            invokespecial org.apache.http.conn.routing.HttpRoute.<init>:(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/HttpHost;Z)V
        23: .line 95
      StackMap locals:
      StackMap stack: org.apache.http.conn.routing.HttpRoute
            areturn
        end local 9 // boolean secure
        end local 8 // org.apache.http.HttpHost target
        end local 7 // org.apache.http.HttpHost proxy
        end local 6 // java.net.InetAddress local
        end local 5 // org.apache.http.client.config.RequestConfig config
        end local 4 // org.apache.http.client.protocol.HttpClientContext clientContext
        end local 3 // org.apache.http.protocol.HttpContext context
        end local 2 // org.apache.http.HttpRequest request
        end local 1 // org.apache.http.HttpHost host
        end local 0 // org.apache.http.impl.conn.DefaultRoutePlanner this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lorg/apache/http/impl/conn/DefaultRoutePlanner;
            0   24     1           host  Lorg/apache/http/HttpHost;
            0   24     2        request  Lorg/apache/http/HttpRequest;
            0   24     3        context  Lorg/apache/http/protocol/HttpContext;
            4   24     4  clientContext  Lorg/apache/http/client/protocol/HttpClientContext;
            5   24     5         config  Lorg/apache/http/client/config/RequestConfig;
            6   24     6          local  Ljava/net/InetAddress;
            7   24     7          proxy  Lorg/apache/http/HttpHost;
           15   16     8         target  Lorg/apache/http/HttpHost;
           19   24     8         target  Lorg/apache/http/HttpHost;
           17   18     9             ex  Lorg/apache/http/conn/UnsupportedSchemeException;
           20   24     9         secure  Z
      Exception table:
        from    to  target  type
          10    15      16  Class org.apache.http.conn.UnsupportedSchemeException
    Exceptions:
      throws org.apache.http.HttpException
    MethodParameters:
         Name  Flags
      host     final
      request  final
      context  final

  protected org.apache.http.HttpHost determineProxy(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpHost;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // org.apache.http.impl.conn.DefaultRoutePlanner this
        start local 1 // org.apache.http.HttpHost target
        start local 2 // org.apache.http.HttpRequest request
        start local 3 // org.apache.http.protocol.HttpContext context
         0: .line 109
            aconst_null
            areturn
        end local 3 // org.apache.http.protocol.HttpContext context
        end local 2 // org.apache.http.HttpRequest request
        end local 1 // org.apache.http.HttpHost target
        end local 0 // org.apache.http.impl.conn.DefaultRoutePlanner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/http/impl/conn/DefaultRoutePlanner;
            0    1     1   target  Lorg/apache/http/HttpHost;
            0    1     2  request  Lorg/apache/http/HttpRequest;
            0    1     3  context  Lorg/apache/http/protocol/HttpContext;
    Exceptions:
      throws org.apache.http.HttpException
    MethodParameters:
         Name  Flags
      target   final
      request  final
      context  final
}
SourceFile: "DefaultRoutePlanner.java"
    RuntimeInvisibleAnnotations: 
      org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.IMMUTABLE_CONDITIONAL:Lorg/apache/http/annotation/ThreadingBehavior;)