public synchronized void change(T t, K k)
	{
		TreeSet<K> tKs=map1.get(t);
		while((tKs!=null)&&(tKs.size()>=maxKsInMap1))
			remove(t,tKs.first());
		tKs=map1.get(t);
		if(tKs==null)
		{
			tKs=new TreeSet<K>(comparator);
			map1.put(t, tKs);
		}
		TreeSet<T> kTs=map2.get(k);
		while((kTs!=null)&&(kTs.size()>=maxTsInMap2))
			remove(kTs.first(),k);
		kTs=map2.get(k);
		if(kTs==null)
		{
			kTs=new TreeSet<T>(comparator);
			map2.put(k, kTs);
		}
		if(!kTs.contains(t))
			kTs.add(t);
		if(!tKs.contains(k))
			tKs.add(k);
	}