public void writeCSV(Collection<?> entities, String fileName, boolean override) throws ParsingException,
            ClassValidationException, ConverterException {

        if (configuration == null) {
            throw new NullPointerException("Initialize engine with init method first!");
        }

        StringBuilder filePath = new StringBuilder();
        filePath.append(configuration.getCSVDirectory());
        if (configuration.getCSVDirectory().charAt(configuration.getCSVDirectory().length() - 1) != '/'
                && configuration.getCSVDirectory().charAt(configuration.getCSVDirectory().length() - 1) != '\\') {
            filePath.append("/");
        }
        filePath.append(fileName).append(".").append(configuration.getCSVExtension());

        File file = new File(filePath.toString());
        if (file.exists() && !override) {
            throw new ParsingException("File already exist and override is set to false");
        }

        mappingEngine.mapEntityToCSV(entities, file);

    }