ported L4J extension object to proper java