private boolean isModified(
     boolean checkTimestamps,
     boolean checkFileContentsHash,
     IIndexFileLocation ifl,
     Object tu,
     IIndexFragmentFile file)
     throws CoreException {
   if (checkTimestamps) {
     if (fResolver.getLastModified(ifl) != file.getTimestamp()
         || computeFileSizeAndEncodingHashcode(ifl) != file.getSizeAndEncodingHashcode()) {
       if (checkFileContentsHash && computeFileContentsHash(tu) == file.getContentsHash()) {
         return false;
       }
       return true;
     }
   }
   return false;
 }