@Override
    public boolean isHandlerAt(final Point p) {
        if (this.handlerType == NO_HANDLERS) {
            return false;
        }

        final Boolean squareHandlers = this.nw.isAt(p) || this.ne.isAt(p) || this.se.isAt(p) || this.sw.isAt(p);
        if (this.handlerType == RECTANGLE_HANDLERS) {
            final Boolean rectangleHandlers = this.n.isAt(p) || this.e.isAt(p) || this.s.isAt(p) || this.w.isAt(p);
            return squareHandlers || rectangleHandlers;
        }
        return squareHandlers;
    }