public static void main(String args[]){
        DoubleLinkList dll = new DoubleLinkList();
        Node head = null;
        head = dll.addNode(head,1);
        head = dll.addNode(head,2);
        head = dll.addNode(head,3);
        head = dll.addNode(head,4);
        head = dll.addNode(head,5);
        SwapTwoNodesInDoubleLL snt = new SwapTwoNodesInDoubleLL();
        Node nodeA = dll.find(head, 3);
        Node nodeB = dll.find(head, 5);
        snt.swap(nodeA, nodeB);
        dll.printFrontBack(head);
    }
Swap two nodes in double link list. If it swaps first node its callers responsibility to fix the head 
Test cases
A right neighbor of B
B right neighbor of A
A and B not neighbors of each other
A or B are start or end nodes
src/com/interview/linklist/SwapTwoNodesInDoubleLL.java