final class com.sun.tools.internal.xjc.generator.bean.field.ArrayField extends com.sun.tools.internal.xjc.generator.bean.field.AbstractListField
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.tools.internal.xjc.generator.bean.field.ArrayField
  super_class: com.sun.tools.internal.xjc.generator.bean.field.AbstractListField
{
  private com.sun.codemodel.internal.JMethod $setAll;
    descriptor: Lcom/sun/codemodel/internal/JMethod;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.codemodel.internal.JMethod $getAll;
    descriptor: Lcom/sun/codemodel/internal/JMethod;
    flags: (0x0002) ACC_PRIVATE

  void <init>(com.sun.tools.internal.xjc.generator.bean.ClassOutlineImpl, com.sun.tools.internal.xjc.model.CPropertyInfo);
    descriptor: (Lcom/sun/tools/internal/xjc/generator/bean/ClassOutlineImpl;Lcom/sun/tools/internal/xjc/model/CPropertyInfo;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
        start local 1 // com.sun.tools.internal.xjc.generator.bean.ClassOutlineImpl context
        start local 2 // com.sun.tools.internal.xjc.model.CPropertyInfo prop
         0: .line 91
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* prop */
            iconst_0
            invokespecial com.sun.tools.internal.xjc.generator.bean.field.AbstractListField.<init>:(Lcom/sun/tools/internal/xjc/generator/bean/ClassOutlineImpl;Lcom/sun/tools/internal/xjc/model/CPropertyInfo;Z)V
         1: .line 92
            aload 0 /* this */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.generateArray:()V
         2: .line 93
            return
        end local 2 // com.sun.tools.internal.xjc.model.CPropertyInfo prop
        end local 1 // com.sun.tools.internal.xjc.generator.bean.ClassOutlineImpl context
        end local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField;
            0    3     1  context  Lcom/sun/tools/internal/xjc/generator/bean/ClassOutlineImpl;
            0    3     2     prop  Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
    MethodParameters:
         Name  Flags
      context  
      prop     

  protected final void generateArray();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
         0: .line 96
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.outline:Lcom/sun/tools/internal/xjc/generator/bean/ClassOutlineImpl;
            getfield com.sun.tools.internal.xjc.generator.bean.ClassOutlineImpl.implClass:Lcom/sun/codemodel/internal/JDefinedClass;
            iconst_2
            aload 0 /* this */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.getCoreListType:()Lcom/sun/codemodel/internal/JClass;
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            iconst_0
            invokevirtual com.sun.tools.internal.xjc.model.CPropertyInfo.getName:(Z)Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JDefinedClass.field:(ILcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldVar;
            putfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.field:Lcom/sun/codemodel/internal/JFieldVar;
         1: .line 97
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.field:Lcom/sun/codemodel/internal/JFieldVar;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.annotate:(Lcom/sun/codemodel/internal/JAnnotatable;)V
         2: .line 100
            aload 0 /* this */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.generateAccessors:()V
         3: .line 101
            return
        end local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField;

  public void generateAccessors();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=1
        start local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
         0: .line 105
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.outline:Lcom/sun/tools/internal/xjc/generator/bean/ClassOutlineImpl;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.ClassOutlineImpl.createMethodWriter:()Lcom/sun/tools/internal/xjc/generator/bean/MethodWriter;
            astore 1 /* writer */
        start local 1 // com.sun.tools.internal.xjc.generator.bean.MethodWriter writer
         1: .line 106
            aload 0 /* this */
            invokestatic com.sun.codemodel.internal.JExpr._this:()Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.create:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField$Accessor;
            astore 2 /* acc */
        start local 2 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor acc
         2: .line 115
            aload 0 /* this */
            aload 1 /* writer */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
            invokevirtual com.sun.codemodel.internal.JType.array:()Lcom/sun/codemodel/internal/JClass;
            new java.lang.StringBuilder
            dup
            ldc "get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.model.CPropertyInfo.getName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.declareMethod:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JMethod;
            putfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.$getAll:Lcom/sun/codemodel/internal/JMethod;
         3: .line 116
            aload 1 /* writer */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.javadoc:()Lcom/sun/codemodel/internal/JDocComment;
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            getfield com.sun.tools.internal.xjc.model.CPropertyInfo.javadoc:Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JDocComment.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JDocComment;
            pop
         4: .line 117
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.$getAll:Lcom/sun/codemodel/internal/JMethod;
            invokevirtual com.sun.codemodel.internal.JMethod.body:()Lcom/sun/codemodel/internal/JBlock;
            astore 5 /* body */
        start local 5 // com.sun.codemodel.internal.JBlock body
         5: .line 119
            aload 5 /* body */
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            invokestatic com.sun.codemodel.internal.JExpr._null:()Lcom/sun/codemodel/internal/JExpression;
            invokeinterface com.sun.codemodel.internal.JExpression.eq:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JBlock._if:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JConditional;
            invokevirtual com.sun.codemodel.internal.JConditional._then:()Lcom/sun/codemodel/internal/JBlock;
         6: .line 120
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
            iconst_0
            invokestatic com.sun.codemodel.internal.JExpr.newArray:(Lcom/sun/codemodel/internal/JType;I)Lcom/sun/codemodel/internal/JArray;
            invokevirtual com.sun.codemodel.internal.JBlock._return:(Lcom/sun/codemodel/internal/JExpression;)V
         7: .line 121
            aload 5 /* body */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
            invokevirtual com.sun.codemodel.internal.JType.array:()Lcom/sun/codemodel/internal/JClass;
            ldc "retVal"
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.implType:Lcom/sun/codemodel/internal/JType;
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            ldc "length"
            invokeinterface com.sun.codemodel.internal.JExpression.ref:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldRef;
            invokestatic com.sun.codemodel.internal.JExpr.newArray:(Lcom/sun/codemodel/internal/JType;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JArray;
            invokevirtual com.sun.codemodel.internal.JBlock.decl:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JVar;
            astore 6 /* var */
        start local 6 // com.sun.codemodel.internal.JVar var
         8: .line 122
            aload 5 /* body */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.codeModel:Lcom/sun/codemodel/internal/JCodeModel;
            ldc Ljava/lang/System;
            invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
            ldc "arraycopy"
            invokevirtual com.sun.codemodel.internal.JClass.staticInvoke:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JInvocation;
         9: .line 123
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JInvocation.arg:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JInvocation;
            iconst_0
            invokestatic com.sun.codemodel.internal.JExpr.lit:(I)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JInvocation.arg:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JInvocation;
        10: .line 124
            aload 6 /* var */
            invokevirtual com.sun.codemodel.internal.JInvocation.arg:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JInvocation;
        11: .line 125
            iconst_0
            invokestatic com.sun.codemodel.internal.JExpr.lit:(I)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JInvocation.arg:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JInvocation;
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            ldc "length"
            invokeinterface com.sun.codemodel.internal.JExpression.ref:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldRef;
            invokevirtual com.sun.codemodel.internal.JInvocation.arg:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JInvocation;
        12: .line 122
            invokevirtual com.sun.codemodel.internal.JBlock.add:(Lcom/sun/codemodel/internal/JStatement;)Lcom/sun/codemodel/internal/JBlock;
            pop
        13: .line 126
            aload 5 /* body */
            ldc "retVal"
            invokestatic com.sun.codemodel.internal.JExpr.direct:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JBlock._return:(Lcom/sun/codemodel/internal/JExpression;)V
        14: .line 128
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.listPossibleTypes:(Lcom/sun/tools/internal/xjc/model/CPropertyInfo;)Ljava/util/List;
            astore 7 /* returnTypes */
        start local 7 // java.util.List returnTypes
        15: .line 129
            aload 1 /* writer */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.javadoc:()Lcom/sun/codemodel/internal/JDocComment;
            invokevirtual com.sun.codemodel.internal.JDocComment.addReturn:()Lcom/sun/codemodel/internal/JCommentPart;
            ldc "array of\n"
            invokevirtual com.sun.codemodel.internal.JCommentPart.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JCommentPart;
            aload 7 /* returnTypes */
            invokevirtual com.sun.codemodel.internal.JCommentPart.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JCommentPart;
            pop
        16: .line 136
            aload 1 /* writer */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
            new java.lang.StringBuilder
            dup
            ldc "get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.model.CPropertyInfo.getName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.declareMethod:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JMethod;
            astore 8 /* $get */
        start local 8 // com.sun.codemodel.internal.JMethod $get
        17: .line 137
            aload 1 /* writer */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.codeModel:Lcom/sun/codemodel/internal/JCodeModel;
            getfield com.sun.codemodel.internal.JCodeModel.INT:Lcom/sun/codemodel/internal/JPrimitiveType;
            ldc "idx"
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.addParameter:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JVar;
            astore 3 /* $idx */
        start local 3 // com.sun.codemodel.internal.JVar $idx
        18: .line 139
            aload 8 /* $get */
            invokevirtual com.sun.codemodel.internal.JMethod.body:()Lcom/sun/codemodel/internal/JBlock;
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            invokestatic com.sun.codemodel.internal.JExpr._null:()Lcom/sun/codemodel/internal/JExpression;
            invokeinterface com.sun.codemodel.internal.JExpression.eq:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JBlock._if:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JConditional;
            invokevirtual com.sun.codemodel.internal.JConditional._then:()Lcom/sun/codemodel/internal/JBlock;
        19: .line 140
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.codeModel:Lcom/sun/codemodel/internal/JCodeModel;
            ldc Ljava/lang/IndexOutOfBoundsException;
            invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
            invokestatic com.sun.codemodel.internal.JExpr._new:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JInvocation;
            invokevirtual com.sun.codemodel.internal.JBlock._throw:(Lcom/sun/codemodel/internal/JExpression;)V
        20: .line 142
            aload 1 /* writer */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.javadoc:()Lcom/sun/codemodel/internal/JDocComment;
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            getfield com.sun.tools.internal.xjc.model.CPropertyInfo.javadoc:Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JDocComment.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JDocComment;
            pop
        21: .line 143
            aload 8 /* $get */
            invokevirtual com.sun.codemodel.internal.JMethod.body:()Lcom/sun/codemodel/internal/JBlock;
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            aload 3 /* $idx */
            invokeinterface com.sun.codemodel.internal.JExpression.component:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JArrayCompRef;
            invokevirtual com.sun.codemodel.internal.JBlock._return:(Lcom/sun/codemodel/internal/JExpression;)V
        22: .line 145
            aload 1 /* writer */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.javadoc:()Lcom/sun/codemodel/internal/JDocComment;
            invokevirtual com.sun.codemodel.internal.JDocComment.addReturn:()Lcom/sun/codemodel/internal/JCommentPart;
            ldc "one of\n"
            invokevirtual com.sun.codemodel.internal.JCommentPart.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JCommentPart;
            aload 7 /* returnTypes */
            invokevirtual com.sun.codemodel.internal.JCommentPart.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JCommentPart;
            pop
        23: .line 151
            aload 1 /* writer */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.codeModel:Lcom/sun/codemodel/internal/JCodeModel;
            getfield com.sun.codemodel.internal.JCodeModel.INT:Lcom/sun/codemodel/internal/JPrimitiveType;
            new java.lang.StringBuilder
            dup
            ldc "get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.model.CPropertyInfo.getName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Length"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.declareMethod:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JMethod;
            astore 9 /* $getLength */
        start local 9 // com.sun.codemodel.internal.JMethod $getLength
        24: .line 152
            aload 9 /* $getLength */
            invokevirtual com.sun.codemodel.internal.JMethod.body:()Lcom/sun/codemodel/internal/JBlock;
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            invokestatic com.sun.codemodel.internal.JExpr._null:()Lcom/sun/codemodel/internal/JExpression;
            invokeinterface com.sun.codemodel.internal.JExpression.eq:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JBlock._if:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JConditional;
            invokevirtual com.sun.codemodel.internal.JConditional._then:()Lcom/sun/codemodel/internal/JBlock;
        25: .line 153
            iconst_0
            invokestatic com.sun.codemodel.internal.JExpr.lit:(I)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JBlock._return:(Lcom/sun/codemodel/internal/JExpression;)V
        26: .line 154
            aload 9 /* $getLength */
            invokevirtual com.sun.codemodel.internal.JMethod.body:()Lcom/sun/codemodel/internal/JBlock;
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            ldc "length"
            invokeinterface com.sun.codemodel.internal.JExpression.ref:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldRef;
            invokevirtual com.sun.codemodel.internal.JBlock._return:(Lcom/sun/codemodel/internal/JExpression;)V
        27: .line 161
            aload 0 /* this */
            aload 1 /* writer */
        28: .line 162
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.codeModel:Lcom/sun/codemodel/internal/JCodeModel;
            getfield com.sun.codemodel.internal.JCodeModel.VOID:Lcom/sun/codemodel/internal/JPrimitiveType;
        29: .line 163
            new java.lang.StringBuilder
            dup
            ldc "set"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.model.CPropertyInfo.getName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 161
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.declareMethod:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JMethod;
            putfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.$setAll:Lcom/sun/codemodel/internal/JMethod;
        31: .line 165
            aload 1 /* writer */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.javadoc:()Lcom/sun/codemodel/internal/JDocComment;
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            getfield com.sun.tools.internal.xjc.model.CPropertyInfo.javadoc:Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JDocComment.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JDocComment;
            pop
        32: .line 166
            aload 1 /* writer */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
            invokevirtual com.sun.codemodel.internal.JType.array:()Lcom/sun/codemodel/internal/JClass;
            ldc "values"
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.addParameter:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JVar;
            astore 4 /* $value */
        start local 4 // com.sun.codemodel.internal.JVar $value
        33: .line 167
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.$setAll:Lcom/sun/codemodel/internal/JMethod;
            invokevirtual com.sun.codemodel.internal.JMethod.body:()Lcom/sun/codemodel/internal/JBlock;
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.codeModel:Lcom/sun/codemodel/internal/JCodeModel;
            getfield com.sun.codemodel.internal.JCodeModel.INT:Lcom/sun/codemodel/internal/JPrimitiveType;
            ldc "len"
            aload 4 /* $value */
            ldc "length"
            invokevirtual com.sun.codemodel.internal.JVar.ref:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldRef;
            invokevirtual com.sun.codemodel.internal.JBlock.decl:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JVar;
            astore 10 /* $len */
        start local 10 // com.sun.codemodel.internal.JVar $len
        34: .line 169
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.$setAll:Lcom/sun/codemodel/internal/JMethod;
            invokevirtual com.sun.codemodel.internal.JMethod.body:()Lcom/sun/codemodel/internal/JBlock;
        35: .line 170
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            checkcast com.sun.codemodel.internal.JAssignmentTarget
        36: .line 171
            aload 0 /* this */
        37: .line 172
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.codeModel:Lcom/sun/codemodel/internal/JCodeModel;
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
            invokevirtual com.sun.codemodel.internal.JType.erasure:()Lcom/sun/codemodel/internal/JType;
            invokevirtual com.sun.codemodel.internal.JType.fullName:()Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JClass;
        38: .line 173
            aload 10 /* $len */
        39: .line 171
            invokestatic com.sun.codemodel.internal.JExpr.newArray:(Lcom/sun/codemodel/internal/JType;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JArray;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.castToImplTypeArray:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
        40: .line 169
            invokevirtual com.sun.codemodel.internal.JBlock.assign:(Lcom/sun/codemodel/internal/JAssignmentTarget;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JBlock;
            pop
        41: .line 175
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.$setAll:Lcom/sun/codemodel/internal/JMethod;
            invokevirtual com.sun.codemodel.internal.JMethod.body:()Lcom/sun/codemodel/internal/JBlock;
            invokevirtual com.sun.codemodel.internal.JBlock._for:()Lcom/sun/codemodel/internal/JForLoop;
            astore 11 /* _for */
        start local 11 // com.sun.codemodel.internal.JForLoop _for
        42: .line 176
            aload 11 /* _for */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.codeModel:Lcom/sun/codemodel/internal/JCodeModel;
            getfield com.sun.codemodel.internal.JCodeModel.INT:Lcom/sun/codemodel/internal/JPrimitiveType;
            ldc "i"
            iconst_0
            invokestatic com.sun.codemodel.internal.JExpr.lit:(I)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JForLoop.init:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JVar;
            astore 12 /* $i */
        start local 12 // com.sun.codemodel.internal.JVar $i
        43: .line 177
            aload 11 /* _for */
            aload 12 /* $i */
            aload 10 /* $len */
            invokestatic com.sun.codemodel.internal.JOp.lt:(Lcom/sun/codemodel/internal/JExpression;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JForLoop.test:(Lcom/sun/codemodel/internal/JExpression;)V
        44: .line 178
            aload 11 /* _for */
            aload 12 /* $i */
            invokevirtual com.sun.codemodel.internal.JVar.incr:()Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JForLoop.update:(Lcom/sun/codemodel/internal/JExpression;)V
        45: .line 179
            aload 11 /* _for */
            invokevirtual com.sun.codemodel.internal.JForLoop.body:()Lcom/sun/codemodel/internal/JBlock;
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            aload 12 /* $i */
            invokeinterface com.sun.codemodel.internal.JExpression.component:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JArrayCompRef;
            aload 0 /* this */
            aload 2 /* acc */
            aload 4 /* $value */
            aload 12 /* $i */
            invokevirtual com.sun.codemodel.internal.JVar.component:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JArrayCompRef;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.box:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.castToImplType:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JBlock.assign:(Lcom/sun/codemodel/internal/JAssignmentTarget;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JBlock;
            pop
        46: .line 181
            aload 1 /* writer */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.javadoc:()Lcom/sun/codemodel/internal/JDocComment;
            aload 4 /* $value */
            invokevirtual com.sun.codemodel.internal.JDocComment.addParam:(Lcom/sun/codemodel/internal/JVar;)Lcom/sun/codemodel/internal/JCommentPart;
        47: .line 182
            ldc "allowed objects are\n"
            invokevirtual com.sun.codemodel.internal.JCommentPart.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JCommentPart;
        48: .line 183
            aload 7 /* returnTypes */
            invokevirtual com.sun.codemodel.internal.JCommentPart.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JCommentPart;
            pop
        49: .line 187
            aload 1 /* writer */
        50: .line 188
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
        51: .line 189
            new java.lang.StringBuilder
            dup
            ldc "set"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.model.CPropertyInfo.getName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        52: .line 187
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.declareMethod:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JMethod;
            astore 13 /* $set */
        start local 13 // com.sun.codemodel.internal.JMethod $set
        53: .line 190
            aload 1 /* writer */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.codeModel:Lcom/sun/codemodel/internal/JCodeModel;
            getfield com.sun.codemodel.internal.JCodeModel.INT:Lcom/sun/codemodel/internal/JPrimitiveType;
            ldc "idx"
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.addParameter:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JVar;
            astore 3 /* $idx */
        54: .line 191
            aload 1 /* writer */
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
            ldc "value"
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.addParameter:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JVar;
            astore 4 /* $value */
        55: .line 193
            aload 1 /* writer */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.javadoc:()Lcom/sun/codemodel/internal/JDocComment;
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.prop:Lcom/sun/tools/internal/xjc/model/CPropertyInfo;
            getfield com.sun.tools.internal.xjc.model.CPropertyInfo.javadoc:Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JDocComment.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JDocComment;
            pop
        56: .line 195
            aload 13 /* $set */
            invokevirtual com.sun.codemodel.internal.JMethod.body:()Lcom/sun/codemodel/internal/JBlock;
            astore 5 /* body */
        57: .line 196
            aload 5 /* body */
            aload 2 /* acc */
            iconst_1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.ref:(Z)Lcom/sun/codemodel/internal/JExpression;
            aload 3 /* $idx */
            invokeinterface com.sun.codemodel.internal.JExpression.component:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JArrayCompRef;
        58: .line 197
            aload 0 /* this */
            aload 2 /* acc */
            aload 4 /* $value */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.box:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.castToImplType:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
        59: .line 196
            invokestatic com.sun.codemodel.internal.JExpr.assign:(Lcom/sun/codemodel/internal/JAssignmentTarget;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            invokevirtual com.sun.codemodel.internal.JBlock._return:(Lcom/sun/codemodel/internal/JExpression;)V
        60: .line 199
            aload 1 /* writer */
            invokevirtual com.sun.tools.internal.xjc.generator.bean.MethodWriter.javadoc:()Lcom/sun/codemodel/internal/JDocComment;
            aload 4 /* $value */
            invokevirtual com.sun.codemodel.internal.JDocComment.addParam:(Lcom/sun/codemodel/internal/JVar;)Lcom/sun/codemodel/internal/JCommentPart;
        61: .line 200
            ldc "allowed object is\n"
            invokevirtual com.sun.codemodel.internal.JCommentPart.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JCommentPart;
        62: .line 201
            aload 7 /* returnTypes */
            invokevirtual com.sun.codemodel.internal.JCommentPart.append:(Ljava/lang/Object;)Lcom/sun/codemodel/internal/JCommentPart;
            pop
        63: .line 203
            return
        end local 13 // com.sun.codemodel.internal.JMethod $set
        end local 12 // com.sun.codemodel.internal.JVar $i
        end local 11 // com.sun.codemodel.internal.JForLoop _for
        end local 10 // com.sun.codemodel.internal.JVar $len
        end local 9 // com.sun.codemodel.internal.JMethod $getLength
        end local 8 // com.sun.codemodel.internal.JMethod $get
        end local 7 // java.util.List returnTypes
        end local 6 // com.sun.codemodel.internal.JVar var
        end local 5 // com.sun.codemodel.internal.JBlock body
        end local 4 // com.sun.codemodel.internal.JVar $value
        end local 3 // com.sun.codemodel.internal.JVar $idx
        end local 2 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor acc
        end local 1 // com.sun.tools.internal.xjc.generator.bean.MethodWriter writer
        end local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   64     0         this  Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField;
            1   64     1       writer  Lcom/sun/tools/internal/xjc/generator/bean/MethodWriter;
            2   64     2          acc  Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField$Accessor;
           18   64     3         $idx  Lcom/sun/codemodel/internal/JVar;
           33   64     4       $value  Lcom/sun/codemodel/internal/JVar;
            5   64     5         body  Lcom/sun/codemodel/internal/JBlock;
            8   64     6          var  Lcom/sun/codemodel/internal/JVar;
           15   64     7  returnTypes  Ljava/util/List<Ljava/lang/Object;>;
           17   64     8         $get  Lcom/sun/codemodel/internal/JMethod;
           24   64     9   $getLength  Lcom/sun/codemodel/internal/JMethod;
           34   64    10         $len  Lcom/sun/codemodel/internal/JVar;
           42   64    11         _for  Lcom/sun/codemodel/internal/JForLoop;
           43   64    12           $i  Lcom/sun/codemodel/internal/JVar;
           53   64    13         $set  Lcom/sun/codemodel/internal/JMethod;

  public com.sun.codemodel.internal.JType getRawType();
    descriptor: ()Lcom/sun/codemodel/internal/JType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
         0: .line 207
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
            invokevirtual com.sun.codemodel.internal.JType.array:()Lcom/sun/codemodel/internal/JClass;
            areturn
        end local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField;

  protected com.sun.codemodel.internal.JClass getCoreListType();
    descriptor: ()Lcom/sun/codemodel/internal/JClass;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
         0: .line 211
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.exposedType:Lcom/sun/codemodel/internal/JType;
            invokevirtual com.sun.codemodel.internal.JType.array:()Lcom/sun/codemodel/internal/JClass;
            areturn
        end local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField;

  public com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor create(com.sun.codemodel.internal.JExpression);
    descriptor: (Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField$Accessor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
        start local 1 // com.sun.codemodel.internal.JExpression targetObject
         0: .line 215
            new com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor
            dup
            aload 0 /* this */
            aload 1 /* targetObject */
            invokespecial com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor.<init>:(Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField;Lcom/sun/codemodel/internal/JExpression;)V
            areturn
        end local 1 // com.sun.codemodel.internal.JExpression targetObject
        end local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField;
            0    1     1  targetObject  Lcom/sun/codemodel/internal/JExpression;
    MethodParameters:
              Name  Flags
      targetObject  

  protected final com.sun.codemodel.internal.JExpression castToImplTypeArray(com.sun.codemodel.internal.JExpression);
    descriptor: (Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
        start local 1 // com.sun.codemodel.internal.JExpression exp
         0: .line 222
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.generator.bean.field.ArrayField.implType:Lcom/sun/codemodel/internal/JType;
            invokevirtual com.sun.codemodel.internal.JType.array:()Lcom/sun/codemodel/internal/JClass;
            aload 1 /* exp */
            invokestatic com.sun.codemodel.internal.JExpr.cast:(Lcom/sun/codemodel/internal/JType;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JCast;
            areturn
        end local 1 // com.sun.codemodel.internal.JExpression exp
        end local 0 // com.sun.tools.internal.xjc.generator.bean.field.ArrayField this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField;
            0    1     1   exp  Lcom/sun/codemodel/internal/JExpression;
    MethodParameters:
      Name  Flags
      exp   

  public com.sun.tools.internal.xjc.outline.FieldAccessor create(com.sun.codemodel.internal.JExpression);
    descriptor: (Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/tools/internal/xjc/outline/FieldAccessor;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual com.sun.tools.internal.xjc.generator.bean.field.ArrayField.create:(Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/tools/internal/xjc/generator/bean/field/ArrayField$Accessor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ArrayField.java"
NestMembers:
  com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor
InnerClasses:
  Accessor = com.sun.tools.internal.xjc.generator.bean.field.ArrayField$Accessor of com.sun.tools.internal.xjc.generator.bean.field.ArrayField