@SuppressWarnings("unchecked")
	public Class<Reducer<Writable, Writable, Writable, Writable>> loadClass ()
			throws IOException, ClassNotFoundException {
		
		/* Load Jar file */
		String jarFilePath = this.task.getJarEntry().getLocalPath();
		if (MapReduce.Core.DEBUG) {
			System.out.println("DEBUG RunReducer.loadClass(): JarFilePath:" + jarFilePath);
		}
		JarFile jarFile = new JarFile(jarFilePath);
		Enumeration<JarEntry> e = jarFile.entries();
		
		URL[] urls = { new URL("jar:file:" + jarFilePath +"!/") };
		ClassLoader cl = URLClassLoader.newInstance(urls);
		
		Class<Reducer<Writable, Writable, Writable, Writable>> reducerClass = null;
		
		/* Iterate .class files */
		while (e.hasMoreElements()) {
            
			JarEntry je = e.nextElement();
            
			if(je.isDirectory() || !je.getName().endsWith(".class")){
                continue;
            }
            
            String className = je.getName().substring(0, je.getName().length() - 6);
            className = className.replace('/', '.');
            if (className.equals(this.task.getReducerClassName())) {
            	reducerClass = (Class<Reducer<Writable, Writable, Writable, Writable>>) cl.loadClass(className);
            }
        }
		
		return reducerClass;
		
	}