### Question:
ResourceChangeHandler { public boolean isResourceChanged(final Resource resource) { notNull(resource, "Invalid resource provided"); final WroManager manager = getManagerFactory().create(); final HashStrategy hashStrategy = manager.getHashStrategy(); final UriLocatorFactory locatorFactory = manager.getUriLocatorFactory(); final AtomicBoolean changeDetected = new AtomicBoolean(false); try { final String fingerprint = hashStrategy.getHash(locatorFactory.locate(resource.getUri())); final String previousFingerprint = getBuildContextHolder().getValue(resource.getUri()); final boolean newValue = fingerprint != null && !fingerprint.equals(previousFingerprint); changeDetected.set(newValue); if (!changeDetected.get() && resource.getType() == ResourceType.CSS) { final Reader reader = new InputStreamReader(locatorFactory.locate(resource.getUri())); getLog().debug("Check @import directive from " + resource); detectChangeForCssImports(resource, reader, changeDetected); } return changeDetected.get(); } catch (final IOException e) { getLog().error("failed to check for delta resource: " + resource, e); } return false; } private  ResourceChangeHandler(); static ResourceChangeHandler create(final WroManagerFactory managerFactory, final Log log); boolean isResourceChanged(final Resource resource); void remember(final Resource resource); Log getLog(); ResourceChangeHandler setManagerFactory(final WroManagerFactory wroManagerFactory); ResourceChangeHandler setLog(final Log log); ResourceChangeHandler setBuildContext(final BuildContext buildContext); ResourceChangeHandler setBuildDirectory(final File buildDirectory); ResourceChangeHandler setIncrementalBuildEnabled(final boolean incrementalBuildEnabled); boolean isIncrementalBuild(); void destroy(); void forget(final Resource resource); void persist();  }### Answer:
@Test(expected = NullPointerException.class) public void cannotCheckNullResourceForChange() { assertEquals(false, victim.isResourceChanged(null)); }