Does `checkExists` still have value? If `checkExists == true`, and the app already exists on CF, then `createApplication` does nothing. `createApplication` will almost always be used as part of a create/upload/start flow. I don't see much value in bypassing the create step just because the app meta-data already exists in CF, and bypassing the create when other meta-data fields may have changed (thus needing updated on CF) could confuse a user.

I think this is a hold-over from when "push" and "update" were two different operations in v1 - "push" failed if the application already existed, and you had to use "update" to push an app that already existed in CF. With v2 you always just "push".