removed hasSection and hasSource methods, getSource, getSection return nullptrs, if not existent
getBlock returns optional<Block>