code: public void complete(int sequenceNumber)
      {
          boolean signalComplete;
          synchronized (this)
          {
              ScheduledFuture timeout = timeoutTasks.remove(sequenceNumber);
              if (timeout != null)
                  timeout.cancel(false);
  
              OutgoingFileMessage file = files.remove(sequenceNumber);
              if (file != null)
                  file.ref.release();
  
              signalComplete = files.isEmpty();
          }
  
          // all file sent, notify session this task is complete.
          if (signalComplete)
              session.taskCompleted(this);
      }
docs: Received ACK for file at {@code sequenceNumber}.
  
  @param sequenceNumber sequence number of file