Is the correct approach here to check for null and return Collections.emptySet()? This would protect the other methods which depend  on this set of names. 

One other question concerning navigation: if I navigate to a protocol child (which has no model and has no child resources), is the correct response to return a PlaceholderResource.INSTANCE, or null?