#vulnerable code 
                              public void loadInstance() {
    try {
      File archivo = new File(fileName_);
      FileReader fr = null;
      BufferedReader br = null;
      fr = new FileReader(archivo);
      br = new BufferedReader(fr);

      // File reading
      String line;
      int lineCnt = 0;
      line = br.readLine(); // reading the first line (special case)

      while (line != null) {
        StringTokenizer st = new StringTokenizer(line);
        try {
          Point auxPoint = new Point(dimensions_);
          for (int i = 0; i < dimensions_; i++) {
            auxPoint.vector_[i] = new Double(st.nextToken());
          }

          add(auxPoint);

          line = br.readLine();
          lineCnt++;
        } catch (NumberFormatException e) {
          Configuration.logger_.log(
            Level.WARNING,
            "Number in a wrong format in line " + lineCnt + "\n" + line, e);
          line = br.readLine();
          lineCnt++;
        } catch (NoSuchElementException e2) {
          Configuration.logger_.log(
            Level.WARNING,
            "Line " + lineCnt + " does not have the right number of objectives\n" + line, e2);
          line = br.readLine();
          lineCnt++;
        }
      }
      br.close();
    } catch (FileNotFoundException e3) {
      Configuration.logger_
        .log(Level.SEVERE, "The file " + fileName_ + " has not been found in your file system", e3);
    } catch (IOException e3) {
      Configuration.logger_
        .log(Level.SEVERE, "The file " + fileName_ + " has not been found in your file system", e3);
    }
  } 
                            #location 44 
                            #vulnerability type RESOURCE_LEAK
#fixed code
                              public void loadInstance() throws IOException {
    File archivo = new File(fileName_);
    FileReader fr = null;
    BufferedReader br = null;
    fr = new FileReader(archivo);
    br = new BufferedReader(fr);

    // File reading
    String line;
    int lineCnt = 0;
    line = br.readLine(); // reading the first line (special case)

    while (line != null) {
      StringTokenizer st = new StringTokenizer(line);
      try {
        Point auxPoint = new Point(dimensions_);
        for (int i = 0; i < dimensions_; i++) {
          auxPoint.vector_[i] = new Double(st.nextToken());
        }
        add(auxPoint);
        line = br.readLine();
        lineCnt++;
      } catch (NumberFormatException e) {
        Configuration.logger_.log(
            Level.WARNING,
            "Number in a wrong format in line " + lineCnt + "\n" + line, e);
        line = br.readLine();
        lineCnt++;
      } catch (NoSuchElementException e2) {
        Configuration.logger_.log(
            Level.WARNING,
            "Line " + lineCnt + " does not have the right number of objectives\n" + line, e2);
        line = br.readLine();
        lineCnt++;
      }
    }
    br.close();
  }