Buggy code:
public final class ScoreTimeCanvas extends JLayeredPane implements SoundLayerListener , LayerGroupListener , ModeListener , LayerGroupPanel < PolyObject > , PropertyChangeListener { private static final MessageFormat toolTipFormat = new MessageFormat ( ( "<html><b>Name:<//b><seq2seq4repair_space>{0}<br>" + ( ( ( "<b>Type:<//b><seq2seq4repair_space>{1}<br>" + "<b>Start<seq2seq4repair_space>Time:<//b><seq2seq4repair_space>{2}<br>" ) + "<b>Duration:<//b><seq2seq4repair_space>{3}<br>" ) + "<b>End<seq2seq4repair_space>Time:<//b><seq2seq4repair_space>{4}<//html>" ) ) ) ; private final QuickTimeDialog qtDialog ; private final HashMap < SoundObject , SoundObjectView > soundObjectToViewMap = new HashMap < > ( ) ; int time ; PolyObject pObj ; TimeState timeState = null ; public final SoundObjectBuffer buffer ; AlphaMarquee marquee = new AlphaMarquee ( ) ; Point start = new Point ( 0 , 0 ) ; Point end ; MultiLineMouseProcessor multiLineMouse ; AutomationLayerPanel automationPanel = new AutomationLayerPanel ( marquee ) ; JPanel sObjPanel = new JPanel ( ) ; private final PropertyChangeListener heightListener ; private final BlueData data ; private final InstanceContent content ; private final ScoreTimelineDropTargetListener dropTargetListener ; public ScoreTimeCanvas ( BlueData blueData , InstanceContent ic ) { } public JPanel getSoundObjectPanel ( ) { } @ Override public String getToolTipText ( MouseEvent e ) { } private void initActions ( ) { } public void setSelectionDragRegions ( ) { } private void nudgeHorizontal ( float timeValue ) { } private void nudgeVertical ( int amount ) { } public void reset ( ) { } public void setPolyObject ( PolyObject pObj , TimeState timeState ) { } public void checkSize ( ) { } public void checkSize ( boolean setSize ) { } private void addSoundObjectView ( int soundLayerIndex , SoundObject sObj ) { SoundObjectView temp = new SoundObjectView ( sObj , timeState ) ; <START_BUG> sObjPanel . add ( temp ) ; <END_BUG> temp . setLocation ( ( ( int ) ( ( sObj . getStartTime ( ) ) * ( timeState . getPixelSecond ( ) ) ) ) , getPolyObject ( ) . getYForLayerNum ( soundLayerIndex ) ) ; temp . setSize ( ( ( int ) ( ( sObj . getSubjectiveDuration ( ) ) * ( timeState . getPixelSecond ( ) ) ) ) , getPolyObject ( ) . getSoundLayerHeight ( soundLayerIndex ) ) ; this . soundObjectToViewMap . put ( sObj , temp ) ; } private void removeSoundObjectView ( SoundObject sObj ) { } public void updateSoundObjectViewLayerIndex ( SoundObject sObj , int soundLayerIndex ) { } public SoundObjectView getViewForSoundObject ( SoundObject sObj ) { } public void updateSoundObjectsLayerMap ( ) { } @ Override public void paintComponent ( Graphics g ) { } @ Override public void paintNavigatorView ( Graphics2D g2d ) { } public void update ( ) { } int maxUnitIncrement = 200 ; public Dimension getPreferredScrollableViewportSize ( ) { } public int getScrollableUnitIncrement ( Rectangle visibleRect , int orientation , int direction ) { } public int getScrollableBlockIncrement ( Rectangle visibleRect , int orientation , int direction ) { } public boolean getScrollableTracksViewportWidth ( ) { } public boolean getScrollableTracksViewportHeight ( ) { } public PolyObject getPolyObject ( ) { } @ Override public void propertyChange ( PropertyChangeEvent evt ) { } @ Override public void soundObjectAdded ( final SoundLayer source , final SoundObject sObj ) { } @ Override public void soundObjectRemoved ( SoundLayer source , final SoundObject sObj ) { } public void modifyLayerHeight ( int value , int y ) { } @ Override public void layerGroupChanged ( LayerGroupDataEvent event ) { } @ Override public void modeChanged ( int mode ) { } @ Override public void removeNotify ( ) { } @ Override public void marqueeSelectionPerformed ( SelectionMarquee marquee ) { } @ Override public ScoreObjectView getScoreObjectViewAtPoint ( Point p ) { } @ Override public Action [ ] getLayerActions ( ) { } @ Override public PolyObject getLayerGroup ( ) { } }

Fix:
sObjPanel . add ( temp , 0 ) ;