For example: I want to declare an exception:
class UnexpectedEnumException(enum: Enum...) : Exception("Unexpected enum $enum")
In Java I can do this by
public class UnexpectedEnumException extends RuntimeException {
public UnexpectedEnumException(Enum<?> en) {
super("Unexpected enum " + en);
}