@@ -0,0 +1,1333 @@
+package org.mutabilitydetector.runtime;%0A%0Aimport org.mutabilitydetector.AnalysisResult;%0Aimport org.mutabilitydetector.AnalysisSession;%0Aimport org.mutabilitydetector.IsImmutable;%0Aimport org.mutabilitydetector.ThreadUnsafeAnalysisSession;%0Aimport org.mutabilitydetector.AnalysisSession.RequestedAnalysis;%0Aimport org.mutabilitydetector.locations.Dotted;%0A%0Apublic final class RuntimeAnalysisExample %7B%0A    private final AnalysisSession analysisSession = ThreadUnsafeAnalysisSession.createWithCurrentClassPath();%0A%0A    private void run(Object requiredToBeImmutable) %7B%0A        RequestedAnalysis requestedAnalysis = analysisSession.resultFor(Dotted.fromClass(requiredToBeImmutable.getClass()));%0A        AnalysisResult result = requestedAnalysis.result;%0A        if(result.isImmutable.equals(IsImmutable.IMMUTABLE)) %7B%0A            // rest safe in the knowledge the class is immutable, share across threads with joyful abandon%0A        %7D else if(result.isImmutable.equals(IsImmutable.NOT_IMMUTABLE)) %7B%0A            // be careful here: make defensive copies, don't publish the reference, read Java Concurrency In Practice right away!%0A        %7D%0A    %7D%0A    %0A    public static void main(String%5B%5D args) %7B%0A        new RuntimeAnalysisExample().run(makeParam());%0A    %7D%0A    %0A    private static Object makeParam() %7B%0A        return new java.util.Date();%0A    %7D%0A%0A%7D%0A

Add an example of using mutability detector at runtime.