package pl.net.bluesoft.util.lang;
import java.util.LinkedList;
import java.util.Collection;
import java.util.ArrayList;
import java.util.List;
public abstract class Mapcar<T1, T2> {
private Collection<T1> list;
protected Mapcar() {
}
protected Mapcar(Collection<T1> list) {
this.list = list;
}
public List<T2> go() {
return go(list);
}
public List<T2> go(Collection<T1> list) {
List<T2> result = new ArrayList<T2>();
if (list != null) {
for (T1 x : list) {
T2 t2 = lambda(x);
if (t2 != null) {
result.add(t2);
}
}
}
return result;
}
public abstract T2 lambda(T1 x);
}