@Override
    public <U> Property<U> property(final String key) {
        return null == this.properties ? Property.<U>empty() : this.properties.getOrDefault(key, Property.<U>empty());
    }
Use this constructor to construct {@link VertexProperty} instances for {@link TinkerGraph} where the {@code id}
can be explicitly set and validated against the expected data type.
tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/TinkerVertexProperty.java