if (isCoreObjectMethod(methods[j])) {   continue; }
    static ProxyData getProxyData(ProxyType pt)    {            Map method_set = (Map) ProxySignature.coreMethods.clone();      boolean in_package = false; // true if we encounter non-public interface            ProxyData data = new ProxyData();            data.interfaces = pt.interfaces;            // if interfaces is too large, we croak later on when the constant            // pool overflows            int i = data.interfaces.length;      while (--i >= 0)        {          Class inter = data.interfaces[i];          if (! inter.isInterface())            throw new IllegalArgumentException("not an interface: " + inter);          try            {                    if (Class.forName(inter.getName(), false, pt.loader) != inter)                    throw new IllegalArgumentException("not accessible in "                            + "classloader: " + inter);                }          catch (ClassNotFoundException e)            {              throw new IllegalArgumentException("not accessible in "                                                 + "classloader: " + inter);            }          if (! Modifier.isPublic(inter.getModifiers()))            if (in_package)              {		String p = getPackage(inter);                if (! data.pack.equals(p))                  throw new IllegalArgumentException("non-public interfaces "                                                    + "from different "                                                    + "packages");              }            else              {                            in_package = true;                data.pack = getPackage(inter);                        }          for (int j = i-1; j >= 0; j--)            if (data.interfaces[j] == inter)              throw new IllegalArgumentException("duplicate interface: "                                                 + inter);                Method[] methods = inter.getMethods();                int j = methods.length;          while (--j >= 0)            {              ProxySignature sig = new ProxySignature(methods[j]);              ProxySignature old = (ProxySignature) method_set.put(sig, sig);              if (old != null)                sig.checkCompatibility(old);                }            }            i = method_set.size();      data.methods = new Method[i];      data.exceptions = new Class[i][];            Iterator itr = method_set.values().iterator();      while (--i >= 0)        {                ProxySignature sig = (ProxySignature) itr.next();          data.methods[i] = sig.method;          data.exceptions[i] = (Class[]) sig.exceptions            .toArray(new Class[sig.exceptions.size()]);            }            return data;        }