public void drawU(UGraphic ug) {
    final StringBounder stringBounder = ug.getStringBounder();
    final Component comp = getComponent(stringBounder);
    final Dimension2D dim = comp.getPreferredDimension(stringBounder);
    final Area area = new Area(dim.getWidth(), dim.getHeight());
    tile.drawU(ug);
    final Real p = getNotePosition(stringBounder);

    comp.drawU(ug.apply(new UTranslate(p.getCurrentValue(), 0)), area, (Context2D) ug);
  }
 public void updateStairs(StringBounder stringBounder, double y) {
   tile.updateStairs(stringBounder, y);
 }
 public void addConstraints(StringBounder stringBounder) {
   tile.addConstraints(stringBounder);
 }
 public Real getMaxX(StringBounder stringBounder) {
   return tile.getMaxX(stringBounder);
 }
 public double getPreferredHeight(StringBounder stringBounder) {
   final Component comp = getComponent(stringBounder);
   final Dimension2D dim = comp.getPreferredDimension(stringBounder);
   return Math.max(tile.getPreferredHeight(stringBounder), dim.getHeight());
 }