code: static int write(FileDescriptor fd, ByteBuffer src, long position,
                       NativeDispatcher nd)
          throws IOException
      {
          if (src instanceof DirectBuffer)
              return writeFromNativeBuffer(fd, src, position, nd);
  
          // Substitute a native buffer
          int pos = src.position();
          int lim = src.limit();
          assert (pos <= lim);
          int rem = (pos <= lim ? lim - pos : 0);
          ByteBuffer bb = Util.getTemporaryDirectBuffer(rem);
          try {
              bb.put(src);
              bb.flip();
              // Do not update src until we see how many bytes were written
              src.position(pos);
  
              int n = writeFromNativeBuffer(fd, bb, position, nd);
              if (n > 0) {
                  // now update src
                  src.position(pos + n);
              }
              return n;
          } finally {
              Util.offerFirstTemporaryDirectBuffer(bb);
          }
      }
docs: No instantiation