private com.google.protobuf.RepeatedFieldBuilder<
          org.box2d.proto.Box2D.PbJoint, org.box2d.proto.Box2D.PbJoint.Builder, org.box2d.proto.Box2D.PbJointOrBuilder> 
          getJointsFieldBuilder() {
        if (jointsBuilder_ == null) {
          jointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.box2d.proto.Box2D.PbJoint, org.box2d.proto.Box2D.PbJoint.Builder, org.box2d.proto.Box2D.PbJointOrBuilder>(
                  joints_,
                  ((bitField0_ & 0x00000100) == 0x00000100),
                  getParentForChildren(),
                  isClean());
          joints_ = null;
        }
        return jointsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:box2d.PbWorld)
    }
    
    static {
      defaultInstance = new PbWorld(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:box2d.PbWorld)
  }
  
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_box2d_PbVec2_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_box2d_PbVec2_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_box2d_PbFilter_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_box2d_PbFilter_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_box2d_PbShape_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_box2d_PbShape_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_box2d_PbFixture_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_box2d_PbFixture_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_box2d_PbJoint_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_box2d_PbJoint_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_box2d_PbBody_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_box2d_PbBody_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_box2d_PbWorld_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_box2d_PbWorld_fieldAccessorTable;
  
  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n$src/main/resources/proto/box2d.proto\022\005" +
      "box2d\"\036\n\006PbVec2\022\t\n\001x\030\001 \002(\002\022\t\n\001y\030\002 \002(\002\"I\n" +
      "\010PbFilter\022\025\n\rcategory_bits\030\001 \001(\005\022\021\n\tmask" +
      "_bits\030\002 \001(\005\022\023\n\013group_index\030\003 \001(\005\"\307\001\n\007PbS" +
      "hape\022\013\n\003tag\030\001 \001(\003\022 \n\004type\030\002 \002(\0162\022.box2d." +
      "PbShapeType\022\035\n\006center\030\n \001(\0132\r.box2d.PbVe" +
      "c2\022\016\n\006radius\030\013 \001(\002\022\035\n\006points\030\024 \003(\0132\r.box" +
      "2d.PbVec2\022\036\n\007normals\030\025 \003(\0132\r.box2d.PbVec" +
      "2\022\037\n\010centroid\030\026 \001(\0132\r.box2d.PbVec2\"\240\001\n\tP" +
      "bFixture\022\013\n\003tag\030\001 \001(\003\022\023\n\013restitution\030\002 \001",
      "(\002\022\020\n\010friction\030\003 \001(\002\022\017\n\007density\030\004 \001(\002\022\016\n" +
      "\006sensor\030\005 \001(\010\022\037\n\006filter\030\n \001(\0132\017.box2d.Pb" +
      "Filter\022\035\n\005shape\030\013 \001(\0132\016.box2d.PbShape\"\350\006" +
      "\n\007PbJoint\022\013\n\003tag\030\001 \001(\003\022 \n\004type\030\002 \002(\0162\022.b" +
      "ox2d.PbJointType\022\016\n\006body_a\030\003 \001(\005\022\016\n\006body" +
      "_b\030\004 \001(\005\022\030\n\020collideConnected\030\005 \001(\010\022%\n\016lo" +
      "cal_anchor_a\030\006 \001(\0132\r.box2d.PbVec2\022%\n\016loc" +
      "al_anchor_b\030\007 \001(\0132\r.box2d.PbVec2\022\021\n\tref_" +
      "angle\030\n \001(\002\022\024\n\014enable_limit\030\014 \001(\010\022\023\n\013low" +
      "er_limit\030\r \001(\002\022\023\n\013upper_limit\030\016 \001(\002\022\024\n\014e",
      "nable_motor\030\017 \001(\010\022\023\n\013motor_speed\030\020 \001(\002\022\030" +
      "\n\020max_motor_torque\030\021 \001(\002\022#\n\014local_axis_a" +
      "\030\024 \001(\0132\r.box2d.PbVec2\022\027\n\017max_motor_force" +
      "\030\025 \001(\002\022\016\n\006length\030\036 \001(\002\022\021\n\tfrequency\030\037 \001(" +
      "\002\022\025\n\rdamping_ratio\030  \001(\002\022&\n\017ground_ancho" +
      "r_a\030( \001(\0132\r.box2d.PbVec2\022&\n\017ground_ancho" +
      "r_b\030) \001(\0132\r.box2d.PbVec2\022\020\n\010length_a\030* \001" +
      "(\002\022\020\n\010length_b\030+ \001(\002\022\r\n\005ratio\030, \001(\002\022\024\n\014m" +
      "ax_length_a\030- \001(\002\022\024\n\014max_length_b\030. \001(\002\022" +
      "\035\n\006target\0302 \001(\0132\r.box2d.PbVec2\022\021\n\tmax_fo",
      "rce\0303 \001(\002\022\016\n\006joint1\030= \001(\005\022\016\n\006joint2\030> \001(" +
      "\005\022\030\n\020spring_frequency\030F \001(\002\022\034\n\024spring_da" +
      "mping_ratio\030G \001(\002\022\022\n\nmax_torque\030Z \001(\002\022\022\n" +
      "\nmax_length\030d \001(\002\022\016\n\006bodies\030n \003(\005\022\016\n\006joi" +
      "nts\030o \003(\005\022\025\n\rtarget_volume\030p \001(\002\"\267\003\n\006PbB" +
      "ody\022\013\n\003tag\030\001 \001(\003\022\037\n\004type\030\002 \002(\0162\021.box2d.P" +
      "bBodyType\022\037\n\010position\030\n \001(\0132\r.box2d.PbVe" +
      "c2\022\r\n\005angle\030\013 \001(\002\022&\n\017linear_velocity\030\014 \001" +
      "(\0132\r.box2d.PbVec2\022\030\n\020angular_velocity\030\r " +
      "\001(\002\022\034\n\005force\030\016 \001(\0132\r.box2d.PbVec2\022\016\n\006tor",
      "que\030\017 \001(\002\022\014\n\004mass\030\020 \001(\002\022\t\n\001I\030\021 \001(\002\022\026\n\016li" +
      "near_damping\0302 \001(\002\022\027\n\017angular_damping\0303 " +
      "\001(\002\022\025\n\rgravity_scale\0304 \001(\002\022\016\n\006bullet\0305 \001" +
      "(\010\022\023\n\013allow_sleep\0306 \001(\010\022\r\n\005awake\0307 \001(\010\022\016" +
      "\n\006active\0308 \001(\010\022\026\n\016fixed_rotation\0309 \001(\010\022\"" +
      "\n\010fixtures\030d \003(\0132\020.box2d.PbFixture\"\356\001\n\007P" +
      "bWorld\022\013\n\003tag\030\001 \001(\003\022\036\n\007gravity\030\002 \001(\0132\r.b" +
      "ox2d.PbVec2\022\023\n\013allow_sleep\030\003 \001(\010\022\031\n\021auto" +
      "_clear_forces\030\004 \001(\010\022\025\n\rwarm_starting\030\005 \001" +
      "(\010\022\032\n\022continuous_physics\030\006 \001(\010\022\024\n\014sub_st",
      "epping\030\007 \001(\010\022\035\n\006bodies\030\024 \003(\0132\r.box2d.PbB" +
      "ody\022\036\n\006joints\030\025 \003(\0132\016.box2d.PbJoint*4\n\nP" +
      "bBodyType\022\n\n\006STATIC\020\000\022\013\n\007DYNAMIC\020\001\022\r\n\tKI" +
      "NEMATIC\020\002*:\n\013PbShapeType\022\n\n\006CIRCLE\020\001\022\013\n\007" +
      "POLYGON\020\002\022\010\n\004EDGE\020\003\022\010\n\004LOOP\020\004*\245\001\n\013PbJoin" +
      "tType\022\014\n\010DISTANCE\020\001\022\014\n\010REVOLUTE\020\002\022\r\n\tPRI" +
      "SMATIC\020\003\022\n\n\006PULLEY\020\004\022\t\n\005MOUSE\020\005\022\010\n\004GEAR\020" +
      "\006\022\t\n\005WHEEL\020\007\022\010\n\004WELD\020\010\022\014\n\010FRICTION\020\t\022\010\n\004" +
      "ROPE\020\n\022\023\n\017CONSTANT_VOLUME\020\013\022\010\n\004LINE\020\014B\030\n" +
      "\017org.box2d.protoB\005Box2D"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_box2d_PbVec2_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_box2d_PbVec2_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_box2d_PbVec2_descriptor,
              new java.lang.String[] { "X", "Y", },
              org.box2d.proto.Box2D.PbVec2.class,
              org.box2d.proto.Box2D.PbVec2.Builder.class);
          internal_static_box2d_PbFilter_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_box2d_PbFilter_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_box2d_PbFilter_descriptor,
              new java.lang.String[] { "CategoryBits", "MaskBits", "GroupIndex", },
              org.box2d.proto.Box2D.PbFilter.class,
              org.box2d.proto.Box2D.PbFilter.Builder.class);
          internal_static_box2d_PbShape_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_box2d_PbShape_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_box2d_PbShape_descriptor,
              new java.lang.String[] { "Tag", "Type", "Center", "Radius", "Points", "Normals", "Centroid", },
              org.box2d.proto.Box2D.PbShape.class,
              org.box2d.proto.Box2D.PbShape.Builder.class);
          internal_static_box2d_PbFixture_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_box2d_PbFixture_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_box2d_PbFixture_descriptor,
              new java.lang.String[] { "Tag", "Restitution", "Friction", "Density", "Sensor", "Filter", "Shape", },
              org.box2d.proto.Box2D.PbFixture.class,
              org.box2d.proto.Box2D.PbFixture.Builder.class);
          internal_static_box2d_PbJoint_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_box2d_PbJoint_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_box2d_PbJoint_descriptor,
              new java.lang.String[] { "Tag", "Type", "BodyA", "BodyB", "CollideConnected", "LocalAnchorA", "LocalAnchorB", "RefAngle", "EnableLimit", "LowerLimit", "UpperLimit", "EnableMotor", "MotorSpeed", "MaxMotorTorque", "LocalAxisA", "MaxMotorForce", "Length", "Frequency", "DampingRatio", "GroundAnchorA", "GroundAnchorB", "LengthA", "LengthB", "Ratio", "MaxLengthA", "MaxLengthB", "Target", "MaxForce", "Joint1", "Joint2", "SpringFrequency", "SpringDampingRatio", "MaxTorque", "MaxLength", "Bodies", "Joints", "TargetVolume", },
              org.box2d.proto.Box2D.PbJoint.class,
              org.box2d.proto.Box2D.PbJoint.Builder.class);
          internal_static_box2d_PbBody_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_box2d_PbBody_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_box2d_PbBody_descriptor,
              new java.lang.String[] { "Tag", "Type", "Position", "Angle", "LinearVelocity", "AngularVelocity", "Force", "Torque", "Mass", "I", "LinearDamping", "AngularDamping", "GravityScale", "Bullet", "AllowSleep", "Awake", "Active", "FixedRotation", "Fixtures", },
              org.box2d.proto.Box2D.PbBody.class,
              org.box2d.proto.Box2D.PbBody.Builder.class);
          internal_static_box2d_PbWorld_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_box2d_PbWorld_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_box2d_PbWorld_descriptor,
              new java.lang.String[] { "Tag", "Gravity", "AllowSleep", "AutoClearForces", "WarmStarting", "ContinuousPhysics", "SubStepping", "Bodies", "Joints", },
              org.box2d.proto.Box2D.PbWorld.class,
              org.box2d.proto.Box2D.PbWorld.Builder.class);
          return null;
        }
      }