@Override
  public ObjectClassDefinition getObjectClassDefinition(String id, String locale) {
    MetaData md;
    md = pids.get(id);
    if (md == null) {
      md = factoryPids.get(id);
    }
    if (md == null) {
      final Set<String> allIDs = new TreeSet<String>();
      allIDs.addAll(pids.keySet());
      allIDs.addAll(factoryPids.keySet());
      throw new IllegalArgumentException(
          "no information available for id " + id + ". Available ids: " + allIDs);
    }
    if (locale == null) {
      locale = Locale.getDefault().toString();
    }

    return md.getOCD(id, locale);
  }