By executing the generated alter table statements the transfer tool freezes likely because of the RTE in engine:
Table X: start alter
Executing CREATE UNIQUE INDEX PK_X ON X(USERID,ROLEID);
Executing ALTER TABLE X ADD CONSTRAINT FK_X FOREIGN KEY (USERID) REFERENCES XT (USERID)
Executing ALTER TABLE X ADD CONSTRAINT FK_X2 FOREIGN KEY (ROLEID) REFERENCES XT2 (ROLEID)
Exception in thread "HSQLDB Connection @b1c260" java.lang.RuntimeException: unsupported internal operation: NumberType
at org.hsqldb.Error.runtimeError(Error.java:65)
at org.hsqldb.types.NumberType.convertToDecimal(NumberType.java:997)
at org.hsqldb.types.NumberType.compare(NumberType.java:596)
at org.hsqldb.index.IndexAVL.compareRowNonUnique(IndexAVL.java:1259)
at org.hsqldb.index.IndexAVL.findNode(IndexAVL.java:1396)
at org.hsqldb.index.IndexAVL.exists(IndexAVL.java:756)
at org.hsqldb.Constraint.checkReferencedRows(Constraint.java:910)
at org.hsqldb.TableWorks.addForeignKey(TableWorks.java:168)
at org.hsqldb.ParserDDL.processAlterTableAddForeignKeyConstraint(ParserDDL.java:3383)
at org.hsqldb.ParserDDL.processAlterTable(ParserDDL.java:576)
at org.hsqldb.ParserDDL.processAlter(ParserDDL.java:212)
at org.hsqldb.StatementSchema.getResult(StatementSchema.java:388)
at org.hsqldb.StatementSchema.execute(StatementSchema.java:260)
at org.hsqldb.Session.executeCompiledStatement(Session.java:1137)
at org.hsqldb.Session.executeDirectStatement(Session.java:1050)
at org.hsqldb.Session.execute(Session.java:865)
at org.hsqldb.server.ServerConnection.receiveResult(ServerConnection.java:361)
at org.hsqldb.server.ServerConnection.run(ServerConnection.java:1530)
at java.lang.Thread.run(Unknown Source)
Moved to the correct tracker.
Please note that TransferTool issues should be resolved by users who submit patches.