public void fieldsAccept(MemberVisitor memberVisitor) {
   for (int index = 0; index < fields.length; index++) {
     Field field = fields[index];
     if (field != null) {
       field.accept(this, memberVisitor);
     }
   }
 }
  public Field findField(String name, String descriptor) {
    for (int index = 0; index < fields.length; index++) {
      Field field = fields[index];
      if (field != null
          && (name == null || field.getName(this).equals(name))
          && (descriptor == null || field.getDescriptor(this).equals(descriptor))) {
        return field;
      }
    }

    return null;
  }
 public void fieldAccept(String name, String descriptor, MemberVisitor memberVisitor) {
   Field field = findField(name, descriptor);
   if (field != null) {
     field.accept(this, memberVisitor);
   }
 }