protected RandomAccessFile init(File f) throws IOException {
  RandomAccessFile inputFile=null;
  try {
    inputFile=new RandomAccessFile(f,"r");
  }
 catch (  IOException i) {
    if (i instanceof FileNotFoundException) {
      throw i;
    }
    if (f.canRead()) {
      BinaryFile.closeClosable();
      inputFile=new RandomAccessFile(f,"r");
    }
 else {
      throw i;
    }
  }
  return inputFile;
}

protected RandomAccessFile init ( File f ) throws IOException { RandomAccessFile inputFile = null ; try { inputFile = new RandomAccessFile ( f , "r" ) ; } catch ( IOException i ) { if ( i instanceof FileNotFoundException ) { throw i ; } if ( f . canRead ( ) ) { BinaryFile . closeClosable ( ) ; inputFile = new RandomAccessFile ( f , "r" ) ; } else { throw i ; } } return inputFile ; }
initialize the underlying randomaccessfile . if it ' s found , but there are too many files open , it calls binaryfile . closeclosable to try to get an open file pointer from the system , and then tries again .
