vr.order = order; vr.filter = filter; vr.maxSize = maxSize; vr.constraints = constraints; vr.aggressiveLoading = aggressiveLoading; vr.aggressiveCaching = aggressiveCaching;
    Relation getVirtualSubnodeRelation() {        if (!virtual) {            throw new RuntimeException("getVirtualSubnodeRelation called on non-virtual relation");        }        Relation vr = new Relation(this);        vr.groupby = groupby;        vr.groupbyOrder = groupbyOrder;        vr.groupbyPrototype = groupbyPrototype;        vr.order = order;        vr.filter = filter;        vr.maxSize = maxSize;        vr.constraints = constraints;        vr.aggressiveLoading = aggressiveLoading;        vr.aggressiveCaching = aggressiveCaching;        return vr;    }