public void prepare() {
   final Set<String> locales = new HashSet<String>();
   for (final MetaData md : metaDatas) {
     for (final String pid : md.getPids()) {
       pids.put(pid, md);
     }
     for (final String fpid : md.getFactoryPids()) {
       factoryPids.put(fpid, md);
     }
     final String[] newLocales = md.getLocales();
     if (newLocales != null) {
       for (final String locale : newLocales) {
         locales.add(locale);
       }
     }
   }
   this.locales = locales.toArray(new String[locales.size()]);
 }