public static List<VarNode> convertDefineFunctionsToVarNodes(
     MapperManager mapperManger, List<INode> iNodes) {
   List<VarNode> varNodes = new ArrayList<VarNode>();
   if (mapperManger != null) {
     PigMapComponent mapperComponent = mapperManger.getMapperComponent();
     iNodesDefineFunctions.clear();
     defineFunctionsAlias.clear();
     checkPigLoadIfDefineFunctions(mapperComponent, iNodes);
     iNodesDefineFunctions.addAll(iNodes);
     for (INode iNode : iNodes) {
       IElementParameter elementParameter =
           iNode.getElementParameter(PigMapConstants.DEFINE_FUNCTION);
       if (elementParameter != null && elementParameter.getValue() instanceof List) {
         List<Map<String, String>> defineFunctions =
             (List<Map<String, String>>) elementParameter.getValue();
         if (defineFunctions.size() > 0) {
           for (Map<String, String> item : defineFunctions) {
             VarNode newVarNode = PigmapFactory.eINSTANCE.createVarNode();
             newVarNode.setType(iNode.getUniqueName());
             newVarNode.setName(item.get(PigMapConstants.FUNCTION_ALIAS));
             newVarNode.setExpression(item.get(PigMapConstants.UDF_FUNCTION));
             varNodes.add(newVarNode);
             String key = item.get(PigMapConstants.FUNCTION_ALIAS);
             if (!defineFunctionsAlias.containsKey(key)) {
               defineFunctionsAlias.put(key, item.get(PigMapConstants.UDF_FUNCTION));
             }
           }
         }
       }
     }
   }
   return varNodes;
 }