System.err.println(method+"("+collapseArray(parameters)+")");
   public static void test(Class iface, Object proxy, String method, Object rv, Object... parameters)   {      try {         Method[] ms = iface.getMethods();         Method m = null;         for (Method t: ms) {            if (t.getName().equals(method))               m = t;         }                     Object o = m.invoke(proxy, parameters);         if (rv.getClass().isArray()) {            compareArray(iface.getName()+"."+method, rv,o);          } else {            if (o == rv || (o != null && o.equals(rv)))               pass(iface.getName()+"."+method);            else               fail(iface.getName()+"."+method, "Incorrect return value; expected "+rv+" got "+o);         }      } catch (DBusExecutionException DBEe) {         fail(iface.getName()+"."+method, "Error occurred during execution: "+DBEe.getClass().getName()+" "+DBEe.getMessage());      } catch (InvocationTargetException ITe) {         fail(iface.getName()+"."+method, "Error occurred during execution: "+ITe.getCause().getClass().getName()+" "+ITe.getCause().getMessage());      } catch (Exception e) {         fail(iface.getName()+"."+method, "Error occurred during execution: "+e.getClass().getName()+" "+e.getMessage());      }   }