Reflection lookup is also expensive, even if the returned constructor is already created and cached internally (inside the JVM)