java.lang.NoSuchMethodError: com.google.common.collect.FluentIterable.toList()Lcom/google/common/collect/ImmutableList;

You have multiple versions of Guava on your classpath. NoSuchMethodError in a Guava class comes here on SO maybe once per week. Switching to a newer version won't help as long you don't get rid of the old one. Print out the location of FluentIterable.class and get rid of that JAR.

As Frank Pavageau commented, this location can be obtained as

FluentIterable.class.getProtectionDomain().getCodeSource().getLocation().toExte‌​rnalForm()

This is a known GlassFish issue. With GlassFish 4.1 and no other modifications, Guava 13.0.1 is used so when you use features not present in that version, you will get errors like the one you stated. In my case, it was java.lang.IncompatibleClassChangeError: Implementing class.

In the comments of the bug report it is suggested to replace glassfish/modules/guava.jar. This seems to be the easiest solution. Another approach is to use a custom class loader.

Edit: If you add <class-loader delegate="false"/> to your glassfish-web.xml, then Guava is loaded from the WAR.