AssetType implements Closeable { public Optional<T> getAsset(ResourceUrn urn) { Preconditions.checkNotNull(urn); if (urn.isInstance()) { return getInstanceAsset(urn); } else { return getNormalAsset(urn); } } @SuppressWarnings("unchecked")  AssetType(Class<T> assetClass, AssetFactory<T, U> factory); @Override synchronized void close(); @SuppressWarnings("unchecked") void processDisposal(); synchronized boolean isClosed(); synchronized void disposeAll(); void refresh(); Class<T> getAssetClass(); Class<U> getAssetDataClass(); void setResolutionStrategy(ResolutionStrategy strategy); synchronized void addProducer(AssetDataProducer<U> producer); List<AssetDataProducer<U>> getProducers(); synchronized boolean removeProducer(AssetDataProducer<U> producer); synchronized void clearProducers(); Optional<T> getAsset(ResourceUrn urn); @SuppressWarnings("unchecked") Optional<T> getInstanceAsset(ResourceUrn urn); Optional<T> reload(ResourceUrn urn); Optional<T> getAsset(String urn); Optional<T> getAsset(String urn, Name moduleContext); Set<ResourceUrn> resolve(String urn); Set<ResourceUrn> resolve(String urn, Name moduleContext); T loadAsset(ResourceUrn urn, U data); boolean isLoaded(ResourceUrn urn); Set<ResourceUrn> getLoadedAssetUrns(); Set<T> getLoadedAssets(); Set<ResourceUrn> getAvailableAssetUrns(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }
@Test public void getUnknownAsset() { assertFalse(assetType.getAsset(URN).isPresent()); }