code: private void readExtendedHeader(RandomAccessInputStream raf) throws IOException, ID3v2FormatException
  	{
  		raf.seek(EXT_HEAD_LOCATION);
  
  		byte[] buf = new byte[4];
  		if (raf.read(buf) != buf.length)
  		{
  			throw new IOException("Error reading extended header:size");
  		}
  
  		size = Helpers.convertDWordToInt(buf, 0);
  		if (size < MIN_SIZE)
  		{
  			throw new ID3v2FormatException("The extended header size data is less than the minimum required size (" + size + '<' + MIN_SIZE + ").");
  		}
  
  		numFlagBytes = raf.read();
  		buf = new byte[numFlagBytes + 1];
  		if (raf.read(buf) != buf.length)
  		{
  			throw new IOException("Error reading extended header:flags");
  		}
  
  		parseFlags(buf);
  	}
docs: Read the information in the file's extended header
  
  @exception FileNotFoundException if an error occurs
  @exception IOException if an error occurs
  @exception ID3v2FormatException if an error occurs