class MapFactory<K, V> {

	private Map<K, V> map = null;

	private MapFactory() {
	}

	public static <K, V> MapFactory<K, V> hashMap() {
		MapFactory<K, V> mf = new MapFactory<K, V>();
		mf.map = new HashMap<K, V>();
		return mf;
	}

	public static <K, V> MapFactory<K, V> treeMap() {<FILL_FUNCTION_BODY>}

	public MapFactory<K, V> a(K k, V v) {
		map.put(k, v);
		return this;
	}

	public Map<K, V> toMap() {
		return map;
	}
}

		MapFactory<K, V> mf = new MapFactory<K, V>();
		mf.map = new TreeMap<K, V>();
		return mf;
	
<no_super_class>