@@ -0,0 +1,1316 @@
+/*%0A * Copyright (C) 2010 TranceCode Software%0A *%0A * This library is free software; you can redistribute it and/or modify it under%0A * the terms of the GNU Lesser General Public License as published by the Free%0A * Software Foundation; either version 2.1 of the License, or (at your option)%0A * any later version.%0A * %0A * This library is distributed in the hope that it will be useful, but WITHOUT%0A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS%0A * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more%0A * details.%0A * %0A * You should have received a copy of the GNU Lesser General Public License%0A * along with this library; if not, write to the Free Software Foundation, Inc.,%0A * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA %0A */%0Apackage org.trancecode.core;%0A%0Aimport com.google.common.base.Preconditions;%0Aimport com.google.common.base.Supplier;%0A%0A/**%0A * @author Herve Quiroz%0A * @see %3Ca href=%22http://en.wikipedia.org/wiki/Thunk%22%3EThunk%3C/a%3E%0A */%0Apublic final class SupplierThunk%3CT%3E extends AbstractThunk%3CT%3E%0A%7B%0A    private final Supplier%3CT%3E supplier;%0A%0A    public SupplierThunk(final Supplier%3CT%3E supplier)%0A    %7B%0A        this.supplier = Preconditions.checkNotNull(supplier);%0A    %7D%0A%0A    @Override%0A    protected T compute()%0A    %7B%0A        return supplier.get();%0A    %7D%0A%7D%0A

Add SupplierThunk