docs: private static void merge(byte[] byteArray, int start, int middle, int end) {
          byte[] temp = new byte[byteArray.length];
          
          System.arraycopy(byteArray, 0, temp, 0, byteArray.length);
          
          int left = start;
          int right  = middle + 1;
          int current = start;
          
  
          while(left <= middle && right <= end) {
              if(temp[left] <= temp[right]) {
                  byteArray[current] = temp[left];
                  left++;
              }
              else {
                  byteArray[current] = temp[right];
                  right++;
              }
              
              current++;
          }
          
          while(left <= middle) {
              byteArray[current] = temp[left];
              left++;
              current++;
          }
          
  
      }