else { documentInfo.systemId = systemId; }
	protected void doRefresh( ) throws EngineException	{		IReportDocumentLock lock = null;		try		{			lock = lock( getName( ) );			synchronized ( lock )			{				// load info into a document info object				ReportDocumentCoreInfo documentInfo = new ReportDocumentCoreInfo( );				documentInfo.checkpoint = CHECKPOINT_INIT;				documentInfo.pageCount = PAGECOUNT_INIT;				RAInputStream in = archive.getStream( CHECKPOINT_STREAM );				if ( in == null )				{					// no check point stream, old version, return -1					documentInfo.checkpoint = CHECKPOINT_END;					if ( pageHintReader == null )					{						createPageHintReader( );					}					if ( pageHintReader != null )					{						documentInfo.pageCount = pageHintReader.getTotalPage( );					}				}				else				{					try					{						DataInputStream di = new DataInputStream( in );						documentInfo.checkpoint = IOUtil.readInt( di );						documentInfo.pageCount = IOUtil.readLong( di );					}					finally					{						if ( in != null )						{							in.close( );						}					}					if ( documentInfo.checkpoint == checkpoint )					{						return;					}				}				in = archive.getStream( CORE_STREAM );				try				{					DataInputStream di = new DataInputStream( in );					// check the design name					documentInfo.version = checkVersion( di );					// load the report design name					String orgSystemId = IOUtil.readString( di );					if ( systemId == null )					{						documentInfo.systemId = orgSystemId;					}					// load the report paramters					documentInfo.parameters = convertToCompatibleParameter( EngineIOUtil							.readMap( di ) );					// load the persistence object					documentInfo.globalVariables = (HashMap) IOUtil							.readMap( di );				}				finally				{					if ( in != null )					{						in.close( );					}				}										// save the document info into the object.				checkpoint = documentInfo.checkpoint;				pageCount = documentInfo.pageCount;				version = documentInfo.version;				systemId = documentInfo.systemId;				globalVariables = documentInfo.globalVariables;				parameters = documentInfo.parameters;			}		}		catch ( EngineException ee )		{			throw ee;		}		catch ( Exception ex )		{			throw new EngineException( "document refresh failed", ex );		}		finally		{			lock.unlock();		}	}