@Nonnull
  public JsclVector parse(@Nonnull Parameters p, @Nullable Generic previousSumElement)
      throws ParseException {
    int pos0 = p.position.intValue();

    ParserUtils.skipWhitespaces(p);

    ParserUtils.tryToParse(p, pos0, ',');

    return ParserUtils.parseWithRollback(VectorParser.parser, pos0, previousSumElement, p);
  }
  @Nullable
  public String parse(@Nonnull Parameters p, Generic previousSumElement) throws ParseException {
    final int pos0 = p.position.intValue();

    ParserUtils.skipWhitespaces(p);

    if (p.position.intValue() < p.expression.length()
        && p.expression.startsWith(name, p.position.intValue())) {
      p.position.add(name.length());
      return name;
    } else {
      p.position.setValue(pos0);
      return null;
    }
  }