What is the main reason of moving static fields initialization into static constructor?