code: @Nullable
    public static FileOutputStream getOutputStream (@Nonnull final File aFile, @Nonnull final EAppend eAppend)
    {
      ValueEnforcer.notNull (aFile, "File");
      ValueEnforcer.notNull (eAppend, "Append");
  
      if (internalCheckParentDirectoryExistanceAndAccess (aFile).isInvalid ())
        return null;
  
      // OK, parent is present and writable
      try
      {
        return new CountingFileOutputStream (aFile, eAppend);
      }
      catch (final FileNotFoundException ex)
      {
        if (LOGGER.isWarnEnabled ())
          LOGGER.warn ("Failed to create output stream for '" +
                       aFile +
                       "'; append: " +
                       eAppend +
                       ": " +
                       ex.getClass ().getName () +
                       " - " +
                       ex.getMessage ());
        return null;
      }
    }
docs: Get an output stream for writing to a file.
  
  @param aFile
  The file to write to. May not be <code>null</code>.
  @param eAppend
  Appending mode. May not be <code>null</code>.
  @return <code>null</code> if the file could not be opened