private static Map<String, List<Method>> getSetters(Object obj) {
        Map<String, List<Method>> setters = new HashMap<>();
        for (Method m : obj
                .getClass()
                .getMethods()) {
            String n = m.getName();
            if (n.startsWith(TikaJsonSerializer.SET) && n.length() > 3 && Character.isUpperCase(n.charAt(3))) {
                if (m.getParameters().length == 1) {
                    String paramName = TikaJsonSerializer.getParam(TikaJsonSerializer.SET, n);
                    List<Method> methods = setters.get(paramName);
                    if (methods == null) {
                        methods = new ArrayList<>();
                        setters.put(paramName, methods);
                    }
                    methods.add(m);
                }
            }
        }
        return setters;
    }
See the notes @link{TikaJsonSerializer}.
<p>
This currently requires a setString() option on objects that have enum parameters.
tika-serialization/src/main/java/org/apache/tika/serialization/TikaJsonDeserializer.java