class LineIcon implements Icon {

        private final Icon origIcon;
        private final int arrowWidth;

        public LineIcon(Icon origIcon, int arrowWidth) {
            this.origIcon = origIcon;
            this.arrowWidth = arrowWidth;
        }

        @Override
        public void paintIcon(Component c, Graphics g, int x, int y) {<FILL_FUNCTION_BODY>}

        @Override
        public int getIconWidth() {
            return origIcon.getIconWidth();
        }

        @Override
        public int getIconHeight() {
            return origIcon.getIconHeight();
        }
    }

            origIcon.paintIcon(c, g, x, y);

            g.setColor(UIManager.getColor("controlHighlight")); //NOI18N
            g.drawLine(x + origIcon.getIconWidth() - arrowWidth - 2, y,
                x + origIcon.getIconWidth() - arrowWidth - 2, y + getIconHeight());
            g.setColor(UIManager.getColor("controlShadow")); //NOI18N
            g.drawLine(x + origIcon.getIconWidth() - arrowWidth - 3, y,
                x + origIcon.getIconWidth() - arrowWidth - 3, y + getIconHeight());
        
<methods>public void <init>() ,public void <init>(javax.swing.Icon) ,public void <init>(java.lang.String) ,public void <init>(javax.swing.Action) ,public void <init>(javax.swing.Icon, boolean) ,public void <init>(java.lang.String, boolean) ,public void <init>(java.lang.String, javax.swing.Icon) ,public void <init>(java.lang.String, javax.swing.Icon, boolean) ,public javax.accessibility.AccessibleContext getAccessibleContext() ,public java.lang.String getUIClassID() ,public void requestFocus(java.awt.event.FocusEvent.Cause) ,public boolean requestFocusInWindow(java.awt.event.FocusEvent.Cause) ,public void updateUI() <variables>private static final java.lang.String uiClassID