@Override
 public Void visitSample(SampleNode node, Void context) {
   printNode(
       node,
       format(
           "Sample[type=%s, ratio=%f, rescaled=%s]",
           node.getSampleType(), node.getSampleRatio(), node.isRescaled()),
       NODE_COLORS.get(NodeType.SAMPLE));
   return node.getSource().accept(this, context);
 }
 @Override
 public SubPlanBuilder visitSample(SampleNode node, Void context) {
   SubPlanBuilder current = node.getSource().accept(this, context);
   current.setRoot(
       new SampleNode(
           node.getId(),
           current.getRoot(),
           node.getSampleRatio(),
           node.getSampleType(),
           node.isRescaled(),
           node.getSampleWeightSymbol()));
   return current;
 }