package mpei.bkm.converters;

/**
 * This exception is thrown when an error occurs in {@link Converter#convert}.
 */
public class UnconvertableException extends Exception {
    public UnconvertableException() {
    }

    public UnconvertableException(String message) {
        super(message);
    }

    public UnconvertableException(String message, Throwable cause) {
        super(message, cause);
    }

    public UnconvertableException(Throwable cause) {
        super(cause);
    }
}

@@ -23,16 +23,94 @@
 rters;%0A%0A
+%0Aimport java.util.ArrayList;%0Aimport java.util.Arrays;%0Aimport java.util.List;%0A%0A
 /**%0A * T
@@ -253,47 +253,58 @@
    p
-ublic UnconvertableException() %7B%0A    %7D%0A
+rotected List%3CString%3E reasons = new ArrayList%3C%3E();
 %0A   
@@ -340,24 +340,27 @@
 n(String
- message
+... reasons
 ) %7B%0A    
@@ -367,211 +367,377 @@
     
-super(message);%0A    %7D%0A%0A    public UnconvertableException(String message, Throwable cause) %7B%0A        super(message, cause);%0A    %7D%0A%0A    public UnconvertableException(Throwable cause) %7B%0A        super(cause)
+this(null, reasons);%0A    %7D%0A%0A    @SuppressWarnings(%22unchecked%22)%0A    public UnconvertableException(Throwable cause, String... reasons) %7B%0A        super(cause);%0A        this.reasons = Arrays.asList(reasons);%0A    %7D%0A%0A    @Override%0A    public String getMessage() %7B%0A        return String.join(%22, %22, reasons);%0A    %7D%0A%0A    public List%3CString%3E getReasons() %7B%0A        return reasons
 ;%0A  

Allow using multiple reasons for failure in UnconvertableException