private string Truncate(string Value, int MaxLength)
{
   return Value.Substring(0, Math.Min(MaxLength, Value.Length));
}
public override void PrimeOutput(
   int outputs, int[] outputIDs, PipelineBuffer[] buffers)
{
   string line = «»;
   PipelineBuffer buffer = buffers[0];

   while (line != null)
   {
      line = textReader.ReadLine();
      if (line != null)
      {
         if (line.Substring(0, 1) != «#»)
         {
            string[] values = line.Split(new char[] {? ?});

            buffer.AddRow();
            buffer.SetString(0, Truncate(values[0], 50));
            buffer.SetString(1, Truncate(values[1], 50));
            buffer.SetString(2, Truncate(values[2], 50));
            buffer.SetString(3, Truncate(values[3], 200));
            buffer.SetString(4, Truncate(values[4], 50));
         }
      }
   }
   buffer.SetEndOfRowset();
}