Metadata may need to be mutable. For method that doesn't returns a java.util.Collection, we may need a setter method. For example in Citation:
For method that returns a java.util.Collection, only the get method is needed if the specification said that all modification in this collection must be reflected in the object owner. For example:
Then, the user could uses:
etc. This is a similar approach to entrySet(), keySet() and values() methods in java.util.Map.