public void writeExternal(ObjectOutput out) throws IOException {
        super.writeExternal(out);
        out.writeObject(packageNames);
        out.writeObject(expression);

        if (extractor instanceof ClassFieldReader) {
            out.writeObject( ( (ClassFieldReader) extractor ).getAccessorKey() );
        } else {
            out.writeObject( extractor );
        }

        out.writeObject(indexingDeclaration);
        out.writeObject(declarations);
        out.writeObject(constraintType);
        out.writeBoolean(isUnification);
        out.writeBoolean(isDynamic);
        out.writeObject(fieldValue);
        out.writeObject(compilationUnit);
        out.writeObject(evaluationContext);
        out.writeObject(operators);
    }
public void writeExternal ( ObjectOutput out ) throws IOException { super . writeExternal ( out ) ; out . writeObject ( packageNames ) ; out . writeObject ( expression ) ; if ( extractor instanceof ClassFieldReader ) { out . writeObject ( ( ( ClassFieldReader ) extractor ) . getAccessorKey ( ) ) ; } else { out . writeObject ( extractor ) ; } out . writeObject ( indexingDeclaration ) ; out . writeObject ( declarations ) ; out . writeObject ( constraintType ) ; out . writeBoolean ( isUnification ) ; out . writeBoolean ( isDynamic ) ; out . writeObject ( fieldValue ) ; out . writeObject ( compilationUnit ) ; out . writeObject ( evaluationContext ) ; out . writeObject ( operators ) ; }
Externalizable