extractMaster method

Waypath extractMaster()

Implementation

Waypath extractMaster() {
  if (_master != null) {
    print("Master already extracted");
    return _master!;
  }
  if (_closedOuters.isNotEmpty) {
    _master = _closedOuters.reduce((a, b) => a.length > b.length ? a : b);
    assert(_master!.length >= 2);
    _closedOuters.remove(_master);
    return _master!;
  }
  _master = _openOuters.reduce((a, b) => a.length > b.length ? a : b);
  assert(_master!.length >= 2);
  _openOuters.remove(_master);
  return _master!;
}