Interface ObjectExtension<T extends ExtensibleObject<T,​E>,​E extends ObjectExtension<T,​E>>