Program: 68841
Project: 68841
Buggy source:
/** 
 * If setupEntity has been called then this must be called to reset the model again.
 */
public void resetEntity(){
  if (isSetup()) {
    setTests(getOriginalTests());
    setIsSetup(false);
  }
  reset();
  getSession().getIdentityMapAccessor().initializeIdentityMaps();
  if (shouldResetSystemAfterEachTestModel()) {
    getExecutor().setConfiguredSystems(new Vector());
    if (getSession().isDatabaseSession()) {
      try {
        getDatabaseSession().logout();
      }
 catch (      Exception ignore) {
      }
    }
    if (this.login == null) {
      this.login=getSession().getDatasourceLogin();
      this.sessionLog=getSession().getSessionLog();
    }
    if (this.login.getClass() != getSession().getDatasourceLogin().getClass()) {
      System.out.println("String_Node_Str" + this);
    }
    if (this.sessionLog.getLevel() != getSession().getSessionLog().getLevel()) {
      System.out.println("String_Node_Str" + this);
    }
    if (this.login instanceof DatabaseLogin) {
      DatabaseLogin login=(DatabaseLogin)this.login;
      if (login.shouldBindAllParameters() != getSession().getLogin().shouldBindAllParameters()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.shouldCacheAllStatements() != getSession().getLogin().shouldCacheAllStatements()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.shouldUseBatchWriting() != getSession().getLogin().shouldUseBatchWriting()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.shouldUseJDBCBatchWriting() != getSession().getLogin().shouldUseJDBCBatchWriting()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.shouldUseNativeSQL() != getSession().getLogin().shouldUseNativeSQL()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.getTableQualifier() != getSession().getLogin().getTableQualifier()) {
        System.out.println("String_Node_Str" + this);
      }
    }
    DatabaseSession session=new Project(this.login).createDatabaseSession();
    session.setSessionLog(this.sessionLog);
    getExecutor().setSession(session);
    if (!ConversionManager.getDefaultManager().shouldUseClassLoaderFromCurrentThread()) {
      System.out.println("String_Node_Str" + this);
    }
    ConversionManager.setDefaultManager(null);
    getSession().getDatasourceLogin().getDatasourcePlatform().setConversionManager(null);
    SessionManager.getManager().setSessions(new Hashtable(5));
    getDatabaseSession().login();
  }
  setIsSetup(false);
}

Fixed version (ground truth):
/** 
 * If setupEntity has been called then this must be called to reset the model again.
 */
public void resetEntity(){
  if (isSetup()) {
    setTests(getOriginalTests());
    setIsSetup(false);
  }
  if (this.getSummary().didSetupWarn()) {
    return;
  }
  reset();
  getSession().getIdentityMapAccessor().initializeIdentityMaps();
  if (shouldResetSystemAfterEachTestModel()) {
    getExecutor().setConfiguredSystems(new Vector());
    if (getSession().isDatabaseSession()) {
      try {
        getDatabaseSession().logout();
      }
 catch (      Exception ignore) {
      }
    }
    if (this.login == null) {
      this.login=getSession().getDatasourceLogin();
      this.sessionLog=getSession().getSessionLog();
    }
    if (this.login.getClass() != getSession().getDatasourceLogin().getClass()) {
      System.out.println("String_Node_Str" + this);
    }
    if (this.sessionLog.getLevel() != getSession().getSessionLog().getLevel()) {
      System.out.println("String_Node_Str" + this);
    }
    if (this.login instanceof DatabaseLogin) {
      DatabaseLogin login=(DatabaseLogin)this.login;
      if (login.shouldBindAllParameters() != getSession().getLogin().shouldBindAllParameters()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.shouldCacheAllStatements() != getSession().getLogin().shouldCacheAllStatements()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.shouldUseBatchWriting() != getSession().getLogin().shouldUseBatchWriting()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.shouldUseJDBCBatchWriting() != getSession().getLogin().shouldUseJDBCBatchWriting()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.shouldUseNativeSQL() != getSession().getLogin().shouldUseNativeSQL()) {
        System.out.println("String_Node_Str" + this);
      }
      if (login.getTableQualifier() != getSession().getLogin().getTableQualifier()) {
        System.out.println("String_Node_Str" + this);
      }
    }
    DatabaseSession session=new Project(this.login).createDatabaseSession();
    session.setSessionLog(this.sessionLog);
    getExecutor().setSession(session);
    if (!ConversionManager.getDefaultManager().shouldUseClassLoaderFromCurrentThread()) {
      System.out.println("String_Node_Str" + this);
    }
    ConversionManager.setDefaultManager(null);
    getSession().getDatasourceLogin().getDatasourcePlatform().setConversionManager(null);
    SessionManager.getManager().setSessions(new Hashtable(5));
    getDatabaseSession().login();
  }
  setIsSetup(false);
}