private void assimilateStone(GoBoardPositionList stones, GoBoardPosition stone) {
assert stone.getPiece().isOwnedByPlayer1() == ownedByPlayer1_ :
"Stones in group must all be owned by the same player. stones=" + stones;
// actually this is ok - sometimes happens legitimately
// assert isFalse(stone.isVisited(), stone+" is marked visited in "+stones+" when it should not be.");
IGoString string = stone.getString();
assert (string != null) : "There is no owning string for " + stone;
if (!getMembers().contains(string)) {
assert (ownedByPlayer1_ == string.isOwnedByPlayer1()) : string + "ownership not the same as " + this;
//string.confirmOwnedByOnlyOnePlayer();
getMembers().add(string);
}
string.setGroup(this);
}