code: public Element simulate(final List<Instruction> instructions) {
          lock.lock();
          try {
              returnElement = null;
              return simulateInternal(instructions);
          } finally {
              lock.unlock();
          }
      }
docs: Simulates the instructions and collects information about the resource method.
  
  @param instructions The instructions of the method
  @return The return element merged with all possible values