Consumer is derived from Consume. Consumer is the opposite of Producer. 
Generous is the opposite of Small. Needle can be Small. 
Consume <--DerivedFrom-- Consumer <--Antonym--> Producer 
Generous <--Antonym--> Small <--HasProperty-- Needle 