p.linkDataset( d1 ); p.linkDataset( d2 );
ProjectDatasetLink l1 = new ProjectDatasetLink(); ProjectDatasetLink l2 = new ProjectDatasetLink();  l1.setParent( p ); l1.setChild( d1 );  l2.setParent( p ); l2.setChild( d2 );  p.addProjectDatasetLink( l1, true ); p.addProjectDatasetLink( l2, true );
    public void test_two_datasets_and_a_project() throws Exception    {        String name = " 2&1 "+System.currentTimeMillis();        Project p = new Project();        p.setName( name );                p = (Project) iPojos.createDataObject( p, null );                Dataset d1 = new Dataset();        d1.setName( name );                Dataset d2 = new Dataset();        d2.setName( name );                p.linkDataset( d1 );        p.linkDataset( d2 );                p = (Project) iPojos.updateDataObject( p, null );                Iterator it = p.linkedDatasetIterator();        Dataset test = null;        while ( it.hasNext() )         {            test = (Dataset) it.next();            if ( d1.getId().equals(test.getId()))                break;        }                                    test.setDescription( name );                test = (Dataset) iPojos.updateDataObject( test, null );            }