protected void skipRemainingTagsInCurrentIfd() throws IOException, ExifInvalidFormatException {
  int endOfTags=mIfdStartOffset + OFFSET_SIZE + TAG_SIZE * mNumOfTagInIfd;
  int offset=mTiffStream.getReadByteCount();
  if (offset > endOfTags) {
    return;
  }
  if (mNeedToParseOffsetsInCurrentIfd) {
    while (offset < endOfTags) {
      mTag=readTag();
      offset+=TAG_SIZE;
      if (mTag == null) {
        continue;
      }
      checkOffsetOrImageTag(mTag);
    }
  }
 else {
    skipTo(endOfTags);
  }
  long ifdOffset=readUnsignedLong();
  if (mIfdType == IfdId.TYPE_IFD_0 && (isIfdRequested(IfdId.TYPE_IFD_1) || isThumbnailRequested())) {
    if (ifdOffset > 0) {
      registerIfd(IfdId.TYPE_IFD_1,ifdOffset);
    }
  }
}

protected void skipRemainingTagsInCurrentIfd ( ) throws IOException , ExifInvalidFormatException { int endOfTags = mIfdStartOffset + OFFSET_SIZE + TAG_SIZE * mNumOfTagInIfd ; int offset = mTiffStream . getReadByteCount ( ) ; if ( offset > endOfTags ) { return ; } if ( mNeedToParseOffsetsInCurrentIfd ) { while ( offset < endOfTags ) { mTag = readTag ( ) ; offset += TAG_SIZE ; if ( mTag == null ) { continue ; } checkOffsetOrImageTag ( mTag ) ; } } else { skipTo ( endOfTags ) ; } long ifdOffset = readUnsignedLong ( ) ; if ( mIfdType == IfdId . TYPE_IFD_0 && ( isIfdRequested ( IfdId . TYPE_IFD_1 ) || isThumbnailRequested ( ) ) ) { if ( ifdOffset > 0 ) { registerIfd ( IfdId . TYPE_IFD_1 , ifdOffset ) ; } } }
skips the tags area of current ifd , if the parser is not in the tag area , nothing will happen .
