private Object[] deleteMarkerImplementation(double arguments) throws Exception {
   if (golem == null) return new String[] {};
   ArrayList<Marker> markers = golem.getMarkers();
   if (markers == null || markers.size() <= arguments)
     throw new Exception("marker " + (int) (double) arguments + " does not exist");
   markers.remove((int) (double) arguments);
   golem.setMarkers(markers);
   return new String[] {};
 }
  private Object[] getMarkerImplementation(Double arguments) throws Exception {
    if (golem == null) return new String[] {};
    ArrayList<Marker> markers = golem.getMarkers();
    if (markers == null || markers.size() <= arguments)
      throw new Exception("marker " + (int) (double) arguments + " does not exist");
    Marker mark = markers.get((int) (double) arguments);

    return new Object[] {fromMarkerImplementation(mark)};
  }
 @SuppressWarnings("unchecked")
 private Object[] addMarkerImplementation(Map arguments) throws Exception {
   if (golem == null) return new String[] {};
   ArrayList<Marker> markers = golem.getMarkers();
   if (markers == null) markers = new ArrayList<Marker>();
   Marker mark = toMarkerImplementation(arguments);
   markers.add(mark);
   golem.setMarkers(markers);
   return getMarkerImplementation((double) (markers.size() - 1));
 }
 private Object[] saveMarkerImplementation(double markerNum, Map markerArg) throws Exception {
   if (golem == null) return new String[] {};
   ArrayList<Marker> markers = golem.getMarkers();
   if (markers == null || markers.size() <= markerNum)
     throw new Exception("marker " + (int) (double) markerNum + " does not exist");
   Marker mark = toMarkerImplementation(markerArg);
   markers.set((int) (double) markerNum, mark);
   golem.setMarkers(markers);
   return getMarkerImplementation(markerNum);
 }
 private Object[] getMarkersImplementation() {
   if (golem == null) return new String[] {};
   ArrayList<Marker> markers = golem.getMarkers();
   HashMap<Integer, HashMap<String, Object>> luaMarkers =
       new HashMap<Integer, HashMap<String, Object>>();
   int i = 1;
   for (Marker mark : markers) {
     HashMap<String, Object> luaMarker = fromMarkerImplementation(mark);
     luaMarkers.put(i++, luaMarker);
   }
   return new Object[] {luaMarkers};
 }
 private Object[] getMarkerCountImplementation() {
   if (golem == null) return new String[] {};
   ArrayList<Marker> markers = golem.getMarkers();
   if (markers == null) return new Object[] {0};
   return new Object[] {(double) markers.size()};
 }