code: @SuppressWarnings("unchecked")
  	private static Collection<LogEntryValue>[][] calculateRequiredLogEntryValues(final Collection<Writer>[][] writers) {
  		Collection<LogEntryValue>[][] logEntryValues = new Collection[writers.length][Level.values().length - 1];
  
  		for (int tagIndex = 0; tagIndex < writers.length; ++tagIndex) {
  			for (int levelIndex = 0; levelIndex < Level.OFF.ordinal(); ++levelIndex) {
  				Set<LogEntryValue> values = EnumSet.noneOf(LogEntryValue.class);
  				for (Writer writer : writers[tagIndex][levelIndex]) {
  					values.addAll(writer.getRequiredLogEntryValues());
  				}
  				logEntryValues[tagIndex][levelIndex] = values;
  			}
  		}
  
  		return logEntryValues;
  	}
docs: Creates a matrix with all required log entry values for each tag and severity level.
  
  @param writers
  Matrix with registered writers
  @return Matrix with all required log entry values