I want to support source code transformation by intellij. What I mean. For example, I have a source code file `Main.java`. During building process, before compiling original file, modified version is generated. Subsequent steps of building process should use modified file, not the original one.
I implemented ModuleLevelBuilder, which takes original files, performs all needed ast transformations and flush modified files to `target` subdirectory. But I can not understand, is there any way to mark original file as no longer needed and that modified version should be used instead?