public <T> T execute(BuildAction<T> action, BuildCancellationToken cancellationToken, ProviderOperationParameters actionParameters) {
LoggingManagerInternal loggingManager = loggingManagerFactory.create();
loggingManager.removeAllOutputEventListeners();
if(actionParameters.isColorOutput() != null && actionParameters.isColorOutput()) {
loggingManager.attachConsole(true);
} else {
if (actionParameters.getStandardOutput() != null) {
loggingManager.addStandardOutputListener(new StreamBackedStandardOutputListener(actionParameters.getStandardOutput()));
}
if (actionParameters.getStandardError() != null) {