Does `newInstance` need to be overridden at all, given that the default implementation would I think do just what you wrote here?

Also, does your change preserve the behavior of treating the property as absent in case the `projectUrl` was omitted? Or was that behavior undesirable to begin with and it is OK to drop it?