code: @Override
      protected boolean prepare(final Context2D context, final Attributes attr, final double alpha)
      {
          final Point2DArray list = getPolygon();// is null for invalid arrow definition
  
          if ((null != list) && (list.size() > 2))
          {
              Point2D point = list.get(0);
  
              context.beginPath();
  
              context.moveTo(point.getX(), point.getY());
  
              final int leng = list.size();
  
              for (int i = 1; i < leng; i++)
              {
                  point = list.get(i);
  
                  context.lineTo(point.getX(), point.getY());
              }
              context.closePath();
  
              return true;
          }
          return false;
      }
docs: Draws this arrow.
  
  @param context the {@link Context2D} used to draw this arrow.