code: public void setPropertyFromString(String property, String value) {
          if (isEmpty(value)) {
              throw new IllegalArgumentException("The value cannot be empty for XML tag " + property + " for type " + type);
          }
          if ("firstLine".equalsIgnoreCase(property))
              firstLine = value;
          else if ("allowBlankLines".equalsIgnoreCase(property))
              allowBlankLines = Boolean.valueOf(value);
          else if ("isMultiline".equalsIgnoreCase(property))
              isMultiline = Boolean.valueOf(value);
          else if ("beforeEachLine".equalsIgnoreCase(property))
              beforeEachLine = value;
          else if ("endLine".equalsIgnoreCase(property))
              endLine = value;
          else if ("skipLine".equalsIgnoreCase(property))
              skipLinePattern = compile(value);
          else if ("firstLineDetectionPattern".equalsIgnoreCase(property))
              firstLineDetectionPattern = compile(value);
          else if ("lastLineDetectionPattern".equalsIgnoreCase(property))
              lastLineDetectionPattern = compile(value);
  
      }
docs: Sets header definition properties using its property name and its string value.<br> If you want to set a property
  to null you must not call this function.<br/> This function is mainly used while parsing properties from the XML
  configuration file.
  
  @param property The property name.
  @param value    The property value.
  @throws IllegalArgumentException If the property value is null.