@Override public <T> OtpErlangObject bind(final T binds) throws OtpErlangException { final OtpErlangList list = (OtpErlangList) this.clone(); final int a = list.elems.length; for (int i = 0; i < a; i++) { list.elems[i] = list.elems[i].bind(binds); } if (list.lastTail != null) { list.lastTail = list.lastTail.bind(binds); } return list; }
@Override public <T> OtpErlangObject bind(final T binds) throws OtpErlangException { final OtpErlangTuple tuple = (OtpErlangTuple) this.clone(); final int a = tuple.elems.length; for (int i = 0; i < a; i++) { final OtpErlangObject e = tuple.elems[i]; tuple.elems[i] = e.bind(binds); } return tuple; }
@Override public <T> OtpErlangObject bind(final T binds) throws OtpErlangException { final OtpErlangMap ret = new OtpErlangMap(); OtpErlangObject key, val; for (final Map.Entry<OtpErlangObject, OtpErlangObject> e : entrySet()) { key = e.getKey(); val = e.getValue(); ret.put(key, val.bind(binds)); } return ret; }