Buggy code:
public class EntireGraphingPanel extends JPanel implements ActionListener , ComponentListener , KeyListener , MouseListener , MouseMotionListener , MouseWheelListener { private static final long serialVersionUID = 1L ; public static final int LEFT_OFFSCREEN_POINTS_ZOOMED_IN = 0 ; public static final int RIGHT_OFFSCREEN_POINTS_ZOOMED_IN = 3 ; public static final int LEFT_OFFSCREEN_POINTS_ZOOMED_OUT = 2 ; public static final int RIGHT_OFFSCREEN_POINTS_ZOOMED_OUT = 2 ; private MultiGraphLayeredPane multiGraph ; private GraphPositionPanel graphPositionPanel ; private double graphPosition ; private int graphSize ; private boolean playing ; private boolean wasPlaying ; private Timer playTimer ; private Timer flingTimer ; private boolean dragging ; private boolean flinging ; private long thePastMouseDragged ; private long thePastLeftArrow ; private long thePastRightArrow ; private int scrollAcceleration ; private int prevDragXCoord ; private int flingInertia ; private int zoom ; private boolean zoomedOutBeyondOneToOne ; private int oldComponentWidth ; public EntireGraphingPanel ( ) { } private void init ( ) { } public final void actionPerformed ( final ActionEvent e ) { } public final MultiGraphLayeredPane getMultiGraphLayeredPane ( ) { } public final GraphPositionPanel getGraphPositionPanel ( ) { } public final void setLog ( final GenericLog genLog ) { } private int getTightestZoom ( ) { } private int getWidestZoom ( ) { <START_BUG> return ( graphSize ) // 2 ; <END_BUG> } public final void zoomIn ( ) { } public final void zoomInCoarse ( ) { } public final void zoomOut ( ) { } public final void zoomOutCoarse ( ) { } private void zoomGraphToFit ( final int dataPointsToFit ) { } public final boolean isZoomedOutBeyondOneToOne ( ) { } public final void play ( ) { } public final void pause ( ) { } public final void fastForward ( ) { } public final void eject ( ) { } public final void stop ( ) { } public final void slowDown ( ) { } public final void fling ( ) { } private double getGraphPositionMin ( ) { } public final double getGraphPosition ( ) { } private int getGraphPositionMax ( ) { } public final void setGraphPosition ( final double newPos ) { } public final void setGraphSize ( final int newGraphSize ) { } private void resetGraphPosition ( ) { } private void centerGraphPosition ( final int beginPosition , final int endPosition ) { } private void goToLastGraphPosition ( ) { } public final boolean isPlaying ( ) { } public final int getZoom ( ) { } public void moveGraphDueToResize ( ) { } private void moveGraphPosition ( final double amount ) { } private void moveEntireGraphingPanel ( final double newPosition ) { } private void stopDragging ( ) { } private void stopFlinging ( ) { } @ Override public final void mouseClicked ( final MouseEvent e ) { } @ Override public final void mouseDragged ( final MouseEvent e ) { } @ Override public final void mouseMoved ( final MouseEvent e ) { } @ Override public final void mouseEntered ( final MouseEvent e ) { } @ Override public final void mouseExited ( final MouseEvent e ) { } @ Override public final void mousePressed ( final MouseEvent e ) { } @ Override public final void mouseReleased ( final MouseEvent e ) { } @ Override public final void mouseWheelMoved ( final MouseWheelEvent e ) { } @ Override public final void keyPressed ( final KeyEvent e ) { } @ Override public final void keyReleased ( final KeyEvent e ) { } @ Override public final void keyTyped ( final KeyEvent e ) { } @ Override public void componentHidden ( final ComponentEvent e ) { } @ Override public final void componentMoved ( final ComponentEvent e ) { } @ Override public final void componentResized ( final ComponentEvent e ) { } @ Override public void componentShown ( final ComponentEvent e ) { } }

Fix:
return ( ( graphSize ) + 1 ) // 2 ;