Could you please propose any detailed resource about supressed exception in Java and how it works in try-with-resources and in try-catch-finally?