class DiscreteResource implements Resource {

    @Override
    public Optional<DiscreteResource> parent() {
        return id.parent().map(x -> Resources.discrete(x).resource());
    }

      DiscreteResource(DiscreteResourceId id);
      DiscreteResource();

}