The following exception is caused by concurrent read-write operations (proxy is adding new entries, while client is trying to read them):
java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1627)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.browserup.harreader.model.HarLog.findEntries(HarLog.java:178)
at com.browserup.harreader.model.HarLog.findEntries(HarLog.java:172)
The following exception is caused by concurrent read-write operations (proxy is adding new entries, while client is trying to read them):
browsermob-proxy
usedCopyOnWriteArrayList
which is thread-safe: https://github.com/lightbody/browsermob-proxy/blob/master/browsermob-core/src/main/java/net/lightbody/bmp/core/har/HarLog.java#L13-L14