public abstract class org.eclipse.jgit.transport.TransportProtocol
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jgit.transport.TransportProtocol
  super_class: java.lang.Object
{
  private static volatile int[] $SWITCH_TABLE$org$eclipse$jgit$transport$TransportProtocol$URIishField;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.transport.TransportProtocol this
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jgit.transport.TransportProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/TransportProtocol;

  public abstract java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.util.Set<java.lang.String> getSchemes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.transport.TransportProtocol this
         0: .line 86
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 0 // org.eclipse.jgit.transport.TransportProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/TransportProtocol;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.util.Set<org.eclipse.jgit.transport.TransportProtocol$URIishField> getRequiredFields();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.transport.TransportProtocol this
         0: .line 95
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.PATH:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 0 // org.eclipse.jgit.transport.TransportProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/TransportProtocol;
    Signature: ()Ljava/util/Set<Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;>;

  public java.util.Set<org.eclipse.jgit.transport.TransportProtocol$URIishField> getOptionalFields();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.transport.TransportProtocol this
         0: .line 104
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 0 // org.eclipse.jgit.transport.TransportProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/TransportProtocol;
    Signature: ()Ljava/util/Set<Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;>;

  public int getDefaultPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.transport.TransportProtocol this
         0: .line 113
            iconst_m1
            ireturn
        end local 0 // org.eclipse.jgit.transport.TransportProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/TransportProtocol;

  public boolean canHandle(org.eclipse.jgit.transport.URIish);
    descriptor: (Lorg/eclipse/jgit/transport/URIish;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.transport.TransportProtocol this
        start local 1 // org.eclipse.jgit.transport.URIish uri
         0: .line 135
            aload 0 /* this */
            aload 1 /* uri */
            aconst_null
            aconst_null
            invokevirtual org.eclipse.jgit.transport.TransportProtocol.canHandle:(Lorg/eclipse/jgit/transport/URIish;Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;)Z
            ireturn
        end local 1 // org.eclipse.jgit.transport.URIish uri
        end local 0 // org.eclipse.jgit.transport.TransportProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/TransportProtocol;
            0    1     1   uri  Lorg/eclipse/jgit/transport/URIish;
    MethodParameters:
      Name  Flags
      uri   

  public boolean canHandle(org.eclipse.jgit.transport.URIish, org.eclipse.jgit.lib.Repository, java.lang.String);
    descriptor: (Lorg/eclipse/jgit/transport/URIish;Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // org.eclipse.jgit.transport.TransportProtocol this
        start local 1 // org.eclipse.jgit.transport.URIish uri
        start local 2 // org.eclipse.jgit.lib.Repository local
        start local 3 // java.lang.String remoteName
         0: .line 164
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.TransportProtocol.getSchemes:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.TransportProtocol.getSchemes:()Ljava/util/Set;
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getScheme:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 165
            iconst_0
            ireturn
         2: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.TransportProtocol.getRequiredFields:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 16
      StackMap locals: org.eclipse.jgit.transport.TransportProtocol org.eclipse.jgit.transport.URIish org.eclipse.jgit.lib.Repository java.lang.String top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.TransportProtocol$URIishField
            astore 4 /* field */
        start local 4 // org.eclipse.jgit.transport.TransportProtocol$URIishField field
         4: .line 168
            invokestatic org.eclipse.jgit.transport.TransportProtocol.$SWITCH_TABLE$org$eclipse$jgit$transport$TransportProtocol$URIishField:()[I
            aload 4 /* field */
            invokevirtual org.eclipse.jgit.transport.TransportProtocol$URIishField.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 5
                    2: 7
                    3: 9
                    4: 11
                    5: 13
              default: 15
          }
         5: .line 170
      StackMap locals: org.eclipse.jgit.transport.TransportProtocol org.eclipse.jgit.transport.URIish org.eclipse.jgit.lib.Repository java.lang.String org.eclipse.jgit.transport.TransportProtocol$URIishField java.util.Iterator
      StackMap stack:
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getUser:()Ljava/lang/String;
            ifnull 6
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getUser:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 16
         6: .line 171
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         7: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPass:()Ljava/lang/String;
            ifnull 8
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPass:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 16
         8: .line 176
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         9: .line 180
      StackMap locals:
      StackMap stack:
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getHost:()Ljava/lang/String;
            ifnull 10
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getHost:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 16
        10: .line 181
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPort:()I
            ifgt 16
        12: .line 186
            iconst_0
            ireturn
        13: .line 190
      StackMap locals:
      StackMap stack:
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPath:()Ljava/lang/String;
            ifnull 14
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPath:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 16
        14: .line 191
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        15: .line 195
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.eclipse.jgit.transport.TransportProtocol$URIishField field
        16: .line 167
      StackMap locals: org.eclipse.jgit.transport.TransportProtocol org.eclipse.jgit.transport.URIish org.eclipse.jgit.lib.Repository java.lang.String top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        17: .line 199
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.TransportProtocol.getRequiredFields:()Ljava/util/Set;
            invokestatic java.util.EnumSet.copyOf:(Ljava/util/Collection;)Ljava/util/EnumSet;
            astore 4 /* canHave */
        start local 4 // java.util.Set canHave
        18: .line 200
            aload 4 /* canHave */
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.TransportProtocol.getOptionalFields:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 202
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getUser:()Ljava/lang/String;
            ifnull 21
            aload 4 /* canHave */
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.USER:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 21
        20: .line 203
            iconst_0
            ireturn
        21: .line 204
      StackMap locals: org.eclipse.jgit.transport.TransportProtocol org.eclipse.jgit.transport.URIish org.eclipse.jgit.lib.Repository java.lang.String java.util.Set
      StackMap stack:
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPass:()Ljava/lang/String;
            ifnull 23
            aload 4 /* canHave */
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.PASS:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 23
        22: .line 205
            iconst_0
            ireturn
        23: .line 206
      StackMap locals:
      StackMap stack:
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getHost:()Ljava/lang/String;
            ifnull 25
            aload 4 /* canHave */
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.HOST:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 25
        24: .line 207
            iconst_0
            ireturn
        25: .line 208
      StackMap locals:
      StackMap stack:
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPort:()I
            ifle 27
            aload 4 /* canHave */
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.PORT:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 27
        26: .line 209
            iconst_0
            ireturn
        27: .line 210
      StackMap locals:
      StackMap stack:
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPath:()Ljava/lang/String;
            ifnull 29
            aload 4 /* canHave */
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.PATH:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 211
            iconst_0
            ireturn
        29: .line 213
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.util.Set canHave
        end local 3 // java.lang.String remoteName
        end local 2 // org.eclipse.jgit.lib.Repository local
        end local 1 // org.eclipse.jgit.transport.URIish uri
        end local 0 // org.eclipse.jgit.transport.TransportProtocol this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0        this  Lorg/eclipse/jgit/transport/TransportProtocol;
            0   30     1         uri  Lorg/eclipse/jgit/transport/URIish;
            0   30     2       local  Lorg/eclipse/jgit/lib/Repository;
            0   30     3  remoteName  Ljava/lang/String;
            4   16     4       field  Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
           18   30     4     canHave  Ljava/util/Set<Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;>;
    MethodParameters:
            Name  Flags
      uri         
      local       
      remoteName  

  public abstract org.eclipse.jgit.transport.Transport open(org.eclipse.jgit.transport.URIish, org.eclipse.jgit.lib.Repository, java.lang.String);
    descriptor: (Lorg/eclipse/jgit/transport/URIish;Lorg/eclipse/jgit/lib/Repository;Ljava/lang/String;)Lorg/eclipse/jgit/transport/Transport;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws org.eclipse.jgit.errors.NotSupportedException, org.eclipse.jgit.errors.TransportException
    MethodParameters:
            Name  Flags
      uri         
      local       
      remoteName  

  public org.eclipse.jgit.transport.Transport open(org.eclipse.jgit.transport.URIish);
    descriptor: (Lorg/eclipse/jgit/transport/URIish;)Lorg/eclipse/jgit/transport/Transport;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.transport.TransportProtocol this
        start local 1 // org.eclipse.jgit.transport.URIish uri
         0: .line 258
            new org.eclipse.jgit.errors.NotSupportedException
            dup
         1: .line 259
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.transportNeedsRepository:Ljava/lang/String;
         2: .line 258
            invokespecial org.eclipse.jgit.errors.NotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.eclipse.jgit.transport.URIish uri
        end local 0 // org.eclipse.jgit.transport.TransportProtocol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/transport/TransportProtocol;
            0    3     1   uri  Lorg/eclipse/jgit/transport/URIish;
    Exceptions:
      throws org.eclipse.jgit.errors.NotSupportedException, org.eclipse.jgit.errors.TransportException
    MethodParameters:
      Name  Flags
      uri   

  static int[] $SWITCH_TABLE$org$eclipse$jgit$transport$TransportProtocol$URIishField();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 58
            getstatic org.eclipse.jgit.transport.TransportProtocol.$SWITCH_TABLE$org$eclipse$jgit$transport$TransportProtocol$URIishField:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.eclipse.jgit.transport.TransportProtocol$URIishField.values:()[Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.HOST:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokevirtual org.eclipse.jgit.transport.TransportProtocol$URIishField.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.PASS:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokevirtual org.eclipse.jgit.transport.TransportProtocol$URIishField.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.PATH:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokevirtual org.eclipse.jgit.transport.TransportProtocol$URIishField.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.PORT:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokevirtual org.eclipse.jgit.transport.TransportProtocol$URIishField.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.eclipse.jgit.transport.TransportProtocol$URIishField.USER:Lorg/eclipse/jgit/transport/TransportProtocol$URIishField;
            invokevirtual org.eclipse.jgit.transport.TransportProtocol$URIishField.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.eclipse.jgit.transport.TransportProtocol.$SWITCH_TABLE$org$eclipse$jgit$transport$TransportProtocol$URIishField:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "TransportProtocol.java"
NestMembers:
  org.eclipse.jgit.transport.TransportProtocol$URIishField
InnerClasses:
  public final URIishField = org.eclipse.jgit.transport.TransportProtocol$URIishField of org.eclipse.jgit.transport.TransportProtocol