  public IClass getClassDefinition(String name) {
    IClass result = null;
    result = LiteralResolver.getDefinition(name);
    if (result == null) {
      int lastDot = name.lastIndexOf(".");
      if (lastDot > 0) {
        String packageName = name.substring(0, lastDot);
        String className = name.substring(lastDot + 1);
        IPackage pkg = getPackageDefinition(packageName);
        if (pkg != null) {
          result = pkg.getClass(className);
        }
      }
    }
    if (result == null) {
      Class theClass = null;
      try {
        theClass = ClassManager.getClassLoader().loadClass(name);
        result = new ExternalClass(theClass);
      }
      catch (ClassNotFoundException e) {
      }
    }
    return result;
  }

  public IClass getClassDefinition(String name) {
    IClass result = null;
    result = LiteralResolver.getDefinition(name);
    if (result == null) {
      int lastDot = name.lastIndexOf(".");
      if (lastDot > 0) {
        String packageName = name.substring(0, lastDot);
        String className = name.substring(lastDot + 1);
        IPackage pkg = getPackageDefinition(packageName);
        if (pkg != null) {
          result = pkg.getClass(className);
        }
      }
    }
    if (result == null) {
      Class theClass = null;
      try {
        theClass = ClassManager.getClassLoader().loadClass(name);
        result = new ExternalClass(theClass);
      }
      catch (ClassNotFoundException e) {
      }
      catch (NoClassDefFoundError e) {
      }
    }
    return result;
  }
