@ Override
	public boolean writeToFile(final File file, T object, boolean replaceIfExists)
	{
		skipRemaining = false;
		
		// Delete file if it exists
		if (file.exists () && replaceIfExists) {
			file.delete ();
		} else
			return false;
		
		Path path = Paths.get (file.getAbsolutePath ());
		BufferedWriter writer = null;
		
		try { // Use BufferedWriter to write to file
			writer = Files.newBufferedWriter (path, encoding);
			
			writer.write (toWriteableString (object));
		} catch (IOException e) {
			e.printStackTrace ();
			return false;
		} finally { // Close BufferedWriter
			if (writer != null) {
				try {
					writer.close ();
				} catch (IOException e) {}
			}
		}
		
		return true;
	}