docs: protected WindupVertexFrame resolveVariable(GraphRewrite event, String variableName)
      {
          Variables variables = Variables.instance(event);
          Iterator<String> tokenizer = new VariableNameIterator(variableName);
  
          WindupVertexFrame payload;
          String initialName = tokenizer.next();
          try
          {
              payload = Iteration.getCurrentPayload(variables, initialName);
          }
          catch (IllegalArgumentException e1)
          {
              payload = variables.findSingletonVariable(initialName);
          }
  
          while (tokenizer.hasNext())
          {
              String propertyName = tokenizer.next();
              propertyName = "get" + camelCase(propertyName, true);
              try
              {
                  payload = (WindupVertexFrame) payload.getClass().getMethod(propertyName).invoke(payload);
              }
              catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException
                          | NoSuchMethodException | SecurityException e)
              {
                  throw new IllegalArgumentException("Invalid variable expression: " + variableName, e);
              }
          }
          return payload;
      }