public void commitDirty() {
		PersistentBloatContext.comm("Committing dirty data");

		// Commit all dirty fields
		Object[] array = this.fieldEditors.values().toArray();
		for (int i = 0; i < array.length; i++) {
			final FieldEditor fe = (FieldEditor) array[i];
			if (fe.isDirty() && !ignoreField(fe.memberRef())) {
				PersistentBloatContext.comm("  Committing field: "
						+ fe.declaringClass().name() + "." + fe.name());
				commit(fe.fieldInfo());
			}
		}

		// Commit all dirty methods
		array = this.methodEditors.values().toArray();
		for (int i = 0; i < array.length; i++) {
			final MethodEditor me = (MethodEditor) array[i];
			if (me.isDirty() && !ignoreMethod(me.memberRef())) {
				PersistentBloatContext.comm("  Committing method: "
						+ me.declaringClass().name() + "." + me.name()
						+ me.type());
				commit(me.methodInfo());
			}
		}

		// Commit all dirty classes
		array = this.classEditors.values().toArray();
		for (int i = 0; i < array.length; i++) {
			final ClassEditor ce = (ClassEditor) array[i];
			if (ce.isDirty() && !ignoreClass(ce.type())) {
				PersistentBloatContext.comm("  Committing class: " + ce.name());
				commit(ce.classInfo());
			}
		}
	}