private String IaddINode(String resource_id, String inode_id)
    {
        String node_id = null;
        String resource_node_id = null;

        OrientGraph graph = null;
        try
        {
            node_id = getINodeId(resource_id,inode_id);
            if(node_id != null)
            {
                //System.out.println("Node already Exist: region=" + region + " agent=" + agent + " plugin=" + plugin);
            }
            else
            {

                resource_node_id = getResourceNodeId(resource_id);
                if(resource_node_id == null)
                {
                    resource_node_id = addResourceNode(resource_id);
                }

                if(resource_node_id != null)
                {
                    graph = factory.getTx();

                    Vertex fromV = graph.addVertex("class:iNode");
                    fromV.setProperty("inode_id", inode_id);
                    fromV.setProperty("resource_id", resource_id);


                    //ADD EDGE TO RESOURCE
                    Vertex toV = graph.getVertex(resource_node_id);
                    graph.addEdge("class:isResource", fromV, toV, "isResource");
                    graph.commit();
                    node_id = fromV.getId().toString();
                }
            }
        }
        catch(com.orientechnologies.orient.core.storage.ORecordDuplicatedException exc)
        {
            //eat exception.. this is not normal and should log somewhere
            System.out.println("Error 0 " + exc.getMessage());
        }
        catch(com.orientechnologies.orient.core.exception.OConcurrentModificationException exc)
        {
            //eat exception.. this is normal
            System.out.println("Error 1 " + exc.getMessage());
        }
        catch(Exception ex)
        {
            long threadId = Thread.currentThread().getId();
            System.out.println("IaddINode: thread_id: " + threadId + " Error " + ex.toString());
        }
        finally
        {
            if(graph != null)
            {
                graph.shutdown();
            }
        }
        return node_id;

    }