@Override
  public synchronized IClass resolveClass(Name name) {
    for (IClass iclass : this.classes) {
      if (iclass.getName() == name) {
        return iclass;
      }
    }

    IClass iclass = super.resolveClass(name);
    if (iclass != null) {
      return iclass;
    }
    return this.loadClass(name.qualified);
  }
  @Override
  public synchronized IClass resolveClass(String name) {
    Name name1 = Name.getQualified(name);
    for (IClass iclass : this.classes) {
      if (name1 == iclass.getName()) {
        return iclass;
      }
    }

    IClass c = super.resolveClass(name);
    if (c != null) {
      return c;
    }

    return this.loadClass(name);
  }