code: public Tag get(Class handlerClass) throws JspException {
  	Tag handler = null;
          synchronized( this ) {
              if (current >= 0) {
                  handler = handlers[current--];
                  return handler;
              }
          }
  
          // Out of sync block - there is no need for other threads to
          // wait for us to construct a tag for this thread.
          try {
              return (Tag) handlerClass.newInstance();
          } catch (Exception e) {
              throw new JspException(e.getMessage(), e);
          }
      }
docs: Gets the next available tag handler from this tag handler pool,
  instantiating one if this tag handler pool is empty.
  
  @param handlerClass Tag handler class
  
  @return Reused or newly instantiated tag handler
  
  @throws JspException if a tag handler cannot be instantiated