private Long readQbftStartBlockConfig(final QbftConfigOptions qbftConfigOptions) {
      final long startBlock =
          qbftConfigOptions
              .getStartBlock()
              .orElseThrow(
                  () ->
                      new IllegalStateException("Missing QBFT startBlock config in genesis file"));

      if (startBlock <= 0) {
        throw new IllegalStateException("Invalid QBFT startBlock config in genesis file");
      }

      return startBlock;
    }
From genesis config besu controller builder.

@param genesisConfig the genesis config file
@param syncMode the sync mode
@return the besu controller builder
app/src/main/java/org/hyperledger/besu/controller/BesuController.java