private <T> List<T> getForks(
      final String fieldKey, final Function<ObjectNode, T> forkConstructor) {
    final Optional<ArrayNode> forksNode = JsonUtil.getArrayNode(customForkConfigRoot, fieldKey);

    if (forksNode.isEmpty()) {
      return emptyList();
    }

    final List<T> forks = Lists.newArrayList();

    forksNode
        .get()
        .elements()
        .forEachRemaining(
            node -> {
              if (!node.isObject()) {
                throw new IllegalArgumentException("Transition is illegally formatted.");
              }
              forks.add(forkConstructor.apply((ObjectNode) node));
            });

    return Collections.unmodifiableList(forks);
  }
Gets clique forks.

@return the clique forks
config/src/main/java/org/hyperledger/besu/config/TransitionsConfigOptions.java