+      if( (!dataReader->fisopen()) && inFileIt == inFiles.end() ) {
+       if (*readnewconfig)
+         *nequileft = nequileft_internal;
+       return;
+      }
+
+      while( (!dataReader->fisopen()) && inFiles.size() > 0 ) {
+       string inFileParaString;
+
+       openFileDesc = *inFileIt;
+
+       if (openFileDesc.nequi < NEQUI)
+         doVirtualEquilibration = true;
+       else
+         doVirtualEquilibration = false;
+
+       firstUsedConfig = true;
+
+       if(log) *log << "CCACHE: Opening dat-file: " << inFileIt->filename << endl << flush;
+
+       dataReader->openFile( DATADIR + "/" + inFileIt->filename );
+               
+       if( openFileDesc.superextended ) {
+         if( dataReader->getParaString() != paraString() ) {
+           if(log) *log << "CCACHE: Parastring does not match. Closing dat-file..." << endl << flush;
+           dataReader->closeFile();
+         }
+       }
+
+       inFiles.erase(inFileIt);
+       
+       if( !dataReader->fisopen() ) continue;
+      }