public OsmElement pasteFrom(){
  List<Way> ways=storage.getWays();
  List<Node> nodes=storage.getNodes();
  if (mode == Mode.CUT) {
    reset();
    if (ways != null && ways.size() == 1) {
      Way w=ways.get(0);
      w.setState(savedState);
      for (      Node nd : w.getNodes()) {
        Log.d("PasteFrom","Restoring state for " + nd.getOsmId());
        nd.setState(savedNdState.get(nd));
      }
      return w;
    }
 else     if (nodes != null && nodes.size() == 1) {
      Node n=nodes.get(0);
      n.setState(savedState);
      return n;
    }
  }
 else {
    if (ways != null && ways.size() == 1) {
      return ways.get(0);
    }
 else     if (nodes != null && nodes.size() == 1) {
      return nodes.get(0);
    }
  }
  return null;
}

public OsmElement pasteFrom ( ) { List < Way > ways = storage . getWays ( ) ; List < Node > nodes = storage . getNodes ( ) ; if ( mode == Mode . CUT ) { reset ( ) ; if ( ways != null && ways . size ( ) == 1 ) { Way w = ways . get ( 0 ) ; w . setState ( savedState ) ; for ( Node nd : w . getNodes ( ) ) { Log . d ( "PasteFrom" , "Restoring state for " + nd . getOsmId ( ) ) ; nd . setState ( savedNdState . get ( nd ) ) ; } return w ; } else if ( nodes != null && nodes . size ( ) == 1 ) { Node n = nodes . get ( 0 ) ; n . setState ( savedState ) ; return n ; } } else { if ( ways != null && ways . size ( ) == 1 ) { return ways . get ( 0 ) ; } else if ( nodes != null && nodes . size ( ) == 1 ) { return nodes . get ( 0 ) ; } } return null ; }
returns whatever is in the clipboard
