public static <T extends Document & HasName, D extends Document & HasName>
        String relativeName(D document, Class<T> from, Name name) {
        return relativeName(document, from, name, UnaryOperator.identity());
    }
Returns the relative name for the given Document up to the point given by
the parent Class.
<p>
For example, {@code relativeName(column, Dbms.class, DATABASE_NAME)}
would return the String "dbms_name.schema_name.table_name.column_name".

@param <T>       parent type
@param <D>       document type
@param document  to use
@param from      the document type to get the name from
@param name      if java or database name should be used
@return          the relative name for this Node from the point given by the
                 parent Class
runtime-parent/runtime-config/src/main/java/com/speedment/runtime/config/util/DocumentUtil.java