boolean (Object obj) { if (obj == null || obj.getClass() != getClass()) return false; final String name = ((FunctionImpl)obj).getName(); return name != null && name.equals(getName()) || getName() == null; }