### Question:
ConcreteFunction implements AutoCloseable { public static ConcreteFunction create(Function<Ops, Signature> functionBuilder) { Graph graph = new Graph(); try { Ops tf = Ops.create(graph); Signature signature = functionBuilder.apply(tf); return new ConcreteFunction(signature, graph, new Session(graph), Ownership.GRAPH_AND_SESSION); } catch (Exception e) { graph.close(); throw e; } } ConcreteFunction(Signature signature, Graph graph, Session session, Ownership ownership); static ConcreteFunction create(Function<Ops, Signature> functionBuilder); static ConcreteFunction create(Signature signature, Graph graph); static ConcreteFunction create(Signature signature, Session session); Signature signature(); Map<String, Tensor<?>> call(Map<String, Tensor<?>> arguments); Tensor<?> call(Tensor<?> tensor); void save(String exportDir); Session session(); Graph graph(); @Override void close(); @Override String toString();  }### Answer:
@Test public void closingFunctionCreatedFromSessionDoesNotReleaseResources() { try (Graph g = new Graph()) { Signature signature = plusFive(Ops.create(g)); try (Session s = new Session(g)) { try (ConcreteFunction f = ConcreteFunction.create(signature, s)) { } s.run(Init.DEFAULT_NAME); } g.toGraphDef(); } }