public Node withReservedTo(TenantName tenant) {
        if (type != NodeType.host)
            throw new IllegalArgumentException("Only host nodes can be reserved, " + hostname + " has type " + type);
        return new Node(id, extraId, ipConfig, hostname, parentHostname, flavor, status, state, allocation, history,
                        type, reports, modelName, Optional.of(tenant), exclusiveToApplicationId, provisionedForApplicationId, hostTTL, hostEmptyAt,
                        exclusiveToClusterType, switchHostname, trustStoreItems, cloudAccount, wireguardPubKey);
    }
Returns a copy of this node with the parent hostname assigned to the given value.
node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java