Seems too short. Maybe you could split it into 5 files? You don't even have a factory. Much less a factory factory. This code will never cut it in the enterprise world.
It turns out there's a good blog article that explains why the less enterprisey way is better since it remove the iteration loop of the collection and lets the computer [figure out how to express the sum of weights of the red objects in a collection of blocks]:
I've been around too long to trust the computer to figure out how best to do something. If I'm wrong then Java 8 leads the way to the end of programmers, similar to how robotics mostly ended how cars were manufactured.