public static <T extends DC> MSet<T> getMSet(Set<Pair<T,PT<Integer>>> baseSet)
  { if(baseSet!=null)
    { if(baseSet.getNext()!=null)
      { return new MSet(baseSet.getFst().fst(),getMSet(baseSet.getNext()));
      }
      else
      { return new MSet(baseSet.getFst().fst(),null);
      }
    }
    else
    { return null;
    }
  }