Reports try statements with multiple resources that can be automatically split into multiple try-with-resources statements.

This conversion can be useful for further refactoring (for example, for extracting the nested try statement into a separate method).

Example:


  try (FileInputStream in = new FileInputStream("in.txt");
     FileOutputStream out = new FileOutputStream("out.txt")) {
     /*read and write*/
  }

After the quick-fix is applied:


  try (FileInputStream in = new FileInputStream("in.txt")) {
    try (FileOutputStream out = new FileOutputStream("out.txt")) {
      /*read and write*/
    }
  }