/////////////////////////////////   KEY NODE   /////////////////////////////////////////////////
 private ISkolemPart generateSkolemFunctionForKey(
     SkolemFunctionGenerator generator, MappingTask mappingTask) {
   StringBuilder functionName = new StringBuilder();
   functionName.append("SK_");
   //
   // functionName.append("TGD_").append(compactHashCode(generator.getTgd().hashCode())).append("_");
   functionName
       .append("KEY_")
       .append(compactHashCode(generator.getFunctionalDependencies().get(0).hashCode()));
   if (generator.getPosition() != null) {
     functionName.append("_Pos=").append(generator.getPosition());
   }
   return generateAppendWithFunctionName(functionName.toString(), generator, mappingTask);
 }
 private String generateEGDFunctionName(
     SkolemFunctionGenerator generator, MappingTask mappingTask) {
   StringBuilder result = new StringBuilder();
   List<String> fds = new ArrayList<String>();
   for (VariableFunctionalDependency functionalDependency :
       generator.getFunctionalDependencies()) {
     fds.add("-" + generateId(functionalDependency));
   }
   Collections.sort(fds);
   for (int i = 0; i < fds.size(); i++) {
     result.append(fds.get(i));
   }
   return "SK_EGDs" + compactHashCode(result.toString().hashCode());
 }