@Override protected FileHeader getNewHeader(FileHeader oldHeader) { FileHeader result = new FileHeader(); FileHeader newHeader = getFileHeader(); FileHeaderTransformer transformer = getTransformer(); boolean modified = false; // by default, reuse the old header result.setDescription(oldHeader.getDescription()); result.setCopyrightFirstYear(oldHeader.getCopyrightFirstYear()); result.setCopyrightLastYear(oldHeader.getCopyrightLastYear()); result.setCopyrightHolder(oldHeader.getCopyrightHolder()); result.setLicense(oldHeader.getLicense()); if (isUpdateDescription() && !transformer.isDescriptionEquals(oldHeader, newHeader)) { // can update description and it has changed if (log.isDebugEnabled()) { log.debug( "description has changed from [" + oldHeader.getDescription() + "] to [" + newHeader.getDescription() + "]"); } // description has changed, mark header to be updated modified = true; // use the new description result.setDescription(newHeader.getDescription()); } if (isUpdateCopyright() && !transformer.isCopyrightEquals(oldHeader, newHeader)) { // can update copyright and it has changed if (log.isDebugEnabled()) { log.debug( "copyright has changed from [" + oldHeader.getCopyright() + "] to [" + newHeader.getCopyright() + "]"); } // description has changed, mark header to be updated modified = true; // use the new copyright result.setCopyrightFirstYear(result.getCopyrightFirstYear()); result.setCopyrightLastYear(result.getCopyrightLastYear()); result.setCopyrightHolder(result.getCopyrightHolder()); } if (isUpdateLicense() && !transformer.isLicenseEquals(oldHeader, newHeader)) { // can update license and it has changed if (log.isDebugEnabled()) { log.debug( "license has changed from [" + oldHeader.getLicense() + "] to [" + newHeader.getLicense() + "]"); } // description has changed, mark header to be updated modified = true; // use the new license result.setLicense(newHeader.getLicense()); } if (!modified) { // nothing has to be updated, so return a {@code null} result result = null; } return result; }