code: public <T1,T2> T2 foldl
              (final F2<T2,T1,T2> f,
               final T2 initial,
               final Collection<? extends T1> collection)
          {
          T2 result = initial;
          
          for (final T1 current : collection)
              {
              result = f.run (result, current);
              }
          
          return result;
          }
docs: {@inheritDoc}