@Override public GMLObjectType getType() { return getReferencedObject().getType(); }
private static QName getName( GMLObject object ) { if ( object.getType() != null ) { return object.getType().getName(); } if ( object instanceof Feature ) { return ( (Feature) object ).getName(); } else if ( object instanceof Geometry ) { // TODO should be covered by the type return new QName( "GEOMETRY" ); } else if ( object instanceof TimeInstant ) { return new QName( GML3_2_NS, "TimeInstant" ); } else if ( object instanceof TimePeriod ) { return new QName( GML3_2_NS, "TimePeriod" ); } throw new IllegalArgumentException( "Creating GMLObjectNode from " + object.getClass() + " needs implementation." ); }