/// <exception cref="System.IO.IOException"/>
        public override void ReadFields(DataInput @in)
        {
            base.ReadFields(@in);
            shuffleFinishTime = @in.ReadLong();
            sortFinishTime    = @in.ReadLong();
            int noFailedFetchTasks = @in.ReadInt();

            failedFetchTasks = new AList <TaskAttemptID>(noFailedFetchTasks);
            for (int i = 0; i < noFailedFetchTasks; ++i)
            {
                TaskAttemptID id = new TaskAttemptID();
                id.ReadFields(@in);
                failedFetchTasks.AddItem(id);
            }
        }