test_class.declarator: TEST_FILE1_TXT = "test-file-1.txt"
test_class.modifier: private static final
test_class.original_string: private static final String TEST_FILE1_TXT = "test-file-1.txt";
test_class.type: String
test_class.var_name: TEST_FILE1_TXT
test_class.declarator: TEST_FILE2_TXT = "test-file-2.txt"
test_class.modifier: private static final
test_class.original_string: private static final String TEST_FILE2_TXT = "test-file-2.txt";
test_class.type: String
test_class.var_name: TEST_FILE2_TXT
test_class.declarator: TEST_FILE1_CSV = "test-file-1.csv"
test_class.modifier: private static final
test_class.original_string: private static final String TEST_FILE1_CSV = "test-file-1.csv";
test_class.type: String
test_class.var_name: TEST_FILE1_CSV
test_class.declarator: TEST_FILE2_CSV = "test-file-2.csv"
test_class.modifier: private static final
test_class.original_string: private static final String TEST_FILE2_CSV = "test-file-2.csv";
test_class.type: String
test_class.var_name: TEST_FILE2_CSV
test_class.declarator: EXPECTED_SORT_RESULTS = { "a", "b", "b", "e",
              "f", "i", "m", "o", "u", "u", "x", "y", "z" }
test_class.modifier: private static final
test_class.original_string: private static final String[] EXPECTED_SORT_RESULTS = { "a", "b", "b", "e",
              "f", "i", "m", "o", "u", "u", "x", "y", "z" };
test_class.type: String[]
test_class.var_name: EXPECTED_SORT_RESULTS
test_class.declarator: EXPECTED_MERGE_RESULTS = { "a", "a", "b",
              "c", "c", "d", "e", "e", "f", "g", "g", "h", "i", "j", "k" }
test_class.modifier: private static final
test_class.original_string: private static final String[] EXPECTED_MERGE_RESULTS = { "a", "a", "b",
              "c", "c", "d", "e", "e", "f", "g", "g", "h", "i", "j", "k" };
test_class.type: String[]
test_class.var_name: EXPECTED_MERGE_RESULTS
test_class.declarator: EXPECTED_MERGE_DISTINCT_RESULTS = { "a", "b",
              "c", "d", "e", "f", "g", "h", "i", "j", "k" }
test_class.modifier: private static final
test_class.original_string: private static final String[] EXPECTED_MERGE_DISTINCT_RESULTS = { "a", "b",
              "c", "d", "e", "f", "g", "h", "i", "j", "k" };
test_class.type: String[]
test_class.var_name: EXPECTED_MERGE_DISTINCT_RESULTS
test_class.declarator: EXPECTED_HEADER_RESULTS = { "HEADER, HEADER",
              "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k" }
test_class.modifier: private static final
test_class.original_string: private static final String[] EXPECTED_HEADER_RESULTS = { "HEADER, HEADER",
              "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k" };
test_class.type: String[]
test_class.var_name: EXPECTED_HEADER_RESULTS
test_class.declarator: EXPECTED_DISTINCT_RESULTS = { "a", "b", "e",
              "f", "i", "m", "o", "u", "x", "y", "z" }
test_class.modifier: private static final
test_class.original_string: private static final String[] EXPECTED_DISTINCT_RESULTS = { "a", "b", "e",
              "f", "i", "m", "o", "u", "x", "y", "z" };
test_class.type: String[]
test_class.var_name: EXPECTED_DISTINCT_RESULTS
test_class.declarator: SAMPLE = { "f", "m", "b", "e", "i", "o", "u",
              "x", "a", "y", "z", "b", "u" }
test_class.modifier: private static final
test_class.original_string: private static final String[] SAMPLE = { "f", "m", "b", "e", "i", "o", "u",
              "x", "a", "y", "z", "b", "u" };
test_class.type: String[]
test_class.var_name: SAMPLE
test_class.declarator: EXPECTED_CSV_DISTINCT_RESULTS = { "a,1", "b,2a", "e,3", "f,4", "i,5", "m,6", "o,7", 
                                                                        "u,8a", "x,9", "y,10", "z,11"}
test_class.modifier: private static final
test_class.original_string: private static final String[] EXPECTED_CSV_DISTINCT_RESULTS = { "a,1", "b,2a", "e,3", "f,4", "i,5", "m,6", "o,7", 
                                                                        "u,8a", "x,9", "y,10", "z,11"};
test_class.type: String[]
test_class.var_name: EXPECTED_CSV_DISTINCT_RESULTS
test_class.declarator: EXPECTED_CSV_RESULTS = { "a,1", "b,2a", "b,2b", "e,3", "f,4", "i,5", "m,6", "o,7",
                                                               "u,8a", "u,8b", "x,9", "y,10", "z,11"}
test_class.modifier: private static final
test_class.original_string: private static final String[] EXPECTED_CSV_RESULTS = { "a,1", "b,2a", "b,2b", "e,3", "f,4", "i,5", "m,6", "o,7",
                                                               "u,8a", "u,8b", "x,9", "y,10", "z,11"};
test_class.type: String[]
test_class.var_name: EXPECTED_CSV_RESULTS
test_class.declarator: file1
test_class.modifier: private
test_class.original_string: private File file1;
test_class.type: File
test_class.var_name: file1
test_class.declarator: file2
test_class.modifier: private
test_class.original_string: private File file2;
test_class.type: File
test_class.var_name: file2
test_class.declarator: csvFile
test_class.modifier: private
test_class.original_string: private File csvFile;
test_class.type: File
test_class.var_name: csvFile
test_class.declarator: csvFile2
test_class.modifier: private
test_class.original_string: private File csvFile2;
test_class.type: File
test_class.var_name: csvFile2
test_class.declarator: fileList
test_class.modifier: private
test_class.original_string: private List<File> fileList;
test_class.type: List<File>
test_class.var_name: fileList
test_class.declarator: folder = new TemporaryFolder(new File("target"))
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public TemporaryFolder folder = new TemporaryFolder(new File("target"));
test_class.type: TemporaryFolder
test_class.var_name: folder
test_class.file: oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/sort/ExternalSortTest.java
test_class.identifier: ExternalSortTest
test_case.body: @Test
      public void testSortAndSave() throws Exception {
          File f;
          String line;
          List<String> result;
          BufferedReader bf;
  
          List<String> sample = Arrays.asList(SAMPLE);
          Comparator<String> cmp = new Comparator<String>() {
              @Override
              public int compare(String o1, String o2) {
                  return o1.compareTo(o2);
              }
          };
          f = ExternalSort.sortAndSave(sample, cmp, Charset.defaultCharset(),
                  null, false, false);
          assertNotNull(f);
          assertTrue(f.exists());
          assertTrue(f.length() > 0);
          bf = new BufferedReader(new FileReader(f));
  
          result = new ArrayList<String>();
          while ((line = bf.readLine()) != null) {
              result.add(line);
          }
          bf.close();
          assertArrayEquals(Arrays.toString(result.toArray()),
                  EXPECTED_SORT_RESULTS, result.toArray());
      }
test_case.class_method_signature: ExternalSortTest.testSortAndSave()
test_case.full_signature: @Test public void testSortAndSave()
test_case.identifier: testSortAndSave
test_case.invocations: asList compareTo sortAndSave defaultCharset assertNotNull assertTrue exists assertTrue length readLine add close assertArrayEquals toString toArray toArray
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSortAndSave()
focal_class.declarator: DEFAULTMAXTEMPFILES = 1024
focal_class.modifier: static final
focal_class.original_string: static final int DEFAULTMAXTEMPFILES = 1024;
focal_class.type: int
focal_class.var_name: DEFAULTMAXTEMPFILES
focal_class.declarator: DEFAULT_MAX_MEM_BYTES = 8388608L
focal_class.modifier: static final
focal_class.original_string: static final long DEFAULT_MAX_MEM_BYTES = 8388608L;
focal_class.type: long
focal_class.var_name: DEFAULT_MAX_MEM_BYTES
focal_class.declarator: defaultcomparator = new Comparator<String>() {
          @Override
          public int compare(String r1, String r2) {
              return r1.compareTo(r2);
          }
      }
focal_class.modifier: public static
focal_class.original_string: public static Comparator<String> defaultcomparator = new Comparator<String>() {
          @Override
          public int compare(String r1, String r2) {
              return r1.compareTo(r2);
          }
      };
focal_class.type: Comparator<String>
focal_class.var_name: defaultcomparator
focal_class.file: oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/sort/ExternalSort.java
focal_class.identifier: ExternalSort
focal_class.class_method_signature: ExternalSort.sort(File input, File output)
focal_class.full_signature: public static void sort(File input, File output)
focal_class.identifier: sort
focal_class.modifiers: public static
focal_class.parameters: (File input, File output)
focal_class.return: void
focal_class.signature: void sort(File input, File output)
focal_class.class_method_signature: ExternalSort.estimateBestSizeOfBlocks(File filetobesorted,
              int maxtmpfiles, long maxMemory)
focal_class.full_signature: public static long estimateBestSizeOfBlocks(File filetobesorted,
              int maxtmpfiles, long maxMemory)
focal_class.identifier: estimateBestSizeOfBlocks
focal_class.modifiers: public static
focal_class.parameters: (File filetobesorted,
              int maxtmpfiles, long maxMemory)
focal_class.return: long
focal_class.signature: long estimateBestSizeOfBlocks(File filetobesorted,
              int maxtmpfiles, long maxMemory)
focal_class.class_method_signature: ExternalSort.estimateBestSizeOfBlocks(long sizeoffile, int maxtmpfiles, long maxMemory)
focal_class.full_signature: private static long estimateBestSizeOfBlocks(long sizeoffile, int maxtmpfiles, long maxMemory)
focal_class.identifier: estimateBestSizeOfBlocks
focal_class.modifiers: private static
focal_class.parameters: (long sizeoffile, int maxtmpfiles, long maxMemory)
focal_class.return: long
focal_class.signature: long estimateBestSizeOfBlocks(long sizeoffile, int maxtmpfiles, long maxMemory)
focal_class.class_method_signature: ExternalSort.sortInBatch(File file)
focal_class.full_signature: public static List<File> sortInBatch(File file)
focal_class.identifier: sortInBatch
focal_class.modifiers: public static
focal_class.parameters: (File file)
focal_class.return: List<File>
focal_class.signature: List<File> sortInBatch(File file)
focal_class.class_method_signature: ExternalSort.sortInBatch(File file, Comparator<String> cmp)
focal_class.full_signature: public static List<File> sortInBatch(File file, Comparator<String> cmp)
focal_class.identifier: sortInBatch
focal_class.modifiers: public static
focal_class.parameters: (File file, Comparator<String> cmp)
focal_class.return: List<File>
focal_class.signature: List<File> sortInBatch(File file, Comparator<String> cmp)
focal_class.class_method_signature: ExternalSort.sortInBatch(File file, Comparator<String> cmp,
              boolean distinct)
focal_class.full_signature: public static List<File> sortInBatch(File file, Comparator<String> cmp,
              boolean distinct)
focal_class.identifier: sortInBatch
focal_class.modifiers: public static
focal_class.parameters: (File file, Comparator<String> cmp,
              boolean distinct)
focal_class.return: List<File>
focal_class.signature: List<File> sortInBatch(File file, Comparator<String> cmp,
              boolean distinct)
focal_class.class_method_signature: ExternalSort.sortInBatch(File file, Comparator<String> cmp,
                                           int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                           boolean distinct, int numHeader, boolean usegzip)
focal_class.full_signature: public static List<File> sortInBatch(File file, Comparator<String> cmp,
                                           int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                           boolean distinct, int numHeader, boolean usegzip)
focal_class.identifier: sortInBatch
focal_class.modifiers: public static
focal_class.parameters: (File file, Comparator<String> cmp,
                                           int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                           boolean distinct, int numHeader, boolean usegzip)
focal_class.return: List<File>
focal_class.signature: List<File> sortInBatch(File file, Comparator<String> cmp,
                                           int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                           boolean distinct, int numHeader, boolean usegzip)
focal_class.class_method_signature: ExternalSort.sortInBatch(File file, Comparator<T> cmp,
                                               int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.full_signature: public static List<File> sortInBatch(File file, Comparator<T> cmp,
                                               int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.identifier: sortInBatch
focal_class.modifiers: public static
focal_class.parameters: (File file, Comparator<T> cmp,
                                               int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.return: List<File>
focal_class.signature: List<File> sortInBatch(File file, Comparator<T> cmp,
                                               int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.class_method_signature: ExternalSort.sortInBatch(BufferedReader fbr, long actualFileSize, Comparator<T> cmp,
                                               int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.full_signature: public static List<File> sortInBatch(BufferedReader fbr, long actualFileSize, Comparator<T> cmp,
                                               int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.identifier: sortInBatch
focal_class.modifiers: public static
focal_class.parameters: (BufferedReader fbr, long actualFileSize, Comparator<T> cmp,
                                               int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.return: List<File>
focal_class.signature: List<File> sortInBatch(BufferedReader fbr, long actualFileSize, Comparator<T> cmp,
                                               int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.class_method_signature: ExternalSort.sortInBatch(BufferedReader fbr, long blocksize, Comparator<T> cmp,
                                               Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.full_signature: private static List<File> sortInBatch(BufferedReader fbr, long blocksize, Comparator<T> cmp,
                                               Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.identifier: sortInBatch
focal_class.modifiers: private static
focal_class.parameters: (BufferedReader fbr, long blocksize, Comparator<T> cmp,
                                               Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.return: List<File>
focal_class.signature: List<File> sortInBatch(BufferedReader fbr, long blocksize, Comparator<T> cmp,
                                               Charset cs, File tmpdirectory,
                                               boolean distinct, int numHeader, boolean usegzip,
                                               Function<T, String> typeToString, Function<String, T> stringToType)
focal_class.class_method_signature: ExternalSort.sortInBatch(File file, Comparator<String> cmp,
              int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory, boolean distinct)
focal_class.full_signature: public static List<File> sortInBatch(File file, Comparator<String> cmp,
              int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory, boolean distinct)
focal_class.identifier: sortInBatch
focal_class.modifiers: public static
focal_class.parameters: (File file, Comparator<String> cmp,
              int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory, boolean distinct)
focal_class.return: List<File>
focal_class.signature: List<File> sortInBatch(File file, Comparator<String> cmp,
              int maxtmpfiles, long maxMemory, Charset cs, File tmpdirectory, boolean distinct)
focal_class.class_method_signature: ExternalSort.sortAndSave(List<String> tmplist,
                                     Comparator<String> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip)
focal_class.full_signature: public static File sortAndSave(List<String> tmplist,
                                     Comparator<String> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip)
focal_class.identifier: sortAndSave
focal_class.modifiers: public static
focal_class.parameters: (List<String> tmplist,
                                     Comparator<String> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip)
focal_class.return: File
focal_class.signature: File sortAndSave(List<String> tmplist,
                                     Comparator<String> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip)
focal_class.class_method_signature: ExternalSort.sortAndSave(List<T> tmplist,
                                     Comparator<T> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip, Function<T, String> typeToString)
focal_class.full_signature: public static File sortAndSave(List<T> tmplist,
                                     Comparator<T> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip, Function<T, String> typeToString)
focal_class.identifier: sortAndSave
focal_class.modifiers: public static
focal_class.parameters: (List<T> tmplist,
                                     Comparator<T> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip, Function<T, String> typeToString)
focal_class.return: File
focal_class.signature: File sortAndSave(List<T> tmplist,
                                     Comparator<T> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip, Function<T, String> typeToString)
focal_class.class_method_signature: ExternalSort.sortAndSave(List<String> tmplist,
              Comparator<String> cmp, Charset cs, File tmpdirectory)
focal_class.full_signature: public static File sortAndSave(List<String> tmplist,
              Comparator<String> cmp, Charset cs, File tmpdirectory)
focal_class.identifier: sortAndSave
focal_class.modifiers: public static
focal_class.parameters: (List<String> tmplist,
              Comparator<String> cmp, Charset cs, File tmpdirectory)
focal_class.return: File
focal_class.signature: File sortAndSave(List<String> tmplist,
              Comparator<String> cmp, Charset cs, File tmpdirectory)
focal_class.class_method_signature: ExternalSort.mergeSortedFiles(List<File> files, File outputfile)
focal_class.full_signature: public static int mergeSortedFiles(List<File> files, File outputfile)
focal_class.identifier: mergeSortedFiles
focal_class.modifiers: public static
focal_class.parameters: (List<File> files, File outputfile)
focal_class.return: int
focal_class.signature: int mergeSortedFiles(List<File> files, File outputfile)
focal_class.class_method_signature: ExternalSort.mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp)
focal_class.full_signature: public static int mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp)
focal_class.identifier: mergeSortedFiles
focal_class.modifiers: public static
focal_class.parameters: (List<File> files, File outputfile,
              final Comparator<String> cmp)
focal_class.return: int
focal_class.signature: int mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp)
focal_class.class_method_signature: ExternalSort.mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp, boolean distinct)
focal_class.full_signature: public static int mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp, boolean distinct)
focal_class.identifier: mergeSortedFiles
focal_class.modifiers: public static
focal_class.parameters: (List<File> files, File outputfile,
              final Comparator<String> cmp, boolean distinct)
focal_class.return: int
focal_class.signature: int mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp, boolean distinct)
focal_class.class_method_signature: ExternalSort.mergeSortedFiles(List<File> files, File outputfile,
                                             final Comparator<String> cmp, Charset cs, boolean distinct,
                                             boolean append, boolean usegzip)
focal_class.full_signature: public static int mergeSortedFiles(List<File> files, File outputfile,
                                             final Comparator<String> cmp, Charset cs, boolean distinct,
                                             boolean append, boolean usegzip)
focal_class.identifier: mergeSortedFiles
focal_class.modifiers: public static
focal_class.parameters: (List<File> files, File outputfile,
                                             final Comparator<String> cmp, Charset cs, boolean distinct,
                                             boolean append, boolean usegzip)
focal_class.return: int
focal_class.signature: int mergeSortedFiles(List<File> files, File outputfile,
                                             final Comparator<String> cmp, Charset cs, boolean distinct,
                                             boolean append, boolean usegzip)
focal_class.class_method_signature: ExternalSort.mergeSortedFiles(List<File> files, File outputfile,
                                             final Comparator<T> cmp, Charset cs, boolean distinct,
                                             boolean append, boolean usegzip, Function<T, String> typeToString,
                                             Function<String, T> stringToType)
focal_class.full_signature: public static int mergeSortedFiles(List<File> files, File outputfile,
                                             final Comparator<T> cmp, Charset cs, boolean distinct,
                                             boolean append, boolean usegzip, Function<T, String> typeToString,
                                             Function<String, T> stringToType)
focal_class.identifier: mergeSortedFiles
focal_class.modifiers: public static
focal_class.parameters: (List<File> files, File outputfile,
                                             final Comparator<T> cmp, Charset cs, boolean distinct,
                                             boolean append, boolean usegzip, Function<T, String> typeToString,
                                             Function<String, T> stringToType)
focal_class.return: int
focal_class.signature: int mergeSortedFiles(List<File> files, File outputfile,
                                             final Comparator<T> cmp, Charset cs, boolean distinct,
                                             boolean append, boolean usegzip, Function<T, String> typeToString,
                                             Function<String, T> stringToType)
focal_class.class_method_signature: ExternalSort.mergeSortedFiles(List<File> files,
                                             BufferedWriter fbw, final Comparator<T> cmp, Charset cs, boolean distinct,
                                             boolean usegzip, Function<T, String> typeToString,
                                             Function<String, T> stringToType)
focal_class.full_signature: public static int mergeSortedFiles(List<File> files,
                                             BufferedWriter fbw, final Comparator<T> cmp, Charset cs, boolean distinct,
                                             boolean usegzip, Function<T, String> typeToString,
                                             Function<String, T> stringToType)
focal_class.identifier: mergeSortedFiles
focal_class.modifiers: public static
focal_class.parameters: (List<File> files,
                                             BufferedWriter fbw, final Comparator<T> cmp, Charset cs, boolean distinct,
                                             boolean usegzip, Function<T, String> typeToString,
                                             Function<String, T> stringToType)
focal_class.return: int
focal_class.signature: int mergeSortedFiles(List<File> files,
                                             BufferedWriter fbw, final Comparator<T> cmp, Charset cs, boolean distinct,
                                             boolean usegzip, Function<T, String> typeToString,
                                             Function<String, T> stringToType)
focal_class.class_method_signature: ExternalSort.merge(BufferedWriter fbw, final Comparator<T> cmp, boolean distinct,
                              List<BinaryFileBuffer<T>> buffers, Function<T, String> typeToString)
focal_class.full_signature: public static int merge(BufferedWriter fbw, final Comparator<T> cmp, boolean distinct,
                              List<BinaryFileBuffer<T>> buffers, Function<T, String> typeToString)
focal_class.identifier: merge
focal_class.modifiers: public static
focal_class.parameters: (BufferedWriter fbw, final Comparator<T> cmp, boolean distinct,
                              List<BinaryFileBuffer<T>> buffers, Function<T, String> typeToString)
focal_class.return: int
focal_class.signature: int merge(BufferedWriter fbw, final Comparator<T> cmp, boolean distinct,
                              List<BinaryFileBuffer<T>> buffers, Function<T, String> typeToString)
focal_class.class_method_signature: ExternalSort.mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp, Charset cs, boolean distinct)
focal_class.full_signature: public static int mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp, Charset cs, boolean distinct)
focal_class.identifier: mergeSortedFiles
focal_class.modifiers: public static
focal_class.parameters: (List<File> files, File outputfile,
              final Comparator<String> cmp, Charset cs, boolean distinct)
focal_class.return: int
focal_class.signature: int mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp, Charset cs, boolean distinct)
focal_class.class_method_signature: ExternalSort.mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp, Charset cs)
focal_class.full_signature: public static int mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp, Charset cs)
focal_class.identifier: mergeSortedFiles
focal_class.modifiers: public static
focal_class.parameters: (List<File> files, File outputfile,
              final Comparator<String> cmp, Charset cs)
focal_class.return: int
focal_class.signature: int mergeSortedFiles(List<File> files, File outputfile,
              final Comparator<String> cmp, Charset cs)
focal_class.class_method_signature: ExternalSort.displayUsage()
focal_class.full_signature: public static void displayUsage()
focal_class.identifier: displayUsage
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void displayUsage()
focal_class.class_method_signature: ExternalSort.main(String[] args)
focal_class.full_signature: public static void main(String[] args)
focal_class.identifier: main
focal_class.modifiers: public static
focal_class.parameters: (String[] args)
focal_class.return: void
focal_class.signature: void main(String[] args)
focal_method.body: public static File sortAndSave(List<String> tmplist,
                                     Comparator<String> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip) throws IOException {
          return sortAndSave(tmplist, cmp, cs, tmpdirectory, distinct, usegzip, identity());
      }
focal_method.class_method_signature: ExternalSort.sortAndSave(List<String> tmplist,
                                     Comparator<String> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip)
focal_method.full_signature: public static File sortAndSave(List<String> tmplist,
                                     Comparator<String> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip)
focal_method.identifier: sortAndSave
focal_method.invocations: sortAndSave identity
focal_method.modifiers: public static
focal_method.parameters: (List<String> tmplist,
                                     Comparator<String> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip)
focal_method.return: File
focal_method.signature: File sortAndSave(List<String> tmplist,
                                     Comparator<String> cmp, Charset cs, File tmpdirectory,
                                     boolean distinct, boolean usegzip)