code: public void writeSnak(Snak snak, Resource subject,
  			PropertyContext propertyContext) {
  		setSnakContext(subject, propertyContext);
  		snak.accept(this);
  	}
docs: Writes the given snak for the given subject. The context defines if the
  snak is used as a main snak, qualifier, or in a reference. Some data
  might be buffered instead of being written immediately. The method
  {@link #writeAuxiliaryTriples()} needs to be called to serialize this
  additional data later on.
  
  @param snak
  the snake to write
  @param subject
  the resource that should be used as a subject of the serialied
  triples
  @param propertyContext
  the context in which the snak is used