class LocalDhisResourceRepositoryImpl implements LocalDhisResourceRepository<T> {

    @Override
    @Nonnull
    public Collection<T> find( @Nonnull Predicate<T> filter )
    {
        return resourcesById.values().stream().filter( lr -> !lr.getState().isDeleted() && filter.test( lr.getResource() ) )
            .map( LocalDhisResource::getResource ).collect( Collectors.toList() );
    }

    public  LocalDhisResourceRepositoryImpl( @Nonnull Class<T> resourceClass );

}