protected EClass getObjectType(CDOID id) { IRepository repository = getStore().getRepository(); if (id.equals(repository.getRootResourceID())) { return EresourcePackage.Literals.CDO_RESOURCE; } EClass result = repository.getRevisionManager().getObjectType(id); if (result != null) { return result; } CDOClassifierRef type = readObjectType(id); if (type != null) { CDOPackageRegistry packageRegistry = repository.getPackageRegistry(); return (EClass)type.resolve(packageRegistry); } return null; }