// Path: status-core/src/main/java/com/indeed/status/core/DependencyChecker.java
// public static class CheckException extends Exception {
//     private static final long serialVersionUID = -5161759492011453513L;
// 
//     private CheckException(final String message, final Throwable cause) {
//         super(message, cause);
//     }
// 
//     @SuppressWarnings({"UnusedDeclaration"})
//     private CheckException(final Throwable cause) {
//         super(cause);
//     }
// }


import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.google.common.base.Functions;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.primitives.Longs;
import com.indeed.status.core.DependencyChecker.CheckException;
import javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
    }

    @Nonnegative
    public long getPeriod() {
        return period;
    }

    @Nullable
    public Thrown getThrown() {
        return null == throwable ? null : new Thrown(throwable);
    }

    @JsonIgnore
    public Throwable getThrowable() {
        return throwable;
    }

    @Nonnull
    public String toString() {
        return "{'id':'" + getId() + "';'status':'" + status + "';}";
    }

    @SuppressWarnings({"UnusedDeclaration"})
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    public static class Thrown {
        private static final int MAX_DEPTH = 20;
        private static final int MAX_TRACE = 20;

        public Thrown(@Nonnull final Throwable throwable) {
            this(
// Path: status-core/src/main/java/com/indeed/status/core/DependencyChecker.java
// public static class CheckException extends Exception {
//     private static final long serialVersionUID = -5161759492011453513L;
// 
//     private CheckException(final String message, final Throwable cause) {
//         super(message, cause);
//     }
// 
//     @SuppressWarnings({"UnusedDeclaration"})
//     private CheckException(final Throwable cause) {
//         super(cause);
//     }
// }


// Path: status-core/src/main/java/com/indeed/status/core/CheckResult.java
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.google.common.base.Functions;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.primitives.Longs;
import com.indeed.status.core.DependencyChecker.CheckException;
import javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

    }

    @Nonnegative
    public long getPeriod() {
        return period;
    }

    @Nullable
    public Thrown getThrown() {
        return null == throwable ? null : new Thrown(throwable);
    }

    @JsonIgnore
    public Throwable getThrowable() {
        return throwable;
    }

    @Nonnull
    public String toString() {
        return "{'id':'" + getId() + "';'status':'" + status + "';}";
    }

    @SuppressWarnings({"UnusedDeclaration"})
    @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
    public static class Thrown {
        private static final int MAX_DEPTH = 20;
        private static final int MAX_TRACE = 20;

        public Thrown(@Nonnull final Throwable throwable) {
            this(
                    throwable instanceof CheckException ? throwable.getCause() : throwable,