private void validateField(final ErrorHandler errorHandler, final Deque<String> path, final Field field)
    {
        if (field.sinceVersion() > version)
        {
            reportError(errorHandler, path, field.name(), field.sinceVersion());
        }

        final List<Field> groupFields = field.groupFields();
        if (null != groupFields)
        {
            path.addLast(field.name());

            for (final Field groupField : groupFields)
            {
                validateField(errorHandler, path, groupField);
            }

            path.removeLast();
        }
    }
Validate the message schema and delegate warnings and errors to the supplied {@link ErrorHandler}.

@param errorHandler for delegating warnings and errors.
sbe-tool/src/main/java/uk/co/real_logic/sbe/xml/MessageSchema.java