class DatumEncoder {

    public void copy(DatumEncoder other) {
        attributeDimensionNameMap.clear();
        for (Map.Entry<Integer, String> entry : other.attributeDimensionNameMap.entrySet()) {
            attributeDimensionNameMap.put(entry.getKey(), entry.getValue());
        }

        integerEncoding.clear();
        for (Map.Entry<Integer, Map<String, Integer>> entry :
                other.integerEncoding.entrySet()) {
            integerEncoding.put(entry.getKey(), entry.getValue());
        }

        integerToColumn.clear();
        for (Map.Entry<Integer, Integer> entry :
                other.integerToColumn.entrySet()) {
            integerToColumn.put(entry.getKey(), entry.getValue());
        }

        nextKey = other.nextKey;
    }

    public  DatumEncoder();

}