code: public void registerPool(ManagedConnectionPool mcp, long mcpInterval)
     {
        try
        {
           lock.lock();
           
           synchronized (registeredPools)
           {
              registeredPools.put(new Key(System.identityHashCode(mcp), System.currentTimeMillis(), mcpInterval), mcp);
           }
           
           if (mcpInterval > 1 && mcpInterval / 2 < interval) 
           {
              interval = interval / 2;
              long maybeNext = System.currentTimeMillis() + interval;
              if (next > maybeNext && maybeNext > 0) 
              {
                 next = maybeNext;
                 condition.signal();
              }
           }
        } 
        finally
        {
           lock.unlock();
        }
     }
docs: Register pool for idle connection cleanup
  @param mcp managed connection pool
  @param mcpInterval validation interval