code: public Statement skolemize(final IdentifierConverter<Resource, FedoraResource> idTranslator, final Statement t,
              final String topic) throws RepositoryException {
  
          Statement skolemized = t;
  
          if (t.getSubject().isAnon()) {
              skolemized = m.createStatement(getSkolemizedResource(idTranslator, skolemized.getSubject(), topic),
                      skolemized.getPredicate(),
                      skolemized.getObject());
          } else if (idTranslator.inDomain(t.getSubject()) && t.getSubject().getURI().contains("#")) {
              findOrCreateHashUri(idTranslator, t.getSubject());
          }
  
          if (t.getObject().isAnon()) {
              skolemized = m.createStatement(skolemized.getSubject(), skolemized.getPredicate(), getSkolemizedResource
                      (idTranslator, skolemized.getObject(), topic));
          } else if (t.getObject().isResource()
                  && idTranslator.inDomain(t.getObject().asResource())
                  && t.getObject().asResource().getURI().contains("#")) {
              findOrCreateHashUri(idTranslator, t.getObject().asResource());
          }
  
          return skolemized;
      }
docs: Convert an external statement into a persistable statement by skolemizing
  blank nodes, creating hash-uri subjects, etc
  
  @param idTranslator the property of idTranslator
  @param t the statement
  @param topic the topic
  @return the persistable statement
  @throws RepositoryException if repository exception occurred