private List getAllOverlaps(ProjectList pl, Project toBeAssignedProject){

        Project p;
        Project p2;

        pl.goToFrontOfList();

        //Secondary list. We need this list since we're gonna be parsing through it a couple of dozen times.
        ProjectList plist2 = pl;


        List allOverlaps = new List();

        pl.goToFrontOfList();

            p = toBeAssignedProject;


            if( p != null) {

                ProjectList overlapList = new ProjectList();
                try{

                    plist2.goToFrontOfList();
                    overlapList.addProject(p);

                    do{
                        p2 = plist2.getNextProject();
                        //Make sure that p2 is not null and it's not the same project.

                        if(p2 != null && p.getID().compareToIgnoreCase(p2.getID()) != 0){

                            //Condition checking to make sure the projects overlap
                            if(
                                    (p2.getParsedEndDate().after(p.getParsedStartDate())
                                    && p2.getParsedStartDate().before(p.getParsedEndDate()) )
                                   || p2.getParsedEndDate().equals(p.getParsedEndDate())
                                    || p2.getParsedStartDate().equals(p.getParsedStartDate())
                                    ){
                                overlapList.addProject(p2);

                            }

                        }


                    }  while(p2!=null);

                }
                catch(NullPointerException e){
                    System.out.print("** WARNING : Error detected with a Project!  **");
                }
                //Might return a null list. Doesn't matter, everything works.
                allOverlaps.appendItemToList(overlapList);


            }


        return allOverlaps;
    }