Determines if an Element has a specific custom object as their internal
representation. In other words, if the value returned from Element.id() is
a type defined by the graph implementations, such as OrientDB's Rid, then
this method should be return true.
Note that this feature is most generally used for determining the
appropriate tests to execute in the Gremlin Test Suite.
Determines if an identifier will be accepted by the Graph. This check is
different than what identifier internally supports as defined in methods
like supportsNumericIds(). Those refer to internal representation of the
identifier. A Graph may accept an identifier that is not of those types and
internally transform it to a native representation.
Note that this method only applies if supportsUserSuppliedIds() is true.
Those that return false for that method can immediately return false for
this one as it allows no ids of any type (it generates them all).
The default implementation will immediately return false if
supportsUserSuppliedIds() is false. If custom identifiers are supported
then it will throw an exception. Those that return true for
supportsCustomIds() should override this method. If supportsAnyIds() is
true then the identifier will immediately be allowed. Finally, if any of
the other types are supported, they will be typed checked against the class
of the supplied identifier.