/**
   * @param mouseLoc mouse location
   * @return first hitted label geo
   */
  public GeoElement getLabelHit(GPoint mouseLoc) {
    for (Drawable3DList list : lists) {
      for (Drawable3D d : list) {
        if (d.isVisible()) {
          GeoElement geo = d.getGeoElement();
          if (!geo.isGeoText() && geo.isPickable() && d.label.hit(mouseLoc)) {
            return geo;
          }
        }
      }
    }

    return null;
  }