private String getSignature(HMethod hm) {
      HClass[] paramTypes;
      StringBuffer sb;

      sb = new StringBuffer("");
      sb.append(hm.getName());
      paramTypes = hm.getParameterTypes();
      for (int i = 0; i < paramTypes.length; i++) sb.append(paramTypes[i].toString());
      return sb.toString();
    }
 /**
  * return a conservative approximation to whether this is a constructor or not. it's always safe
  * to return true.
  */
 private boolean isConstructor(HMethod hm) {
   // this is tricky, because we want split constructors to count, too,
   // even though renamed constructors (such as generated by initcheck,
   // for instance) won't always be instanceof HConstructor.  Look
   // for names starting with '<init>', as well.
   if (hm instanceof HConstructor) return true;
   if (hm.getName().startsWith("<init>")) return true;
   // XXX: what about methods generated by RuntimeMethod Cloner?
   // we could try methods ending with <init>, but then the
   // declaringclass information would be wrong.
   // if (hm.getName().endsWidth("<init>")) return true;//not safe yet.
   return false;
 }