static <ENTITY> ColumnIdentifier<ENTITY> of(
            final String dbmsId,
            final String schemaId,
            final String tableId,
            final String columnId) {

        final ColumnIdentifier<ENTITY> newId = new ColumnIdentifierImpl<>(
            dbmsId, schemaId, tableId, columnId);

        ColumnIdentifier.Hidden.INTERNED.putIfAbsent(newId, newId);

        @SuppressWarnings("unchecked")
        final ColumnIdentifier<ENTITY> result = (ColumnIdentifier<ENTITY>)
            ColumnIdentifier.Hidden.INTERNED.get(newId);

        return result;
    }
Returns a dynamic {@link ColumnIdentifier} based on the default
implementation of the interface. Note that the
{@link ColumnIdentifier}-interface is usually implemented using a
generated {@code enum}. This method should therefore only be used if a
generated instance is not possible to use.
<p>
The returned instance has a well defined {@link Object#hashCode()} and
{@link Object#equals(Object)} method so it is safe to use as the key of a
map.

@param dbmsId    the dbms database id
@param schemaId  the schema database id
@param tableId   the table database id
@param columnId  the column database id
@param <ENTITY>  the entity type
@return          the identifier instance

@since 3.0.15
runtime-parent/runtime-config/src/main/java/com/speedment/runtime/config/identifier/ColumnIdentifier.java