public void add(XmlDocument metadataXml) {
    if ( inSecondPass || !isOrmXml( metadataXml ) ) {
      metadataSourceQueue.add( metadataXml );
    }
    else {
      final MetadataProvider metadataProvider = ( (MetadataProviderInjector) reflectionManager ).getMetadataProvider();
      JPAMetadataProvider jpaMetadataProvider = ( JPAMetadataProvider ) metadataProvider;
      List<String> classNames = jpaMetadataProvider.getXMLContext().addDocument( metadataXml.getDocumentTree() );
      for ( String className : classNames ) {
        try {
          metadataSourceQueue.add( reflectionManager.classForName( className, this.getClass() ) );