code: public Plan makeProductPlan(Plan trunk) {
  		Plan p = makeSelectPlan();
  		return new MultiBufferProductPlan(trunk, p, tx);
  	}
docs: Constructs a product plan of the specified trunk and this table.
  
  <p>
  The select predicate applicable to this table is pushed down below the
  product.
  </p>
  
  @param trunk
  the specified trunk of join
  @return a product plan of the trunk and this table