This is the core contract of a repository. The basic contract of a repository is defined in the {@link FileSystem}
contract. In general it is preferred to extend the Base or Default classes rather than implement the interfaces
directly, as this permits the addition of new methods to the interface without breaking existing code.
@since 1.0