// Path: src/main/java/comeon/core/UploadReport.java
// public class UploadReport {
//     private final Media media;
// 
//     private final Throwable cause;
// 
//     public UploadReport(final Media media) {
//         this(media, null);
//     }
// 
//     public UploadReport(final Media media, final Throwable cause) {
//         this.media = media;
//         this.cause = cause;
//     }
// 
//     public Media getMedia() {
//         return media;
//     }
// 
//     public Throwable getCause() {
//         return cause;
//     }
// }


import comeon.core.UploadReport;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
package comeon.core.events;



public final class UploadDoneEvent {

    private final List<UploadReport> reports;

// Path: src/main/java/comeon/core/UploadReport.java
// public class UploadReport {
//     private final Media media;
// 
//     private final Throwable cause;
// 
//     public UploadReport(final Media media) {
//         this(media, null);
//     }
// 
//     public UploadReport(final Media media, final Throwable cause) {
//         this.media = media;
//         this.cause = cause;
//     }
// 
//     public Media getMedia() {
//         return media;
//     }
// 
//     public Throwable getCause() {
//         return cause;
//     }
// }


// Path: src/main/java/comeon/core/events/UploadDoneEvent.java
import comeon.core.UploadReport;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;

package comeon.core.events;



public final class UploadDoneEvent {

    private final List<UploadReport> reports;

    private final String reportFileLocation;