public ImageObject(int x, int y, int zIndex, boolean collision, String filename) {
		
		// Call the constructor of the parent class.
		super(x, y, zIndex, collision);
		
		// Check if the provided file name makes sense.
		if (filename == null) {
			throw new IllegalArgumentException("The filename may not be null!");
		}
		
		try {
			// Try to load the image from the fail system.
			image = ImageIO.read(new File(filename));
			
		} catch (IOException e) {
			// This branch is only executed if an exception was thrown inside
			// the "try{ ... }" block.
			image = null;
			Log.error("Failed to load image: " + filename);
			e.printStackTrace();
		}
	}