src/file_handling/XMLParser.java
@SuppressWarnings({"rawtypes"})  //Now Class[] parameters does not need to be parameterized
	private SimulationType createSimulation(SimulationType sim, Map<String, String> map, List<String> list) {
		try{
			Class<? extends SimulationType> simClass = sim.getClass();
			Class[] parameters = new Class[2];
			parameters[0] = Map.class;
			parameters[1] = List.class;
			Constructor<? extends SimulationType> ct = simClass.getConstructor(parameters);
			Object[] argList = new Object[2];
			argList[0] = map;
			argList[1] = list;
			return (SimulationType)ct.newInstance(argList);
			} catch (Throwable e){
				throw new XMLException(e);
			}
	}
/**
	 * Instantiates a subclass of SimulationType that matches
	 * the class of the given SimulationType, using the given Map and List.
	 * 
	 * @param sim Subclass of SimulationType that the user wants to make a new instance of.
	 * @param map Map to be passed into the new SimulationType's constructor.
	 * @param list List to be passed into the new SimulationType's constructor.
	 * @return SimulationType
	 */
Instantiates a subclass of SimulationType that matches
the class of the given SimulationType, using the given Map and List.

@param sim Subclass of SimulationType that the user wants to make a new instance of.
@param map Map to be passed into the new SimulationType's constructor.
@param list List to be passed into the new SimulationType's constructor.
Instantiates a subclass of SimulationType that matches the class of the given SimulationType using the given Map and List . @param sim Subclass of SimulationType that the user wants to make a new instance of . @param map Map to be passed into the new SimulationType ' s constructor . @param list List to be passed into the new SimulationType ' s constructor .
@SuppressWarnings({"rawtypes"})  
	private SimulationType createSimulation(SimulationType sim, Map<String, String> map, List<String> list) {
		try{
			Class<? extends SimulationType> simClass = sim.getClass();
			Class[] parameters = new Class[2];
			parameters[0] = Map.class;
			parameters[1] = List.class;
			Constructor<? extends SimulationType> ct = simClass.getConstructor(parameters);
			Object[] argList = new Object[2];
			argList[0] = map;
			argList[1] = list;
			return (SimulationType)ct.newInstance(argList);
			} catch (Throwable e){
				throw new XMLException(e);
			}
	}
@ SuppressWarnings ( { "rawtypes" } ) private SimulationType createSimulation ( SimulationType sim , Map < String , String > map , List < String > list ) { try { Class < ? extends SimulationType > simClass = sim . getClass ( ) ; Class [ ] parameters = new Class [ 2 ] ; parameters [ 0 ] = Map . class ; parameters [ 1 ] = List . class ; Constructor < ? extends SimulationType > ct = simClass . getConstructor ( parameters ) ; Object [ ] argList = new Object [ 2 ] ; argList [ 0 ] = map ; argList [ 1 ] = list ; return ( SimulationType ) ct . newInstance ( argList ) ; } catch ( Throwable e ) { throw new XMLException ( e ) ; } }
Instantiates a subclass of SimulationType that matches
 the class of the given SimulationType, using the given Map and List.
Instantiates a subclass of SimulationType that matches the class of the given SimulationType using the given Map and List .
//Now Class[] parameters does not need to be parameterized