public static <N> TopLevelDocument<N> TopLevelDocument(final NamespaceBindings bindings,
                                                         final N type,
                                                         final URI identity,
                                                         final NamedProperties<N> properties) {
    return new TopLevelDocument.Impl<>(
            bindings.getBindings(),
            type,
            identity,
            properties.getProperties());
  }
public static <N> TopLevelDocument<N> TopLevelDocument(final NamespaceBindings bindings,
                                                         final N type,
                                                         final URI identity,
                                                         final NamedProperties<N> properties) {
    return new TopLevelDocument.Impl<>(
            bindings.getBindings(),
            type,
            identity,
            properties.getProperties());
  }
public static < N > TopLevelDocument < N > TopLevelDocument ( final NamespaceBindings bindings , final N type , final URI identity , final NamedProperties < N > properties ) { return new TopLevelDocument . Impl <> ( bindings . getBindings ( ) , type , identity , properties . getProperties ( ) ) ; }
Factory for {@link TopLevelDocument}.

<p>
This builds a new TopLevelDocument using the supplied data.
</p>

@param bindings    the namespace bindings
@param type        the type of the document
@param identity    the identity of the document
@param properties  the property list of the document
@param <N>         the property name type
@return  a new TopLevelDocument instance
Factory for { @link TopLevelDocument } .