rendered paste bodypublic T delete(myDLNode<T> p) throws InvalidPositionException {
if(p == null) {
throw new InvalidPositionException("delete.");
}
if(p == head) {
if(isEmpty()) {
head = null;
tail = null;
} else if(head.getNext() == null) {
head.next = p;
p.prev = null;
head = head.next;
tail = head;
size--;
} else {
head.next = p;
p.prev = null;
head = head.next;
size--;
}
} else if(p == tail) {
if(isEmpty()) {
head = null;
tail = null;
} else if(tail.getPrevious() == null) {
tail.prev = p;
p.next = null;
tail = tail.prev;
head = tail;
size--;
} else {
tail.prev = p;
p.next = null;
tail = tail.prev;
head = tail;
size--;
}
} else {
p.getPrevious().setNext(p.getNext());
p.getNext().setPrevious(p.getPrevious());
p.setNext(null);
p.setPrevious(null);
size--;
}
return (p.getElement());
}