public void insert(EventPoint eventpoint) {

		if (eventpoint.x > x || eventpoint.x == x && eventpoint.y > y) {

			if (next != null) {
				next.insert(eventpoint);
				return;
			}
			next = eventpoint;
			eventpoint.prev = this;
			return;

		}

		if (eventpoint.x != x || eventpoint.y != y || (eventpoint instanceof CirclePoint)) {

			eventpoint.prev = prev;
			eventpoint.next = this;

			if (prev != null) {
				prev.next = eventpoint;
			}
			prev = eventpoint;
			return;

		}

		eventpoint.prev = eventpoint;
		System.out.println("Double point ignored: " + eventpoint.toString());
		return;

	}