Why is project passed via parameter, while other stuff (``currentFileContext``, etc) is passed via fields? That's strange. By the way, project can be obtained from any psi element, so you don't need save/pass it explicitly.