returns true if stone can be added ; false if move would be suicide concode_field_sep int blacksCaptures concode_elem_sep Set<Chain> chains concode_elem_sep int boardSize concode_elem_sep Map<BoxCoords,Chain> filled concode_elem_sep History<Move> history concode_elem_sep int whitesCaptures concode_field_sep void updateFilled concode_elem_sep Set<Chain> getChains concode_elem_sep boolean addStone concode_elem_sep void capture concode_elem_sep void incorporateIntoChains concode_elem_sep Move redo concode_elem_sep void addToOpposingLiberties concode_elem_sep void check concode_elem_sep void updateCaptureCount concode_elem_sep Move undo concode_elem_sep History<Move> getHistory concode_elem_sep void captureChain concode_elem_sep void removeFromOpposingLiberties concode_elem_sep boolean taken concode_elem_sep Set<Chain> getNeighborChains concode_elem_sep void reset concode_elem_sep boolean addStoneWithHistory concode_elem_sep void addToChain concode_elem_sep Set<T> getMatchingNeighbors concode_elem_sep Set<BoxCoords> getLiberties
boolean function ( Stone arg0 ) { for ( Chain loc0 : getNeighborChains ( arg0 . coords , arg0 . color ) ) { if ( ! loc0 . isLastLiberty ( arg0 . coords ) ) { return false ; } } return getLiberties ( arg0 . coords ) . size ( ) == 0 ; }