class Element { var id: String? = null fun method(element: Element): String { return id + element.id } fun staticMethod(element: Element): String { val buffer = StringBuffer() buffer.append(element.id) return buffer.toString() } companion object { fun toXML(element: Element): Element { val el = X("El") el.setAttribute("attr", element.id) return el } } } class Usage { fun staticMethod(element: Element): String { val buffer = StringBuffer() buffer.append(element.id) return buffer.toString() } }