class HugeEdgeProperty<V> extends HugeProperty<V> {

    public HugeEdgeProperty(HugeElement owner, PropertyKey key, V value) {
        super(owner, key, value);
    }

    @Override
    public HugeType type() {
        return this.pkey.aggregateType().isNone() ?
               HugeType.PROPERTY : HugeType.AGGR_PROPERTY_E;
    }

    @Override
    public HugeEdge element() {
        assert this.owner instanceof HugeEdge;
        return (HugeEdge) this.owner;
    }

    @Override
    public void remove() {
        assert this.owner instanceof HugeEdge;
        EdgeLabel edgeLabel = ((HugeEdge) this.owner).schemaLabel();
        E.checkArgument(edgeLabel.nullableKeys().contains(
                                this.propertyKey().id()),
                        "Can't remove non-null edge property '%s'", this);
        this.owner.graph().removeEdgeProperty(this);
    }

    @Override
    public boolean equals(Object obj) {<FILL_FUNCTION_BODY>}

    @Override
    public int hashCode() {
        return ElementHelper.hashCode(this);
    }

    public HugeEdgeProperty<V> switchEdgeOwner() {
        assert this.owner instanceof HugeEdge;
        return new HugeEdgeProperty<>(((HugeEdge) this.owner).switchOwner(),
                                      this.pkey, this.value);
    }
}

        if (!(obj instanceof Property)) {
            return false;
        }
        return ElementHelper.areEqual(this, obj);
    
<methods>public void <init>(org.apache.hugegraph.structure.HugeElement, org.apache.hugegraph.schema.PropertyKey, V) ,public org.apache.hugegraph.structure.HugeElement element() ,public boolean equals(java.lang.Object) ,public int hashCode() ,public java.lang.Object id() ,public boolean isAggregateType() ,public boolean isPresent() ,public java.lang.String key() ,public java.lang.String name() ,public org.apache.hugegraph.schema.PropertyKey propertyKey() ,public java.lang.Object serialValue(boolean) ,public java.lang.String toString() ,public org.apache.hugegraph.type.HugeType type() ,public V value() throws java.util.NoSuchElementException<variables>protected final non-sealed org.apache.hugegraph.structure.HugeElement owner,protected final non-sealed org.apache.hugegraph.schema.PropertyKey pkey,protected final non-sealed V value