added checked way to obain sub blocks

type safe version of `getSubBlocks` which makes sure everybody is only adding `Item`s to it and also collects all warnings in the main method which made `final` so sub classes can't `override` it.