public ClassEditor editClass(final ClassInfo info) {
		// Check the cache
		ClassEditor ce = (ClassEditor) classEditors.get(info);

		if (ce == null) {
			ce = new ClassEditor(this, info);
			classEditors.put(info, ce);
			classRC.put(info, new Integer(1));

			if (!classInfos.containsValue(info)) {
				final String className = ce.name().intern();
				BloatContext.db("editClass(ClassInfo): " + className + " -> "
						+ info);
				classInfos.put(className, info);
			}

		} else {
			final Integer rc = (Integer) classRC.get(info);
			classRC.put(info, new Integer(rc.intValue() + 1));
		}

		return (ce);
	}