class MessageStructureReader {

	public void traverse(IMessageStructureVisitor msgStrVisitor,
                         IMessageStructure msgStructure,
                         IMessage message,
                         IMessageStructureReaderHandler handler)
	{
		try
		{
            traverse(msgStrVisitor, msgStructure.getFields(), message, handler);
		}
		catch ( Exception e )
		{
            StringBuilder builder = new StringBuilder();
            builder.append(e.getMessage()).append(". in MessageStructure Name = [");
            if(msgStructure != null && msgStructure.getName() != null){
                builder.append(msgStructure.getName());
            }
            builder.append("]");
			throw new EPSCommonException(builder.toString(), e);
		}
	}

	protected  MessageStructureReader();

}