code: protected List<Segment> segment() {
          List<Segment> segments = new ArrayList<>();
          List<Recipe> recipeStack = new ArrayList<>();
          recipeStack.add(this);
          _segment(new Recipe(), recipeStack, null, segments);
          return segments;
      }
docs: original recipe, but more efficient for sending payloads of ingredients to different services.