Buggy code:
@ SuppressWarnings ( "unchecked" ) public static final Collection EMPTY_COLLECTION = UnmodifiableCollection . decorate ( new ArrayList < Object > ( ) ) ; public CollectionUtils ( ) { } @ SuppressWarnings ( "unchecked" ) public static < T > Collection < T > emptyCollection ( ) { } public static < O > Collection < O > union ( final Iterable < ? extends O > a , final Iterable < ? extends O > b ) { } public static < O > Collection < O > intersection ( final Iterable < ? extends O > a , final Iterable < ? extends O > b ) { } public static < O > Collection < O > disjunction ( final Iterable < ? extends O > a , final Iterable < ? extends O > b ) { } public static < O > Collection < O > subtract ( final Iterable < ? extends O > a , final Iterable < ? extends O > b ) { } public static boolean containsAny ( final Collection < ? > coll1 , final Collection < ? > coll2 ) { } public static < O > Map < O , Integer > getCardinalityMap ( final Iterable < ? extends O > coll ) { } public static boolean isSubCollection ( final Collection < ? > a , final Collection < ? > b ) { } public static boolean isProperSubCollection ( final Collection < ? > a , final Collection < ? > b ) { } public static boolean isEqualCollection ( final Collection < ? > a , final Collection < ? > b ) { } public static < O > int cardinality ( O obj , final Iterable < ? super O > coll ) { } public static < T > T find ( Collection < T > collection , Predicate < ? super T > predicate ) { } public static < T , C extends Closure < ? super T > > C forAllDo ( Collection < T > collection , C closure ) { } public static < T > void filter ( Iterable < T > collection , Predicate < ? super T > predicate ) { } public static < C > void transform ( Collection < C > collection , Transformer < ? super C , ? extends C > transformer ) { } public static < C > int countMatches ( Iterable < C > input , Predicate < ? super C > predicate ) { } public static < C > boolean exists ( Iterable < C > input , Predicate < ? super C > predicate ) { } public static < O > Collection < O > select ( Collection < ? extends O > inputCollection , Predicate < ? super O > predicate ) { } public static < O , R extends Collection < ? super O > > R select ( Collection < ? extends O > inputCollection , Predicate < ? super O > predicate , R outputCollection ) { } public static < O > Collection < O > selectRejected ( Collection < ? extends O > inputCollection , Predicate < ? super O > predicate ) { } public static < O , R extends Collection < ? super O > > R selectRejected ( Collection < ? extends O > inputCollection , Predicate < ? super O > predicate , R outputCollection ) { } public static < I , O > Collection < O > collect ( Iterable < I > inputCollection , Transformer < ? super I , ? extends O > transformer ) { } public static < I , O > Collection < O > collect ( Iterator < I > inputIterator , Transformer < ? super I , ? extends O > transformer ) { } public static < I , O , R extends Collection < ? super O > > R collect ( Iterable < ? extends I > inputCollection , final Transformer < ? super I , ? extends O > transformer , final R outputCollection ) { } public static < I , O , R extends Collection < ? super O > > R collect ( Iterator < ? extends I > inputIterator , final Transformer < ? super I , ? extends O > transformer , final R outputCollection ) { } public static < T > boolean addIgnoreNull ( Collection < T > collection , T object ) { <START_BUG> return object == null ? false : collection . add ( object ) ; <END_BUG> } public static < C > boolean addAll ( Collection < C > collection , Iterable < ? extends C > iterable ) { } public static < C > boolean addAll ( Collection < C > collection , Iterator < ? extends C > iterator ) { } public static < C > void addAll ( Collection < C > collection , Enumeration < ? extends C > enumeration ) { } public static < C > void addAll ( Collection < C > collection , C [ ] elements ) { } public static < T > T get ( Iterator < T > iterator , int index ) { } private static void checkIndexBounds ( int index ) { } public static < T > T get ( Iterable < T > iterable , int index ) { } public static Object get ( Object object , int index ) { } public static < K , V > Map . Entry < K , V > get ( Map < K , V > map , int index ) { } public static int size ( Object object ) { } public static boolean sizeIsEmpty ( Object object ) { } public static boolean isEmpty ( Collection < ? > coll ) { }

Fix:
return ( object != null ) && ( collection . add ( object ) ) ;