class FilterCopier {

    public Filter copyFilter(Filter orig, String typeKey)
    {
        Source s = orig.srcForType(typeKey);

        Group g = orig.getFilterGroup().clone();
        if (!orig.getTypeKey().equals(typeKey))
        {
            updateFields(g, orig.getTypeKey(), typeKey);
        }

        Filter f = new Filter(orig.getName(), s, g, s.isActive());
        f.setFilterDescription(orig.getFilterDescription());
        f.getOtherSources().addAll(orig.getOtherSources());
        return f;
    }

    public  FilterCopier(ColumnMappingController columnMappingController);

}