package net.sf.kerner.utils.collections;

import java.util.Collection;

/**
 * 
 * A {@code Selector} selects and returns an instance of one element out of a
 * given {@link java.util.Collection Collection} of elements.
 * 
 * <p>
 * <b>Example:</b><br>
 * 
 * </p>
 * <p>
 * 
 * <pre>
 * TODO example
 * </pre>
 * 
 * </p>
 * 
 * @author <a href="mailto:alex.kerner.24@googlemail.com">Alexander Kerner</a>
 * @version 2011-06-03
 * 
 * @param <T>
 */
public interface Selector<T> {

	/**
	 * 
	 * TODO description
	 *
	 * @param elements {@link java.util.Collection Collection} of elements from which one should be selected
	 * @return element that was selected by this {@code Selector}
	 */
	T select(Collection<T> elements);

}

@@ -212,17 +212,137 @@
 lements.
+ Returned instance%0A * of element ist not altered and stays a member of input%0A * %7B@link java.util.Collection Collection%7D.
 %0A
-
  * %0A * %3C
@@ -545,9 +545,9 @@
 06-0
-3
+6
 %0A * 
@@ -615,28 +615,106 @@
 %09 * 
-TODO description
+Select one element from given %7B@code Collection%7D that fits this%0A%09 * %7B@code Selector's%7D needs.
 %0A%09 *
+ 
 %0A%09 *
@@ -729,16 +729,31 @@
 elements
+%0A%09 *           
  %7B@link 
@@ -807,16 +807,31 @@
 om which
+%0A%09 *           
  one sho
@@ -914,16 +914,16 @@
 r%7D%0A%09 */%0A
-
 %09T selec
@@ -935,16 +935,26 @@
 lection%3C
+? extends 
 T%3E eleme

Introduce Selector.