@Override
	public ListNode RemoveNode(int data) {
		ListNode previousNode = headNode;
		Boolean found = false;
		
		if ((headNode!=null) && (data == headNode.getData())) {
			headNode = headNode.getNext();
			found = true;
			previousNode = null;
			
		} else {
			while ((previousNode !=null) && (previousNode.getNext() !=null)){
				//System.out.println("CurrentNode Node " +previousNode.getData() );
			
				previousNode = previousNode.getNext();
				if (data == previousNode.getNext().getData()) {
					found = true;
					break;
				}
			}
			//System.out.println("CurrentNode Node " +previousNode.getData() );
			if (found) {
				ListNode tempNode = previousNode.getNext();
				previousNode.setNext(previousNode.getNext().getNext());		
				tempNode = null;
				noOfNodes--;
				return headNode;
			} 
		}
		
		if(!found) {
			System.out.println("Didn't find data " + data + " in the linked list ... bool ");
		}
		return null;
	}