docs: public int split(T obj, int start, int length) throws IOException
      {
          int count = 0;
          if (length > 0)
          {
              int end = (start + length) % size;
              if (start < end)
              {
                  count = op(obj, start, end);
              }
              else
              {
                  if (end > 0)
                  {
                      count = op(obj, start, size, 0, end);
                  }
                  else
                  {
                      count = op(obj, start, size);
                  }
              }
          }
          assert count <= length;
          return count;
      }