}
//Perform the Incremental build
final String[] kieBuilderPaths = new String[ changedFilesKieBuilderPaths.size() ];
changedFilesKieBuilderPaths.toArray( kieBuilderPaths );
final IncrementalResults incrementalResults = ( (InternalKieBuilder) kieBuilder ).createFileSet( kieBuilderPaths ).build();
//Messages from incremental build
final IncrementalBuildResults results = convertMessages( incrementalResults );
//Copy in BuildMessages for non-KIE resources
for ( ValidationMessage addedValidationMessage : nonKieResourceValidatorAddedMessages ) {
results.addAddedMessage( convertValidationMessage( addedValidationMessage ) );
}
for ( ValidationMessage removedValidationMessage : nonKieResourceValidatorRemovedMessages ) {
results.addRemovedMessage( convertValidationMessage( removedValidationMessage ) );
}
//Tidy-up removed message handles
for ( Message message : incrementalResults.getRemovedMessages() ) {
handles.remove( RESOURCE_PATH + "/" + message.getPath() );
}
return results;
}