Write the specified comment into the specified stream, with formatting depending on the specified state, and update the state accordingly. If the optionally specified forceNewline is true then a new line is inserted for comments not already on a new line. Also optionally specify an omitEnclosingWhitespace that specifies if a space character should be omitted before and after comment. If omitEnclosingWhitespace is not specified then a space character is inserted before and after comment. Return 0 on success, and non‐zero value otherwise. Note that a non‐zero return value is returned if either comment contains ‐‐ or if omitEnclosingWhitespace is true and comment ends with ‐. Also note that if an element‐opening tag is not completed with a >, addValidComment will add >.