class PropertyExistsFunction extends FunctionExpressionImpl {

    public boolean equals(Object obj) {

        if (obj == this)
            return true;
        if (!(obj instanceof PropertyExistsFunction)) {

            return false;
        }
        PropertyExistsFunction other = (PropertyExistsFunction) obj;

        if (other.getParameters().size() != this.getParameters().size())
            return false;
        if (other.getParameters().size() > 0) {
            final String propName = getPropertyName();

            Expression otherPropNameExpr = (Expression) other.getParameters()
                    .get(0);
            final String otherPropName = getPropertyName(otherPropNameExpr);

            return Utilities.equals(propName, otherPropName);
        } else {
            return true;
        }
    }

    public  PropertyExistsFunction();

}