question: IgfsInputStreamImpl ( IgfsContext igfsCtx , IgfsPath path , @ Nullable IgfsEntryInfo fileInfo , int prefetchBlocks , int seqReadsBeforePrefetch , @ Nullable IgfsSecondaryFileSystemPositionedReadable secReader , long len , int blockSize , long blocksCnt , boolean proxy ) { assert igfsCtx != null ; assert path != null ; this . igfsCtx = igfsCtx ; this . path = path ; this . fileInfo = fileInfo ; this . prefetchBlocks = prefetchBlocks ; this . seqReadsBeforePrefetch = seqReadsBeforePrefetch ; this . secReader = secReader ; this . len = len ; this . blockSize = blockSize ; this . blocksCnt = blocksCnt ; this . proxy = proxy ; log = igfsCtx . kernalContext ( ) . log ( IgfsInputStream . class ) ; maxLocCacheSize = ( prefetchBlocks > 0 ? prefetchBlocks : 1 ) * 3 / 2 ; locCache = new LinkedHashMap < > ( maxLocCacheSize , 1.0f ) ; pendingFuts = new GridConcurrentHashSet < > ( prefetchBlocks > 0 ? prefetchBlocks : 1 ) ; igfsCtx . metrics ( ) . incrementFilesOpenedForRead ( ) ; }
target:  Constructs file output stream.