  We consider the problem of realizing a group as the fundamental group of a
graph of groups where the vertex groups are restricted to certain classes (for
example, coming from a certain finite list of groups, or having bounded
geometric rank). We show how this places restrictions on the possible groups
that can be realized and we give a topological application of our results to
the problem of constructing manifolds from a finite set of "building blocks".
