@Override
    public int compareTo(final Hardfork h) {
      if (h == null) { // all non-null hardforks are greater than null
        return 1;
      }
      return this.milestone == h.milestone ? 0 : this.milestone < h.milestone ? -1 : 1;
    }
Associates a {@link ProtocolSpec} with a given block number or timestamp level starting point
Knows how to query the timestamp or block number of a given block header
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ScheduledProtocolSpec.java