У нас есть несколько потоков, вызывающих add(obj) на ArrayList.
Моя теория заключается в том, что когда add вызывается одновременно двумя потоками, то только один из двух добавленных объектов действительно добавляется к ArrayList. Это правдоподобно?
Если да, то как вам обойти это? Используйте синхронизированную коллекцию, например Vector?