public final void drawU(UGraphic ug) {
    ug =
        ug.apply(
            new UChangeColor(
                SkinParamUtils.getColor(getSkinParam(), ColorParam.classBorder, getStereo())));
    ug =
        ug.apply(
            new UChangeBackColor(
                SkinParamUtils.getColor(getSkinParam(), ColorParam.classBackground, getStereo())));
    if (url != null) {
      ug.startUrl(url);
    }
    final double sizeSmall = 14;
    final double diff = (SIZE - sizeSmall) / 2;
    final UEllipse circle1 = new UEllipse(sizeSmall, sizeSmall);
    if (getSkinParam().shadowing()) {
      // circle.setDeltaShadow(4);
    }
    ug.apply(new UStroke(1.5)).apply(new UTranslate(diff, diff)).draw(circle1);
    ug = ug.apply(new UChangeBackColor(null));

    Point2D pos = bibliotekon.getShape(getEntity()).getPosition();

    final List<Line> lines = bibliotekon.getAllLineConnectedTo(getEntity());
    final UTranslate reverse = new UTranslate(pos).reverse();
    final ConnectedCircle connectedCircle = new ConnectedCircle(SIZE / 2);
    for (Line line : lines) {
      Point2D pt = line.getMyPoint(getEntity());
      pt = reverse.getTranslated(pt);
      connectedCircle.addSecondaryConnection(pt);
    }
    // connectedCircle.drawU(ug.apply(new UStroke(1.5)));
    connectedCircle.drawU(ug);

    //
    // final Dimension2D dimDesc = desc.calculateDimension(ug.getStringBounder());
    // final double widthDesc = dimDesc.getWidth();
    // // final double totalWidth = Math.max(widthDesc, SIZE);
    //
    // final double x = SIZE / 2 - widthDesc / 2;
    // final double y = SIZE;
    // desc.drawU(ug.apply(new UTranslate(x, y)));
    if (url != null) {
      ug.closeAction();
    }
  }
 private UGraphic drawOctagon(UGraphic ug) {
   final Shape shape = bibliotekon.getShape(getEntity());
   final Shadowable octagon = shape.getOctagon();
   if (getSkinParam().shadowing()) {
     octagon.setDeltaShadow(4);
   }
   ug = applyColors(ug);
   ug.apply(new UStroke(1.5)).draw(octagon);
   desc.drawU(ug.apply(new UTranslate(MARGIN, MARGIN)));
   return ug;
 }