code: public void add(final Statement statement) throws DataCorruptedException, IOException {
  
          Preconditions.checkNotNull(statement);
          checkWritable();
  
          try {
              this.connection.add(statement);
          } catch (final RepositoryException ex) {
              throw new IOException("Failed to add statement: " + statement, ex);
          }
      }
docs: Adds the specified RDF statement to the triple store. Virtuoso may buffer the operation,
  performing it when more opportune and in any case ensuring that the same effects are
  produced as obtainable by directly executing the operation.
  
  @param statement
  the RDF statement to add
  @throws DataCorruptedException
  in case a non-recoverable data corruption situation is detected
  @throws IOException
  in case another IO error occurs not implying data corruption
  @throws IllegalStateException
  in case the transaction is read-only