private List<TraceFileEntry> readFrom(String inputFile) throws IOException {
        traceFileEntries = new ArrayList<TraceFileEntry>();
        BufferedReader bufferedReader = new BufferedReader(new FileReader(inputFile));
        String line;

        line = bufferedReader.readLine();
        while (line != null) {

            if((line.length() > 0) && (line.charAt(0) == 'S')){
                TraceFileEntry traceFIleEntry = new TraceFileEntry();
                traceFIleEntry.sessionBreak = true;
                traceFileEntries.add(traceFIleEntry);
            }
            if((line.length() > 0) && (line.charAt(0) == 'C')){
                TraceFileEntry traceFileEntry = new TraceFileEntry();
                try{
                    traceFileEntry.C = line.substring(2);
                    line = bufferedReader.readLine();
                    traceFileEntry.D = line.substring(2);
                    line = bufferedReader.readLine();
                    traceFileEntry.A = line.substring(2);
                    line = bufferedReader.readLine();
                    traceFileEntry.H = line.substring(2);
                    line = bufferedReader.readLine();
                    traceFileEntry.X = line.substring(2);
                }
                catch (Exception e){
//                    System.err.println("bad data");
                }
                if("NIL".equals(traceFileEntry.X))
                    traceFileEntries.add(traceFileEntry);
            }
            line = bufferedReader.readLine();
        }

        bufferedReader.close();
        return traceFileEntries;
    }