class CompositeGenotype implements Genotype, Iterable<Entry<K, V>> {

	@Override
	@SuppressWarnings("unchecked")
	public <G extends Genotype> G newInstance() {
		try {
			return (G) this.getClass().newInstance();
		} catch (InstantiationException e) {
			throw new RuntimeException(e);
		} catch (IllegalAccessException e) {
			throw new RuntimeException(e);
		}
	}

	public  CompositeGenotype();
	public  CompositeGenotype(Map<K, V> map);

}