Is there a need to return the ByteBufferImpl and not just have it return the new ByteBuffer interface?  It would be a lot cleaner to not pass around the impl when possible.  This has caused quite a few other classes to have this refactor as well.  I am guessing it was just the IDE.