public static Int32[] BuildTagList( PairR[] pairs )
 {
     if ( pairs == null ) throw new ArgumentNullException("pairs");
     List<Int32> list = new List<Int32>();
     for ( Int32 i = 0; i < pairs.Length; i++ ) {
         list.Add(pairs[i].SubjectTag1);
         list.Add(pairs[i].SubjectTag2);
     }
     Int32[] array = list.Distinct().ToArray();
     Array.Sort(array);
     return array;
 }
 public InterpolateR( PairR[] pairs )
 {
     if ( pairs == null ) throw new ArgumentNullException("pairs");
     _pairs = pairs;
     _subjectTags = BuildTagList(pairs);
 }