@Override
  public void updateSyntax(final TTCN3ReparseUpdater reparser, final boolean isDamaged)
      throws ReParseException {
    if (isDamaged) {
      throw new ReParseException();
    }

    if (value instanceof IIncrementallyUpdateable) {
      ((IIncrementallyUpdateable) value).updateSyntax(reparser, false);
      reparser.updateLocation(value.getLocation());
    } else if (value != null) {
      throw new ReParseException();
    }
  }
  @Override
  public void updateSyntax(final TTCN3ReparseUpdater reparser, final boolean isDamaged)
      throws ReParseException {
    if (isDamaged) {
      throw new ReParseException();
    }

    if (lengthRestriction != null) {
      lengthRestriction.updateSyntax(reparser, false);
      reparser.updateLocation(lengthRestriction.getLocation());
    }

    if (baseTemplate instanceof IIncrementallyUpdateable) {
      ((IIncrementallyUpdateable) baseTemplate).updateSyntax(reparser, false);
      reparser.updateLocation(baseTemplate.getLocation());
    } else if (baseTemplate != null) {
      throw new ReParseException();
    }

    templates.updateSyntax(reparser, false);
  }