public static <T extends DC> Set<Set<Pair<T,T>>> despatch(Pair<T,T> pair,Set<Set<Pair<T,T>>> sets)
  { if(pair==null)
    { return sets;
    }  
    else
    { if(sets==null)
      { return new Set(new Set(pair,null),null);
      }
      else//pair!=null && sets!=null
      { if(sets.next==null)
        { return new Set(sets.a.ins(pair),null);
        }
        else
        { return new Set(sets.a.ins(pair),despatch(pair,sets.next));
        }
      }  
    }  
  }