docs: def get_comment_form_for_create(self, reference_id, comment_record_types):
          """Gets the comment form for creating new comments.
  
          A new form should be requested for each create transaction.
  
          arg:    reference_id (osid.id.Id): the ``Id`` for the reference
                  object
          arg:    comment_record_types (osid.type.Type[]): array of
                  comment record types
          return: (osid.commenting.CommentForm) - the comment form
          raise:  NullArgument - ``reference_id or comment_record_types``
                  is ``null``
          raise:  OperationFailed - unable to complete request
          raise:  PermissionDenied - authorization failure
          raise:  Unsupported - unable to get form for requested record
                  types
          *compliance: mandatory -- This method must be implemented.*
  
          """
          # Implemented from template for
          # osid.relationship.CommentAdminSession.get_comment_form_for_create_template
          # These really need to be in module imports:
          if not isinstance(reference_id, ABCId):
              raise errors.InvalidArgument('argument is not a valid OSID Id')
          for arg in comment_record_types:
              if not isinstance(arg, ABCType):
                  raise errors.InvalidArgument('one or more argument array elements is not a valid OSID Type')
          if comment_record_types == []:
              # WHY are we passing book_id = self._catalog_id below, seems redundant:
              # Probably don't need to send effective_agent_id, since the form can get that from proxy.
              obj_form = objects.CommentForm(
                  book_id=self._catalog_id,
                  reference_id=reference_id,
                  effective_agent_id=str(self.get_effective_agent_id()),
                  catalog_id=self._catalog_id,
                  runtime=self._runtime,
                  proxy=self._proxy)
          else:
              obj_form = objects.CommentForm(
                  book_id=self._catalog_id,
                  record_types=comment_record_types,
                  reference_id=reference_id,
                  effective_agent_id=self.get_effective_agent_id(),
                  catalog_id=self._catalog_id,
                  runtime=self._runtime,
                  proxy=self._proxy)
          obj_form._for_update = False
          self._forms[obj_form.get_id().get_identifier()] = not CREATED
          return obj_form