private void savePendingObjects(String ContainerFileName){
          
          String folderName = FileNameParser.getFilePathLessExt(ContainerFileName);
          // Get the set interface to get the key and value pair
          final Set<Map.Entry<String,InfluenceGUI>> set = this.pendingSaveObjects.entrySet();
          final List<String> keyList = new ArrayList<String>(this.pendingSaveObjects.keySet());
          final int size = keyList.size();
          int longestPathLen ;
          
          if(size >0){
          //Get the iterator for the interface
          Iterator it = set.iterator();
          final String longestPath = keyList.get(size-1).toString();
          String netFileNameTemp = "";
          String delim = "/";
          String[] longestPathArr = longestPath.split("[/\\\\]");
          longestPathLen = longestPathArr.length-1;
          //while(it.hasNext()){
          for(int i =0;i<size;i++){
              
          //Map.Entry ele = (Map.Entry)it.next();
          Map.Entry ele = (Map.Entry)it.next();
          InfluenceGUI myframe = (InfluenceGUI)this.pendingSaveObjects.get(keyList.get(i));
          String fileName = String.format("%s%s",folderName,keyList.get(i).toString());
          String fileName2 =fileName;
          Boolean isDID = myframe.modelCounter > 0? false: true;
          Boolean isNewPath =false;
         
          Path myPath = Paths.get(FileNameParser.getFolderPath(fileName));
          if(Files.notExists(myPath)){
              isNewPath=true;
              fileName = fileName.format("%s%s",FileNameParser.getNumericFolderName(myPath.toString(), 
                         longestPathLen),FileNameParser.getFileNameOnly(fileName));
          }
          PersistShapeNode persistShapeNode = new PersistShapeNode(fileName,isDID,longestPathLen);
        
        try{
            persistShapeNode.setFileName(fileName2);
            Path oldPath = Paths.get(FileNameParser.getNumericFolderName(myPath.toString(),longestPathLen));
            
            if(!Paths.get(persistShapeNode.netFileName).equals(oldPath) && i>0){
                persistShapeNode.netFileName = FileNameParser.getFolderPath(fileName);
                netFileNameTemp = persistShapeNode.netFileName;
            }
            else if(Paths.get(persistShapeNode.netFileName).equals(oldPath)){
                // do nothing
               netFileNameTemp= persistShapeNode.netFileName;
            }
            else{
                 if(i==0){
                 persistShapeNode.netFileName=fileName2.format("%s%s",FileNameParser.getNumericFolderName(FileNameParser.getFilePathLessExt(fileName).toString(), 
                                                            longestPathLen),"");
                 }
            }
           persistShapeNode.WriteListObject(myframe.nodes); 
        }
        catch(Exception ex){
           ex.printStackTrace();
        }
       }
          this.pendingSaveObjects.clear();
      }
          
    }