code: public ProjectFile read() throws MPXJException
     {
        try
        {
           m_project = new ProjectFile();
           m_eventManager = m_project.getEventManager();
  
           ProjectConfig config = m_project.getProjectConfig();
           config.setAutoTaskID(false);
           config.setAutoTaskUniqueID(false);
           config.setAutoResourceID(false);
           config.setAutoResourceUniqueID(false);
           config.setAutoOutlineLevel(false);
           config.setAutoOutlineNumber(false);
           config.setAutoWBS(false);
           config.setAutoCalendarUniqueID(false);
           config.setAutoAssignmentUniqueID(false);
  
           m_project.getProjectProperties().setFileApplication("Microsoft");
           m_project.getProjectProperties().setFileType("MPD");
  
           m_project.getEventManager().addProjectListeners(m_projectListeners);
  
           processProjectProperties();
           processCalendars();
           processResources();
           processResourceBaselines();
           processTasks();
           processTaskBaselines();
           processLinks();
           processAssignments();
           processAssignmentBaselines();
           processExtendedAttributes();
           processSubProjects();
           postProcessing();
  
           return (m_project);
        }
  
        catch (SQLException ex)
        {
           throw new MPXJException(MPXJException.READ_ERROR, ex);
        }
  
        finally
        {
           reset();
  
           if (m_allocatedConnection && m_connection != null)
           {
              try
              {
                 m_connection.close();
              }
  
              catch (SQLException ex)
              {
                 // silently ignore errors on close
              }
  
              m_connection = null;
           }
        }
     }
docs: Read a project from the current data source.
  
  @return ProjectFile instance
  @throws MPXJException