code: public static String getPayloadVariableName(GraphRewrite event, EvaluationContext ctx) throws IllegalStateException
      {
          Variables variables = Variables.instance(event);
          Map<String, Iterable<? extends WindupVertexFrame>> topLayer = variables.peek();
          if (topLayer.keySet().size() != 1)
          {
              throw new IllegalStateException("Cannot determine Iteration payload variable name because the top "
                          + "layer of " + Variables.class.getSimpleName() + " stack contains " + topLayer.keySet().size() + " variables: "
                          + topLayer.keySet());
          }
          String name = topLayer.keySet().iterator().next();
          return name;
      }
docs: Return the current {@link Iteration} payload variable name.
  
  @throws IllegalStateException if there is more than one variable in the {@link Variables} stack, and the payload name cannot be determined.