can't you use the visitor pattern for this?
-> move the delaying part into visitPrimaryKeyConstraint and then use some other method for the actual processing of the primary keys.