class Functional {

    public static <T> List<T> select(final Collection<T> items, final Callback<T, Boolean> filter) {
        List<T> selectedItems = new ArrayList<>();

        for (T item : items) {
            if (filter.call(item)) {
                selectedItems.add(item);
            }
        }

        return selectedItems;
    }

    private  Functional();

}