Program: 171551
Project: 171551
Buggy source:
public void parseJson(JsonObject data) throws Exception {
  name=data.get("String_Node_Str").getAsString();
  float darken=0;
  if (data.has("String_Node_Str")) {
    darken=data.get("String_Node_Str").getAsFloat();
  }
  this.internal_scale=1;
  if (data.has("String_Node_Str")) {
    internal_scale=Gauge.STANDARD.value() / data.get("String_Node_Str").getAsDouble();
  }
  model=new OBJModel(new ResourceLocation(data.get("String_Node_Str").getAsString()),darken,internal_scale);
  JsonObject passenger=data.get("String_Node_Str").getAsJsonObject();
  passengerCenter=new Vec3d(passenger.get("String_Node_Str").getAsDouble(),passenger.get("String_Node_Str").getAsDouble(),0).scale(internal_scale);
  passengerCompartmentLength=passenger.get("String_Node_Str").getAsDouble() * internal_scale;
  passengerCompartmentWidth=passenger.get("String_Node_Str").getAsDouble() * internal_scale;
  maxPassengers=passenger.get("String_Node_Str").getAsInt();
  bogeyFront=(float)(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsFloat() * internal_scale);
  bogeyRear=(float)(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsFloat() * internal_scale);
  if (data.has("String_Node_Str")) {
    couplerOffsetFront=(float)(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsFloat() * internal_scale);
    couplerOffsetRear=(float)(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsFloat() * internal_scale);
  }
  frontBounds=-model.minOfGroup(model.groups()).x;
  rearBounds=model.maxOfGroup(model.groups()).x;
  widthBounds=model.widthOfGroups(model.groups());
  heightBounds=model.heightOfGroups(model.groups());
  weight=(int)Math.ceil(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsInt() * internal_scale);
}

Fixed version (ground truth):
public void parseJson(JsonObject data) throws Exception {
  name=data.get("String_Node_Str").getAsString();
  float darken=0;
  if (data.has("String_Node_Str")) {
    darken=data.get("String_Node_Str").getAsFloat();
  }
  this.internal_scale=1;
  if (data.has("String_Node_Str")) {
    internal_scale=Gauge.STANDARD.value() / data.get("String_Node_Str").getAsDouble();
  }
  model=new OBJModel(new ResourceLocation(data.get("String_Node_Str").getAsString()),darken,internal_scale);
  JsonObject passenger=data.get("String_Node_Str").getAsJsonObject();
  passengerCenter=new Vec3d(passenger.get("String_Node_Str").getAsDouble(),passenger.get("String_Node_Str").getAsDouble(),0).scale(internal_scale);
  passengerCompartmentLength=passenger.get("String_Node_Str").getAsDouble() * internal_scale;
  passengerCompartmentWidth=passenger.get("String_Node_Str").getAsDouble() * internal_scale;
  maxPassengers=passenger.get("String_Node_Str").getAsInt();
  bogeyFront=(float)(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsFloat() * internal_scale);
  bogeyRear=(float)(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsFloat() * internal_scale);
  if (data.has("String_Node_Str")) {
    couplerOffsetFront=(float)(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsFloat() * internal_scale);
    couplerOffsetRear=(float)(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsFloat() * internal_scale);
  }
  frontBounds=-model.minOfGroup(model.groups()).x + couplerOffsetFront;
  rearBounds=model.maxOfGroup(model.groups()).x + couplerOffsetRear;
  widthBounds=model.widthOfGroups(model.groups());
  heightBounds=model.heightOfGroups(model.groups());
  weight=(int)Math.ceil(data.get("String_Node_Str").getAsJsonObject().get("String_Node_Str").getAsInt() * internal_scale);
}