Reading the javadoc of BufferStrategy regarding blitting, and reading the source of Component.BltBufferStrategy, I can't help being a bit puzzled:
Why would one want the buffers (assuming more than 2) "copied, or blitted forward in a chain"? This obviously requires as many copy-actions as there are buffers on every .show() invocation.
Wouldn't it be better to, in effect, keep two integers: one which points to the "show buffer" and one that points to the "draw buffer"? Upon .show(), the current draw one becomes the show, and one picks a new available draw. Of course, one just keeps one integer, and the current draw is always the one directly behind the current show.
However, unless there are some internal magic involved with the BltBufferStrategy, it seems meaningless to have more than one backbuffer at any rate. This is because the drawing of the backbuffer into the frontbuffer seems to be synchronous, and hence as show() returns, one could just start drawing into the same backbuffer again. I can't seem to being able to construct a reason for having more than one backbuffer unless it is because one then can have one buffer that is being shown, one (or possibly several) that are ready to be shown at next retrace, and one that is being drawn into. So, if there is no asyncronousness, which typically would be waiting for the retrace (vsync) before flipping or blitting, there should be no need for more than one backbuffer?
(As an aside, I think BltBufferStrategy should rather have been called CopyBufferStrategy, but I guess that's somewhat subjective.)