public boolean canPlace() {
    if (! super.canPlace()) return false ;
    //if (! Spacing.perimeterFits(this)) return false ;
    final Tile o = origin() ;
    if (Spacing.isEntrance(o)) return false ;
    for (Tile n : o.allAdjacent(null)) {
      if (n == null) return false ;
      final Element e = n.owner() ;
      if (e == null) continue ;
      if (e instanceof Holding) continue ;
      if (e instanceof HoldingExtra) continue ;
      return false ;
    }
    return true ;
  }