code: protected function checkReferenceLoop(
          /*# int */ $loop,
          /*# string */ $name
      ) {
          if ($loop > 20) {
              throw new RuntimeException(
                  Message::get(Message::MSG_REF_LOOP, $name),
                  Message::MSG_REF_LOOP
              );
          }
      }
docs: Throw exception if looped
  
  @param  int $loop loop counter
  @param  string $name reference name
  @throws RuntimeException if loop found
  @access protected
  @since  2.0.6