Frame implements JsonSerializable { private Frame(Builder builder) { this.filename = builder.filename; this.lineNumber = builder.lineNumber; this.columnNumber = builder.columnNumber; this.method = builder.method; this.code = builder.code; this.className = builder.className; this.context = builder.context; this.args = builder.args != null ? unmodifiableList(new ArrayList<>(builder.args)) : null; this.keywordArgs = builder.keywordArgs != null ? unmodifiableMap(new HashMap<>(builder.keywordArgs)) : null; this.locals = builder.locals != null ? unmodifiableMap(new HashMap<>(builder.locals)) : null; } private  Frame(Builder builder); String getFilename(); Integer getLineNumber(); Integer getColumnNumber(); String getMethod(); String getCode(); String getClassName(); CodeContext getContext(); List<Object> getArgs(); Map<String, Object> getKeywordArgs(); Map<String, Object> getLocals(); @Override Object asJson(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public void shouldBeEqual() { Frame frame1 = Factory.frame(); Frame frame2 = Factory.frame(); assertEquals(frame1, frame2); }