@Override
 public String toString() {
   StringBuffer sb = new StringBuffer();
   for (int i = 0, N = methods.length; i != N; ++i) {
     Method method = methods[i].method();
     sb.append(JavaMembers.javaSignature(method.getReturnType()));
     sb.append(' ');
     sb.append(method.getName());
     sb.append(JavaMembers.liveConnectSignature(methods[i].argTypes));
     sb.append('\n');
   }
   return sb.toString();
 }
 private static void printDebug(String msg, MemberBox member, Object[] args) {
   if (debug) {
     StringBuffer sb = new StringBuffer();
     sb.append(" ----- ");
     sb.append(msg);
     sb.append(member.getDeclaringClass().getName());
     sb.append('.');
     if (member.isMethod()) {
       sb.append(member.getName());
     }
     sb.append(JavaMembers.liveConnectSignature(member.argTypes));
     sb.append(" for arguments (");
     sb.append(scriptSignature(args));
     sb.append(')');
     System.out.println(sb);
   }
 }