This is a follow-up to JDK-8090585, which provided a public Platform.startup method to start the JavaFX platform. The new public method is documented to throw an IllegalStateException if the platform is already running. The existing internal PlatformImpl.startup method has a different semantic, whereby it turns a call to startup into a runLater if the platform is already running. In order to minimize the risk to existing code, and to SQE tests, we left the current semantic alone for code that calls the internal method directly. We should unify the semantics to avoid confusion such that all uses of this method throw ISE when the platform is already running.
At least the JFXPanel() and FXCanvas initialization code needs to change to only call Platform.startup once (and JFXPanel will likely need to call it in a try/catch block, since the platform might already be running).