code: @Override
      public Boolean installOverlay(JComponent targetComponent, JComponent overlay, int position, Insets insets) {
  
          Assert.notNull(targetComponent, JideOverlayService.TARGET_COMPONENT_PARAM);
          Assert.notNull(overlay, JideOverlayService.OVERLAY);
  
          final DefaultOverlayable overlayable = this.findOverlayable(targetComponent);
  
          if ((overlayable != null) && !this.isOverlayInstalled(overlayable, overlay)) {
  
              // Install overlay and set location insets
              overlayable.addOverlayComponent(overlay, position, -1);
              if (insets != null) {
                  overlayable.setOverlayLocationInsets(insets);
              }
  
              return this.hideOverlay(targetComponent, overlay);
          } else if (overlayable == null) {
              JideOverlayService.LOGGER.warn(JideOverlayService.NOT_FOUND_FMT.format(//
                      new String[] { targetComponent.getName() }));
  
              return Boolean.FALSE;
          } else {
              JideOverlayService.LOGGER.warn(JideOverlayService.ALREADY_INSTALLED_FMT.format(//
                      new String[] { overlay.getName(), targetComponent.getName() }));
  
              return Boolean.FALSE;
          }
      }
docs: {@inheritDoc}