class NulltermRules extends TimedDelegate {

    @Override
    protected Set<Violation> doMeasuredAnalysis() throws JDOMException {
        final Set<Violation> violations = new HashSet<Violation>();

        for (final Element uarFunction : selectNodesByName("CALL.", "[NAME[1]/@text = 'UAR_SRVSETSTRING']")) {

            if (uarFunction.getChildren().size() > 3) {
                final Element Param3 = uarFunction.getChildren().get(3);

                if (!Param3.getName().equalsIgnoreCase("CALL.") && !getCclName(Param3).equalsIgnoreCase("NULLTERM")) {
                    violations.add(new NulltermViolation(getLineNumber(Param3)));
                }
            } else {
                violations.add(new NulltermViolation(getLineNumber(uarFunction)));
            }
        }
        return violations;
    }

    public  NulltermRules(final Document document);

}