¿Cuál es el propósito del método flip de ByteBuffer? (¿Y por qué se llama "flip"?)

¿Por qué el método flip () de ByteBuffer se llama "flip"? ¿Qué es "volteado" aquí? Según apidoc, dos giros sucesivos no restaurarán el estado original, y varios giros probablemente tenderán limit()a convertirse en cero. ¿Puedo "deshacer" de alguna manera para reutilizar los bytes que se...