@SuppressWarnings("unchecked")
	public static EventWriter createEventWriter(EventEntry eventEntry){
		Properties unisensProperties = UnisensProperties.getInstance().getProperties();
		String readerClassName = unisensProperties.getProperty(Constants.EVENT_WRITER.replaceAll("format", eventEntry.getFileFormat().getFileFormatName().toLowerCase()));
		if(readerClassName != null){
			try{
				Class<EventWriter> readerClass = (Class<EventWriter>)Class.forName(readerClassName);
				Constructor<EventWriter> readerConstructor = readerClass.getConstructor(EventEntry.class);
				return (EventWriter)readerConstructor.newInstance(eventEntry);
			} catch (ClassNotFoundException e) {
	            System.out.println("Class (" + readerClassName + ") could not be found!");
	            e.printStackTrace();
	        } catch (InstantiationException e) {
	            System.out.println("Class (" + readerClassName + ") could not be instantiated!");
	            e.printStackTrace();
	        } catch (IllegalAccessException e) {
	            System.out.println("Class (" + readerClassName + ") could not be accessed!");
	            e.printStackTrace();
	        } catch (ClassCastException ec) {
	            ec.printStackTrace();
	        } catch (SecurityException e) {
	            e.printStackTrace();
	        } catch (NoSuchMethodException e) {
	            e.printStackTrace();
	        } catch (IllegalArgumentException e) {
	            e.printStackTrace();
	        } catch (InvocationTargetException e) {
	            e.printStackTrace();
	        }
		}
		return null;
	}