code: private int getAvailablePosition(CmsInlineEntityWidget widget, int absoluteTop) {
  
          m_buttons.remove(widget);
          boolean positionBlocked = true;
          while (positionBlocked) {
              positionBlocked = false;
              for (int pos : m_buttons.values()) {
                  if (((pos - 24) < absoluteTop) && (absoluteTop < (pos + 24))) {
                      positionBlocked = true;
                      absoluteTop = pos + 25;
                      break;
                  }
              }
          }
          m_buttons.put(widget, new Integer(absoluteTop));
          return absoluteTop;
      }
docs: Returns the available absolute top position for the given button.<p>
  
  @param widget the button widget
  @param absoluteTop the proposed position
  
  @return the available position