import org.musetest.core.values.descriptor.*;
import java.util.*;
public interface MuseProject
{
void addResource(MuseResource resource);
<BUG>List<MuseResource> findResources(ResourceMetadata filter);

<T extends MuseResource> List<T> findResources(ResourceMetadata filter, Class T);

MuseResource findResource(ResourceMetadata filter);

<T> T findResource(String id, Class<T> interface_class);
String saveResource(MuseResource resource);</BUG>
void open();

import org.musetest.core.values.descriptor.*;
import java.util.*;
public interface MuseProject
{
void addResource(MuseResource resource);
List<ResourceToken> findResources(ResourceMetadata filter);
<T extends MuseResource> List<ResourceToken<T>> findResources(ResourceMetadata filter, Class<T> interface_class);
ResourceToken findResource(ResourceMetadata filter);
<T extends MuseResource> ResourceToken<T> findResource(String id, Class<T> interface_class);
<T extends MuseResource> T getResource(ResourceToken<T> token);
<T extends MuseResource> List<T> getResources(List<ResourceToken<T>> token);
List<MuseResource> getUntypedResources(List<ResourceToken> tokens);
String saveResource(MuseResource resource);
void open();
