public void Visit(Take take)
 {
     _sb.Append(_visitingServer ? "take" : "take()");
 }
 public void Visit(Take take)
 {
     _sb.Append(".take()");
 }
 // is blocking and if the tunnel is empty waits until a value becomes available
 public void Visit(Take take)
 {
     // nothing to do!
 }