public void alterSystem(BiopolisDiff diff, String json, boolean update)
      throws BiopolisGeneralException, SQLException {
    Long[] result = this.v_mgmnt.put(diff.sortedvertices);

    for (String s : diff.adjacency) {
      String[] a = s.split(";");
      int from = Integer.parseInt(a[0]);
      int to = Integer.parseInt(a[1]);
      String queryString =
          "MATCH (a:MODEL_NODE), (b:MODEL_NODE) "
              + "WHERE (a.coreid={1} AND  b.coreid={2}) CREATE (a)-[r:CHILD_EDGE]->(b) RETURN 1";

      Neo4jPreparedStatement stmt =
          (Neo4jPreparedStatement) this.pl.getConnNeo4j().prepareStatement(queryString);
      stmt.setInt(1, from);
      stmt.setInt(2, to);
      try (ResultSet rs = stmt.executeQuery()) {}
    }
    if (update) {
      String queryString = "MATCH (a:DESIGN_NODE) set a.desci = {1} RETURN 1";
      Neo4jPreparedStatement stmt =
          (Neo4jPreparedStatement) this.pl.getConnNeo4j().prepareStatement(queryString);
      stmt.setString(1, Base64.encodeBase64String(json.getBytes()));
      try (ResultSet rs = stmt.executeQuery()) {}
    } else {
      Map<String, Object> v = new HashMap<String, Object>();
      String queryString = "CREATE (a:DESIGN_NODE { desci: {1} } ) RETURN 1";
      Neo4jPreparedStatement stmt =
          (Neo4jPreparedStatement) this.pl.getConnNeo4j().prepareStatement(queryString);
      stmt.setString(1, Base64.encodeBase64String(json.getBytes()));
      try (ResultSet rs = stmt.executeQuery()) {}
    }
  }