This doesn't currently do anything clever when a single vertex is shared by multiple islands (uses closest only).