class ApplicationStager {

    public boolean isApplicationStagedCorrectly(CloudApplication app) {
        // TODO Remove the null filtering.
        // We are not sure if the controller is returning null for created_at or not, so after the proper v3 client adoption,
        // we should decide what to do with this filtering.
        List<CloudBuild> buildsForApplication = client.getBuildsForApplication(app.getMetadata()
                                                                                  .getGuid());
        if (containsNullMetadata(buildsForApplication)) {
            return false;
        }
        CloudBuild build = getLastBuild(buildsForApplication);
        if (build == null) {
            logger.debug(Messages.NO_BUILD_FOUND_FOR_APPLICATION, app.getName());
            return false;
        }
        if (isBuildStagedCorrectly(build)) {
            return true;
        }
        logMessages(app, build);
        return false;
    }

    public  ApplicationStager(ProcessContext context);

}