private Tile findTileToMark() {
    if (! (mind.home() instanceof Venue)) return null ;
    final Venue lair = (Venue) mind.home() ;
    float angle = Rand.num() * (float) Math.PI * 2 ;
    final Vec3D p = lair.position(null) ;
    final int range = Nest.forageRange(species) ;
    final Tile tried = world.tileAt(
      p.x + (float) (Math.cos(angle) * range),
      p.y + (float) (Math.sin(angle) * range)
    ) ;
    if (tried == null) return null ;
    final Tile free = Spacing.nearestOpenTile(tried, tried) ;
    if (free == null) return null ;
    
    final PresenceMap markMap = world.presences.mapFor(SpiceMidden.class) ;
    final SpiceMidden near = (SpiceMidden) markMap.pickNearest(free, range) ;
    final float dist = near == null ? 10 : Spacing.distance(near, free) ;
    if (dist < 5) return null ;
    
    return free ;
  }