code: function HeaderBlock(properties) {
              this.requiredFeatures = [];
              this.optionalFeatures = [];
              if (properties)
                  for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
                      if (properties[keys[i]] != null)
                          this[keys[i]] = properties[keys[i]];
          }
docs: Properties of a HeaderBlock.
  @memberof OSMPBF
  @interface IHeaderBlock
  @property {OSMPBF.IHeaderBBox|null} [bbox] HeaderBlock bbox
  @property {Array.<string>|null} [requiredFeatures] HeaderBlock requiredFeatures
  @property {Array.<string>|null} [optionalFeatures] HeaderBlock optionalFeatures
  @property {string|null} [writingprogram] HeaderBlock writingprogram
  @property {string|null} [source] HeaderBlock source
  @property {number|Long|null} [osmosisReplicationTimestamp] HeaderBlock osmosisReplicationTimestamp
  @property {number|Long|null} [osmosisReplicationSequenceNumber] HeaderBlock osmosisReplicationSequenceNumber
  @property {string|null} [osmosisReplicationBaseUrl] HeaderBlock osmosisReplicationBaseUrl
   
  Constructs a new HeaderBlock.
  @memberof OSMPBF
  @classdesc Represents a HeaderBlock.
  @implements IHeaderBlock
  @constructor
  @param {OSMPBF.IHeaderBlock=} [properties] Properties to set