public class org.apache.batik.anim.values.AnimatableAngleOrIdentValue extends org.apache.batik.anim.values.AnimatableAngleValue
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.anim.values.AnimatableAngleOrIdentValue
  super_class: org.apache.batik.anim.values.AnimatableAngleValue
{
  protected boolean isIdent;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String ident;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected void <init>(org.apache.batik.anim.dom.AnimationTarget);
    descriptor: (Lorg/apache/batik/anim/dom/AnimationTarget;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
        start local 1 // org.apache.batik.anim.dom.AnimationTarget target
         0: .line 47
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.apache.batik.anim.values.AnimatableAngleValue.<init>:(Lorg/apache/batik/anim/dom/AnimationTarget;)V
         1: .line 48
            return
        end local 1 // org.apache.batik.anim.dom.AnimationTarget target
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;
            0    2     1  target  Lorg/apache/batik/anim/dom/AnimationTarget;
    MethodParameters:
        Name  Flags
      target  

  public void <init>(org.apache.batik.anim.dom.AnimationTarget, float, short);
    descriptor: (Lorg/apache/batik/anim/dom/AnimationTarget;FS)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
        start local 1 // org.apache.batik.anim.dom.AnimationTarget target
        start local 2 // float v
        start local 3 // short unit
         0: .line 54
            aload 0 /* this */
            aload 1 /* target */
            fload 2 /* v */
            iload 3 /* unit */
            invokespecial org.apache.batik.anim.values.AnimatableAngleValue.<init>:(Lorg/apache/batik/anim/dom/AnimationTarget;FS)V
         1: .line 55
            return
        end local 3 // short unit
        end local 2 // float v
        end local 1 // org.apache.batik.anim.dom.AnimationTarget target
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;
            0    2     1  target  Lorg/apache/batik/anim/dom/AnimationTarget;
            0    2     2       v  F
            0    2     3    unit  S
    MethodParameters:
        Name  Flags
      target  
      v       
      unit    

  public void <init>(org.apache.batik.anim.dom.AnimationTarget, java.lang.String);
    descriptor: (Lorg/apache/batik/anim/dom/AnimationTarget;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
        start local 1 // org.apache.batik.anim.dom.AnimationTarget target
        start local 2 // java.lang.String ident
         0: .line 61
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.apache.batik.anim.values.AnimatableAngleValue.<init>:(Lorg/apache/batik/anim/dom/AnimationTarget;)V
         1: .line 62
            aload 0 /* this */
            aload 2 /* ident */
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
         2: .line 63
            aload 0 /* this */
            iconst_1
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
         3: .line 64
            return
        end local 2 // java.lang.String ident
        end local 1 // org.apache.batik.anim.dom.AnimationTarget target
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;
            0    4     1  target  Lorg/apache/batik/anim/dom/AnimationTarget;
            0    4     2   ident  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      target  
      ident   

  public boolean isIdent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
         0: .line 70
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ireturn
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;

  public java.lang.String getIdent();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
         0: .line 77
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            areturn
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;

  public boolean canPace();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
         0: .line 85
            iconst_0
            ireturn
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;

  public float distanceTo(org.apache.batik.anim.values.AnimatableValue);
    descriptor: (Lorg/apache/batik/anim/values/AnimatableValue;)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
        start local 1 // org.apache.batik.anim.values.AnimatableValue other
         0: .line 93
            fconst_0
            freturn
        end local 1 // org.apache.batik.anim.values.AnimatableValue other
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;
            0    1     1  other  Lorg/apache/batik/anim/values/AnimatableValue;
    MethodParameters:
       Name  Flags
      other  

  public org.apache.batik.anim.values.AnimatableValue getZeroValue();
    descriptor: ()Lorg/apache/batik/anim/values/AnimatableValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
         0: .line 100
            new org.apache.batik.anim.values.AnimatableAngleOrIdentValue
            dup
         1: .line 101
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.target:Lorg/apache/batik/anim/dom/AnimationTarget;
            fconst_0
            iconst_1
         2: .line 100
            invokespecial org.apache.batik.anim.values.AnimatableAngleOrIdentValue.<init>:(Lorg/apache/batik/anim/dom/AnimationTarget;FS)V
            areturn
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;

  public java.lang.String getCssText();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
         0: .line 108
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ifeq 2
         1: .line 109
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            areturn
         2: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.apache.batik.anim.values.AnimatableAngleValue.getCssText:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;

  public org.apache.batik.anim.values.AnimatableValue interpolate(org.apache.batik.anim.values.AnimatableValue, org.apache.batik.anim.values.AnimatableValue, float, org.apache.batik.anim.values.AnimatableValue, int);
    descriptor: (Lorg/apache/batik/anim/values/AnimatableValue;Lorg/apache/batik/anim/values/AnimatableValue;FLorg/apache/batik/anim/values/AnimatableValue;I)Lorg/apache/batik/anim/values/AnimatableValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
        start local 1 // org.apache.batik.anim.values.AnimatableValue result
        start local 2 // org.apache.batik.anim.values.AnimatableValue to
        start local 3 // float interpolation
        start local 4 // org.apache.batik.anim.values.AnimatableValue accumulation
        start local 5 // int multiplier
         0: .line 122
            aload 1 /* result */
            ifnonnull 3
         1: .line 123
            new org.apache.batik.anim.values.AnimatableAngleOrIdentValue
            dup
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.target:Lorg/apache/batik/anim/dom/AnimationTarget;
            invokespecial org.apache.batik.anim.values.AnimatableAngleOrIdentValue.<init>:(Lorg/apache/batik/anim/dom/AnimationTarget;)V
            astore 6 /* res */
        start local 6 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue res
         2: .line 124
            goto 4
        end local 6 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue res
         3: .line 125
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            checkcast org.apache.batik.anim.values.AnimatableAngleOrIdentValue
            astore 6 /* res */
        start local 6 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue res
         4: .line 128
      StackMap locals: org.apache.batik.anim.values.AnimatableAngleOrIdentValue
      StackMap stack:
            aload 2 /* to */
            ifnonnull 20
         5: .line 129
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ifeq 12
         6: .line 130
            aload 6 /* res */
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ifeq 7
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            iconst_0
            goto 8
      StackMap locals:
      StackMap stack: org.apache.batik.anim.values.AnimatableAngleOrIdentValue
         7: iconst_1
      StackMap locals: org.apache.batik.anim.values.AnimatableAngleOrIdentValue org.apache.batik.anim.values.AnimatableValue org.apache.batik.anim.values.AnimatableValue float org.apache.batik.anim.values.AnimatableValue int org.apache.batik.anim.values.AnimatableAngleOrIdentValue
      StackMap stack: org.apache.batik.anim.values.AnimatableAngleOrIdentValue int
         8: putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.hasChanged:Z
         9: .line 131
            aload 6 /* res */
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
        10: .line 132
            aload 6 /* res */
            iconst_1
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
        11: .line 133
            goto 49
        12: .line 134
      StackMap locals:
      StackMap stack:
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
            istore 7 /* oldUnit */
        start local 7 // short oldUnit
        13: .line 135
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
            fstore 8 /* oldValue */
        start local 8 // float oldValue
        14: .line 136
            aload 0 /* this */
            aload 6 /* res */
            aload 2 /* to */
            fload 3 /* interpolation */
            aload 4 /* accumulation */
        15: .line 137
            iload 5 /* multiplier */
        16: .line 136
            invokespecial org.apache.batik.anim.values.AnimatableAngleValue.interpolate:(Lorg/apache/batik/anim/values/AnimatableValue;Lorg/apache/batik/anim/values/AnimatableValue;FLorg/apache/batik/anim/values/AnimatableValue;I)Lorg/apache/batik/anim/values/AnimatableValue;
            pop
        17: .line 138
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
            iload 7 /* oldUnit */
            if_icmpne 18
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
            fload 8 /* oldValue */
            fcmpl
            ifeq 49
        18: .line 139
      StackMap locals: int float
      StackMap stack:
            aload 6 /* res */
            iconst_1
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.hasChanged:Z
        end local 8 // float oldValue
        end local 7 // short oldUnit
        19: .line 142
            goto 49
        20: .line 144
      StackMap locals:
      StackMap stack:
            aload 2 /* to */
            checkcast org.apache.batik.anim.values.AnimatableAngleOrIdentValue
        21: .line 143
            astore 7 /* toValue */
        start local 7 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue toValue
        22: .line 145
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ifne 23
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ifeq 46
        23: .line 146
      StackMap locals: org.apache.batik.anim.values.AnimatableAngleOrIdentValue
      StackMap stack:
            fload 3 /* interpolation */
            f2d
            ldc 0.5
            dcmpl
            iflt 35
        24: .line 147
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            if_icmpne 29
        25: .line 148
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
            if_icmpne 29
        26: .line 149
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
            fcmpl
            ifne 29
        27: .line 150
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ifeq 49
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ifeq 49
        28: .line 151
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 49
        29: .line 152
      StackMap locals:
      StackMap stack:
            aload 6 /* res */
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
        30: .line 153
            aload 6 /* res */
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
        31: .line 154
            aload 6 /* res */
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
        32: .line 155
            aload 6 /* res */
            aload 7 /* toValue */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
        33: .line 156
            aload 6 /* res */
            iconst_1
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.hasChanged:Z
        34: .line 158
            goto 49
        35: .line 159
      StackMap locals:
      StackMap stack:
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            if_icmpne 40
        36: .line 160
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
            if_icmpne 40
        37: .line 161
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
            fcmpl
            ifne 40
        38: .line 162
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ifeq 49
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            ifeq 49
        39: .line 163
            aload 6 /* res */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 49
        40: .line 164
      StackMap locals:
      StackMap stack:
            aload 6 /* res */
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.isIdent:Z
        41: .line 165
            aload 6 /* res */
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.ident:Ljava/lang/String;
        42: .line 166
            aload 6 /* res */
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.unit:S
        43: .line 167
            aload 6 /* res */
            aload 0 /* this */
            getfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.value:F
        44: .line 168
            aload 6 /* res */
            iconst_1
            putfield org.apache.batik.anim.values.AnimatableAngleOrIdentValue.hasChanged:Z
        45: .line 171
            goto 49
        46: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* res */
            aload 2 /* to */
            fload 3 /* interpolation */
            aload 4 /* accumulation */
        47: .line 173
            iload 5 /* multiplier */
        48: .line 172
            invokespecial org.apache.batik.anim.values.AnimatableAngleValue.interpolate:(Lorg/apache/batik/anim/values/AnimatableValue;Lorg/apache/batik/anim/values/AnimatableValue;FLorg/apache/batik/anim/values/AnimatableValue;I)Lorg/apache/batik/anim/values/AnimatableValue;
            pop
        end local 7 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue toValue
        49: .line 177
      StackMap locals:
      StackMap stack:
            aload 6 /* res */
            areturn
        end local 6 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue res
        end local 5 // int multiplier
        end local 4 // org.apache.batik.anim.values.AnimatableValue accumulation
        end local 3 // float interpolation
        end local 2 // org.apache.batik.anim.values.AnimatableValue to
        end local 1 // org.apache.batik.anim.values.AnimatableValue result
        end local 0 // org.apache.batik.anim.values.AnimatableAngleOrIdentValue this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   50     0           this  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;
            0   50     1         result  Lorg/apache/batik/anim/values/AnimatableValue;
            0   50     2             to  Lorg/apache/batik/anim/values/AnimatableValue;
            0   50     3  interpolation  F
            0   50     4   accumulation  Lorg/apache/batik/anim/values/AnimatableValue;
            0   50     5     multiplier  I
            2    3     6            res  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;
            4   50     6            res  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;
           13   19     7        oldUnit  S
           14   19     8       oldValue  F
           22   49     7        toValue  Lorg/apache/batik/anim/values/AnimatableAngleOrIdentValue;
    MethodParameters:
               Name  Flags
      result         
      to             
      interpolation  
      accumulation   
      multiplier     
}
SourceFile: "AnimatableAngleOrIdentValue.java"