protected Class<?> resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException {
  StreamChecker checker=streamChecker;
  if (checker != null) {
    checker.checkProxyInterfaceNames(interfaces);
  }
  Object annotation=readLocation();
  ClassLoader defaultLoader=skipDefaultResolveClass ? null : latestUserDefinedLoader();
  String codebase=null;
  if (!useCodebaseOnly && annotation instanceof String) {
    codebase=(String)annotation;
  }
  return RMIClassLoader.loadProxyClass(codebase,interfaces,defaultLoader);
}

protected Class < ? > resolveProxyClass ( String [ ] interfaces ) throws IOException , ClassNotFoundException { StreamChecker checker = streamChecker ; if ( checker != null ) { checker . checkProxyInterfaceNames ( interfaces ) ; } Object annotation = readLocation ( ) ; ClassLoader defaultLoader = skipDefaultResolveClass ? null : latestUserDefinedLoader ( ) ; String codebase = null ; if ( ! useCodebaseOnly && annotation instanceof String ) { codebase = ( String ) annotation ; } return RMIClassLoader . loadProxyClass ( codebase , interfaces , defaultLoader ) ; }
resolveproxyclass is extended to acquire ( if present ) the location to determine the class loader to define the proxy class in .
