class ReferencedEnvelope extends Envelope implements org.opengis.geometry.Envelope,
    BoundingBox {

    @Override
    public Envelope intersection(Envelope env) {
        if( env instanceof BoundingBox ){
            BoundingBox bbox = (BoundingBox) env;
            ensureCompatibleReferenceSystem( bbox );
        }
        return super.intersection(env);
    }

    public  ReferencedEnvelope();
    public  ReferencedEnvelope(CoordinateReferenceSystem crs);
    public  ReferencedEnvelope(final double x1, final double x2, final double y1, final double y2,
        final CoordinateReferenceSystem crs);
    public  ReferencedEnvelope(final Rectangle2D rectangle, final CoordinateReferenceSystem crs);
    public  ReferencedEnvelope(final ReferencedEnvelope envelope);
    public  ReferencedEnvelope(final BoundingBox bbox);
    public  ReferencedEnvelope(final org.opengis.geometry.Envelope envelope);
    public  ReferencedEnvelope(final Envelope envelope, final CoordinateReferenceSystem crs);

}