@Override
  public void write(byte[] buf, int off, int len) {
    byte[] source = new byte[len];
    System.arraycopy(buf, off, source, 0, len);
    InputStreamReader reader = new InputStreamReader(new ByteArrayInputStream(source));
    try {
      char[] target = new char[len];
      int actualLen = reader.read(target, 0, len);
      printed(String.valueOf(target, 0, actualLen));
    } catch (IOException e) {
      throw new InternalSpockError(e);
    }
  }
Delegates all PrintStream invocations to {@link #printed(String)}.
Aims to keep the original invocation granularity.
spock-core/src/main/java/org/spockframework/util/StringMessagePrintStream.java