code: @Override
    public AvroEvaluatorsInfo toAvro(
        final List<String> ids, final Map<String, EvaluatorDescriptor> evaluators) {
  
      final List<AvroEvaluatorInfo> evaluatorsInfo = new ArrayList<>();
  
      for (final String id : ids) {
  
        final EvaluatorDescriptor evaluatorDescriptor = evaluators.get(id);
        String nodeId = null;
        String nodeName = null;
        InetSocketAddress address = null;
        int memory = 0;
        String type = null;
        String runtimeName = null;
  
        if (evaluatorDescriptor != null) {
          nodeId = evaluatorDescriptor.getNodeDescriptor().getId();
          nodeName = evaluatorDescriptor.getNodeDescriptor().getName();
          address = evaluatorDescriptor.getNodeDescriptor().getInetSocketAddress();
          memory = evaluatorDescriptor.getMemory();
          type = evaluatorDescriptor.getProcess().getType().toString();
          runtimeName = evaluatorDescriptor.getRuntimeName();
        }
  
        evaluatorsInfo.add(AvroEvaluatorInfo.newBuilder()
            .setEvaluatorId(id)
            .setNodeId(nodeId != null ? nodeId : "")
            .setNodeName(nodeName != null ? nodeName : "")
            .setInternetAddress(address != null ? address.toString() : "")
            .setMemory(memory)
            .setType(type != null ? type : "")
            .setRuntimeName(runtimeName != null ? runtimeName : "")
            .build());
      }
  
      return AvroEvaluatorsInfo.newBuilder()
          .setEvaluatorsInfo(evaluatorsInfo)
          .build();
    }
docs: Create AvroEvaluatorsInfo object.