title: What is the purpose of ByteBuffer's flip method? (And why is it called "flip"?)
body: <p>Why does ByteBuffer's flip() method called "flip"? What is "flipped" here? According to apidoc, two successive flips won't restore original state, and multiple flips will probably tend <code>limit()</code> to become zero.</p>
  
  <p>Can I "unflip" somehow to reuse bytes went out of a limit?</p>
  
  <p>Can I concatenate tail to be flipped with some other data?</p>