@SuppressWarnings( "unchecked" )
	private DataConverter<Item, Data<Item>, DefaultItem<Item>> getConverterFor( ItemKey<?> key ) {
		DataConverter<?, ?, ?> result = convertersByKeyType.get( key.getClass() );
		if( result == null ) {
			throw new IllegalArgumentException( "unknown type of data: " + key.getClass() );
		}
		return (DataConverter<Item, Data<Item>, DefaultItem<Item>>) result;
	}