private static void addPublicMethods(final Set<Class<?>> stroomClasses, final Class<?> clazz) {
        final Method[] methods = clazz.getMethods();
        for (final Method method : methods) {
            if (Modifier.isPublic(method.getModifiers()) && !method.getName().equals("getClass")) {
                // Add method parameters.
                final Class<?>[] parameterTypes = method.getParameterTypes();
                final Type[] genericParameterTypes = method.getGenericParameterTypes();

                for (int i = 0; i < parameterTypes.length; i++) {
                    addType(stroomClasses, genericParameterTypes[i]);
                }

                // Add return type.
                addType(stroomClasses, method.getGenericReturnType());
            }
        }
    }
Test that classes that will be subject to JSON serialisation have the full complement of JSON annotations.
stroom-app/src/test/java/stroom/importexport/TestJsonSerialisation.java