java sealed interface with records