float readFloatLittleEndian()
   {
   int accum = 0;
   for ( int shiftBy=0; shiftBy<32; shiftBy+=8 )
      {
      accum |= ( readByte () & 0xff ) << shiftBy;
      }
   return Float.intBitsToFloat( accum );

   // there is no such method as Float.reverseBytes( f );

   }