code: private void getDecryptedNetworkBuffers() {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "getDecryptedNetworkBuffers");
          }
  
          // Check if we already have a known decNetworkBuffer array.
          if (decryptedNetBuffers == null) {
              // Check if the buffer was set by the calling app channel.
              decryptedNetBuffers = getBuffers();
              if (decryptedNetBuffers == null) {
                  // Not set by calling app channel. Allocate it here.
                  callerRequiredAllocation = true;
                  int allocationSize = getJITAllocateSize();
                  int minSize = getConnLink().getAppBufferSize();
                  // Ensure the value is positive.
                  if (allocationSize <= 0) {
                      allocationSize = minSize;
                  }
                  // Allocate the buffer. Note, app channel has the responsibility to release this.
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) {
                      Tr.event(tc, "allocating JIT buffer; size=" + allocationSize);
                  }
                  decryptedNetBuffers = SSLUtils.allocateByteBuffers(allocationSize,
                                                                     bytesRequested, getConfig().getDecryptBuffersDirect(), false);
              } else {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "Using buffers from getBuffers()");
                  }
              }
          } else {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Using buffers previously set");
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "getDecryptedNetworkBuffers");
          }
      }
docs: Get the buffers that will be used for output from the SSL engine. If read
  buffers were supplied by the calling application channel, then they will
  be used. Not, if a buffer array was supplied, the first buffer of the array
  will be used (since the SSL engine on takes a single output buffer). If not
  supplied, one will be allocated here. The size of the buffer will be either
  the JITAllocationSize set by the user, or the default size from the SSL
  engine if the caller didn't provide anything.
  <p>
  Note, it is the responsibility of the application channel to release this
  buffer if it gets allocated.