List projectsDS = null; if (projects != null)  projectsDS = ProjectMapper.fillUserProjectsWithDatasetData( projects, pProto, dProto);  return projectsDS;
if (projects == null || projects.size() == 0) return new ArrayList(); return ProjectMapper.fillUserProjectsWithDatasetData(projects, pProto, dProto);
	public List retrieveUserProjectsWithDatasetData(ProjectSummary pProto,			DatasetData dProto)		throws DSOutOfServiceException, DSAccessException	{		//Make new protos if none was provided.		if (pProto == null) pProto = new ProjectSummary();		if (dProto == null) dProto = new DatasetData();				//Retrieve the user ID.		UserCredentials uc = (UserCredentials)							registry.lookup(LookupNames.USER_CREDENTIALS);		//Define the criteria by which the object graph is pulled out.		Criteria c = ProjectMapper.buildUserProjectsCriteria(uc.getUserID());		//Load the graph defined by criteria.		List projects = (List) gateway.retrieveListData(Project.class, c);	  			//List of project summary objects.		List projectsDS = null;		if (projects != null) 			//Put the server data into the corresponding client object.    		projectsDS = ProjectMapper.fillUserProjectsWithDatasetData(    					projects, pProto, dProto);    	//can be null    	return projectsDS;	}