} else if (value instanceof Long) {
return new OtpErlangLong((Long) value);
} else if (value instanceof BigInteger) {
return new OtpErlangLong((BigInteger) value);
} else if (value instanceof Double) {
return new OtpErlangDouble((Double) value);
} else if (value instanceof String) {
return new OtpErlangString((String) value);
} else if (value instanceof byte[]) {
return new OtpErlangBinary((byte[]) value);
} else if (value instanceof List<?>) {