public GroupState copy() { GroupState state; if (_freeList != null) { state = _freeList; _freeList = _freeList._freeList; state._freeList = null; state._group.clear(); state._group.add(_group); for (int i = 0; i < _set.length; i++) { state._set[i] = _set[i]; } } else { state = new GroupState(this); } return(state); }
public void free(GroupState state) { if (state != null && state != this) { state._freeList = _freeList; _freeList = state; } }
private GroupState(GroupState src) { _set = new long[src._set.length]; _group = new IntArray(); _group.add(src._group); for (int i = 0; i < src._set.length; i++) { _set[i] = src._set[i]; } }