Program: 183932
Project: 183932
Buggy source:
@Test public void testParser(){
  SimpleLogger.enableTrace(true);
  DB.withConnection(new Function<Connection,Unit>(){
    @Override public Unit apply(    Connection _){
      SQL("String_Node_Str").executeUpdate();
      SQL("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str").executeUpdate();
      SQL("String_Node_Str").on(pair("String_Node_Str",1),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str",42),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str")).executeUpdate();
      SQL("String_Node_Str").on(pair("String_Node_Str",2),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str",16),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str")).executeUpdate();
      SQL("String_Node_Str").on(pair("String_Node_Str",3),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str",90),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str")).executeUpdate();
      return Unit.unit();
    }
  }
);
  setParser(Person.personParser);
  Assert.assertEquals(3,Person.findAll().size());
  Assert.assertEquals(1,Person.findAllBetween(18,80).size());
  Assert.assertEquals(2,Person.findAllBetween(18,100).size());
  Assert.assertEquals(2,Person.findAllBetween(10,80).size());
  Assert.assertEquals(3,Person.findAllBetween(10,100).size());
  setParser(Person.personParserRefl);
  Assert.assertEquals(3,Person.findAll().size());
  Assert.assertEquals(1,Person.findAllBetween(18,80).size());
  Assert.assertEquals(2,Person.findAllBetween(18,100).size());
  Assert.assertEquals(2,Person.findAllBetween(10,80).size());
  Assert.assertEquals(3,Person.findAllBetween(10,100).size());
  Assert.assertEquals(3,Person.count());
  DB.withConnection(new Function<Connection,Unit>(){
    @Override public Unit apply(    Connection _){
      Assert.assertEquals(3,Persons._.findAll().size());
      Assert.assertEquals(1,Persons.findAllBetween(18,80).size());
      Assert.assertEquals(2,Persons.findAllBetween(18,100).size());
      Assert.assertEquals(2,Persons.findAllBetween(10,80).size());
      Assert.assertEquals(3,Persons.findAllBetween(10,100).size());
      Assert.assertEquals(3,Persons._.count());
      Persons._.deleteAll();
      Assert.assertEquals(0,Persons._.count());
      return Unit.unit();
    }
  }
);
}

Fixed version (ground truth):
@Test public void testParser(){
  SimpleLogger.enableTrace(true);
  DB.withConnection(new Function<Connection,Unit>(){
    @Override public Unit apply(    Connection _){
      SQL("String_Node_Str").executeUpdate();
      SQL("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str").executeUpdate();
      SQL("String_Node_Str").on(pair("String_Node_Str",1),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str",42),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str")).executeUpdate();
      SQL("String_Node_Str").on(pair("String_Node_Str",2),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str",16),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str")).executeUpdate();
      SQL("String_Node_Str").on(pair("String_Node_Str",3),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str",90),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str"),pair("String_Node_Str","String_Node_Str")).executeUpdate();
      return Unit.unit();
    }
  }
);
  setParser(Person.personParser);
  Assert.assertEquals(3,Person.findAll().size());
  Assert.assertEquals(1,Person.findAllBetween(18,80).size());
  Assert.assertEquals(2,Person.findAllBetween(18,100).size());
  Assert.assertEquals(2,Person.findAllBetween(10,80).size());
  Assert.assertEquals(3,Person.findAllBetween(10,100).size());
  setParser(Person.personParserRefl);
  Assert.assertEquals(3,Person.findAll().size());
  Assert.assertEquals(1,Person.findAllBetween(18,80).size());
  Assert.assertEquals(2,Person.findAllBetween(18,100).size());
  Assert.assertEquals(2,Person.findAllBetween(10,80).size());
  Assert.assertEquals(3,Person.findAllBetween(10,100).size());
  Assert.assertEquals(3,Person.count());
}