At the risk of more logic flailing, I notice that there is a separate method below to compile from only DDL files.  Shouldn't this method here then *require* that the projectFileURL be non-null?