class ActivityLog {

    public boolean isOrganisationRemoved() {
        return getOrganisation().map(org ->
                        ofNullable(getApplication())
                                .map(a -> a.getProject())
                                .map(p -> p.getOrganisations())
                                .map(orgs -> !simpleAnyMatch(orgs, o -> org.getId().equals(o.getId())))
                                .orElse(true)
        ).orElse(false);
    }

    public  ActivityLog();
    public  ActivityLog(Application application, ActivityType type, CompetitionDocument competitionDocument);
    public  ActivityLog(Application application, ActivityType type, Query query, Organisation organisation);
    public  ActivityLog(Application application, ActivityType type);
    public  ActivityLog(Application application, ActivityType type, Organisation organisation);
    public  ActivityLog(Application application, ActivityType type, Organisation organisation, User author);

}