Researching the error exception:
public static class PApplet.RendererChangeException
extends java.lang.RuntimeExceptionException thrown when size() is called the first time.
This is used internally so that setup() is forced to run twice when the renderer is changed. This is the only way for us to handle invoking the new renderer while also in the midst of rendering.