assert box.contains(stone.getLocation()) : "stone " + stone + " not in " + box;
assert ( !stone.isVisited() ): "stone="+stone;
stack.add( 0, stone );
while ( !stack.isEmpty() ) {
GoBoardPosition s = stack.pop();
if ( !s.isVisited() ) {
s.setVisited( true );
stones.add( s );
pushStringNeighbors(s, friendOwnedByP1, stack, true, type, box);
}