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[] {};
 }
 @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);
 }
  @SuppressWarnings("unchecked")
  private Object[] setMarkersImplementation(Map arguments) throws Exception {
    if (golem == null) return new String[] {};

    ArrayList<Marker> arrList = new ArrayList<Marker>();

    for (Object map : arguments.values()) {
      Marker mark = toMarkerImplementation((Map) map);

      arrList.add(mark);
    }
    golem.setMarkers(arrList);
    return getMarkersImplementation();
  }