Cannot just extend the other class because the other class is hidden and not exposed. Also, each plugin has a different set of jars with basically the same class/package names in it, such as jboss dmr, jboss controller, etc.  

So the packages inside our as7 management plugin have, in their api, classes that belong to the as7 jars. For example, if ModelNode were exposed from the as7 management plugin's jboss-dmr jars, it may be incompatible with the jars from the wildfly jars. 

Technically, the jboss-dmr classes inside hte as7x jars are different classes than the classes in the wildfly jboss-dmr jars. Therefore, a class in our as8 management plugin, which requires classes from the wildfly dmr jars, cannot extend a class who's api has as7's jboss-dmr jars. It simply can't work. They must be segregated from each other.