// A simple class to extend an abstract class and get loaded with different
// loaders.  This class is loaded via LOADER2.  A similar named class will
// be loaded via LOADER1.
public class many_loader extends bug_21227 {
  final Object _ref_to_be_p0wned;

  many_loader() {
    _ref_to_be_p0wned = bug_21227._p0wnee;
    System.out.println("Gonna hack this thing: " + _ref_to_be_p0wned.toString() );
  }

  // I need to compile (hence call in a loop) a function which returns a value
  // loaded from classloader other than the system one.  The point of this
  // call is to give me an abstract 'hook' into a function loaded with a
  // foreign loader.
  public many_loader[] make( IFace iface ) { 
    throw new Error("do not call me");
  }
}
