static private DOMNode buildEntrySignature(Entry entry) {
        String name = entry.getName();
        Annotation annotationType = entry.getAnnotationType();
        boolean isStatic
            = annotationType == Annotation.STATICMETHOD ||
              annotationType == Annotation.STATICPROPERTY
            ? true
            : false;

        if (annotationType == Annotation.STATICPROPERTY ||
                annotationType == Annotation.INSTANCEPROPERTY) {
            return new DOMNode("h4", (isStatic ? "static " : "") +
                                            entry.getType() + " " +
                                            "<strong>"+entry.getName()+"</strong>")
                            .addAttribute("id", entry.getName());
        }

        StringBuilder sb = new StringBuilder(isStatic ? "static " : "");

        // entry will have a null return value if it is the constructor
        String returnValueType;
        ReturnValue rv = entry.getReturnValue();
        if (rv == null) {
            returnValueType = "";
        } else {
            returnValueType = rv.getType();
        }

        sb.append(returnValueType)
          .append(" <strong>")
          .append(entry.getName())
          .append("</strong> ( ");
        List<Parameter> parameters = entry.getParameters();
        int size = parameters.size();
        Parameter parameter;
        for (int i = 0; i < size; i++) {
            parameter = parameters.get(i);
            sb.append(parameter.getArgType())
              .append(" ")
              .append(parameter.getName());
            if (i != size-1) {
                sb.append(", ");
            } else {
                sb.append(" ");
            }
        }
        sb.append(")");

        return new DOMNode("h4", sb.toString());
    }