1 out of 100 invocations of my application leads to the exception shown below. From a debugging perspective the message of the exception is not very helpful, as it only states that the ListChangeBuilder has some undocumented invariant which has been compromised. I request the improvement of this message making it more helpful for developers who encounters it.
Even the class itself is not documented, yet the exception is part of the API developers face. I therefore also request that the class is documented via javadoc along with the exception thrown.
java.lang.IllegalStateException: Called endChange before beginChange
at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:538)
at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205)
at javafx.collections.ModifiableObservableListBase.addAll(ModifiableObservableListBase.java:102)
at com.intuism.ui.component.runner.Wheel$1.tasksSubmitted(Wheel.java:93)
at com.intuism.core.runner.DefaultRunner.run(DefaultRunner.java:34)
at com.intuism.core.runner.Runner.run(Runner.java:66)
at com.intuism.core.runner.Runner.run(Runner.java:43)
at com.intuism.core.runner.Runner.run(Runner.java:39)
at com.wefend.observatory.main.start.WefendLoginTask.call(WefendLoginTask.java:44)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Even the class itself is not documented, yet the exception is part of the API developers face. I therefore also request that the class is documented via javadoc along with the exception thrown.
java.lang.IllegalStateException: Called endChange before beginChange
at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:538)
at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205)
at javafx.collections.ModifiableObservableListBase.addAll(ModifiableObservableListBase.java:102)
at com.intuism.ui.component.runner.Wheel$1.tasksSubmitted(Wheel.java:93)
at com.intuism.core.runner.DefaultRunner.run(DefaultRunner.java:34)
at com.intuism.core.runner.Runner.run(Runner.java:66)
at com.intuism.core.runner.Runner.run(Runner.java:43)
at com.intuism.core.runner.Runner.run(Runner.java:39)
at com.wefend.observatory.main.start.WefendLoginTask.call(WefendLoginTask.java:44)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)