public static synchronized Mimetypes getInstance() {
		if (mimetypes != null) {
			return mimetypes;
		}

		mimetypes = new Mimetypes();
		InputStream localInputStream = mimetypes.getClass().getResourceAsStream("/mime.types");
		if (localInputStream != null) {
			logger.info("Loading mime types from file in the classpath: mime.types");
			try {
				mimetypes.loadAndReplaceMimetypes(localInputStream);
			} catch (IOException localIOException) {
				logger.error("Failed to load mime types from file in the classpath: mime.types", localIOException);
			}
		} else {
			logger.warn("Unable to find 'mime.types' file in classpath");
		}
		return mimetypes;
	}