Program: 45139
Project: 45139
Buggy source:
/** 
 * Loads the custom associations XML File. <p> The command files will be loaded as a <i>backed-up file</i> (see   {@link com.mucommander.io.BackupInputStream}). Its format is described   {@link AssociationsXmlConstants here}. </p>
 * @see #writeAssociations()
 * @see #getAssociationFile()
 * @see #setAssociationFile(String)
 */
public static void loadAssociations() throws IOException {
  AbstractFile file;
  InputStream in;
  file=getAssociationFile();
  if (Debug.ON)   Debug.trace("String_Node_Str" + file.getAbsolutePath());
  in=null;
  try {
    AssociationReader.read(in=new BackupInputStream(file),new AssociationFactory());
  }
 catch (  Exception e) {
    if (Debug.ON)     Debug.trace("String_Node_Str" + e.getMessage() + "String_Node_Str");
    associations=new Vector();
    throw new IOException(e.getMessage());
  }
 finally {
    if (getCommandForAlias(EXE_OPENER_ALIAS) != null) {
      AndFileFilter filter;
      if (PlatformManager.getExeAssociation() != null) {
        try {
          filter=new AndFileFilter();
          filter.addFileFilter(new RegexpFilenameFilter(PlatformManager.getExeAssociation(),PlatformManager.getDefaultRegexpCaseSensitivity()));
          registerAssociation(EXE_OPENER_ALIAS,filter);
        }
 catch (        Exception e) {
          if (Debug.ON)           Debug.trace("String_Node_Str" + e.getMessage());
        }
      }
      if (PlatformManager.runExecutables() && PlatformManager.JAVA_1_6.isCurrentOrHigher()) {
        try {
          filter=new AndFileFilter();
          filter.addFileFilter(new PermissionsFileFilter(PermissionsFileFilter.EXECUTE_PERMISSION,true));
          registerAssociation(EXE_OPENER_ALIAS,filter);
        }
 catch (        Exception e) {
          if (Debug.ON)           Debug.trace("String_Node_Str" + e.getMessage());
        }
      }
    }
    wereAssociationsModified=false;
    if (in != null) {
      try {
        in.close();
      }
 catch (      Exception e) {
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Loads the custom associations XML File. <p> The command files will be loaded as a <i>backed-up file</i> (see   {@link com.mucommander.io.BackupInputStream}). Its format is described   {@link AssociationsXmlConstants here}. </p>
 * @throws IOException if an IO error occurs.
 * @see #writeAssociations()
 * @see #getAssociationFile()
 * @see #setAssociationFile(String)
 */
public static void loadAssociations() throws IOException {
  AbstractFile file;
  InputStream in;
  file=getAssociationFile();
  if (Debug.ON)   Debug.trace("String_Node_Str" + file.getAbsolutePath());
  in=null;
  try {
    AssociationReader.read(in=new BackupInputStream(file),new AssociationFactory());
  }
 catch (  Exception e) {
    if (Debug.ON)     Debug.trace("String_Node_Str" + e.getMessage() + "String_Node_Str");
    associations=new Vector();
    throw new IOException(e.getMessage());
  }
 finally {
    if (getCommandForAlias(EXE_OPENER_ALIAS) != null) {
      AndFileFilter filter;
      if (PlatformManager.getExeAssociation() != null) {
        try {
          filter=new AndFileFilter();
          filter.addFileFilter(new RegexpFilenameFilter(PlatformManager.getExeAssociation(),PlatformManager.getDefaultRegexpCaseSensitivity()));
          registerAssociation(EXE_OPENER_ALIAS,filter);
        }
 catch (        Exception e) {
          if (Debug.ON)           Debug.trace("String_Node_Str" + e.getMessage());
        }
      }
      if (PlatformManager.runExecutables() && PlatformManager.JAVA_1_6.isCurrentOrHigher()) {
        try {
          filter=new AndFileFilter();
          filter.addFileFilter(new PermissionsFileFilter(PermissionsFileFilter.EXECUTE_PERMISSION,true));
          registerAssociation(EXE_OPENER_ALIAS,filter);
        }
 catch (        Exception e) {
          if (Debug.ON)           Debug.trace("String_Node_Str" + e.getMessage());
        }
      }
    }
    wereAssociationsModified=false;
    if (in != null) {
      try {
        in.close();
      }
 catch (      Exception e) {
      }
    }
  }
}