docs: public void match(Pipe pipe)
      {
          int idx = pipes.indexOf(pipe);
          //  If pipe is already matching do nothing.
          if (idx < matching) {
              return;
          }
  
          //  If the pipe isn't eligible, ignore it.
          if (idx >= eligible) {
              return;
          }
  
          //  Mark the pipe as matching.
          Collections.swap(pipes, idx, matching);
          matching++;
      }