private Object asListIfApplicable(Object o) {
            if (o instanceof int[]) {
                ArrayList<Integer> l = new ArrayList<Integer>();
                for (int i : (int[]) o) {
                    l.add(i);
                }
                return l;
            } else if (o instanceof String[]) {
                ArrayList<String> l = new ArrayList<String>();
                for (String i : (String[]) o) {
                    l.add(i);
                }
                return l;
            } else if (o instanceof boolean[]) {
                ArrayList<Boolean> l = new ArrayList<Boolean>();
                for (Boolean i : (Boolean[]) o) {
                    l.add(i);
                }
                return l;
            } else if (o instanceof Object[]) {
                ArrayList<Object> l = new ArrayList<Object>();
                for (Object i : (Object[]) o) {
                    l.add(i);
                }
                return l;
            }
            return o;
        }