class Structure implements Named {

    @SuppressWarnings("unchecked")
    public <T extends StructureMember> T getRootLevelMember(final int index) {
        return (T) members.get(index);
    }

    public  Structure(final String name, final List<? extends StructureMember> members);

}