protected Map<String, Graph> loadGraphsAndPatterns(String filename, String fileDir, Level readLevel)
			throws IOException
	{
		String file = ((fileDir != null) ? fileDir : defaultFileDir) + filename + defaultFileExt;
		BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File(file))));
		StringBuilder builder = new StringBuilder();
		String line;
		while((line = reader.readLine()) != null)
		{
			builder.append(line);
			builder.append('\n');
		}
		ContentHolder<String> input = new ContentHolder<String>(builder.toString());
		reader.close();

		Map<String, Graph> graphs = new HashMap<String, Graph>();
		int i = 0;
		while(input.get().length() > 0)
		{
			Graph g = new SimpleGraph();
			TextGraphRepresentation repr;
			try
			{
				repr = (TextGraphRepresentation) new TextGraphRepresentation(g).setUnitName("Greader").setLogLevel(
						(readLevel != null) ? readLevel : Level.OFF);
				repr.readRepresentation(input);
			} catch(IllegalArgumentException e)
			{
				g = new GraphPattern();
				repr = (TextGraphRepresentation) new TextGraphRepresentation(g).setUnitName("Greader").setLogLevel(
						(readLevel != null) ? readLevel : Level.OFF);
				repr.readRepresentation(input);
			}
			log.li("new graph /  pattern: []", repr.toString());
			graphs.put(NAME_GENERAL_GRAPH + "#" + i, g);
			input.set(input.get().trim());
			i++;
		}
		return graphs;
	}