<repeat> A marker interface is used to inadvertantly introduce a design flaw. A marker interface is typically better described as "metadata" with some contractual properties associated with it. For example, you could eliminate the java.io.Serializable marker interface and introduce a Serializable annotation with associated contract (i.e. in the javadoc), since it is annotations that are the correct tool for metadata, and prior to 1.5, mere javadoc; it has never been interfaces, despite the flaws that are evident in the core API. </repeat>