docs: function getCommentedClassNode(node) {
      if (node.type !== "ClassBody") {
          return null;
      }
      // look for a constructor() and then look for property tags which we can annotate with.
      var constructNode = null;
      for (var i = 0; i < node.body.length; i++) {
          if (node.body[i].kind === "constructor" && node.body[i].type === "MethodDefinition") {
              constructNode = node.body[i];
          }
      }
  
      if (!constructNode || !constructNode.leadingComments) {
          return null;
      }
  
      // check for @property JSDoc on the constructor
      var constructDocs = null;
      for (var i=0; i<constructNode.leadingComments.length; i++) {
          if (constructNode.leadingComments[i].type === "Block") {
              constructDocs = extractJsdoc(constructNode.leadingComments[i].value);
              break;
          }
      }
      return {
          node: node,
          jsdoc: constructDocs
      };
  }