while ( ( line = nextLine(false) ) != null )
while ( ( line = nextLine(false) ) != null && !"".equals( line = line.trim() ) )
	public void execute() throws ParseException	{		String line;		StringTokenizer tok;		final ArrayList rccList = new ArrayList();		final HashMap   rccListByCallee = new HashMap();		int key = 1;		try		{			if ( !readHeader )				checkHeader();			while ( ( line = nextLine(false) ) != null )			{				tok = new StringTokenizer(line, " ");				int count = Integer.parseInt(nextToken(tok, true));				String callee = nextToken(tok, true);				String caller = nextToken(tok, true);				long time = Long.parseLong(nextToken(tok, true));				if ( time > 0 )				{					StackTrace st = new StackTrace(new String[]{ callee, caller });					RCC rcc = new RCC(st, count, time, key++);					rccList.add(rcc);					ArrayList subList = (ArrayList)rccListByCallee.get(rcc.getLeafStack(1));					if ( subList == null )					{						subList = new ArrayList();						rccListByCallee.put(rcc.getLeafStack(1), subList);					}					subList.add(rcc);				}			}		}		catch (IOException x)		{			throw new ParseException("IOException at line " + lineNumber() + " : " + x.getMessage());		}		Log.debug(LOG, "DashProfParser found ", rccList.size(), " recorded caller/callees in file");		ConstructCallsAlgorithm algorithm = new ConstructCallsAlgorithm(rccList.size());		algorithm.execute(rccList, rccListByCallee, 1);		callIDs = algorithm.getCallIDs();	}