private void initRat() {
		Reflections reflections = new Reflections("de.LittleRolf.MazeOverkill");

		Set<Class<? extends MazeRat>> subTypes = reflections
				.getSubTypesOf(MazeRat.class);
		for (Class<? extends MazeRat> clazz : subTypes) {

			try {
				rats.add(clazz.getConstructor(Point.class, Maze.class)
						.newInstance(startPoint.clone(), this));
			} catch (InstantiationException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IllegalArgumentException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (InvocationTargetException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (NoSuchMethodException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (SecurityException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}

	}