code: public long getIdleStartMilliseconds() {
          if (isIdle())
              return Math.max(creationTime, owner.getConnectTime());
          else {
              return Math.max(startTime + Math.max(0, executableEstimatedDuration), System.currentTimeMillis() + 15000);
          }
      }
docs: Returns when this executor started or should start being idle.