@@ -0,0 +1,1486 @@
+/**********************************************************************%0ACopyright (c) 2009-2010 Alexander Kerner. All rights reserved.%0ALicensed under the Apache License, Version 2.0 (the %22License%22);%0Ayou may not use this file except in compliance with the License.%0AYou may obtain a copy of the License at%0A%0A    http://www.apache.org/licenses/LICENSE-2.0%0A%0AUnless required by applicable law or agreed to in writing, software%0Adistributed under the License is distributed on an %22AS IS%22 BASIS,%0AWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0ASee the License for the specific language governing permissions and%0Alimitations under the License.%0A ***********************************************************************/%0A%0Apackage net.sf.kerner.utils.collections;%0A%0Aimport java.util.Collection;%0A%0Aimport net.sf.kerner.utils.transformer.Transformer;%0A%0A/**%0A * %0A * A %7B@code CollectionTransformer%7D converts one object of type %7B@code Collection%3C? extends T%3E%7D to another object%0A * of type %7B@code Collection%3C? super V%3E%7D.%0A * %0A * %3Cp%3E%0A * %3Cb%3EExample:%3C/b%3E%3Cbr%3E%0A * %0A * %3C/p%3E%0A * %3Cp%3E%0A * %0A * %3Cpre%3E%0A * TODO example%0A * %3C/pre%3E%0A * %0A * %3C/p%3E%0A * %0A * @author %3Ca href=%22mailto:alex.kerner.24@googlemail.com%22%3EAlexander Kerner%3C/a%3E%0A * @version 2010-12-04%0A * %0A * @param %3CT%3E%0A *            type of elements in input collection%0A * @param %3CV%3E%0A *            type of elements in output collection%0A */%0Apublic interface CollectionTransformer%3CT,V%3E extends Transformer%3CCollection%3C? extends T%3E,Collection%3C? super V%3E%3E%7B%0A%0A%7D%0A

Introduce CollectionTransformer.