public Node with(Allocation allocation) {
        return new Node(id, extraId, ipConfig, hostname, parentHostname, flavor, status, state, Optional.of(allocation), history,
                        type, reports, modelName, reservedTo, exclusiveToApplicationId, provisionedForApplicationId, hostTTL, hostEmptyAt,
                        exclusiveToClusterType, switchHostname, trustStoreItems, cloudAccount, wireguardPubKey);
    }
Returns a copy of this node with the allocation assigned to the given allocation.
Do not use this to allocate a node.
node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java