public final class org.codehaus.plexus.interpolation.util.ValueSourceUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.codehaus.plexus.interpolation.util.ValueSourceUtils
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.interpolation.util.ValueSourceUtils this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 33
            return
        end local 0 // org.codehaus.plexus.interpolation.util.ValueSourceUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/codehaus/plexus/interpolation/util/ValueSourceUtils;

  public static java.lang.String trimPrefix(java.lang.String, java.util.Collection<java.lang.String>, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Collection;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // java.lang.String expression
        start local 1 // java.util.Collection possiblePrefixes
        start local 2 // boolean allowUnprefixedExpressions
         0: .line 53
            aload 0 /* expression */
            ifnonnull 2
         1: .line 55
            aconst_null
            areturn
         2: .line 58
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* realExpr */
        start local 3 // java.lang.String realExpr
         3: .line 59
            aload 1 /* possiblePrefixes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: java.lang.String java.util.Collection int java.lang.String top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* prefix */
        start local 4 // java.lang.String prefix
         5: .line 61
            aload 0 /* expression */
            aload 4 /* prefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         6: .line 63
            aload 0 /* expression */
            aload 4 /* prefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* realExpr */
         7: .line 64
            aload 3 /* realExpr */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
         8: .line 66
            aload 3 /* realExpr */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* realExpr */
         9: .line 68
            goto 11
        end local 4 // java.lang.String prefix
        10: .line 59
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 72
      StackMap locals: java.lang.String java.util.Collection int java.lang.String
      StackMap stack:
            aload 3 /* realExpr */
            ifnonnull 13
            iload 2 /* allowUnprefixedExpressions */
            ifeq 13
        12: .line 74
            aload 0 /* expression */
            astore 3 /* realExpr */
        13: .line 77
      StackMap locals:
      StackMap stack:
            aload 3 /* realExpr */
            areturn
        end local 3 // java.lang.String realExpr
        end local 2 // boolean allowUnprefixedExpressions
        end local 1 // java.util.Collection possiblePrefixes
        end local 0 // java.lang.String expression
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   14     0                  expression  Ljava/lang/String;
            0   14     1            possiblePrefixes  Ljava/util/Collection<Ljava/lang/String;>;
            0   14     2  allowUnprefixedExpressions  Z
            3   14     3                    realExpr  Ljava/lang/String;
            5   10     4                      prefix  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/util/Collection<Ljava/lang/String;>;Z)Ljava/lang/String;
    MethodParameters:
                            Name  Flags
      expression                  
      possiblePrefixes            
      allowUnprefixedExpressions  

  public static java.lang.String trimPrefix(java.lang.String, java.lang.String[], boolean);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // java.lang.String expression
        start local 1 // java.lang.String[] possiblePrefixes
        start local 2 // boolean allowUnprefixedExpressions
         0: .line 82
            aload 0 /* expression */
            ifnonnull 2
         1: .line 84
            aconst_null
            areturn
         2: .line 87
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* realExpr */
        start local 3 // java.lang.String realExpr
         3: .line 88
            aload 1 /* possiblePrefixes */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 11
      StackMap locals: java.lang.String java.lang.String[] int java.lang.String top int int java.lang.String[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* prefix */
        start local 4 // java.lang.String prefix
         5: .line 90
            aload 0 /* expression */
            aload 4 /* prefix */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         6: .line 92
            aload 0 /* expression */
            aload 4 /* prefix */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* realExpr */
         7: .line 93
            aload 3 /* realExpr */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 12
         8: .line 95
            aload 3 /* realExpr */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* realExpr */
         9: .line 97
            goto 12
        end local 4 // java.lang.String prefix
        10: .line 88
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        11: iload 5
            iload 6
            if_icmplt 4
        12: .line 101
      StackMap locals: java.lang.String java.lang.String[] int java.lang.String
      StackMap stack:
            aload 3 /* realExpr */
            ifnonnull 14
            iload 2 /* allowUnprefixedExpressions */
            ifeq 14
        13: .line 103
            aload 0 /* expression */
            astore 3 /* realExpr */
        14: .line 106
      StackMap locals:
      StackMap stack:
            aload 3 /* realExpr */
            areturn
        end local 3 // java.lang.String realExpr
        end local 2 // boolean allowUnprefixedExpressions
        end local 1 // java.lang.String[] possiblePrefixes
        end local 0 // java.lang.String expression
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   15     0                  expression  Ljava/lang/String;
            0   15     1            possiblePrefixes  [Ljava/lang/String;
            0   15     2  allowUnprefixedExpressions  Z
            3   15     3                    realExpr  Ljava/lang/String;
            5   10     4                      prefix  Ljava/lang/String;
    MethodParameters:
                            Name  Flags
      expression                  
      possiblePrefixes            
      allowUnprefixedExpressions  
}
SourceFile: "ValueSourceUtils.java"