package com.rits.cloning;
import java.util.Collection;
import java.util.Map;
/**
* @author kostantinos.kougios
*
* 21 May 2009
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
public abstract class FastClonerCustomCollection<T extends Collection> implements IFastCloner
{
public abstract T getInstance(T o);
public Object clone(final Object t, final IDeepCloner cloner, final Map<Object, Object> clones) {
final T c = getInstance((T) t);
final T l = (T) t;
for (final Object o : l)
{
final Object clone = cloner.deepClone(o, clones);
c.add(clone);
}
return c;
}
}