code: public void validate() {
          check("firstLine", this.firstLine);
          check("beforeEachLine", this.beforeEachLine);
          check("endLine", this.endLine);
          check("firstLineDetectionPattern", this.firstLineDetectionPattern);
          check("lastLineDetectionPattern", this.lastLineDetectionPattern);
          check("isMultiline", this.isMultiline);
          check("allowBlankLines", this.allowBlankLines);
          // skip line can be null
      }
docs: Checks this header definition consistency, in other words if all the mandatory properties of the definition have
  been set.
  
  @throws IllegalStateException If a mandatory property has not been set.