public static CellPattern loadPattern(File file){
		String suffix = file.getName().contains(".") ? file.getName().substring(file.getName().indexOf(".") + 1) : "";
		
		for(PatternFileHandler handler: handlers){
			if(handler.canHandleFile(suffix)){
				try{
					CellPattern pattern = handler.parseCellPattern(file);
					CellPatterns.registerPattern(pattern);
					Console.info("Successfully Parsed " + pattern.getPatternName() + " from " + file.getPath() + "...");
					return pattern;
				}catch(IOException e){
					Console.error("Following Exception May be Caused by " + handler.getClass().getName()+"!");
					Console.exception(e);
				}
			}
		}
		
		Console.error("Failure to Parse Pattern! File = " + file.getPath());
		return null;
	}