Buggy code:
public abstract class Component implements IComponent { public enum ComponentStatus { NO_MOUSE , MOUSE , CLICK , NOT_AVAILABLE ; } private Component . ComponentStatus status = Component . ComponentStatus . NO_MOUSE ; private Screen backingScreen ; private Shape bounds ; private Shape srcShape ; private boolean isTransformationChangedSince = false ; private final Transformation2D transformation = new Transformation2D ( ) ; private String name ; private boolean acceptingInput = true ; private boolean visible = true ; private List < MouseListener > mouseListeners ; private List < MouseMotionListener > mouseMotionListeners ; private List < MouseWheelListener > mouseWheelListeners = new LinkedList < > ( ) ; private Hashtable < String , Component > children = new Hashtable < > ( ) ; private Border border ; private Component parent = null ; private Function1 < Graphics2D , Unit > additionalDrawing = null ; public final Delegate < Vector2 > onMoved = new Delegate ( ) ; public final Delegate < Vector2 > onResize = new Delegate ( ) ; public final Function0Delegate onTransformed = new Delegate . Function0Delegate ( ) ; private boolean mouseFocused = false ; private static Font getSTD_FONT ( ) { } public static final Font STD_FONT = Component . getSTD_FONT ( ) ; public static final Insets STD_INSETS = new Insets ( 5 , 5 , 5 , 5 ) ; public Component ( ) { } public Component ( int x , int y , int width , int height , Screen backing ) { } public Component ( Vector2 initialPosition , Shape srcShape , Screen backing ) { } public Component . ComponentStatus getStatus ( ) { } public void setStatus ( Component . ComponentStatus status ) { } public Screen getBackingScreen ( ) { } public void setBackingScreen ( Screen backingScreen ) { } public List < MouseListener > getMouseListeners ( ) { } public void addMouseListener ( MouseListener m ) { } public void removeMouseListener ( MouseListener m ) { } public List < MouseMotionListener > getMouseMotionListeners ( ) { } public void addMouseMotionListener ( MouseMotionListener e ) { } public void removeMouseMotionListener ( MouseMotionListener m ) { } public List < MouseWheelListener > getMouseWheelListeners ( ) { } public int getX ( ) { } public int getRelativeX ( ) { } public void setX ( int x ) { } public void setRelativeX ( int x ) { } public int getY ( ) { } public int getRelativeY ( ) { } public void setY ( int y ) { } public void setRelativeY ( int y ) { } public void setLocation ( int x , int y ) { } public void setRelativeLocation ( int x , int y ) { } public void move ( int x , int y ) { } public int getWidth ( ) { } @ Deprecated public void setWidth ( int width ) { } public int getHeight ( ) { } @ Deprecated public void setHeight ( int height ) { } public Shape getBounds ( ) { <START_BUG> if ( isTransformationChangedSince ) { <END_BUG> bounds = transformation . transformOriginal ( srcShape ) ; } return bounds ; } public Shape getSourceShape ( ) { } public void setSourceShape ( Shape srcShape ) { } public Rectangle getSimplifiedBounds ( ) { } public static Dimension getTextBounds ( String text , Font f ) { } public static boolean isFontInstalled ( Font f ) { } public void acceptInput ( ) { } public void declineInput ( ) { } public void remove ( Component c ) { } public boolean isVisible ( ) { } public void setVisible ( boolean vvvvvv ) { } public String getName ( ) { } public void setName ( String name ) { } public boolean isAcceptingInput ( ) { } public Border getBorder ( ) { } public void setBorder ( Border border ) { } public boolean isMouseFocused ( ) { } public Component getParent ( ) { } public void setParent ( Component parent ) { } public Transformation2D getTransformation ( ) { } public void resetPosition ( ) { } public void triggerListeners ( MouseEvent event ) { } public Point center ( ) { } public Function1 < Graphics2D , Unit > getAdditionalDrawing ( ) { } public void setAdditionalDrawing ( Function1 < Graphics2D , Unit > additionalDrawing ) { } @ Override public void removeMouseWheelListener ( MouseWheelListener mouseWheelListener ) { } @ Override public void addMouseWheelListener ( MouseWheelListener mouseWheelListener ) { } @ Deprecated public void applyTransformation ( AffineTransform transformation ) { } }

Fix:
if ( ( isTransformationChangedSince ) || ( ( bounds ) == null ) ) {