* @return string from seed stone
*/
GoBoardPositionList findStringFromInitialPosition(GoBoardPosition stone, boolean friendOwnedByP1,
boolean returnToUnvisitedState, NeighborType type,
Box box) {
GoBoardPositionList stones = new GoBoardPositionList();
GoBoardPositionList stack = new GoBoardPositionList();
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);
}