code: void process_record(InputRecord r, boolean expectingFinished)
              throws IOException {
  
          checkThrown();
  
          /*
           * Store the incoming handshake data, then see if we can
           * now process any completed handshake messages
           */
          input.incomingRecord(r);
  
          /*
           * We don't need to create a separate delegatable task
           * for finished messages.
           */
          if ((conn != null) || expectingFinished) {
              processLoop();
          } else {
              delegateTask(new PrivilegedExceptionAction<Void>() {
                  public Void run() throws Exception {
                      processLoop();
                      return null;
                  }
              });
          }
      }
docs: /*
  This routine is fed SSL handshake records when they become available,
  and processes messages found therein.