sealed vs non sealed interface java