import java.util.ArrayList; import java.util.List; import java.util.function.Function; class Test { public void run() { final Normalizer normalizer = new Normalizer(); final List input = new ArrayList<>(); final List output = new ArrayList<>(); doNormalize(input, output, new Function() { public String apply(String s) { return normalizer.normalize(s); } }); } private void doNormalize(final List input, final List output, Function anObject) { for (final String s : input) { output.add(anObject.apply(s)); } } public static class Normalizer { public String normalize(final String s) { return s; } } }