/// <exception cref="System.IO.IOException"/>
 /// <exception cref="System.Exception"/>
 protected override void Map(LongWritable key, Text value, Mapper.Context context)
 {
     context.Write(key, value);
     if (value.ToString().Equals("a"))
     {
         mos.Write(Text, key, new Text(Text));
         mos.Write(Sequence, new IntWritable(1), new Text(Sequence), (Sequence + "_A"));
         mos.Write(Sequence, new IntWritable(2), new Text(Sequence), (Sequence + "_B"));
     }
 }
 /// <exception cref="System.IO.IOException"/>
 /// <exception cref="System.Exception"/>
 protected override void Reduce(long key, IEnumerable <string> values, Reducer.Context
                                context)
 {
     foreach (string value in values)
     {
         mos.Write(key, value, value.ToString());
         if (!value.ToString().Equals("b"))
         {
             context.Write(key, value);
         }
         else
         {
             mos.Write(Text, key, new Text(Text));
         }
     }
 }
 /// <exception cref="System.IO.IOException"/>
 /// <exception cref="System.Exception"/>
 protected override void Map(LongWritable key, Text value, Mapper.Context context)
 {
     context.Write(key.Get(), value.ToString());
     if (value.ToString().Equals("a"))
     {
         mos.Write(Text, key.Get(), Text);
     }
 }
 /// <exception cref="System.IO.IOException"/>
 /// <exception cref="System.Exception"/>
 protected override void Reduce(LongWritable key, IEnumerable <Text> values, Reducer.Context
                                context)
 {
     foreach (Text value in values)
     {
         mos.Write(key, value, value.ToString());
         if (!value.ToString().Equals("b"))
         {
             context.Write(key, value);
         }
         else
         {
             mos.Write(Text, key, new Text(Text));
             mos.Write(Sequence, new IntWritable(2), new Text(Sequence), (Sequence + "_B"));
             mos.Write(Sequence, new IntWritable(3), new Text(Sequence), (Sequence + "_C"));
         }
     }
 }