private static void validateHeader(byte[] data) {
    OsmHeader header = PbfDecoder.decodeHeader(data);
    List<String> unsupportedFeatures = header.requiredFeatures().stream()
      .filter(feature -> !(feature.equals("OsmSchema-V0.6") || feature.equals("DenseNodes")))
      .toList();
    if (!unsupportedFeatures.isEmpty()) {
      throw new FileFormatException("PBF file contains unsupported features " + unsupportedFeatures);
    }
  }
Creates a new OSM input file reader.

@param path      Path to the file
@param lazyReads If {@code true}, defers reading the actual content of each block from disk until the block is
                 decoded in a worker thread.
planetiler-core/src/main/java/com/onthegomap/planetiler/reader/osm/OsmInputFile.java